summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r--gtk2_ardour/editor.cc76
1 files changed, 44 insertions, 32 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc
index 994275468a..c0fd7b0a20 100644
--- a/gtk2_ardour/editor.cc
+++ b/gtk2_ardour/editor.cc
@@ -97,7 +97,7 @@ const double Editor::timebar_height = 15.0;
#include "editor_xpms"
-static const gchar *snap_type_strings[] = {
+static const gchar *_snap_type_strings[] = {
N_("None"),
N_("CD Frames"),
N_("SMPTE Frames"),
@@ -121,13 +121,13 @@ static const gchar *snap_type_strings[] = {
0
};
-static const gchar *snap_mode_strings[] = {
- N_("Normal Snap"),
- N_("Magnetic Snap"),
+static const gchar *_snap_mode_strings[] = {
+ N_("Normal"),
+ N_("Magnetic"),
0
};
-static const gchar *zoom_focus_strings[] = {
+static const gchar *_zoom_focus_strings[] = {
N_("Left"),
N_("Right"),
N_("Center"),
@@ -239,6 +239,10 @@ Editor::Editor (AudioEngine& eng)
current_mixer_strip = 0;
current_bbt_points = 0;
+ snap_type_strings = I18N (_snap_type_strings);
+ snap_mode_strings = I18N (_snap_mode_strings);
+ zoom_focus_strings = I18N(_zoom_focus_strings);
+
snap_type = SnapToFrame;
set_snap_to (snap_type);
snap_mode = SnapNormal;
@@ -1996,8 +2000,11 @@ void
Editor::set_snap_to (SnapType st)
{
snap_type = st;
- vector<string> txt = I18N (snap_type_strings);
- snap_type_selector.set_active_text (txt[(int)st]);
+ string str = snap_type_strings[(int) st];
+
+ if (str != snap_type_selector.get_active_text()) {
+ snap_type_selector.set_active_text (str);
+ }
instant_save ();
@@ -2018,8 +2025,11 @@ void
Editor::set_snap_mode (SnapMode mode)
{
snap_mode = mode;
- vector<string> txt = I18N (snap_mode_strings);
- snap_mode_selector.set_active_text (txt[(int)mode]);
+ string str = snap_mode_strings[(int)mode];
+
+ if (str != snap_mode_selector.get_active_text ()) {
+ snap_mode_selector.set_active_text (str);
+ }
instant_save ();
}
@@ -2583,10 +2593,10 @@ Editor::setup_toolbar ()
zoom_box.pack_start (zoom_out_full_button, false, false);
ARDOUR_UI::instance()->tooltips().set_tip (zoom_range_clock, _("Current Zoom Range\n(Width of visible area)"));
-
+
zoom_focus_selector.set_name ("ZoomFocusSelector");
Gtkmm2ext::set_size_request_to_display_given_text (zoom_focus_selector, "Focus Center", 2+FUDGE, 0);
- set_popdown_strings (zoom_focus_selector, I18N (zoom_focus_strings));
+ set_popdown_strings (zoom_focus_selector, zoom_focus_strings);
zoom_focus_selector.signal_changed().connect (mem_fun(*this, &Editor::zoom_focus_selection_done));
ARDOUR_UI::instance()->tooltips().set_tip (zoom_focus_selector, _("Zoom focus"));
@@ -2600,13 +2610,13 @@ Editor::setup_toolbar ()
snap_type_selector.set_name ("SnapTypeSelector");
Gtkmm2ext::set_size_request_to_display_given_text (snap_type_selector, "SMPTE Seconds", 2+FUDGE, 10);
- set_popdown_strings (snap_type_selector, I18N (snap_type_strings));
+ set_popdown_strings (snap_type_selector, snap_type_strings);
snap_type_selector.signal_changed().connect (mem_fun(*this, &Editor::snap_type_selection_done));
ARDOUR_UI::instance()->tooltips().set_tip (snap_type_selector, _("Unit to snap cursors and ranges to"));
snap_mode_selector.set_name ("SnapModeSelector");
Gtkmm2ext::set_size_request_to_display_given_text (snap_mode_selector, "Magnetic Snap", 2+FUDGE, 10);
- set_popdown_strings (snap_mode_selector, I18N (snap_mode_strings));
+ set_popdown_strings (snap_mode_selector, snap_mode_strings);
snap_mode_selector.signal_changed().connect (mem_fun(*this, &Editor::snap_mode_selection_done));
snap_box.pack_start (edit_cursor_clock, false, false);
@@ -3448,10 +3458,6 @@ Editor::edit_mode_selection_done ()
void
Editor::snap_type_selection_done ()
{
- if (session == 0) {
- return;
- }
-
string choice = snap_type_selector.get_active_text();
SnapType snaptype = SnapToFrame;
@@ -3497,35 +3503,34 @@ Editor::snap_type_selection_done ()
snaptype = SnapToFrame;
}
- set_snap_to (snaptype);
+ RefPtr<RadioAction> ract = snap_type_action (snaptype);
+ if (ract) {
+ ract->set_active ();
+ }
}
void
Editor::snap_mode_selection_done ()
{
- if(session == 0) {
- return;
- }
-
string choice = snap_mode_selector.get_active_text();
SnapMode mode = SnapNormal;
- if (choice == _("Normal Snap")) {
+ if (choice == _("Normal")) {
mode = SnapNormal;
- } else if (choice == _("Magnetic Snap")) {
+ } else if (choice == _("Magnetic")) {
mode = SnapMagnetic;
}
- set_snap_mode (mode);
+ RefPtr<RadioAction> ract = snap_mode_action (mode);
+
+ if (ract) {
+ ract->set_active (true);
+ }
}
void
Editor::zoom_focus_selection_done ()
{
- if (session == 0) {
- return;
- }
-
string choice = zoom_focus_selector.get_active_text();
ZoomFocus focus_type = ZoomFocusLeft;
@@ -3540,8 +3545,12 @@ Editor::zoom_focus_selection_done ()
} else if (choice == _("Edit Cursor")) {
focus_type = ZoomFocusEdit;
}
+
+ RefPtr<RadioAction> ract = zoom_focus_action (focus_type);
- set_zoom_focus (focus_type);
+ if (ract) {
+ ract->set_active ();
+ }
}
gint
@@ -3672,8 +3681,11 @@ Editor::get_valid_views (TimeAxisView* track, RouteGroup* group)
void
Editor::set_zoom_focus (ZoomFocus f)
{
- vector<string> txt = I18N (zoom_focus_strings);
- zoom_focus_selector.set_active_text (txt[(int)f]);
+ string str = zoom_focus_strings[(int)f];
+
+ if (str != zoom_focus_selector.get_active_text()) {
+ zoom_focus_selector.set_active_text (str);
+ }
if (zoom_focus != f) {
zoom_focus = f;