summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor.h2
-rw-r--r--gtk2_ardour/editor_ops.cc35
-rw-r--r--gtk2_ardour/mnemonic-us.bindings.in24
3 files changed, 21 insertions, 40 deletions
diff --git a/gtk2_ardour/editor.h b/gtk2_ardour/editor.h
index 943eeb76df..b02ef1452b 100644
--- a/gtk2_ardour/editor.h
+++ b/gtk2_ardour/editor.h
@@ -503,10 +503,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
void swap_visual_state ();
std::vector<VisualState*> visual_states;
- sigc::connection visual_state_op_connection;
void start_visual_state_op (uint32_t n);
void cancel_visual_state_op (uint32_t n);
- bool end_visual_state_op (uint32_t n);
framepos_t leftmost_frame;
double frames_per_unit;
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index 5060038f0e..ac1de28e8d 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -6567,7 +6567,9 @@ Editor::save_visual_state (uint32_t n)
visual_states.push_back (0);
}
- delete visual_states[n];
+ if (visual_states[n] != 0) {
+ delete visual_states[n];
+ }
visual_states[n] = current_visual_state (true);
gdk_beep ();
@@ -6590,38 +6592,19 @@ Editor::goto_visual_state (uint32_t n)
void
Editor::start_visual_state_op (uint32_t n)
{
- if (visual_state_op_connection.empty()) {
- visual_state_op_connection = Glib::signal_timeout().connect (sigc::bind (sigc::mem_fun (*this, &Editor::end_visual_state_op), n), 1000);
- }
-}
-
-void
-Editor::cancel_visual_state_op (uint32_t n)
-{
- if (!visual_state_op_connection.empty()) {
- visual_state_op_connection.disconnect();
- goto_visual_state (n);
- } else {
- //we land here if called from the menu OR if end_visual_state_op has been called
- //so check if we are already in visual state n
- // XXX not yet checking it at all, but redoing does not hurt
- goto_visual_state (n);
- }
-}
-
-bool
-Editor::end_visual_state_op (uint32_t n)
-{
- visual_state_op_connection.disconnect();
save_visual_state (n);
-
+
PopUp* pup = new PopUp (WIN_POS_MOUSE, 1000, true);
char buf[32];
snprintf (buf, sizeof (buf), _("Saved view %u"), n+1);
pup->set_text (buf);
pup->touch();
+}
- return false; // do not call again
+void
+Editor::cancel_visual_state_op (uint32_t n)
+{
+ goto_visual_state (n);
}
void
diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in
index 51460edcb6..489bcf1665 100644
--- a/gtk2_ardour/mnemonic-us.bindings.in
+++ b/gtk2_ardour/mnemonic-us.bindings.in
@@ -312,18 +312,18 @@ This mode provides many different operations on both regions and control points,
@-group|Editor/save-visual-state-11|<@PRIMARY@>F11|some text
@-group|Editor/save-visual-state-12|<@PRIMARY@>F12|some text
-@-group|Editor/goto-visual-state-1|<Release><@PRIMARY@>F1|some text
-@-group|Editor/goto-visual-state-2|<Release><@PRIMARY@>F2|some text
-@-group|Editor/goto-visual-state-3|<Release><@PRIMARY@>F3|some text
-@-group|Editor/goto-visual-state-4|<Release><@PRIMARY@>F4|some text
-@-group|Editor/goto-visual-state-5|<Release><@PRIMARY@>F5|some text
-@-group|Editor/goto-visual-state-6|<Release><@PRIMARY@>F6|some text
-@-group|Editor/goto-visual-state-7|<Release><@PRIMARY@>F7|some text
-@-group|Editor/goto-visual-state-8|<Release><@PRIMARY@>F8|some text
-@-group|Editor/goto-visual-state-9|<Release><@PRIMARY@>F9|some text
-@-group|Editor/goto-visual-state-10|<Release><@PRIMARY@>F10|some text
-@-group|Editor/goto-visual-state-11|<Release><@PRIMARY@>F11|some text
-@-group|Editor/goto-visual-state-12|<Release><@PRIMARY@>F12|some text
+@-group|Editor/goto-visual-state-1|F1|some text
+@-group|Editor/goto-visual-state-2|F2|some text
+@-group|Editor/goto-visual-state-3|F3|some text
+@-group|Editor/goto-visual-state-4|F4|some text
+@-group|Editor/goto-visual-state-5|F5|some text
+@-group|Editor/goto-visual-state-6|F6|some text
+@-group|Editor/goto-visual-state-7|F7|some text
+@-group|Editor/goto-visual-state-8|F8|some text
+@-group|Editor/goto-visual-state-9|F9|some text
+@-group|Editor/goto-visual-state-10|F10|some text
+@-group|Editor/goto-visual-state-11|F11|some text
+@-group|Editor/goto-visual-state-12|F12|some text
;; numbers