bug-fix: shortcuts for ActivateNextTab and ActivatePreviousTab

This commit is contained in:
Le Tan 2017-10-26 21:08:24 +08:00
parent 404b5329a1
commit cb4d32e95f
3 changed files with 29 additions and 7 deletions

View File

@ -193,6 +193,10 @@ FindNext=F3
FindPrevious=Shift+F3
; Recover last closed file
LastClosedFile=Ctrl+Shift+T
; Activate next tab
ActivateNextTab=Ctrl+Tab
; Activate previous tab
ActivatePreviousTab=Ctrl+Shift+Tab
[captain_mode_shortcuts]
; Define shortcuts in Captain mode here.

View File

@ -521,13 +521,6 @@ bool VVim::handleKeyPressEvent(int key, int modifiers, int *p_autoIndentPos)
goto accept;
}
// Ctrl+Tab and Ctrl+Shift+BackTab to alternate tabs.
if ((key == Qt::Key_Tab && modifiers == Qt::ControlModifier)
|| (key == Qt::Key_Backtab && modifiers == (Qt::ShiftModifier | Qt::ControlModifier))) {
// Let it be handled outside VVim.
goto exit;
}
if (m_replayLeaderSequence) {
qDebug() << "replaying sequence" << keyToChar(key, modifiers);
}

View File

@ -28,6 +28,31 @@ VEditArea::VEditArea(QWidget *parent)
setCurrentWindow(0, false);
registerCaptainTargets();
QString keySeq = g_config->getShortcutKeySequence("ActivateNextTab");
qDebug() << "set ActivateNextTab shortcut to" << keySeq;
QShortcut *activateNextTab = new QShortcut(QKeySequence(keySeq), this);
activateNextTab->setContext(Qt::ApplicationShortcut);
connect(activateNextTab, &QShortcut::activated,
this, [this]() {
VEditWindow *win = getCurrentWindow();
if (win) {
win->focusNextTab(true);
}
});
keySeq = g_config->getShortcutKeySequence("ActivatePreviousTab");
qDebug() << "set ActivatePreviousTab shortcut to" << keySeq;
QShortcut *activatePreviousTab = new QShortcut(QKeySequence(keySeq), this);
activatePreviousTab->setContext(Qt::ApplicationShortcut);
connect(activatePreviousTab, &QShortcut::activated,
this, [this]() {
VEditWindow *win = getCurrentWindow();
if (win) {
win->focusNextTab(false);
}
});
}
void VEditArea::setupUI()