diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-03-25 15:32:24 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-03-25 15:32:24 +0000 |
commit | 9b258045167a2e9a645d9451b435bd5dafe4b2ad (patch) | |
tree | ab08b7b7d3ea3a71c75f36c8240c1e4524a48bb6 /gtk2_ardour | |
parent | 39e6afb58230610e4b2df60668ff226ebd9374b1 (diff) |
add new Session::Dialog signal for generic dialog interactions with unknown GUI; made auto-analyse-audio FALSE by default, with dialog warning about this when necessary; fixed #2134 (loop/punch stuff not updated on undo/redo)
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3182 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 22 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 1 | ||||
-rw-r--r-- | gtk2_ardour/editor_markers.cc | 4 |
3 files changed, 26 insertions, 1 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 180b4701f6..a3ac097a5a 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -215,6 +215,10 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[]) ARDOUR::Diskstream::DiskOverrun.connect (mem_fun(*this, &ARDOUR_UI::disk_overrun_handler)); ARDOUR::Diskstream::DiskUnderrun.connect (mem_fun(*this, &ARDOUR_UI::disk_underrun_handler)); + /* handle dialog requests */ + + ARDOUR::Session::Dialog.connect (mem_fun(*this, &ARDOUR_UI::session_dialog)); + /* handle pending state with a dialog */ ARDOUR::Session::AskAboutPendingState.connect (mem_fun(*this, &ARDOUR_UI::pending_state_dialog)); @@ -3010,6 +3014,24 @@ ARDOUR_UI::disk_speed_dialog_gone (int ignored_response, MessageDialog* msg) delete msg; } +void +ARDOUR_UI::session_dialog (std::string msg) +{ + ENSURE_GUI_THREAD (bind (mem_fun(*this, &ARDOUR_UI::session_dialog), msg)); + + MessageDialog* d; + + if (editor) { + d = new MessageDialog (*editor, msg, false, MESSAGE_INFO, BUTTONS_OK, true); + } else { + d = new MessageDialog (msg, false, MESSAGE_INFO, BUTTONS_OK, true); + } + + d->show_all (); + d->run (); + delete d; +} + int ARDOUR_UI::pending_state_dialog () { diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index 7de4c1e28b..d8a4109923 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -670,6 +670,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI void disk_overrun_handler (); void disk_underrun_handler (); + void session_dialog (std::string); int pending_state_dialog (); int sr_mismatch_dialog (nframes_t, nframes_t); diff --git a/gtk2_ardour/editor_markers.cc b/gtk2_ardour/editor_markers.cc index 3d2976602e..9e8bd7f1c2 100644 --- a/gtk2_ardour/editor_markers.cc +++ b/gtk2_ardour/editor_markers.cc @@ -328,7 +328,9 @@ Editor::refresh_location_display_internal (Locations::LocationList& locations) i = tmp; } - + + update_punch_range_view (false); + update_loop_range_view (false); } void |