X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmainmenu.C;h=273390537a20bb694601267434f6ce7ac975df5e;hb=6fd57106820e676e368399d16b925bdc78d34621;hp=b02812ace5a59e17e273c74b1685cac8cf4e29f1;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mainmenu.C b/cinelerra-5.1/cinelerra/mainmenu.C index b02812ac..27339053 100644 --- a/cinelerra-5.1/cinelerra/mainmenu.C +++ b/cinelerra-5.1/cinelerra/mainmenu.C @@ -112,7 +112,9 @@ void MainMenu::create_objects() save->create_objects(saveas); saveas->set_mainmenu(this); filemenu->add_item(record_menu_item = new RecordMenuItem(mwindow)); +#ifdef HAVE_DVB filemenu->add_item(new ChannelScan(mwindow)); +#endif if( mwindow->has_commercials() ) filemenu->add_item(new DbWindowScan(mwindow)); filemenu->add_item(new SubttlSWin(mwindow)); @@ -163,10 +165,9 @@ void MainMenu::create_objects() keyframemenu->add_item(new ClearKeyframes(mwindow)); keyframemenu->add_item(new StraightenKeyframes(mwindow)); keyframemenu->add_item(new BendKeyframes(mwindow)); - keyframemenu->add_item(keyframe_curve_type = - new KeyframeCurveType(mwindow, - mwindow->edl->local_session->floatauto_type)); + keyframemenu->add_item(keyframe_curve_type = new KeyframeCurveType(mwindow)); keyframe_curve_type->create_objects(); + keyframe_curve_type->update(mwindow->edl->local_session->floatauto_type); keyframemenu->add_item(new BC_MenuItem("-")); keyframemenu->add_item(new CopyDefaultKeyframe(mwindow)); keyframemenu->add_item(new PasteDefaultKeyframe(mwindow)); @@ -229,7 +230,7 @@ void MainMenu::create_objects() viewmenu->add_item(show_transitions = new ShowTransitions(mwindow, "2")); viewmenu->add_item(fade_automation = new ShowAutomation(mwindow, _("Fade"), "3", AUTOMATION_FADE)); viewmenu->add_item(mute_automation = new ShowAutomation(mwindow, _("Mute"), "4", AUTOMATION_MUTE)); - viewmenu->add_item(mode_automation = new ShowAutomation(mwindow, _("Mode"), "5", AUTOMATION_MODE)); + viewmenu->add_item(mode_automation = new ShowAutomation(mwindow, _("Overlay mode"), "5", AUTOMATION_MODE)); viewmenu->add_item(pan_automation = new ShowAutomation(mwindow, _("Pan"), "6", AUTOMATION_PAN)); viewmenu->add_item(plugin_automation = new PluginAutomation(mwindow, "7")); viewmenu->add_item(mask_automation = new ShowAutomation(mwindow, _("Mask"), "8", AUTOMATION_MASK)); @@ -251,7 +252,7 @@ void MainMenu::create_objects() windowmenu->add_item(new BC_MenuItem("-")); windowmenu->add_item(split_x = new SplitX(mwindow)); windowmenu->add_item(split_y = new SplitY(mwindow)); - windowmenu->add_item(new TileWindows(mwindow,_("Default positions"),-1,_("Ctrl+P"),'p')); + windowmenu->add_item(new TileWindows(mwindow,_("Default positions"),-1,_("Ctrl-P"),'p')); windowmenu->add_item(new TileWindows(mwindow,_("Tile left"),0)); windowmenu->add_item(new TileWindows(mwindow,_("Tile right"),1)); } @@ -627,7 +628,7 @@ int Undo::update_caption(const char *new_caption) } -Redo::Redo(MWindow *mwindow) : BC_MenuItem(_("Redo"), _("Shift+Z"), 'Z') +Redo::Redo(MWindow *mwindow) : BC_MenuItem(_("Redo"), _("Shift-Z"), 'Z') { set_shift(1); this->mwindow = mwindow; @@ -730,11 +731,10 @@ int BendKeyframes::handle_event() -KeyframeCurveType::KeyframeCurveType(MWindow *mwindow, int curve_type) +KeyframeCurveType::KeyframeCurveType(MWindow *mwindow) : BC_MenuItem(_("Create curve type...")) { this->mwindow = mwindow; - this->curve_type = curve_type; this->curve_menu = 0; } KeyframeCurveType::~KeyframeCurveType() @@ -743,26 +743,28 @@ KeyframeCurveType::~KeyframeCurveType() void KeyframeCurveType::create_objects() { - curve_menu = new KeyframeCurveTypeMenu(this); - mwindow->gui->add_subwindow(curve_menu); + add_submenu(curve_menu = new KeyframeCurveTypeMenu(this)); for( int i=FloatAuto::SMOOTH; i<=FloatAuto::FREE; ++i ) { - curve_menu->add_item(new KeyframeCurveTypeItem(i)); + KeyframeCurveTypeItem *curve_type_item = new KeyframeCurveTypeItem(i, this); + curve_menu->add_submenuitem(curve_type_item); } } -int KeyframeCurveType::handle_event() +void KeyframeCurveType::update(int curve_type) { for( int i=0; itotal_items(); ++i ) { - KeyframeCurveTypeItem *curve_type_item = - (KeyframeCurveTypeItem *)curve_menu->get_item(i); + KeyframeCurveTypeItem *curve_type_item = (KeyframeCurveTypeItem *)curve_menu->get_item(i); curve_type_item->set_checked(curve_type_item->type == curve_type); } - curve_menu->activate_menu(); +} + +int KeyframeCurveType::handle_event() +{ return 1; } KeyframeCurveTypeMenu::KeyframeCurveTypeMenu(KeyframeCurveType *menu_item) - : BC_PopupMenu(0, 0, 0, "", 0) + : BC_SubMenu() { this->menu_item = menu_item; } @@ -770,10 +772,11 @@ KeyframeCurveTypeMenu::~KeyframeCurveTypeMenu() { } -KeyframeCurveTypeItem::KeyframeCurveTypeItem(int type) +KeyframeCurveTypeItem::KeyframeCurveTypeItem(int type, KeyframeCurveType *main_item) : BC_MenuItem(FloatAuto::curve_name(type)) { this->type = type; + this->main_item = main_item; } KeyframeCurveTypeItem::~KeyframeCurveTypeItem() { @@ -781,9 +784,8 @@ KeyframeCurveTypeItem::~KeyframeCurveTypeItem() int KeyframeCurveTypeItem::handle_event() { - KeyframeCurveType *menu_item = ((KeyframeCurveTypeMenu *)get_popup_menu())->menu_item; - menu_item->curve_type = type; - menu_item->mwindow->set_keyframe_type(type); + main_item->update(type); + main_item->mwindow->set_keyframe_type(type); return 1; } @@ -828,7 +830,7 @@ int PasteDefaultKeyframe::handle_event() } ClearDefaultKeyframe::ClearDefaultKeyframe(MWindow *mwindow) - : BC_MenuItem(_("Clear default keyframe"), _("Alt-Del"), BACKSPACE) + : BC_MenuItem(_("Clear default keyframe"), _("Alt-Del"), DELETE) { set_alt(); this->mwindow = mwindow; @@ -877,7 +879,7 @@ int Paste::handle_event() } Clear::Clear(MWindow *mwindow) - : BC_MenuItem(_("Clear"), _("Del"), BACKSPACE) + : BC_MenuItem(_("Clear"), _("Del"), DELETE) { this->mwindow = mwindow; } @@ -891,7 +893,7 @@ int Clear::handle_event() } PasteSilence::PasteSilence(MWindow *mwindow) - : BC_MenuItem(_("Paste silence"), _("Shift+Space"), ' ') + : BC_MenuItem(_("Paste silence"), _("Shift-Space"), ' ') { this->mwindow = mwindow; set_shift(); @@ -1146,7 +1148,7 @@ int DeleteTrack::handle_event() } MoveTracksUp::MoveTracksUp(MWindow *mwindow) - : BC_MenuItem(_("Move tracks up"), _("Shift+Up"), UP) + : BC_MenuItem(_("Move tracks up"), _("Shift-Up"), UP) { set_shift(); this->mwindow = mwindow; } @@ -1158,7 +1160,7 @@ int MoveTracksUp::handle_event() } MoveTracksDown::MoveTracksDown(MWindow *mwindow) - : BC_MenuItem(_("Move tracks down"), _("Shift+Down"), DOWN) + : BC_MenuItem(_("Move tracks down"), _("Shift-Down"), DOWN) { set_shift(); this->mwindow = mwindow; } @@ -1190,7 +1192,7 @@ int ConcatenateTracks::handle_event() LoopPlayback::LoopPlayback(MWindow *mwindow) - : BC_MenuItem(_("Loop Playback"), _("Shift+L"), 'L') + : BC_MenuItem(_("Loop Playback"), _("Shift-L"), 'L') { this->mwindow = mwindow; set_checked(mwindow->edl->local_session->loop_playback); @@ -1459,7 +1461,7 @@ int TileWindows::handle_event() } SplitX::SplitX(MWindow *mwindow) - : BC_MenuItem(_("Split X pane"), _("Ctrl+1"), '1') + : BC_MenuItem(_("Split X pane"), _("Ctrl-1"), '1') { this->mwindow = mwindow; set_ctrl(1); @@ -1472,7 +1474,7 @@ int SplitX::handle_event() } SplitY::SplitY(MWindow *mwindow) - : BC_MenuItem(_("Split Y pane"), _("Ctrl+2"), '2') + : BC_MenuItem(_("Split Y pane"), _("Ctrl-2"), '2') { this->mwindow = mwindow; set_ctrl(1);