window delete/hide is managed by WMProxy (amend to cb6f16ac)
authorRobin Gareus <robin@gareus.org>
Sun, 7 Jul 2013 20:24:15 +0000 (22:24 +0200)
committerRobin Gareus <robin@gareus.org>
Sun, 7 Jul 2013 20:29:45 +0000 (22:29 +0200)
gtk2_ardour/ardour_window.cc
gtk2_ardour/io_selector.cc
gtk2_ardour/location_ui.cc
gtk2_ardour/plugin_ui.cc
gtk2_ardour/port_insert_ui.cc
gtk2_ardour/region_editor.cc
gtk2_ardour/return_ui.cc
gtk2_ardour/route_params_ui.cc
gtk2_ardour/send_ui.cc
gtk2_ardour/step_editor.cc
gtk2_ardour/window_manager.cc

index 3d33b14e60be6cefddf51741bf6af7826cbf1628..ab9d72dd537e9d8d23ce257b99601813de4c1c44 100644 (file)
@@ -84,7 +84,6 @@ ArdourWindow::on_unmap ()
 bool
 ArdourWindow::on_delete_event (GdkEventAny*)
 {
-       hide ();
        return false;
 }
 
index 544963f666dfd6a6f689d64422c82a8b66cc4979..31f8cfa1cb70d251bbfffda7685addc04c734f0d 100644 (file)
@@ -235,8 +235,7 @@ bool
 IOSelectorWindow::wm_delete (GdkEventAny* /*event*/)
 {
        _selector.Finished (IOSelector::Accepted);
-       hide ();
-       return true;
+       return false;
 }
 
 
index d30327ad787b7e2ac1ac5fbf56d98c985d1b5d2e..92f11da019cda195170a4cbbd19775b73a1230b5 100644 (file)
@@ -1165,8 +1165,7 @@ LocationUIWindow::on_map ()
 bool
 LocationUIWindow::on_delete_event (GdkEventAny*)
 {
-       hide ();
-       return true;
+       return false;
 }
 
 void
index 9a85b7845409ecac80b9fd5ed05f57a09c44fcfb..d9741f5e39bde67f86384c3c1ab26ff3f52af9e3 100644 (file)
@@ -148,7 +148,6 @@ PluginUIWindow::PluginUIWindow (
        set_name ("PluginEditor");
        add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK);
 
-       signal_delete_event().connect (sigc::bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window*> (this)), false);
        insert->DropReferences.connect (death_connection, invalidator (*this), boost::bind (&PluginUIWindow::plugin_going_away, this), gui_context());
 
        gint h = _pluginui->get_preferred_height ();
index 16beb75877d49ae9aed6440382a66a19ece73366..0511b357db8942c25421b45f5ed38d847c0a96b3 100644 (file)
@@ -184,7 +184,7 @@ bool
 PortInsertWindow::wm_delete (GdkEventAny* /*event*/)
 {
        accept ();
-       return true;
+       return false;
 }
 
 void
index 51e4deddc88a88de66d6eb8c792ed9109da23fa5..564938ad5c75479704ab3df4e585c9af3bce4154 100644 (file)
@@ -161,7 +161,6 @@ RegionEditor::RegionEditor (Session* s, boost::shared_ptr<Region> r)
        set_name ("RegionEditorWindow");
        add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK);
 
-       signal_delete_event().connect (sigc::bind (sigc::ptr_fun (just_hide_it), static_cast<Window *> (this)));
        signal_response().connect (sigc::mem_fun (*this, &RegionEditor::handle_response));
 
        set_title (string_compose (_("Region '%1'"), _region->name()));
index 8120534b7d0f1294ad9170bcceec68a06f76020b..592fff0a0e6603a5e964a3734d8fb5402d0cf526 100644 (file)
@@ -111,7 +111,6 @@ ReturnUIWindow::ReturnUIWindow (boost::shared_ptr<Return> r, ARDOUR::Session* s)
        set_name ("ReturnUIWindow");
 
        r->DropReferences.connect (going_away_connection, invalidator (*this), boost::bind (&ReturnUIWindow::return_going_away, this), gui_context());
-       signal_delete_event().connect (sigc::bind (sigc::ptr_fun (just_hide_it), reinterpret_cast<Window *> (this)));
 }
 
 ReturnUIWindow::~ReturnUIWindow ()
index 56ed38040445b81615e189c86eb911252732b206..e9ddb54d4149708d4f0b76514175a66289aa5fe5 100644 (file)
@@ -146,11 +146,6 @@ RouteParams_UI::RouteParams_UI ()
        add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_RELEASE_MASK);
 
        _plugin_selector = new PluginSelector (PluginManager::instance());
-       _plugin_selector->signal_delete_event().connect (sigc::bind (ptr_fun (just_hide_it),
-                                                    static_cast<Window *> (_plugin_selector)));
-
-
-       signal_delete_event().connect(sigc::bind(ptr_fun(just_hide_it), static_cast<Gtk::Window *>(this)));
 }
 
 RouteParams_UI::~RouteParams_UI ()
index e9699f2cfe3fd9ede94c92b27e829e8063b6c096..4a16c572595864990764795a4bdaf31ba87d9911 100644 (file)
@@ -133,10 +133,6 @@ SendUIWindow::SendUIWindow (boost::shared_ptr<Send> s, Session* session)
        hpacker.show ();
 
        s->DropReferences.connect (going_away_connection, invalidator (*this), boost::bind (&SendUIWindow::send_going_away, this), gui_context());
-
-       signal_delete_event().connect (sigc::bind (
-                                              sigc::ptr_fun (just_hide_it),
-                                              reinterpret_cast<Window *> (this)));
 }
 
 SendUIWindow::~SendUIWindow ()
index a75f0f98e45bc403827c9ac5931f58fd252dcad3..11ac6c318775cd8242ed725154e41eba743ae1f6 100644 (file)
@@ -149,7 +149,7 @@ bool
 StepEditor::step_editor_hidden (GdkEventAny*)
 {
         step_editor_hide ();
-        return true;
+        return true; // XXX remember position ?!
 }
 
 void
index d15028ac13fc65ca72f4ed28bf426669915c3837..629e24419b470716e51ae078e9c3609eb5ac5bfa 100644 (file)
@@ -302,8 +302,10 @@ ProxyBase::get_state () const
                /* we have a window, so use current state */
 
                _visible = vistracker->partially_visible ();
-               _window->get_position (_x_off, _y_off);
-               _window->get_size (_width, _height);
+               if (_visible) {
+                       _window->get_position (_x_off, _y_off);
+                       _window->get_size (_width, _height);
+               }
        }
 
        node->add_property (X_("visible"), _visible? X_("yes") : X_("no"));
@@ -410,15 +412,16 @@ ProxyBase::hide ()
 bool
 ProxyBase::handle_win_event (GdkEventAny *ev)
 {
-       save_pos_and_size();
-       return 0;
+       hide();
+       return true;
 }
 
 void
 ProxyBase::save_pos_and_size ()
 {
-       _window->get_position (_x_off, _y_off);
-       _window->get_size (_width, _height);
+       Gtk::Window* win = get (false);
+       win->get_position (_x_off, _y_off);
+       win->get_size (_width, _height);
 }
 /*-----------------------*/