diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-16 00:15:20 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-07-16 00:15:20 +0000 |
commit | 64624b4042f18a4bd9fac17edba59e01201badd0 (patch) | |
tree | b4aeca6801dc6fe4743e9b27dd4332100c662b44 /gtk2_ardour/ardour_ui.cc | |
parent | 25053fa3effb786e3045007b7229605acaee9eec (diff) |
make dbl-click on foobar.ardour open ardour (OS X)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@7423 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/ardour_ui.cc')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index cd0504f7df..c30981297b 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -34,6 +34,7 @@ #include <gtkmm/messagedialog.h> #include <gtkmm/accelmap.h> +#include <gtkmm2ext/application.h> #include <pbd/error.h> #include <pbd/basename.h> @@ -643,6 +644,11 @@ Please consider the possibilities, and perhaps (re)start JACK.")); void ARDOUR_UI::startup () { + Application* app = Application::instance(); + + app->ShouldQuit.connect (sigc::mem_fun (*this, &ARDOUR_UI::queue_finish)); + app->ShouldLoad.connect (sigc::mem_fun (*this, &ARDOUR_UI::idle_load)); + string name, path; new_session_dialog = new NewSessionDialog(); @@ -653,7 +659,9 @@ ARDOUR_UI::startup () if (audio_setup) { new_session_dialog->engine_control.set_state (*audio_setup); } - + + app->ready (); + if (!get_session_parameters (backend_audio_is_running, ARDOUR_COMMAND_LINE::new_session)) { return; } @@ -2347,6 +2355,7 @@ void ARDOUR_UI::idle_load (const Glib::ustring& path) { if (session) { + if (Glib::file_test (path, Glib::FILE_TEST_IS_DIR)) { /* /path/to/foo => /path/to/foo, foo */ load_session (path, basename_nosuffix (path)); @@ -2354,13 +2363,13 @@ ARDOUR_UI::idle_load (const Glib::ustring& path) /* /path/to/foo/foo.ardour => /path/to/foo, foo */ load_session (Glib::path_get_dirname (path), basename_nosuffix (path)); } + } else { ARDOUR_COMMAND_LINE::session_name = path; if (new_session_dialog) { - /* make it break out of Dialog::run() and start again. */ |