X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_dialog.h;h=76d7ac1d08a34d7c9047c8003c31961f5d496b60;hb=14c390ed027b3ba1c48084502677d1a1287bfc05;hp=1008f63000fe1a4a9d5eba86c1c00c248cae65e6;hpb=a9341bd5f03dad86161786c1f764471b23273601;p=ardour.git diff --git a/gtk2_ardour/ardour_dialog.h b/gtk2_ardour/ardour_dialog.h index 1008f63000..76d7ac1d08 100644 --- a/gtk2_ardour/ardour_dialog.h +++ b/gtk2_ardour/ardour_dialog.h @@ -25,6 +25,10 @@ #include "ardour/session_handle.h" +namespace WM { + class ProxyTemporary; +} + /* * This virtual parent class is so that each dialog box uses the * same mechanism to declare its closing. It shares a common @@ -33,20 +37,25 @@ */ class ArdourDialog : public Gtk::Dialog, public ARDOUR::SessionHandlePtr { - public: +public: ArdourDialog (std::string title, bool modal = false, bool use_separator = false); ArdourDialog (Gtk::Window& parent, std::string title, bool modal = false, bool use_separator = false); ~ArdourDialog(); - bool on_enter_notify_event (GdkEventCrossing*); - bool on_leave_notify_event (GdkEventCrossing*); + bool on_focus_in_event (GdkEventFocus*); + bool on_focus_out_event (GdkEventFocus*); + bool on_delete_event (GdkEventAny*); void on_unmap (); void on_show (); + virtual void on_response (int); - static void close_all_dialogs () { CloseAllDialogs(); } +protected: + void pop_splash (); + void close_self (); - private: - bool _splash_pushed; +private: + WM::ProxyTemporary* proxy; + bool _splash_pushed; void init (); static sigc::signal CloseAllDialogs;