diff --git a/src/gui/group/GroupView.cpp b/src/gui/group/GroupView.cpp index 5ffcc5d940..87b1a3eae3 100644 --- a/src/gui/group/GroupView.cpp +++ b/src/gui/group/GroupView.cpp @@ -44,6 +44,8 @@ GroupView::GroupView(Database* db, QWidget* parent) // clang-format on new QShortcut(Qt::CTRL + Qt::Key_F10, this, SLOT(contextMenuShortcutPressed()), nullptr, Qt::WidgetShortcut); + new QShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_PageUp, this, SLOT(prevGroup()), nullptr, Qt::WindowShortcut); + new QShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_PageDown, this, SLOT(nextGroup()), nullptr, Qt::WindowShortcut); // keyboard shortcuts to sort children of a group auto shortcut = new QShortcut(Qt::CTRL + Qt::Key_Down, this); @@ -60,6 +62,26 @@ GroupView::GroupView(Database* db, QWidget* parent) setDefaultDropAction(Qt::MoveAction); } +void GroupView::prevGroup() +{ + auto prevIndex = indexAbove(currentIndex()); + if (!prevIndex.isValid()) + return; + + Group* prevGroup = m_model->groupFromIndex(prevIndex); + setCurrentGroup(prevGroup); +} + +void GroupView::nextGroup() +{ + auto nextIndex = indexBelow(currentIndex()); + if (!nextIndex.isValid()) + return; + + Group* nextGroup = m_model->groupFromIndex(nextIndex); + setCurrentGroup(nextGroup); +} + void GroupView::contextMenuShortcutPressed() { auto index = currentIndex(); diff --git a/src/gui/group/GroupView.h b/src/gui/group/GroupView.h index aa4fd85de9..d93e129c79 100644 --- a/src/gui/group/GroupView.h +++ b/src/gui/group/GroupView.h @@ -46,6 +46,8 @@ private slots: void syncExpandedState(const QModelIndex& parent, int start, int end); void modelReset(); void contextMenuShortcutPressed(); + void prevGroup(); + void nextGroup(); protected: void dragMoveEvent(QDragMoveEvent* event) override;