X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowgui.C;h=3c0213af123398ae6e6449d5de74f8f23270b86b;hp=157090efbeaa0fc95c49779ed2a1c8573e7090ef;hb=4b6c39e6cf4a3fd9c1b347db6de686ab55d6cac8;hpb=c9de74551f43dad1b898603c0827985773c0cf9d diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index 157090ef..3c0213af 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -120,6 +120,7 @@ MWindowGUI::MWindowGUI(MWindow *mwindow) plugin_menu = 0; keyframe_menu = 0; keyframe_hide = 0; + keyvalue_popup = 0; transition_menu = 0; remote_control = 0; cwindow_remote_handler = 0; @@ -134,6 +135,7 @@ MWindowGUI::~MWindowGUI() delete cwindow_remote_handler; delete record_remote_handler; delete remote_control; + delete keyvalue_popup; // delete samplescroll; // delete trackscroll; for(int i = 0; i < TOTAL_PANES; i++) @@ -403,11 +405,12 @@ int MWindowGUI::resize_event(int w, int h) int x = w - MainShBtns::calculate_w(0); mainmenu->resize_event(x, mainmenu->get_h()); mainshbtns->reposition_window(x, -1); + ffmpeg_toggle->reposition_window(menu_w(), menu_h()+2); mwindow->theme->get_mwindow_sizes(this, w, h); mwindow->theme->draw_mwindow_bg(this); mbuttons->resize_event(); - ffmpeg_toggle->reposition_window(menu_w(), menu_h()+2); statusbar->resize_event(); + zoombar->resize_event(); resource_thread->stop_draw(1); @@ -527,17 +530,12 @@ int MWindowGUI::resize_event(int w, int h) pane[BOTTOM_RIGHT_PANE]->y); } - resource_thread->start_draw(); - update_pane_dividers(); - zoombar->resize_event(); pane_button->reposition_window(w - mwindow->theme->get_image_set("pane")[0]->get_w(), mwindow->theme->mzoom_y + 1 - mwindow->theme->get_image_set("pane")[0]->get_h()); -// get_scrollbars(0); -// canvas->resize_event(); -//printf("MWindowGUI::resize_event %d\n", __LINE__); -// required to get new widgets to appear after a pane deletion - show_window(); + resource_thread->start_draw(); + + flash(1); return 0; } @@ -920,16 +918,22 @@ int MWindowGUI::visible(int64_t x1, int64_t x2, int64_t view_x1, int64_t view_x2 } -int MWindowGUI::show_message(char *message, int color) +void MWindowGUI::show_message(const char *message, int color) { -// printf("MWindowGUI::show_message %d: %s 0x%08x 0x%08x\n", -// __LINE__, message, color, mwindow->theme->message_normal); - if(color < 0) color = mwindow->theme->message_normal; - statusbar->status_text->set_color(color); - statusbar->status_text->update(message); - return 0; + statusbar->set_message(message, color); +} +void MWindowGUI::set_default_message(const char *message) +{ + statusbar->set_default_message(message); +} +void MWindowGUI::reset_default_message() +{ + statusbar->reset_default_message(); +} +void MWindowGUI::default_message() +{ + statusbar->default_message(); } - // Drag motion called from other window int MWindowGUI::drag_motion() @@ -1059,7 +1063,8 @@ void MWindowGUI::default_positions() { //printf("MWindowGUI::default_positions 1\n"); VWindow *vwindow = mwindow->vwindows.size() > DEFAULT_VWINDOW ? - mwindow->vwindows.get(0) : 0; + mwindow->vwindows.get(DEFAULT_VWINDOW) : 0; + if( vwindow && !vwindow->is_running() ) vwindow = 0; if( vwindow ) vwindow->gui->lock_window("MWindowGUI::default_positions"); mwindow->cwindow->gui->lock_window("MWindowGUI::default_positions"); mwindow->awindow->gui->lock_window("MWindowGUI::default_positions"); @@ -1112,19 +1117,13 @@ void MWindowGUI::default_positions() } - - - - - - - - - - - - - +int MWindowGUI::button_release_event() +{ + if( keyvalue_popup ) { + delete keyvalue_popup; keyvalue_popup = 0; + } + return 0; +} int MWindowGUI::repeat_event(int64_t duration) @@ -1284,7 +1283,6 @@ int MWindowGUI::keypress_event() return result; } - int MWindowGUI::keyboard_listener(BC_WindowBase *wp) { return key_listener(wp->get_keypress()); @@ -1301,7 +1299,7 @@ int MWindowGUI::key_listener(int key) record->record_gui->interrupt_thread->start(0); break; case KPHAND: - mwindow->quit(0); + mwindow->quit(); break; #ifdef HAVE_DVB case KPBOOK: @@ -2274,19 +2272,20 @@ int PaneButton::cursor_motion_event() int PaneButton::button_release_event() { mwindow->gui->stop_pane_drag(); - int result = BC_Button::button_release_event(); return result; } FFMpegToggle::FFMpegToggle(MWindow *mwindow, MButtons *mbuttons, int x, int y) - : BC_Toggle(x, y, mwindow->theme->ffmpeg_toggle, mwindow->preferences->ffmpeg_early_probe) + : BC_Toggle(x, y, mwindow->theme->ffmpeg_toggle, + mwindow->preferences->get_file_probe_armed("FFMPEG_Early") > 0 ? 1 : 0) { this->mwindow = mwindow; this->mbuttons = mbuttons; - set_tooltip( mwindow->preferences->ffmpeg_early_probe ? - _("Try FFMpeg first") : _("Try FFMpeg last")); + set_tooltip(!get_value() ? + _("Currently: Try FFMpeg last\n Click to: Try FFMpeg first") : + _("Currently: Try FFMpeg first\n Click to: Try FFMpeg last")); } FFMpegToggle::~FFMpegToggle() @@ -2295,9 +2294,13 @@ FFMpegToggle::~FFMpegToggle() int FFMpegToggle::handle_event() { - mwindow->preferences->ffmpeg_early_probe = get_value(); - set_tooltip( mwindow->preferences->ffmpeg_early_probe ? - _("Try FFMpeg first") : _("Try FFMpeg last")); + int ffmpeg_early_probe = get_value(); + set_tooltip(!ffmpeg_early_probe ? + _("Currently: Try FFMpeg last\n Click to: Try FFMpeg first") : + _("Currently: Try FFMpeg first\n Click to: Try FFMpeg last")); + mwindow->preferences->set_file_probe_armed("FFMPEG_Early", ffmpeg_early_probe); + mwindow->preferences->set_file_probe_armed("FFMPEG_Late", !ffmpeg_early_probe); + mwindow->show_warning(&mwindow->preferences->warn_indexes, _("Changing the base codecs may require rebuilding indexes.")); return 1;