last push faux paux, update shortcuts doc, period/comma alt shortcuts, popup deactiva...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / mwindowgui.C
index 613c0324a8c5033b5c23aba53b09efb643597a19..d1aea0fc026c6c0440f12b839ce345bc74e5e654 100644 (file)
@@ -1170,9 +1170,7 @@ int MWindowGUI::keypress_event()
 
        case 'k': case 'K':
                if( alt_down() ) break;
-               unlock_window();
-               mbuttons->transport->handle_transport(STOP, 1, 0, 0);
-               lock_window("MWindowGUI::keypress_event 1");
+               stop_transport("MWindowGUI::keypress_event 1");
                mwindow->nearest_plugin_keyframe(shift_down(),
                        !ctrl_down() ? PLAY_FORWARD : PLAY_REVERSE);
                result = 1;
@@ -1188,9 +1186,7 @@ int MWindowGUI::keypress_event()
        case LEFT:
                if( !ctrl_down() ) {
                        if( alt_down() ) {
-                               unlock_window();
-                               mbuttons->transport->handle_transport(STOP, 1, 0, 0);
-                               lock_window("MWindowGUI::keypress_event 1");
+                               stop_transport("MWindowGUI::keypress_event 1");
                                mwindow->prev_edit_handle(shift_down());
                        }
                        else
@@ -1199,12 +1195,17 @@ int MWindowGUI::keypress_event()
                }
                break;
 
+       case ',':
+               if( !ctrl_down() && !alt_down() ) {
+                       mwindow->move_left();
+                       result = 1;
+               }
+               break;
+
        case RIGHT:
                if( !ctrl_down() ) {
                        if( alt_down() ) {
-                               unlock_window();
-                               mbuttons->transport->handle_transport(STOP, 1, 0, 0);
-                               lock_window("MWindowGUI::keypress_event 2");
+                               stop_transport("MWindowGUI::keypress_event 2");
                                mwindow->next_edit_handle(shift_down());
                        }
                        else
@@ -1213,6 +1214,13 @@ int MWindowGUI::keypress_event()
                }
                break;
 
+       case '.':
+               if( !ctrl_down() && !alt_down() ) {
+                       mwindow->move_right();
+                       result = 1;
+               }
+               break;
+
        case UP:
                if( ctrl_down() && !alt_down() )
                        mwindow->expand_y();
@@ -2263,6 +2271,15 @@ void MWindowGUI::update_mixers(Track *track, int v)
        }
 }
 
+void MWindowGUI::stop_transport(const char *lock_msg)
+{
+       if( !mbuttons->transport->is_stopped() ) {
+               if( lock_msg ) unlock_window();
+               mbuttons->transport->handle_transport(STOP, 1, 0, 0);
+               if( lock_msg ) lock_window(lock_msg);
+       }
+}
+
 PaneButton::PaneButton(MWindow *mwindow, int x, int y)
  : BC_Button(x, y, mwindow->theme->get_image_set("pane"))
 {