summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-04-17 15:25:45 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-04-17 15:25:45 +0000
commitb235856e446accd279160a69cc8950e123c0c82f (patch)
treea81a85fc74801a813ff7d2fd4635a816c04a149d /gtk2_ardour/editor_ops.cc
parent6962547e8da2f17ace5dc73906ef612ff737cfa3 (diff)
gcc 4.3 compile fixes; new name-new-marker-at-creation option; make ferret region splits undoable
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3261 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc46
1 files changed, 46 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 0f4d1d2f6d..2e9ce7ca2f 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -1836,6 +1836,46 @@ Editor::temporal_zoom_to_frame (bool coarser, nframes_t frame)
reposition_and_zoom (new_leftmost, new_fpu);
}
+
+bool
+Editor::choose_new_marker_name(string &name) {
+
+ if (!Config->get_name_new_markers()) {
+ /* don't prompt user for a new name */
+ return true;
+ }
+
+ ArdourPrompter dialog (true);
+
+ dialog.set_prompt (_("New Name:"));
+
+ WindowTitle title(Glib::get_application_name());
+ title += _("Name New Location Marker");
+
+ dialog.set_title(title.get_string());
+
+ dialog.set_name ("MarkNameWindow");
+ dialog.set_size_request (250, -1);
+ dialog.set_position (Gtk::WIN_POS_MOUSE);
+
+ dialog.add_button (Stock::OK, RESPONSE_ACCEPT);
+ dialog.set_initial_text (name);
+
+ dialog.show ();
+
+ switch (dialog.run ()) {
+ case RESPONSE_ACCEPT:
+ break;
+ default:
+ return false;
+ }
+
+ dialog.get_result(name);
+ return true;
+
+}
+
+
void
Editor::add_location_from_selection ()
{
@@ -1871,6 +1911,9 @@ Editor::add_location_mark (nframes64_t where)
select_new_marker = true;
session->locations()->next_available_name(markername,"mark");
+ if (!choose_new_marker_name(markername)) {
+ return;
+ }
Location *location = new Location (where, where, markername, Location::IsMark);
session->begin_reversible_command (_("add marker"));
XMLNode &before = session->locations()->get_state();
@@ -2015,6 +2058,9 @@ Editor::set_mark ()
}
session->locations()->next_available_name(markername,"mark");
+ if (!choose_new_marker_name(markername)) {
+ return;
+ }
session->locations()->add (new Location (pos, 0, markername, Location::IsMark), true);
}