X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_dialog.h;h=76d7ac1d08a34d7c9047c8003c31961f5d496b60;hb=14c390ed027b3ba1c48084502677d1a1287bfc05;hp=4f53662c235aebcfa4e7226661d5abf4d18aa8c9;hpb=cd4e803f60ef122b8b643478d43a7f1a9c46ae43;p=ardour.git diff --git a/gtk2_ardour/ardour_dialog.h b/gtk2_ardour/ardour_dialog.h index 4f53662c23..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,19 +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: +private: + WM::ProxyTemporary* proxy; + bool _splash_pushed; void init (); static sigc::signal CloseAllDialogs;