diff options
author | Petr Mrázek <peterix@gmail.com> | 2016-10-20 01:02:28 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2016-10-26 18:23:39 +0200 |
commit | cee53f7f3ceb120aac83dbb60683fb228b385c2e (patch) | |
tree | cd02a5c6a2398b09fdac58e648bdac60ba5f8d63 /api/gui/icons | |
parent | 1b4851a941cbafb7bf7a45feee7149cefa7e0acb (diff) | |
download | MultiMC-cee53f7f3ceb120aac83dbb60683fb228b385c2e.tar MultiMC-cee53f7f3ceb120aac83dbb60683fb228b385c2e.tar.gz MultiMC-cee53f7f3ceb120aac83dbb60683fb228b385c2e.tar.lz MultiMC-cee53f7f3ceb120aac83dbb60683fb228b385c2e.tar.xz MultiMC-cee53f7f3ceb120aac83dbb60683fb228b385c2e.zip |
Revert "NOISSUE nuke builtin Minecraft versions"
This reverts commit 5ae3b2c11416eb897a08b0d9531843d0357332f8.
We need those builtin versions for now.
Diffstat (limited to 'api/gui/icons')
-rw-r--r-- | api/gui/icons/IconList.cpp | 26 | ||||
-rw-r--r-- | api/gui/icons/IconList.h | 6 |
2 files changed, 17 insertions, 15 deletions
diff --git a/api/gui/icons/IconList.cpp b/api/gui/icons/IconList.cpp index b6be007f..bdcada32 100644 --- a/api/gui/icons/IconList.cpp +++ b/api/gui/icons/IconList.cpp @@ -292,7 +292,7 @@ bool IconList::deleteIcon(const QString &key) return false; } -bool IconList::addIcon(QString key, QString name, QString path, IconType type) +bool IconList::addIcon(const QString &key, const QString &name, const QString &path, const IconType type) { // replace the icon even? is the input valid? QIcon icon(path); @@ -323,6 +323,14 @@ bool IconList::addIcon(QString key, QString name, QString path, IconType type) } } +void IconList::saveIcon(const QString &key, const QString &path, const char * format) const +{ + auto icon = getIcon(key); + auto pixmap = icon.pixmap(128, 128); + pixmap.save(path, format); +} + + void IconList::reindex() { name_index.clear(); @@ -334,7 +342,7 @@ void IconList::reindex() } } -QIcon IconList::getIcon(QString key) +QIcon IconList::getIcon(const QString &key) const { int icon_index = getIconIndex(key); @@ -349,15 +357,12 @@ QIcon IconList::getIcon(QString key) return QIcon(); } -QIcon IconList::getBigIcon(QString key) +QIcon IconList::getBigIcon(const QString &key) const { int icon_index = getIconIndex(key); - if (icon_index == -1) - key = "infinity"; - // Fallback for icons that don't exist. - icon_index = getIconIndex(key); + icon_index = getIconIndex(icon_index == -1 ? "infinity" : key); if (icon_index == -1) return QIcon(); @@ -366,12 +371,9 @@ QIcon IconList::getBigIcon(QString key) return QIcon(bigone); } -int IconList::getIconIndex(QString key) +int IconList::getIconIndex(const QString &key) const { - if (key == "default") - key = "infinity"; - - auto iter = name_index.find(key); + auto iter = name_index.find(key == "default" ? "infinity" : key); if (iter != name_index.end()) return *iter; diff --git a/api/gui/icons/IconList.h b/api/gui/icons/IconList.h index 24ff4454..7b07797f 100644 --- a/api/gui/icons/IconList.h +++ b/api/gui/icons/IconList.h @@ -37,9 +37,9 @@ public: explicit IconList(QString builtinPath, QString path, QObject *parent = 0); virtual ~IconList() {}; - QIcon getIcon(QString key); - QIcon getBigIcon(QString key); - int getIconIndex(QString key); + QIcon getIcon(const QString &key) const; + QIcon getBigIcon(const QString &key) const; + int getIconIndex(const QString &key) const; virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override; |