#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
*/
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<void> CloseAllDialogs;