summaryrefslogtreecommitdiff
path: root/src/pluginlistview.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2020-12-31 22:30:19 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2021-01-02 15:38:18 +0100
commitb5ce6eb8e7ba67f15dcffe0639d7012088c53ebe (patch)
tree20fdde00677a8f41b59205860ca38ae17ad69a8b /src/pluginlistview.cpp
parentbd34b532230d92bd6232ceb1ab2b0092cac79d22 (diff)
Move open-explorer key combination to views.
Diffstat (limited to 'src/pluginlistview.cpp')
-rw-r--r--src/pluginlistview.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/pluginlistview.cpp b/src/pluginlistview.cpp
index 16e3dac0..4bf91c0a 100644
--- a/src/pluginlistview.cpp
+++ b/src/pluginlistview.cpp
@@ -247,11 +247,26 @@ bool PluginListView::toggleSelectionState()
bool PluginListView::event(QEvent* event)
{
- Profile* profile = m_core->currentProfile();
+ auto* profile = m_core->currentProfile();
if (event->type() == QEvent::KeyPress && profile) {
QKeyEvent* keyEvent = static_cast<QKeyEvent*>(event);
if (keyEvent->modifiers() == Qt::ControlModifier
+ && (keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter)) {
+ if (selectionModel()->hasSelection() && selectionModel()->selectedRows().count() == 1) {
+ QModelIndex idx = selectionModel()->currentIndex();
+ QString fileName = idx.data().toString();
+
+ if (ModInfo::getIndex(m_core->pluginList()->origin(fileName)) == UINT_MAX) {
+ return false;
+ }
+
+ auto modIndex = ModInfo::getIndex(m_core->pluginList()->origin(fileName));
+ m_modActions->openExplorer({ m_core->modList()->index(modIndex, 0) });
+ return true;
+ }
+ }
+ else if (keyEvent->modifiers() == Qt::ControlModifier
&& (sortColumn() == PluginList::COL_PRIORITY || sortColumn() == PluginList::COL_MODINDEX)
&& (keyEvent->key() == Qt::Key_Up || keyEvent->key() == Qt::Key_Down)) {
return moveSelection(keyEvent->key());