diff options
| author | isanae <14251494+isanae@users.noreply.github.com> | 2020-12-28 06:23:44 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-28 06:23:44 -0500 |
| commit | 4b059fa71f0d5043bfac8e48757c69b11a6168c6 (patch) | |
| tree | 1f619884298e51bba99ec26bd41b8f2568119c01 /src/savestab.h | |
| parent | 89bbdf22cde8d16d2d5e72999abf97b38ecd7b11 (diff) | |
| parent | 9b3e91b53e769aec2622eb79509945c09fca8897 (diff) | |
Merge pull request #1332 from isanae/more-stuff
More stuff
Diffstat (limited to 'src/savestab.h')
| -rw-r--r-- | src/savestab.h | 64 |
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 |
