pluginclient cr=apply in option value textbox, add loop_mode for vwdw
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / editpanel.C
index 4d3f366b744f6e655c6ce3cf3322290d8b2514f6..41394277fc1de8aa66199a9567005c8e821c5089 100644 (file)
@@ -1314,13 +1314,20 @@ int EditPanelScope::handle_event()
        return 1;
 }
 
+const char *EditPanelGangTracks::gang_tips[TOTAL_GANGS] = {
+       N_("Currently: Gang None\n  Click to: Gang Channels"),
+       N_("Currently: Gang Channels\n  Click to: Gang Media"),
+       N_("Currently: Gang Media\n  Click to: Gang None"),
+};
+
 EditPanelGangTracks::EditPanelGangTracks(MWindow *mwindow, EditPanel *panel,
                int x, int y)
  : BC_Button(x, y, get_images(mwindow))
 {
        this->mwindow = mwindow;
        this->panel = panel;
-       set_tooltip(_("Gang Tracks"));
+       int gang = mwindow->edl->session->gang_tracks;
+       set_tooltip(_(gang_tips[gang]));
 }
 
 EditPanelGangTracks::~EditPanelGangTracks()
@@ -1342,15 +1349,17 @@ void EditPanelGangTracks::update(int gang)
 {
        set_images(gang_images[gang]);
        draw_face();
+       set_tooltip(_(gang_tips[gang]));
 }
 
 int EditPanelGangTracks::handle_event()
 {
        int gang = mwindow->edl->session->gang_tracks;
-       switch( gang ) {
-       case GANG_NONE:      gang = GANG_CHANNELS;  break;
-       case GANG_CHANNELS:  gang = GANG_MEDIA;     break;
-       case GANG_MEDIA:     gang = GANG_NONE;      break;
+       if( !shift_down() ) {
+               if( ++gang > GANG_MEDIA ) gang = GANG_NONE;
+       }
+       else {
+               if( --gang < GANG_NONE ) gang = GANG_MEDIA;
        }
        update(gang);
        panel->panel_set_gang_tracks(gang);