labels follow edits fix, group only ungrouped edits, add reset to 7 plugins, add...
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mainmenu.C
index c3843292ade0de05cc4cbc1d42ac8f4bccf0bd58..da1dbd3396365457ed0f73271f1c52374940e128 100644 (file)
@@ -134,8 +134,8 @@ void MainMenu::create_objects()
        filemenu->add_item(new BC_MenuItem("-"));
        filemenu->add_item(quit_program = new Quit(mwindow));
        quit_program->create_objects(save);
-       filemenu->add_item(new DumpEDL(mwindow));
-       filemenu->add_item(new DumpPlugins(mwindow));
+       filemenu->add_item(dump_menu = new MainDumpsMenu(mwindow));
+       dump_menu->create_objects();
        filemenu->add_item(new LoadBackup(mwindow));
        filemenu->add_item(new SaveBackup(mwindow));
 
@@ -217,10 +217,10 @@ void MainMenu::create_objects()
        settingsmenu->add_item(proxy = new ProxyMenuItem(mwindow));
        proxy->create_objects();
        mwindow->preferences_thread = preferences->thread;
+       settingsmenu->add_item(cursor_on_frames = new CursorOnFrames(mwindow));
        settingsmenu->add_item(labels_follow_edits = new LabelsFollowEdits(mwindow));
        settingsmenu->add_item(plugins_follow_edits = new PluginsFollowEdits(mwindow));
        settingsmenu->add_item(keyframes_follow_edits = new KeyframesFollowEdits(mwindow));
-       settingsmenu->add_item(cursor_on_frames = new CursorOnFrames(mwindow));
        settingsmenu->add_item(typeless_keyframes = new TypelessKeyframes(mwindow));
        settingsmenu->add_item(new BC_MenuItem("-"));
        settingsmenu->add_item(new SaveSettingsNow(mwindow));
@@ -249,11 +249,11 @@ void MainMenu::create_objects()
        viewmenu->add_item(mask_automation = new ShowAutomation(mwindow, _("Mask"), "8", AUTOMATION_MASK));
        viewmenu->add_item(speed_automation = new ShowAutomation(mwindow, _("Speed"), "9", AUTOMATION_SPEED));
 
-       camera_x = new ShowAutomation(mwindow, _("Camera X"), "Ctl-Shift-X", AUTOMATION_CAMERA_X);
+       camera_x = new ShowAutomation(mwindow, _("Camera X"), "Ctrl-Shift-X", AUTOMATION_CAMERA_X);
        camera_x->set_ctrl();  camera_x->set_shift();   viewmenu->add_item(camera_x);
-       camera_y = new ShowAutomation(mwindow, _("Camera Y"), "Ctl-Shift-Y", AUTOMATION_CAMERA_Y);
+       camera_y = new ShowAutomation(mwindow, _("Camera Y"), "Ctrl-Shift-Y", AUTOMATION_CAMERA_Y);
        camera_y->set_ctrl();  camera_y->set_shift();   viewmenu->add_item(camera_y);
-       camera_z = new ShowAutomation(mwindow, _("Camera Z"), "Ctl-Shift-Z", AUTOMATION_CAMERA_Z);
+       camera_z = new ShowAutomation(mwindow, _("Camera Z"), "Ctrl-Shift-Z", AUTOMATION_CAMERA_Z);
        camera_z->set_ctrl();  camera_z->set_shift();  viewmenu->add_item(camera_z);
        project_x = new ShowAutomation(mwindow, _("Projector X"), "Alt-Shift-X", AUTOMATION_PROJECTOR_X);
        project_x->set_alt();  project_x->set_shift();  viewmenu->add_item(project_x);
@@ -585,6 +585,36 @@ int MainMenu::add_load(char *path)
 
 // ================================== menu items
 
+MainDumpsSubMenu::MainDumpsSubMenu(BC_MenuItem *menu_item)
+ : BC_SubMenu()
+{
+       this->menu_item = menu_item;
+}
+MainDumpsSubMenu::~MainDumpsSubMenu()
+{
+}
+
+
+MainDumpsMenu::MainDumpsMenu(MWindow *mwindow)
+ : BC_MenuItem(_("Dumps..."))
+{
+       this->mwindow = mwindow;
+       this->dumps_menu = 0;
+}
+MainDumpsMenu::~MainDumpsMenu()
+{
+}
+
+void MainDumpsMenu::create_objects()
+{
+       add_submenu(dumps_menu = new MainDumpsSubMenu(this));
+//     dumps_menu->add_item(new DumpCICache(mwindow));
+       dumps_menu->add_item(new DumpEDL(mwindow));
+       dumps_menu->add_item(new DumpPlugins(mwindow));
+       dumps_menu->add_item(new DumpAssets(mwindow));
+       dumps_menu->add_item(new DumpUndo(mwindow));
+};
+
 
 DumpCICache::DumpCICache(MWindow *mwindow)
  : BC_MenuItem(_("Dump CICache"))
