aboutsummaryrefslogtreecommitdiff
path: root/launcher/InstanceList.h
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/InstanceList.h')
-rw-r--r--launcher/InstanceList.h114
1 files changed, 45 insertions, 69 deletions
diff --git a/launcher/InstanceList.h b/launcher/InstanceList.h
index 48bede07..ee4578ff 100644
--- a/launcher/InstanceList.h
+++ b/launcher/InstanceList.h
@@ -15,12 +15,12 @@
#pragma once
-#include <QObject>
#include <QAbstractListModel>
-#include <QSet>
#include <QList>
-#include <QStack>
+#include <QObject>
#include <QPair>
+#include <QSet>
+#include <QStack>
#include "BaseInstance.h"
@@ -32,21 +32,9 @@ using InstanceId = QString;
using GroupId = QString;
using InstanceLocator = std::pair<InstancePtr, int>;
-enum class InstCreateError
-{
- NoCreateError = 0,
- NoSuchVersion,
- UnknownCreateError,
- InstExists,
- CantCreateDir
-};
+enum class InstCreateError { NoCreateError = 0, NoSuchVersion, UnknownCreateError, InstExists, CantCreateDir };
-enum class GroupsState
-{
- NotLoaded,
- Steady,
- Dirty
-};
+enum class GroupsState { NotLoaded, Steady, Dirty };
struct TrashHistoryItem {
QString id;
@@ -55,48 +43,36 @@ struct TrashHistoryItem {
QString groupName;
};
-class InstanceList : public QAbstractListModel
-{
+class InstanceList : public QAbstractListModel {
Q_OBJECT
-public:
- explicit InstanceList(SettingsObjectPtr settings, const QString & instDir, QObject *parent = 0);
+ public:
+ explicit InstanceList(SettingsObjectPtr settings, const QString& instDir, QObject* parent = 0);
virtual ~InstanceList();
-public:
- QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const override;
- int rowCount(const QModelIndex &parent = QModelIndex()) const override;
- QVariant data(const QModelIndex &index, int role) const override;
- Qt::ItemFlags flags(const QModelIndex &index) const override;
+ public:
+ QModelIndex index(int row, int column = 0, const QModelIndex& parent = QModelIndex()) const override;
+ int rowCount(const QModelIndex& parent = QModelIndex()) const override;
+ QVariant data(const QModelIndex& index, int role) const override;
+ Qt::ItemFlags flags(const QModelIndex& index) const override;
- bool setData(const QModelIndex & index, const QVariant & value, int role) override;
+ bool setData(const QModelIndex& index, const QVariant& value, int role) override;
- enum AdditionalRoles
- {
+ enum AdditionalRoles {
GroupRole = Qt::UserRole,
- InstancePointerRole = 0x34B1CB48, ///< Return pointer to real instance
- InstanceIDRole = 0x34B1CB49 ///< Return id if the instance
+ InstancePointerRole = 0x34B1CB48, ///< Return pointer to real instance
+ InstanceIDRole = 0x34B1CB49 ///< Return id if the instance
};
/*!
* \brief Error codes returned by functions in the InstanceList class.
* NoError Indicates that no error occurred.
* UnknownError indicates that an unspecified error occurred.
*/
- enum InstListError
- {
- NoError = 0,
- UnknownError
- };
+ enum InstListError { NoError = 0, UnknownError };
- InstancePtr at(int i) const
- {
- return m_instances.at(i);
- }
+ InstancePtr at(int i) const { return m_instances.at(i); }
- int count() const
- {
- return m_instances.count();
- }
+ int count() const { return m_instances.count(); }
InstListError loadList();
void saveNow();
@@ -105,21 +81,21 @@ public:
InstancePtr getInstanceById(QString id) const;
/* O(n) */
InstancePtr getInstanceByManagedName(const QString& managed_name) const;
- QModelIndex getInstanceIndexById(const QString &id) const;
+ QModelIndex getInstanceIndexById(const QString& id) const;
QStringList getGroups();
- bool isGroupCollapsed(const QString &groupName);
+ bool isGroupCollapsed(const QString& groupName);
- GroupId getInstanceGroup(const InstanceId & id) const;
- void setInstanceGroup(const InstanceId & id, const GroupId& name);
+ GroupId getInstanceGroup(const InstanceId& id) const;
+ void setInstanceGroup(const InstanceId& id, const GroupId& name);
- void deleteGroup(const GroupId & name);
- bool trashInstance(const InstanceId &id);
+ void deleteGroup(const GroupId& name);
+ bool trashInstance(const InstanceId& id);
bool trashedSomething();
void undoTrashInstance();
- void deleteInstance(const InstanceId & id);
+ void deleteInstance(const InstanceId& id);
// Wrap an instance creation task in some more task machinery and make it ready to be used
- Task * wrapInstanceTask(InstanceTask * task);
+ Task* wrapInstanceTask(InstanceTask* task);
/**
* Create a new empty staging area for instance creation and @return a path/key top commit it later.
@@ -139,7 +115,7 @@ public:
* Destroy a previously created staging area given by @keyPath - used when creation fails.
* Used by instance manipulation tasks.
*/
- bool destroyStagingPath(const QString & keyPath);
+ bool destroyStagingPath(const QString& keyPath);
int getTotalPlayTime();
@@ -147,42 +123,42 @@ public:
Qt::DropActions supportedDropActions() const override;
- bool canDropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) const override;
+ bool canDropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) const override;
- bool dropMimeData(const QMimeData * data, Qt::DropAction action, int row, int column, const QModelIndex & parent) override;
+ bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) override;
QStringList mimeTypes() const override;
- QMimeData *mimeData(const QModelIndexList &indexes) const override;
+ QMimeData* mimeData(const QModelIndexList& indexes) const override;
- QStringList getLinkedInstancesById(const QString &id) const;
+ QStringList getLinkedInstancesById(const QString& id) const;
-signals:
+ signals:
void dataIsInvalid();
void instancesChanged();
void instanceSelectRequest(QString instanceId);
void groupsChanged(QSet<QString> groups);
-public slots:
- void on_InstFolderChanged(const Setting &setting, QVariant value);
- void on_GroupStateChanged(const QString &group, bool collapsed);
+ public slots:
+ void on_InstFolderChanged(const Setting& setting, QVariant value);
+ void on_GroupStateChanged(const QString& group, bool collapsed);
-private slots:
- void propertiesChanged(BaseInstance *inst);
+ private slots:
+ void propertiesChanged(BaseInstance* inst);
void providerUpdated();
- void instanceDirContentsChanged(const QString &path);
+ void instanceDirContentsChanged(const QString& path);
-private:
- int getInstIndex(BaseInstance *inst) const;
+ private:
+ int getInstIndex(BaseInstance* inst) const;
void updateTotalPlayTime();
void suspendWatch();
void resumeWatch();
- void add(const QList<InstancePtr> &list);
+ void add(const QList<InstancePtr>& list);
void loadGroupList();
void saveGroupList();
QList<InstanceId> discoverInstances();
InstancePtr loadInstance(const InstanceId& id);
-private:
+ private:
int m_watchLevel = 0;
int totalPlayTime = 0;
bool m_dirty = false;
@@ -191,7 +167,7 @@ private:
SettingsObjectPtr m_globalSettings;
QString m_instDir;
- QFileSystemWatcher * m_watcher;
+ QFileSystemWatcher* m_watcher;
// FIXME: this is so inefficient that looking at it is almost painful.
QSet<QString> m_collapsedGroups;
QMap<InstanceId, GroupId> m_instanceGroupIndex;