summaryrefslogtreecommitdiff
path: root/gtk2_ardour/window_manager.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2013-05-07 13:01:18 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2013-05-07 13:01:26 -0400
commita902737db97e6bdd55493a1536242a26e26a0014 (patch)
tree5aa1cc8abcd0d50bd5245414266dc6cbd6a236fa /gtk2_ardour/window_manager.cc
parente8301185c0391eafa18a09932bfeb1bd76b4bb04 (diff)
various changes to window visibility mgmt, including use of the mixbus2 code for toggling editor + mixer windows. no longer attempt to track changes made outside of ardour, which is a lost cause
Diffstat (limited to 'gtk2_ardour/window_manager.cc')
-rw-r--r--gtk2_ardour/window_manager.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/gtk2_ardour/window_manager.cc b/gtk2_ardour/window_manager.cc
index cb63f4f822..627e9a1744 100644
--- a/gtk2_ardour/window_manager.cc
+++ b/gtk2_ardour/window_manager.cc
@@ -112,6 +112,26 @@ WindowManager::set_session (ARDOUR::Session* s)
}
}
+void
+WindowManager::set_transient_for (Gtk::Window* parent)
+{
+ if (parent) {
+ for (Windows::const_iterator i = _windows.begin(); i != _windows.end(); ++i) {
+ Gtk::Window* win = (*i)->get();
+ if (win) {
+ win->set_transient_for (*parent);
+ }
+ }
+ } else {
+ for (Windows::const_iterator i = _windows.begin(); i != _windows.end(); ++i) {
+ Gtk::Window* win = (*i)->get();
+ if (win) {
+ gtk_window_set_transient_for (win->gobj(), 0);
+ }
+ }
+ }
+}
+
/*-----------------------*/
WindowManager::ProxyBase::ProxyBase (const string& name, const std::string& menu_name)