summaryrefslogtreecommitdiffstats
path: root/logic/lists/InstanceList.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-10-28 20:55:12 +0100
committerPetr Mrázek <peterix@gmail.com>2013-10-28 20:55:12 +0100
commit6ecb833dbf4c4930c8354dcce7967ad44c16c217 (patch)
tree268120b4b8f7716b6468a655909e1db210dfe3dc /logic/lists/InstanceList.h
parent923347729557eed76e4f7e9f6f5f1a79216de0a4 (diff)
downloadMultiMC-6ecb833dbf4c4930c8354dcce7967ad44c16c217.tar
MultiMC-6ecb833dbf4c4930c8354dcce7967ad44c16c217.tar.gz
MultiMC-6ecb833dbf4c4930c8354dcce7967ad44c16c217.tar.lz
MultiMC-6ecb833dbf4c4930c8354dcce7967ad44c16c217.tar.xz
MultiMC-6ecb833dbf4c4930c8354dcce7967ad44c16c217.zip
Fix problem with instance list not using the instance folder path
Diffstat (limited to 'logic/lists/InstanceList.h')
-rw-r--r--logic/lists/InstanceList.h69
1 files changed, 40 insertions, 29 deletions
diff --git a/logic/lists/InstanceList.h b/logic/lists/InstanceList.h
index 501edeb1..3cde6bf5 100644
--- a/logic/lists/InstanceList.h
+++ b/logic/lists/InstanceList.h
@@ -3,7 +3,7 @@
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
@@ -29,19 +29,19 @@ class InstanceList : public QAbstractListModel
{
Q_OBJECT
private:
- void loadGroupList(QMap<QString, QString> & groupList);
+ void loadGroupList(QMap<QString, QString> &groupList);
void saveGroupList();
-
+
public:
explicit InstanceList(const QString &instDir, QObject *parent = 0);
virtual ~InstanceList();
-
+
public:
- QModelIndex index ( int row, int column = 0, const QModelIndex& parent = QModelIndex() ) const;
- int rowCount ( const QModelIndex& parent = QModelIndex() ) const;
- QVariant data ( const QModelIndex& index, int role ) const;
- Qt::ItemFlags flags ( const QModelIndex& index ) const;
-
+ QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const;
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ QVariant data(const QModelIndex &index, int role) const;
+ Qt::ItemFlags flags(const QModelIndex &index) const;
+
enum AdditionalRoles
{
InstancePointerRole = 0x34B1CB48 ///< Return pointer to real instance
@@ -56,58 +56,69 @@ public:
NoError = 0,
UnknownError
};
-
- QString instDir() const { return m_instDir; }
-
+
+ QString instDir() const
+ {
+ return m_instDir;
+ }
+
/*!
* \brief Loads the instance list. Triggers notifications.
*/
InstListError loadList();
-
+
/*!
* \brief Get the instance at index
*/
InstancePtr at(int i) const
{
return m_instances.at(i);
- };
-
+ }
+ ;
+
/*!
* \brief Get the count of loaded instances
*/
int count() const
{
return m_instances.count();
- };
-
+ }
+ ;
+
/// Clear all instances. Triggers notifications.
void clear();
-
+
/// Add an instance. Triggers notifications, returns the new index
int add(InstancePtr t);
-
+
/// Get an instance by ID
- InstancePtr getInstanceById (QString id);
+ InstancePtr getInstanceById(QString id);
signals:
void dataIsInvalid();
-
-private slots:
- void propertiesChanged(BaseInstance * inst);
- void instanceNuked(BaseInstance * inst);
+
+public
+slots:
+ void on_InstFolderChanged(const Setting & setting, QVariant value);
+
+private
+slots:
+ void propertiesChanged(BaseInstance *inst);
+ void instanceNuked(BaseInstance *inst);
void groupChanged();
+
private:
- int getInstIndex(BaseInstance * inst);
+ int getInstIndex(BaseInstance *inst);
+
protected:
QString m_instDir;
- QList< InstancePtr > m_instances;
+ QList<InstancePtr> m_instances;
};
class InstanceProxyModel : public KCategorizedSortFilterProxyModel
{
public:
- explicit InstanceProxyModel ( QObject *parent = 0 );
+ explicit InstanceProxyModel(QObject *parent = 0);
protected:
- virtual bool subSortLessThan ( const QModelIndex& left, const QModelIndex& right ) const;
+ virtual bool subSortLessThan(const QModelIndex &left, const QModelIndex &right) const;
};
-