From 65b6f8efad3a53893138da53527a0e62d28af655 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 5 May 2013 16:10:54 -0400 Subject: more window management rationalization --- gtk2_ardour/ardour_dialog.cc | 7 +++++++ gtk2_ardour/ardour_dialog.h | 1 + gtk2_ardour/ardour_ui.h | 2 -- gtk2_ardour/ardour_ui2.cc | 8 -------- gtk2_ardour/ardour_ui_dialogs.cc | 1 - gtk2_ardour/ardour_window.cc | 9 +++++++-- gtk2_ardour/ardour_window.h | 1 + 7 files changed, 16 insertions(+), 13 deletions(-) (limited to 'gtk2_ardour') diff --git a/gtk2_ardour/ardour_dialog.cc b/gtk2_ardour/ardour_dialog.cc index cd7d0fbd55..07d5d47d6b 100644 --- a/gtk2_ardour/ardour_dialog.cc +++ b/gtk2_ardour/ardour_dialog.cc @@ -94,6 +94,13 @@ ArdourDialog::on_show () } } +bool +ArdourDialog::on_delete_event (GdkEventAny*) +{ + hide (); + return false; +} + void ArdourDialog::init () { diff --git a/gtk2_ardour/ardour_dialog.h b/gtk2_ardour/ardour_dialog.h index 041b62e1cd..1e01c8f625 100644 --- a/gtk2_ardour/ardour_dialog.h +++ b/gtk2_ardour/ardour_dialog.h @@ -40,6 +40,7 @@ class ArdourDialog : public Gtk::Dialog, public ARDOUR::SessionHandlePtr bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*); + bool on_delete_event (GdkEventAny *); void on_unmap (); void on_show (); diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 79b5403daf..f2b2029170 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -348,8 +348,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr void start_clocking (); void stop_clocking (); - void manage_window (Gtk::Window&); - bool main_window_state_event_handler (GdkEventWindowState*, bool window_was_editor); void update_transport_clocks (framepos_t pos); diff --git a/gtk2_ardour/ardour_ui2.cc b/gtk2_ardour/ardour_ui2.cc index 348a87136f..76396e845d 100644 --- a/gtk2_ardour/ardour_ui2.cc +++ b/gtk2_ardour/ardour_ui2.cc @@ -428,14 +428,6 @@ ARDOUR_UI::setup_transport () } } -void -ARDOUR_UI::manage_window (Window& win) -{ - win.signal_delete_event().connect (sigc::bind (sigc::ptr_fun (just_hide_it), &win)); - win.signal_enter_notify_event().connect (sigc::bind (sigc::mem_fun (Keyboard::the_keyboard(), &Keyboard::enter_window), &win)); - win.signal_leave_notify_event().connect (sigc::bind (sigc::mem_fun (Keyboard::the_keyboard(), &Keyboard::leave_window), &win)); -} - void ARDOUR_UI::detach_tearoff (Box* b, Widget* w) { diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index d43d1dbec6..2e0d017d0c 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -380,7 +380,6 @@ ARDOUR_UI::new_midi_tracer_window () if (i == _midi_tracer_windows.end()) { /* all our MIDITracer windows are visible; make a new one */ MidiTracer* t = new MidiTracer (); - manage_window (*t); t->show_all (); _midi_tracer_windows.push_back (t); } else { diff --git a/gtk2_ardour/ardour_window.cc b/gtk2_ardour/ardour_window.cc index 3d09e59f7c..705fdaa1f9 100644 --- a/gtk2_ardour/ardour_window.cc +++ b/gtk2_ardour/ardour_window.cc @@ -74,6 +74,13 @@ ArdourWindow::on_unmap () Window::on_unmap (); } +bool +ArdourWindow::on_delete_event (GdkEventAny*) +{ + hide (); + return false; +} + void ArdourWindow::init () { @@ -91,8 +98,6 @@ ArdourWindow::init () set_type_hint (Gdk::WINDOW_TYPE_HINT_UTILITY); - signal_delete_event().connect (sigc::bind (sigc::ptr_fun (just_hide_it), this)); - ARDOUR_UI::CloseAllDialogs.connect (sigc::mem_fun (*this, &ArdourWindow::hide)); } diff --git a/gtk2_ardour/ardour_window.h b/gtk2_ardour/ardour_window.h index 3b8628d5a7..68bf65d353 100644 --- a/gtk2_ardour/ardour_window.h +++ b/gtk2_ardour/ardour_window.h @@ -42,6 +42,7 @@ class ArdourWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr, public bool on_enter_notify_event (GdkEventCrossing*); bool on_leave_notify_event (GdkEventCrossing*); + bool on_delete_event (GdkEventAny *); void on_unmap (); private: -- cgit v1.2.3