X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowgui.C;h=70c4808a959ea8b8c25a72b13fc6abb471ef0227;hp=679a56e33fe429f1ca001435054ed0059ce78ccf;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=502b6f3b6fd04f6b01c6d70dcb81aa304dd0db1c diff --git a/cinelerra-5.1/cinelerra/mwindowgui.C b/cinelerra-5.1/cinelerra/mwindowgui.C index 679a56e3..70c4808a 100644 --- a/cinelerra-5.1/cinelerra/mwindowgui.C +++ b/cinelerra-5.1/cinelerra/mwindowgui.C @@ -251,6 +251,7 @@ void MWindowGUI::get_scrollbars(int flush) void MWindowGUI::create_objects() { + lock_window("MWindowGUI::create_objects"); const int debug = 0; resource_thread = new ResourceThread(mwindow, this); @@ -373,6 +374,7 @@ void MWindowGUI::create_objects() pane[TOP_LEFT_PANE]->canvas->activate(); if(debug) printf("MWindowGUI::create_objects %d\n", __LINE__); + unlock_window(); } void MWindowGUI::redraw_time_dependancies() @@ -664,11 +666,13 @@ void MWindowGUI::update_patchbay() void MWindowGUI::update_proxy_toggle() { + int value = mwindow->edl->session->proxy_scale == 1 ? 1 : 0; + proxy_toggle->set_value(value); if( mwindow->edl->session->proxy_scale == 1 && mwindow->edl->session->proxy_disabled_scale == 1 ) - proxy_toggle->hide_window(); + proxy_toggle->hide(); else - proxy_toggle->show_window(); + proxy_toggle->show(); } void MWindowGUI::update_plugintoggles() @@ -1140,15 +1144,6 @@ 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) { // if(duration == 100) @@ -2388,15 +2383,36 @@ int FFMpegToggle::handle_event() ProxyToggle::ProxyToggle(MWindow *mwindow, MButtons *mbuttons, int x, int y) - : BC_Toggle(x, y, mwindow->theme->proxy_toggle, + : BC_Toggle(x, y, ( !mwindow->edl->session->proxy_use_scaler ? + mwindow->theme->proxy_p_toggle : + mwindow->theme->proxy_s_toggle ), mwindow->edl->session->proxy_disabled_scale != 1) { this->mwindow = mwindow; this->mbuttons = mbuttons; + scaler_images = mwindow->edl->session->proxy_use_scaler; set_tooltip(mwindow->edl->session->proxy_disabled_scale==1 ? _("Disable proxy") : _("Enable proxy")); } +void ProxyToggle::show() +{ + int use_scaler = mwindow->edl->session->proxy_use_scaler; + if( scaler_images != use_scaler ) + set_images(!(scaler_images=use_scaler) ? + mwindow->theme->proxy_p_toggle : + mwindow->theme->proxy_s_toggle ); + draw_face(1, 0); + if( is_hidden() ) + show_window(); +} + +void ProxyToggle::hide() +{ + if( !is_hidden() ) + hide_window(); +} + ProxyToggle::~ProxyToggle() { }