blob: d102facbe3a273a565ce20460645af40b90e2ff4 (
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
|
#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 openSelectedInstance();
void rename();
void exploreLocation();
void exploreBaseDirectory();
void exploreGame();
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;
void updateInstances();
void onSelection();
void createNew();
std::size_t singleSelectionIndex() const;
InstanceInfo* singleSelection();
const InstanceInfo* singleSelection() const;
void updateList();
void fillData(const InstanceInfo& ii);
};
#endif // MODORGANIZER_INSTANCEMANAGERDIALOG_INCLUDED
|