summaryrefslogtreecommitdiffstats
path: root/logic/lists/IconList.h
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-09-07 04:00:58 +0200
committerPetr Mrázek <peterix@gmail.com>2013-09-07 04:00:58 +0200
commit6892c11e9f287dcfb1e698f8f46233a01fb7abb6 (patch)
treeee94607e92bcf39faef7f35842499fafbb2e270f /logic/lists/IconList.h
parent3f30055afe757637ae865b2adc7cf021edd9b8b5 (diff)
downloadMultiMC-6892c11e9f287dcfb1e698f8f46233a01fb7abb6.tar
MultiMC-6892c11e9f287dcfb1e698f8f46233a01fb7abb6.tar.gz
MultiMC-6892c11e9f287dcfb1e698f8f46233a01fb7abb6.tar.lz
MultiMC-6892c11e9f287dcfb1e698f8f46233a01fb7abb6.tar.xz
MultiMC-6892c11e9f287dcfb1e698f8f46233a01fb7abb6.zip
Move a good chunk of the singleton objects into a new QApplication subclass.
Diffstat (limited to 'logic/lists/IconList.h')
-rw-r--r--logic/lists/IconList.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/logic/lists/IconList.h b/logic/lists/IconList.h
new file mode 100644
index 00000000..cad80cdf
--- /dev/null
+++ b/logic/lists/IconList.h
@@ -0,0 +1,38 @@
+#pragma once
+
+#include <QMutex>
+#include <QAbstractListModel>
+#include <QtGui/QIcon>
+
+class Private;
+
+class IconList : public QAbstractListModel
+{
+public:
+ IconList();
+ virtual ~IconList();
+
+ QIcon getIcon ( QString key );
+ int getIconIndex ( QString key );
+
+ virtual QVariant data ( const QModelIndex& index, int role = Qt::DisplayRole ) const;
+ virtual int rowCount ( const QModelIndex& parent = QModelIndex() ) const;
+
+ bool addIcon(QString key, QString name, QString path, bool is_builtin = false);
+ bool deleteIcon(QString key);
+
+ virtual QStringList mimeTypes() const;
+ virtual Qt::DropActions supportedDropActions() const;
+ virtual bool dropMimeData ( const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent );
+ virtual Qt::ItemFlags flags ( const QModelIndex& index ) const;
+
+ void installIcons ( QStringList iconFiles );
+
+private:
+ // hide copy constructor
+ IconList ( const IconList & ) = delete;
+ // hide assign op
+ IconList& operator= ( const IconList & ) = delete;
+ void reindex();
+ Private* d;
+};