rework histogram_bezier, init wm icon set_icon(gg), update de.po+msg/txt
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindowgui.C
index 679a56e33fe429f1ca001435054ed0059ce78ccf..70c4808a959ea8b8c25a72b13fc6abb471ef0227 100644 (file)
@@ -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()
 {
 }