menu: added hidden secondary delete option to pick up backspace shortcut
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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_;
|
||||
|
||||
Reference in New Issue
Block a user