summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/savestab.cpp16
-rw-r--r--src/savestab.h1
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