forked from qt-creator/qt-creator
Core: fix direction of Ctrl+N/P/Up/Down
Additionally accept the shortcut override events in order to block other potential shortcuts from interfering with the selection of the open document. amendse6299f510d
amends03e35aac14
Task-number: QTCREATORBUG-31072 Change-Id: Idfd65b92a84f5be39f9a01da68e8046ae5304733 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -165,34 +165,35 @@ bool OpenEditorsWindow::eventFilter(QObject *obj, QEvent *e)
|
|||||||
auto ke = static_cast<QKeyEvent*>(e);
|
auto ke = static_cast<QKeyEvent*>(e);
|
||||||
switch (ke->key()) {
|
switch (ke->key()) {
|
||||||
case Qt::Key_Up:
|
case Qt::Key_Up:
|
||||||
selectPreviousEditor();
|
case Qt::Key_P:
|
||||||
|
e->accept();
|
||||||
return true;
|
return true;
|
||||||
case Qt::Key_Down:
|
case Qt::Key_Down:
|
||||||
selectNextEditor();
|
|
||||||
return true;
|
|
||||||
case Qt::Key_P:
|
|
||||||
case Qt::Key_N:
|
case Qt::Key_N:
|
||||||
if (ke->modifiers() == Qt::KeyboardModifiers(HostOsInfo::controlModifier())) {
|
e->accept();
|
||||||
if (ke->key() == Qt::Key_P)
|
|
||||||
selectPreviousEditor();
|
|
||||||
else
|
|
||||||
selectNextEditor();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (e->type() == QEvent::KeyPress) {
|
if (e->type() == QEvent::KeyPress) {
|
||||||
auto ke = static_cast<QKeyEvent*>(e);
|
auto ke = static_cast<QKeyEvent*>(e);
|
||||||
if (ke->key() == Qt::Key_Escape) {
|
switch (ke->key()) {
|
||||||
|
case Qt::Key_Up:
|
||||||
|
case Qt::Key_P:
|
||||||
|
selectNextEditor();
|
||||||
|
return true;
|
||||||
|
case Qt::Key_Down:
|
||||||
|
case Qt::Key_N:
|
||||||
|
selectPreviousEditor();
|
||||||
|
return true;
|
||||||
|
case Qt::Key_Escape:
|
||||||
setVisible(false);
|
setVisible(false);
|
||||||
return true;
|
return true;
|
||||||
}
|
case Qt::Key_Return:
|
||||||
if (ke->key() == Qt::Key_Return
|
case Qt::Key_Enter:
|
||||||
|| ke->key() == Qt::Key_Enter) {
|
|
||||||
selectEditor(m_editorView->currentItem());
|
selectEditor(m_editorView->currentItem());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (e->type() == QEvent::KeyRelease) {
|
} else if (e->type() == QEvent::KeyRelease) {
|
||||||
auto ke = static_cast<QKeyEvent*>(e);
|
auto ke = static_cast<QKeyEvent*>(e);
|
||||||
if (ke->modifiers() == 0
|
if (ke->modifiers() == 0
|
||||||
|
Reference in New Issue
Block a user