mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-12-24 06:49:46 -05:00
Add Ctrl+Tab shortcut to cycle databases in unlock dialog
The main window has both `Ctrl+PageUp` / `Ctrl+PageDown` and `Ctrl+Tab / Ctrl+Shift+Tab` shortcuts to cycle the database tabs. When in PR #5427 the abbility to select any open database in the unlock dialog was introduced, only the `Ctrl+PageUp` / `Ctrl+PageDown` shortcuts were added. This commit adds the `Ctrl+Tab / Ctrl+Shift+Tab` shortcuts to the unlock diaglog to fix this inconsistent UI behaviour. Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
This commit is contained in:
parent
861fe2e5a9
commit
6b05b84895
@ -59,13 +59,24 @@ DatabaseOpenDialog::DatabaseOpenDialog(QWidget* parent)
|
|||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
setMinimumWidth(700);
|
setMinimumWidth(700);
|
||||||
|
|
||||||
// set up Ctrl+PageUp and Ctrl+PageDown shortcuts to cycle tabs
|
// set up Ctrl+PageUp / Ctrl+PageDown and Ctrl+Tab / Ctrl+Shift+Tab shortcuts to cycle tabs
|
||||||
|
// Ctrl+Tab is broken on Mac, so use Alt (i.e. the Option key) - https://bugreports.qt.io/browse/QTBUG-8596
|
||||||
|
auto dbTabModifier = Qt::CTRL;
|
||||||
|
#ifdef Q_OS_MACOS
|
||||||
|
dbTabModifier = Qt::ALT;
|
||||||
|
#endif
|
||||||
auto* shortcut = new QShortcut(Qt::CTRL + Qt::Key_PageUp, this);
|
auto* shortcut = new QShortcut(Qt::CTRL + Qt::Key_PageUp, this);
|
||||||
shortcut->setContext(Qt::WidgetWithChildrenShortcut);
|
shortcut->setContext(Qt::WidgetWithChildrenShortcut);
|
||||||
connect(shortcut, &QShortcut::activated, this, [this]() { selectTabOffset(-1); });
|
connect(shortcut, &QShortcut::activated, this, [this]() { selectTabOffset(-1); });
|
||||||
|
shortcut = new QShortcut(dbTabModifier + Qt::Key_Tab, this);
|
||||||
|
shortcut->setContext(Qt::WidgetWithChildrenShortcut);
|
||||||
|
connect(shortcut, &QShortcut::activated, this, [this]() { selectTabOffset(-1); });
|
||||||
shortcut = new QShortcut(Qt::CTRL + Qt::Key_PageDown, this);
|
shortcut = new QShortcut(Qt::CTRL + Qt::Key_PageDown, this);
|
||||||
shortcut->setContext(Qt::WidgetWithChildrenShortcut);
|
shortcut->setContext(Qt::WidgetWithChildrenShortcut);
|
||||||
connect(shortcut, &QShortcut::activated, this, [this]() { selectTabOffset(1); });
|
connect(shortcut, &QShortcut::activated, this, [this]() { selectTabOffset(1); });
|
||||||
|
shortcut = new QShortcut(dbTabModifier + Qt::SHIFT + Qt::Key_Tab, this);
|
||||||
|
shortcut->setContext(Qt::WidgetWithChildrenShortcut);
|
||||||
|
connect(shortcut, &QShortcut::activated, this, [this]() { selectTabOffset(1); });
|
||||||
}
|
}
|
||||||
|
|
||||||
void DatabaseOpenDialog::selectTabOffset(int offset)
|
void DatabaseOpenDialog::selectTabOffset(int offset)
|
||||||
|
Loading…
Reference in New Issue
Block a user