summaryrefslogtreecommitdiff
path: root/src/savestab.h
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-12-28 06:23:44 -0500
committerGitHub <noreply@github.com>2020-12-28 06:23:44 -0500
commit4b059fa71f0d5043bfac8e48757c69b11a6168c6 (patch)
tree1f619884298e51bba99ec26bd41b8f2568119c01 /src/savestab.h
parent89bbdf22cde8d16d2d5e72999abf97b38ecd7b11 (diff)
parent9b3e91b53e769aec2622eb79509945c09fca8897 (diff)
Merge pull request #1332 from isanae/more-stuff
More stuff
Diffstat (limited to 'src/savestab.h')
-rw-r--r--src/savestab.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/savestab.h b/src/savestab.h
new file mode 100644
index 00000000..db82b816
--- /dev/null
+++ b/src/savestab.h
@@ -0,0 +1,64 @@
+#ifndef MODORGANIZER_SAVESTAB_INCLUDED
+#define MODORGANIZER_SAVESTAB_INCLUDED
+
+#include "savegameinfo.h"
+#include <filterwidget.h>
+
+namespace Ui { class MainWindow; }
+
+namespace MOBase
+{
+ class ISaveGame;
+ class ISaveGameInfoWidget;
+}
+
+class MainWindow;
+class OrganizerCore;
+
+
+class SavesTab : public QObject
+{
+ Q_OBJECT;
+
+public:
+ SavesTab(QWidget* window, OrganizerCore& core, Ui::MainWindow* ui);
+
+ void refreshSaveList();
+ void displaySaveGameInfo(QListWidgetItem *newItem);
+
+ QDir currentSavesDir() const;
+
+ void startMonitorSaves();
+ void stopMonitorSaves();
+ void hideSaveGameInfo();
+
+protected:
+ bool eventFilter(QObject* object, QEvent* e) override;
+
+private:
+ struct SavesTabUi
+ {
+ QTabWidget* mainTabs;
+ QWidget* tab;
+ QListWidget* list;
+ };
+
+ QWidget* m_window;
+ OrganizerCore& m_core;
+ SavesTabUi ui;
+ MOBase::FilterWidget m_filter;
+ std::vector<std::shared_ptr<const MOBase::ISaveGame>> m_SaveGames;
+ MOBase::ISaveGameInfoWidget *m_CurrentSaveView;
+
+ QTimer m_SavesWatcherTimer;
+ QFileSystemWatcher m_SavesWatcher;
+
+ void onContextMenu(const QPoint &pos);
+ void deleteSavegame();
+ void saveSelectionChanged(QListWidgetItem *newItem);
+ void fixMods(SaveGameInfo::MissingAssets const &missingAssets);
+ void refreshSavesIfOpen();
+ void openInExplorer();
+};
+
+#endif // MODORGANIZER_SAVESTAB_INCLUDED