blob: 5b08ffc267878802dca690ff04291d60886ba347 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
#ifndef MODORGANIZER_INSTANCEMANAGERDIALOG_INCLUDED
#define MODORGANIZER_INSTANCEMANAGERDIALOG_INCLUDED
#include <filterwidget.h>
#include <QDialog>
namespace Ui { class InstanceManagerDialog; };
class InstanceInfo;
class PluginContainer;
class InstanceManagerDialog : public QDialog
{
Q_OBJECT
public:
explicit InstanceManagerDialog(
const PluginContainer& pc, QWidget *parent = nullptr);
~InstanceManagerDialog();
void select(std::size_t i);
void select(const QString& name);
void selectActiveInstance();
void openSelectedInstance();
void rename();
void exploreLocation();
void exploreBaseDirectory();
void exploreGame();
void convertToGlobal();
void convertToPortable();
void openINI();
void deleteInstance();
void setRestartOnSelect(bool b);
private:
static const std::size_t NoSelection = -1;
std::unique_ptr<Ui::InstanceManagerDialog> ui;
const PluginContainer& m_pc;
std::vector<std::unique_ptr<InstanceInfo>> m_instances;
MOBase::FilterWidget m_filter;
QStandardItemModel* m_model;
bool m_restartOnSelect;
void updateInstances();
void onSelection();
void createNew();
std::size_t singleSelectionIndex() const;
InstanceInfo* singleSelection();
const InstanceInfo* singleSelection() const;
void updateList();
void fillData(const InstanceInfo& ii);
void clearData();
void setButtonsEnabled(bool b);
bool deletePortable(const InstanceInfo& ii);
bool deleteGlobal(const InstanceInfo& ii);
bool doDelete(const QStringList& files, bool recycle);
};
#endif // MODORGANIZER_INSTANCEMANAGERDIALOG_INCLUDED
|