diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-04-10 04:29:29 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-04-30 23:59:23 +0200 |
commit | 47e37635f50c09b4f9a9ee7699e3120bab3e4088 (patch) | |
tree | 061c2f675fb7e244ebe4b54ef206bfbd615c91f8 /logic/icons/IconList.h | |
parent | fcd4a482f759cd58ee319a51082d0146b7e426e2 (diff) | |
download | MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar.gz MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar.lz MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.tar.xz MultiMC-47e37635f50c09b4f9a9ee7699e3120bab3e4088.zip |
NOISSUE split GUI stuff from logic library
Diffstat (limited to 'logic/icons/IconList.h')
-rw-r--r-- | logic/icons/IconList.h | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/logic/icons/IconList.h b/logic/icons/IconList.h deleted file mode 100644 index 971db824..00000000 --- a/logic/icons/IconList.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright 2013-2015 MultiMC Contributors - * - * 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 - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include <QMutex> -#include <QAbstractListModel> -#include <QFile> -#include <QDir> -#include <QtGui/QIcon> -#include <memory> -#include "MMCIcon.h" -#include "settings/Setting.h" -#include "Env.h" // there is a global icon list inside Env. - -#include "multimc_logic_export.h" - -class QFileSystemWatcher; - -class MULTIMC_LOGIC_EXPORT IconList : public QAbstractListModel -{ - Q_OBJECT -public: - explicit IconList(QString builtinPath, QString path, QObject *parent = 0); - virtual ~IconList() {}; - - QIcon getIcon(QString key); - QIcon getBigIcon(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, MMCIcon::Type type); - bool deleteIcon(QString key); - bool iconFileExists(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); - - const MMCIcon * icon(QString key); - - void startWatching(); - void stopWatching(); - -signals: - void iconUpdated(QString key); - -private: - // hide copy constructor - IconList(const IconList &) = delete; - // hide assign op - IconList &operator=(const IconList &) = delete; - void reindex(); - -public slots: - void directoryChanged(const QString &path); - -protected slots: - void fileChanged(const QString &path); - void SettingChanged(const Setting & setting, QVariant value); -private: - std::shared_ptr<QFileSystemWatcher> m_watcher; - bool is_watching; - QMap<QString, int> name_index; - QVector<MMCIcon> icons; - QDir m_dir; -}; |