diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-12-28 05:44:51 -0500 |
|---|---|---|
| committer | isanae <14251494+isanae@users.noreply.github.com> | 2020-12-28 05:44:51 -0500 |
| commit | c2c0f7c98d4b61314c679e0fed7fac914f4f1284 (patch) | |
| tree | 58480532286b89c0397a0e4219414b513363e061 | |
| parent | f46a14f3bfa0bec9decad453d967de089e4833ad (diff) | |
added open in explorer in save game context menu
| -rw-r--r-- | src/savestab.cpp | 16 | ||||
| -rw-r--r-- | src/savestab.h | 1 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/savestab.cpp b/src/savestab.cpp index 31471740..e2c796b6 100644 --- a/src/savestab.cpp +++ b/src/savestab.cpp @@ -264,9 +264,10 @@ void SavesTab::onContextMenu(const QPoint& pos) } QString deleteMenuLabel = tr("Delete %n save(s)", "", selection->selectedIndexes().count()); - menu.addAction(deleteMenuLabel, [&]{ deleteSavegame(); }); + menu.addAction(tr("Open in Explorer..."), [&]{ openInExplorer(); }); + menu.exec(ui.list->viewport()->mapToGlobal(pos)); } @@ -294,3 +295,16 @@ void SavesTab::fixMods(SaveGameInfo::MissingAssets const &missingAssets) m_core.saveCurrentLists(); } } + +void SavesTab::openInExplorer() +{ + const SaveGameInfo* info = m_core.managedGame()->feature<SaveGameInfo>(); + + const auto sel = ui.list->selectionModel()->selectedIndexes(); + if (sel.empty()) { + return; + } + + auto& saveGame = m_SaveGames[sel[0].row()]; + shell::Explore(saveGame->getFilepath()); +} diff --git a/src/savestab.h b/src/savestab.h index 8d84e3c1..db82b816 100644 --- a/src/savestab.h +++ b/src/savestab.h @@ -58,6 +58,7 @@ private: void saveSelectionChanged(QListWidgetItem *newItem); void fixMods(SaveGameInfo::MissingAssets const &missingAssets); void refreshSavesIfOpen(); + void openInExplorer(); }; #endif // MODORGANIZER_SAVESTAB_INCLUDED |
