diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-09-26 13:45:29 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-09-26 13:45:29 +0200 |
commit | 271ad9e4fdb4f003abd33b59ca9cadfb5bab9823 (patch) | |
tree | f006b597a61531345b810fb5ea28f45c850fd8a4 /logic/resources/IconResourceHandler.cpp | |
parent | cca670013463f0062cec950d9b9bb76f9150ed93 (diff) | |
download | MultiMC-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.tar MultiMC-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.tar.gz MultiMC-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.tar.lz MultiMC-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.tar.xz MultiMC-271ad9e4fdb4f003abd33b59ca9cadfb5bab9823.zip |
GH-1072 split resource system to UI and logic parts
Diffstat (limited to 'logic/resources/IconResourceHandler.cpp')
-rw-r--r-- | logic/resources/IconResourceHandler.cpp | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/logic/resources/IconResourceHandler.cpp b/logic/resources/IconResourceHandler.cpp deleted file mode 100644 index 99353b6c..00000000 --- a/logic/resources/IconResourceHandler.cpp +++ /dev/null @@ -1,62 +0,0 @@ -#include "IconResourceHandler.h" - -#include <QDir> -#include <QDebug> - -QString IconResourceHandler::m_theme = "multimc"; -QList<std::weak_ptr<IconResourceHandler>> IconResourceHandler::m_iconHandlers; - -IconResourceHandler::IconResourceHandler(const QString &key) - : m_key(key) -{ -} - -void IconResourceHandler::setTheme(const QString &theme) -{ - m_theme = theme; - - // notify everyone - for (auto handler : m_iconHandlers) - { - std::shared_ptr<IconResourceHandler> ptr = handler.lock(); - if (ptr) - { - ptr->setResult(ptr->get()); - } - } -} - -void IconResourceHandler::init(std::shared_ptr<ResourceHandler> &ptr) -{ - m_iconHandlers.append(std::dynamic_pointer_cast<IconResourceHandler>(ptr)); - // we always have a result, so lets report it now! - setResult(get()); -} - -QVariant IconResourceHandler::get() const -{ - const QDir iconsDir = QDir(":/icons/" + m_theme); - - QVariantMap out; - for (const QFileInfo &sizeInfo : iconsDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)) - { - const QDir dir = QDir(sizeInfo.absoluteFilePath()); - const QString dirName = sizeInfo.fileName(); - const int size = dirName.left(dirName.indexOf('x')).toInt(); - if (dir.exists(m_key + ".png") && dirName != "scalable") - { - out.insert(dir.absoluteFilePath(m_key + ".png"), size); - } - else if (dir.exists(m_key + ".svg") && dirName == "scalable") - { - out.insert(dir.absoluteFilePath(m_key + ".svg"), size); - } - } - - if (out.isEmpty()) - { - qWarning() << "Couldn't find any icons for" << m_key; - } - - return out; -} |