Fix up modifier behaviour
[ardour.git] / gtk2_ardour / rc_option_editor.cc
index 4fefcfada151d92b6bb391364f249d028b7f959a..a5f4b6e6f1d9bc4b8a702f63bf60d6d3c54c5fdb 100644 (file)
@@ -271,20 +271,22 @@ static const struct {
        { "Option", GDK_MOD1_MASK },
        { "Command-Shift", GDK_META_MASK|GDK_SHIFT_MASK },
        { "Command-Option", GDK_MOD1_MASK|GDK_META_MASK },
-       { "Shift-Option", GDK_SHIFT_MASK|GDK_MOD1_MASK },
+       { "Option-Shift", GDK_MOD1_MASK|GDK_SHIFT_MASK },
+       { "Control-Shift", GDK_CONTROL_MASK|GDK_SHIFT_MASK },
        { "Shift-Command-Option", GDK_MOD5_MASK|GDK_SHIFT_MASK|GDK_META_MASK },
 
 #else
        { "Key|Shift", GDK_SHIFT_MASK },
        { "Control", GDK_CONTROL_MASK },
-       { "Alt (Mod1)", GDK_MOD1_MASK },
+       { "Alt", GDK_MOD1_MASK },
        { "Control-Shift", GDK_CONTROL_MASK|GDK_SHIFT_MASK },
        { "Control-Alt", GDK_CONTROL_MASK|GDK_MOD1_MASK },
        { "Shift-Alt", GDK_SHIFT_MASK|GDK_MOD1_MASK },
        { "Control-Shift-Alt", GDK_CONTROL_MASK|GDK_SHIFT_MASK|GDK_MOD1_MASK },
+       { "Alt-Windows", GDK_MOD1_MASK|GDK_MOD4_MASK },
        { "Mod2", GDK_MOD2_MASK },
        { "Mod3", GDK_MOD3_MASK },
-       { "Mod4", GDK_MOD4_MASK },
+       { "Windows", GDK_MOD4_MASK },
        { "Mod5", GDK_MOD5_MASK },
 #endif
        { 0, 0 }
@@ -346,7 +348,7 @@ public:
 
                l = manage (left_aligned_label (_("When Clicking:")));
                l->set_name ("OptionEditorHeading");
-               t->attach (*l, col, col + 1, row, row + 1, FILL | EXPAND, FILL);
+               t->attach (*l, col, col + 2, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
                col = 1;
@@ -429,7 +431,7 @@ public:
 
                l = manage (left_aligned_label (_("When Beginning a Drag:")));
                l->set_name ("OptionEditorHeading");
-               t->attach (*l, 0, 1, row, row + 1, FILL | EXPAND, FILL);
+               t->attach (*l, 0, 2, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
                col = 1;
@@ -455,7 +457,7 @@ public:
 
                l = manage (left_aligned_label (_("When Beginning a Trim:")));
                l->set_name ("OptionEditorHeading");
-               t->attach (*l, 0, 1, row, row + 1, FILL | EXPAND, FILL);
+               t->attach (*l, 0, 2, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
                col = 1;
@@ -465,7 +467,7 @@ public:
                _trim_contents_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::trim_contents_modifier_chosen));
 
                for (int x = 0; modifiers[x].name; ++x) {
-                       if (modifiers[x].modifier == (guint) Keyboard::trim_contents_modifier ()) {
+                       if (modifiers[x].modifier == (guint) ArdourKeyboard::trim_contents_modifier ()) {
                                _trim_contents_combo.set_active_text (S_(modifiers[x].name));
                                break;
                        }
@@ -485,7 +487,7 @@ public:
                _trim_anchored_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::trim_anchored_modifier_chosen));
 
                for (int x = 0; modifiers[x].name; ++x) {
-                       if (modifiers[x].modifier == (guint) Keyboard::trim_anchored_modifier ()) {
+                       if (modifiers[x].modifier == (guint) ArdourKeyboard::trim_anchored_modifier ()) {
                                _trim_anchored_combo.set_active_text (S_(modifiers[x].name));
                                break;
                        }
@@ -499,9 +501,9 @@ public:
                t->attach (_trim_anchored_combo, col, col + 1, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
-                               col = 1;
+               col = 1;
 
-               /* jump trim */
+               /* jump trim disabled for now
                set_popdown_strings (_trim_jump_combo, dumb);
                _trim_jump_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::trim_jump_modifier_chosen));
 
@@ -521,13 +523,14 @@ public:
 
                ++row;
                col = 1;
+               */
 
                /* note resize relative */
                set_popdown_strings (_note_size_relative_combo, dumb);
                _note_size_relative_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::note_size_relative_modifier_chosen));
 
                for (int x = 0; modifiers[x].name; ++x) {
-                       if (modifiers[x].modifier == (guint) Keyboard::note_size_relative_modifier ()) {
+                       if (modifiers[x].modifier == (guint) ArdourKeyboard::note_size_relative_modifier ()) {
                                _note_size_relative_combo.set_active_text (S_(modifiers[x].name));
                                break;
                        }
@@ -544,7 +547,7 @@ public:
 
                l = manage (left_aligned_label (_("While Dragging:")));
                l->set_name ("OptionEditorHeading");
-               t->attach (*l, 0, 1, row, row + 1, FILL | EXPAND, FILL);
+               t->attach (*l, 0, 2, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
                col = 1;
@@ -590,7 +593,7 @@ public:
 
                l = manage (left_aligned_label (_("While Trimming:")));
                l->set_name ("OptionEditorHeading");
-               t->attach (*l, 0, 1, row, row + 1, FILL | EXPAND, FILL);
+               t->attach (*l, 0, 2, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
                col = 1;
@@ -600,7 +603,7 @@ public:
                _trim_overlap_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::trim_overlap_modifier_chosen));
 
                for (int x = 0; modifiers[x].name; ++x) {
-                       if (modifiers[x].modifier == (guint) Keyboard::trim_overlap_modifier ()) {
+                       if (modifiers[x].modifier == (guint) ArdourKeyboard::trim_overlap_modifier ()) {
                                _trim_overlap_combo.set_active_text (S_(modifiers[x].name));
                                break;
                        }
@@ -616,7 +619,7 @@ public:
 
                l = manage (left_aligned_label (_("While Dragging Control Points:")));
                l->set_name ("OptionEditorHeading");
-               t->attach (*l, 0, 1, row, row + 1, FILL | EXPAND, FILL);
+               t->attach (*l, 0, 2, row, row + 1, FILL | EXPAND, FILL);
 
                ++row;
                col = 1;
@@ -626,7 +629,7 @@ public:
                _fine_adjust_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::fine_adjust_modifier_chosen));
 
                for (int x = 0; modifiers[x].name; ++x) {
-                       if (modifiers[x].modifier == (guint) Keyboard::fine_adjust_modifier ()) {
+                       if (modifiers[x].modifier == (guint) ArdourKeyboard::fine_adjust_modifier ()) {
                                _fine_adjust_combo.set_active_text (S_(modifiers[x].name));
                                break;
                        }
@@ -646,7 +649,7 @@ public:
                _push_points_combo.signal_changed().connect (sigc::mem_fun(*this, &KeyboardOptions::push_points_modifier_chosen));
 
                for (int x = 0; modifiers[x].name; ++x) {
-                       if (modifiers[x].modifier == (guint) Keyboard::push_points_modifier ()) {
+                       if (modifiers[x].modifier == (guint) ArdourKeyboard::push_points_modifier ()) {
                                _push_points_combo.set_active_text (S_(modifiers[x].name));
                                break;
                        }
@@ -658,8 +661,6 @@ public:
                t->attach (*l, col, col + 1, row, row + 1, FILL | EXPAND, FILL);
                t->attach (_push_points_combo, col + 1, col + 2, row, row + 1, FILL | EXPAND, FILL);
 
-               ++row;
-
                _box->pack_start (*t, false, false);
        }
 
@@ -768,7 +769,7 @@ private:
 
                for (int i = 0; modifiers[i].name; ++i) {
                        if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_trim_contents_modifier (modifiers[i].modifier);
+                               ArdourKeyboard::set_trim_contents_modifier (modifiers[i].modifier);
                                break;
                        }
                }
@@ -780,7 +781,7 @@ private:
 
                for (int i = 0; modifiers[i].name; ++i) {
                        if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_trim_overlap_modifier (modifiers[i].modifier);
+                               ArdourKeyboard::set_trim_overlap_modifier (modifiers[i].modifier);
                                break;
                        }
                }
@@ -792,19 +793,7 @@ private:
 
                for (int i = 0; modifiers[i].name; ++i) {
                        if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_trim_anchored_modifier (modifiers[i].modifier);
-                               break;
-                       }
-               }
-       }
-
-       void trim_jump_modifier_chosen ()
-       {
-               string const txt = _trim_jump_combo.get_active_text();
-
-               for (int i = 0; modifiers[i].name; ++i) {
-                       if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_trim_jump_modifier (modifiers[i].modifier);
+                               ArdourKeyboard::set_trim_anchored_modifier (modifiers[i].modifier);
                                break;
                        }
                }
@@ -816,7 +805,7 @@ private:
 
                for (int i = 0; modifiers[i].name; ++i) {
                        if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_fine_adjust_modifier (modifiers[i].modifier);
+                               ArdourKeyboard::set_fine_adjust_modifier (modifiers[i].modifier);
                                break;
                        }
                }
@@ -828,7 +817,7 @@ private:
 
                for (int i = 0; modifiers[i].name; ++i) {
                        if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_push_points_modifier (modifiers[i].modifier);
+                               ArdourKeyboard::set_push_points_modifier (modifiers[i].modifier);
                                break;
                        }
                }
@@ -840,7 +829,7 @@ private:
 
                for (int i = 0; modifiers[i].name; ++i) {
                        if (txt == _(modifiers[i].name)) {
-                               Keyboard::set_note_size_relative_modifier (modifiers[i].modifier);
+                               ArdourKeyboard::set_note_size_relative_modifier (modifiers[i].modifier);
                                break;
                        }
                }