add shortcuts for CloseOtherTabs and CloseTabsToTheRight

This commit is contained in:
Le Tan 2021-08-21 17:01:14 +08:00
parent 0f1be2883a
commit fa7dd8c541
3 changed files with 47 additions and 31 deletions

View File

@ -21,6 +21,8 @@ namespace vnotex
Settings, Settings,
NewNote, NewNote,
CloseTab, CloseTab,
CloseOtherTabs,
CloseTabsToTheRight,
NavigationDock, NavigationDock,
OutlineDock, OutlineDock,
SearchDock, SearchDock,

View File

@ -15,6 +15,8 @@
"Settings" : "Ctrl+Alt+P", "Settings" : "Ctrl+Alt+P",
"NewNote" : "Ctrl+Alt+N", "NewNote" : "Ctrl+Alt+N",
"CloseTab" : "Ctrl+G, X", "CloseTab" : "Ctrl+G, X",
"CloseOtherTabs" : "",
"CloseTabsToTheRight" : "",
"NavigationDock" : "Ctrl+G, A", "NavigationDock" : "Ctrl+G, A",
"OutlineDock" : "Ctrl+G, U", "OutlineDock" : "Ctrl+G, U",
"SearchDock" : "", "SearchDock" : "",

View File

@ -534,38 +534,50 @@ void ViewSplit::createContextMenuOnTabBar(QMenu *p_menu, int p_tabIdx)
{ {
Q_ASSERT(p_tabIdx > -1); Q_ASSERT(p_tabIdx > -1);
const auto &coreConfig = ConfigMgr::getInst().getCoreConfig();
// Close Tab. // Close Tab.
auto closeTabAct = p_menu->addAction(tr("Close Tab"), {
[this, p_tabIdx]() { auto closeTabAct = p_menu->addAction(tr("Close Tab"),
closeTab(p_tabIdx); [this, p_tabIdx]() {
}); closeTab(p_tabIdx);
WidgetUtils::addActionShortcutText(closeTabAct, });
ConfigMgr::getInst().getCoreConfig().getShortcut(CoreConfig::Shortcut::CloseTab)); WidgetUtils::addActionShortcutText(closeTabAct,
coreConfig.getShortcut(CoreConfig::Shortcut::CloseTab));
}
// Close Other Tabs. // Close Other Tabs.
p_menu->addAction(tr("Close Other Tabs"), {
[this, p_tabIdx]() { auto closeTabAct = p_menu->addAction(tr("Close Other Tabs"),
QVector<ViewWindow *> windowsNeedToClose; [this, p_tabIdx]() {
int cnt = getViewWindowCount(); QVector<ViewWindow *> windowsNeedToClose;
for (int i = 0; i < cnt; ++i) { int cnt = getViewWindowCount();
if (i != p_tabIdx) { for (int i = 0; i < cnt; ++i) {
windowsNeedToClose.push_back(getViewWindow(i)); if (i != p_tabIdx) {
} windowsNeedToClose.push_back(getViewWindow(i));
} }
}
for (auto win : windowsNeedToClose) { for (auto win : windowsNeedToClose) {
emit viewWindowCloseRequested(win); emit viewWindowCloseRequested(win);
} }
}); });
WidgetUtils::addActionShortcutText(closeTabAct,
coreConfig.getShortcut(CoreConfig::Shortcut::CloseOtherTabs));
}
// Close Tabs To The Right. // Close Tabs To The Right.
p_menu->addAction(tr("Close Tabs To The Right"), {
[this, p_tabIdx]() { auto closeTabAct = p_menu->addAction(tr("Close Tabs To The Right"),
int cnt = getViewWindowCount(); [this, p_tabIdx]() {
for (int i = cnt - 1; i > p_tabIdx; --i) { int cnt = getViewWindowCount();
closeTab(i); for (int i = cnt - 1; i > p_tabIdx; --i) {
} closeTab(i);
}); }
});
WidgetUtils::addActionShortcutText(closeTabAct,
coreConfig.getShortcut(CoreConfig::Shortcut::CloseTabsToTheRight));
}
p_menu->addSeparator(); p_menu->addSeparator();
@ -621,7 +633,7 @@ void ViewSplit::createContextMenuOnTabBar(QMenu *p_menu, int p_tabIdx)
} }
}); });
WidgetUtils::addActionShortcutText(locateNodeAct, WidgetUtils::addActionShortcutText(locateNodeAct,
ConfigMgr::getInst().getCoreConfig().getShortcut(CoreConfig::Shortcut::LocateNode)); coreConfig.getShortcut(CoreConfig::Shortcut::LocateNode));
} }
// Pin To Quick Access. // Pin To Quick Access.
@ -645,7 +657,7 @@ void ViewSplit::createContextMenuOnTabBar(QMenu *p_menu, int p_tabIdx)
} }
}); });
WidgetUtils::addActionShortcutText(splitAct, WidgetUtils::addActionShortcutText(splitAct,
ConfigMgr::getInst().getCoreConfig().getShortcut(CoreConfig::Shortcut::MoveOneSplitLeft)); coreConfig.getShortcut(CoreConfig::Shortcut::MoveOneSplitLeft));
} }
{ {
@ -657,7 +669,7 @@ void ViewSplit::createContextMenuOnTabBar(QMenu *p_menu, int p_tabIdx)
} }
}); });
WidgetUtils::addActionShortcutText(splitAct, WidgetUtils::addActionShortcutText(splitAct,
ConfigMgr::getInst().getCoreConfig().getShortcut(CoreConfig::Shortcut::MoveOneSplitRight)); coreConfig.getShortcut(CoreConfig::Shortcut::MoveOneSplitRight));
} }
{ {
@ -669,7 +681,7 @@ void ViewSplit::createContextMenuOnTabBar(QMenu *p_menu, int p_tabIdx)
} }
}); });
WidgetUtils::addActionShortcutText(splitAct, WidgetUtils::addActionShortcutText(splitAct,
ConfigMgr::getInst().getCoreConfig().getShortcut(CoreConfig::Shortcut::MoveOneSplitUp)); coreConfig.getShortcut(CoreConfig::Shortcut::MoveOneSplitUp));
} }
{ {
@ -681,7 +693,7 @@ void ViewSplit::createContextMenuOnTabBar(QMenu *p_menu, int p_tabIdx)
} }
}); });
WidgetUtils::addActionShortcutText(splitAct, WidgetUtils::addActionShortcutText(splitAct,
ConfigMgr::getInst().getCoreConfig().getShortcut(CoreConfig::Shortcut::MoveOneSplitDown)); coreConfig.getShortcut(CoreConfig::Shortcut::MoveOneSplitDown));
} }
} }