using namespace ARDOUR;
using namespace ARDOUR_UI_UTILS;
-ArdourStartup* ArdourStartup::the_startup = 0;
-
ArdourStartup::ArdourStartup ()
- : _response (RESPONSE_OK)
- , config_modified (false)
+ : config_modified (false)
, default_dir_chooser (0)
, monitor_via_hardware_button (string_compose (_("Use an external mixer or the hardware mixer of your audio interface.\n"
"%1 will play NO role in monitoring"), PROGRAM_NAME))
setup_monitoring_choice_page ();
setup_monitor_section_choice_page ();
setup_final_page ();
-
- the_startup = this;
}
ArdourStartup::~ArdourStartup ()
void
ArdourStartup::on_cancel ()
{
- _response = RESPONSE_CANCEL;
- gtk_main_quit ();
+ _signal_response (int (RESPONSE_CANCEL));
}
bool
ArdourStartup::on_delete_event (GdkEventAny*)
{
- _response = RESPONSE_CLOSE;
- gtk_main_quit ();
+ _signal_response (int (RESPONSE_CLOSE));
return true;
}
}
- _response = RESPONSE_OK;
- gtk_main_quit ();
+ _signal_response (int (RESPONSE_OK));
}
static bool required ();
- gint response () const {
- return _response;
- }
+ /* It's not a dialog so we have to fake this to make it behave like a
+ * dialog. This allows the StartupFSM to treat everything similarly.
+ */
+
+ sigc::signal1<void,int>& signal_response() { return _signal_response; }
private:
- gint _response;
bool config_modified;
bool new_user;
bool on_delete_event (GdkEventAny*);
void discover_plugins ();
- static ArdourStartup *the_startup;
-
Glib::RefPtr<Gdk::Pixbuf> icon_pixbuf;
void setup_prerelease_page ();
gint final_page_index;
void move_along_now ();
+
+ sigc::signal1<void,int> _signal_response;
};
#endif /* __gtk2_ardour_startup_h__ */