menu: added hidden secondary delete option to pick up backspace shortcut

This commit is contained in:
itsmattkc
2021-05-23 10:16:39 +10:00
parent 45db6f4596
commit 6ff9ab9f54
3 changed files with 37 additions and 2 deletions
+8 -2
View File
@@ -52,6 +52,14 @@ public:
static MenuShared* instance();
QAction* edit_delete_item()
{
return edit_delete_item_;
}
public slots:
void DeleteSelectedTriggered();
private:
// "New" menu shared items
QAction* new_project_item_;
@@ -97,8 +105,6 @@ private:
private slots:
void SplitAtPlayheadTriggered();
void DeleteSelectedTriggered();
void RippleDeleteTriggered();
void SetInTriggered();
+22
View File
@@ -73,6 +73,9 @@ MainMenu::MainMenu(MainWindow *parent) :
//
edit_menu_ = new Menu(this);
connect(edit_menu_, &Menu::aboutToShow, this, &MainMenu::EditMenuAboutToShow);
connect(edit_menu_, &Menu::aboutToHide, this, &MainMenu::EditMenuAboutToHide);
edit_undo_item_ = Core::instance()->undo_stack()->GetUndoAction();
Menu::ConformItem(edit_undo_item_, "undo", "Ctrl+Z");
edit_menu_->addAction(edit_undo_item_);
@@ -82,6 +85,14 @@ MainMenu::MainMenu(MainWindow *parent) :
edit_menu_->addSeparator();
MenuShared::instance()->AddItemsForEditMenu(edit_menu_, true);
{
// Create "alternate delete" action so we can pick up backspace as well as delete while still
// keeping them configurable
edit_delete2_item_ = new QAction();
Menu::ConformItem(edit_delete2_item_, "delete2", MenuShared::instance(), &MenuShared::DeleteSelectedTriggered, "Backspace");
auto actions = edit_menu_->actions();
edit_menu_->insertAction(actions.at(actions.indexOf(MenuShared::instance()->edit_delete_item()) + 1), edit_delete2_item_);
}
edit_menu_->addSeparator();
edit_select_all_item_ = edit_menu_->AddItem("selectall", this, &MainMenu::SelectAllTriggered, "Ctrl+A");
edit_deselect_all_item_ = edit_menu_->AddItem("deselectall", this, &MainMenu::DeselectAllTriggered, "Ctrl+Shift+A");
@@ -298,6 +309,16 @@ void MainMenu::FileMenuAboutToShow()
}
}
void MainMenu::EditMenuAboutToShow()
{
edit_delete2_item_->setVisible(false);
}
void MainMenu::EditMenuAboutToHide()
{
edit_delete2_item_->setVisible(true);
}
void MainMenu::ViewMenuAboutToShow()
{
// Parent is QMainWindow
@@ -620,6 +641,7 @@ void MainMenu::Retranslate()
edit_menu_->setTitle(tr("&Edit"));
//edit_undo_item_->setText(tr("&Undo")); FIXME: Does Qt translate these automatically?
//edit_redo_item_->setText(tr("Redo"));
edit_delete2_item_->setText(tr("Delete (alt)"));
edit_insert_item_->setText(tr("Insert"));
edit_overwrite_item_->setText(tr("Overwrite"));
edit_select_all_item_->setText(tr("Select &All"));
+7
View File
@@ -66,6 +66,12 @@ private slots:
*/
void FileMenuAboutToShow();
/**
* @brief Slot triggered just before the Edit menu shows
*/
void EditMenuAboutToShow();
void EditMenuAboutToHide();
/**
* @brief Slot triggered just before the View menu shows
*/
@@ -202,6 +208,7 @@ private:
Menu* edit_menu_;
QAction* edit_undo_item_;
QAction* edit_redo_item_;
QAction* edit_delete2_item_;
QAction* edit_select_all_item_;
QAction* edit_deselect_all_item_;
QAction* edit_insert_item_;