@@ -604,9 +634,7 @@ DumpEDL::DumpEDL(MWindow *mwindow)
 
 int DumpEDL::handle_event()
 {
-//printf("DumpEDL::handle_event 1\n");
        mwindow->dump_edl();
-//printf("DumpEDL::handle_event 2\n");
        return 1;
 }
 
@@ -618,20 +646,29 @@ DumpPlugins::DumpPlugins(MWindow *mwindow)
 
 int DumpPlugins::handle_event()
 {
-//printf("DumpEDL::handle_event 1\n");
        mwindow->dump_plugins();
-//printf("DumpEDL::handle_event 2\n");
        return 1;
 }
 
-
 DumpAssets::DumpAssets(MWindow *mwindow)
  : BC_MenuItem(_("Dump Assets"))
 { this->mwindow = mwindow; }
 
 int DumpAssets::handle_event()
 {
-       mwindow->assets->dump();
+       mwindow->edl->assets->dump();
+       return 1;
+}
+
+DumpUndo::DumpUndo(MWindow *mwindow)
+ : BC_MenuItem(_("Dump Undo"))
+{
+       this->mwindow = mwindow;
+}
+
+int DumpUndo::handle_event()
+{
+       mwindow->dump_undo();
        return 1;
 }
 
@@ -1360,10 +1397,11 @@ int KeyframesFollowEdits::handle_event()
 
 
 CursorOnFrames::CursorOnFrames(MWindow *mwindow)
- : BC_MenuItem(_("Align cursor on frames"))
+ : BC_MenuItem(_("Align cursor on frames"),_("Ctrl-a"),'a')
 {
        this->mwindow = mwindow;
        set_checked(mwindow->edl->session->cursor_on_frames);
+       set_ctrl(1);
 }
 
 int CursorOnFrames::handle_event()
@@ -1389,7 +1427,8 @@ int TypelessKeyframes::handle_event()
 }
 
 
-ScrubSpeed::ScrubSpeed(MWindow *mwindow) : BC_MenuItem(_("Slow Shuttle"))
+ScrubSpeed::ScrubSpeed(MWindow *mwindow)
+ : BC_MenuItem(_("Slow Shuttle"))
 {
        this->mwindow = mwindow;
 }
@@ -1409,9 +1448,11 @@ int ScrubSpeed::handle_event()
        return 1;
 }
 
-SaveSettingsNow::SaveSettingsNow(MWindow *mwindow) : BC_MenuItem(_("Save settings now"))
+SaveSettingsNow::SaveSettingsNow(MWindow *mwindow)
+ : BC_MenuItem(_("Save settings now"),_("Ctrl-s"),'s')
 {
        this->mwindow = mwindow;
+       set_ctrl(1);
 }
 
 int SaveSettingsNow::handle_event()
@@ -1583,7 +1624,7 @@ LoadLayoutItem::LoadLayoutItem(LoadLayout *load_layout, const char *text, int no
        this->load_layout = load_layout;
        if( hotkey ) {
                char hot_txt[BCSTRLEN];
-               sprintf(hot_txt, _("Ctl+Shift+F%d"), hotkey-KEY_F1+1);
+               sprintf(hot_txt, _("Ctrl-Shift+F%d"), hotkey-KEY_F1+1);
                set_ctrl();  set_shift();
                set_hotkey_text(hot_txt);
        }
@@ -1591,21 +1632,15 @@ LoadLayoutItem::LoadLayoutItem(LoadLayout *load_layout, const char *text, int no
 
 int LoadLayoutItem::handle_event()
 {
-       char layout_path[BCTEXTLEN];
-       snprintf(layout_path, sizeof(layout_path), "%s/" LAYOUT_FILE,
-               File::get_config_path(), no);
        MWindow *mwindow = load_layout->mwindow;
        switch( load_layout->action ) {
        case LAYOUT_LOAD:
-               mwindow->session->load_file(layout_path);
+               mwindow->load_layout(no);
                break;
        case LAYOUT_SAVE:
-               mwindow->session->save_file(layout_path);
+               mwindow->save_layout(no);
                break;
        }
-       mwindow->restore_windows();
-       mwindow->gui->default_positions();
-       mwindow->save_defaults();
        return 1;
 }