summaryrefslogtreecommitdiffstats
path: root/logic/resources/IconResourceHandler.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-09-26 13:45:29 +0200
committerPetr Mrázek <peterix@gmail.com>2015-09-26 13:45:29 +0200
commit271ad9e4fdb4f003abd33b59ca9cadfb5bab9823 (patch)
treef006b597a61531345b810fb5ea28f45c850fd8a4 /logic/resources/IconResourceHandler.cpp
parentcca670013463f0062cec950d9b9bb76f9150ed93 (diff)
downloadMultiMC-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.cpp62
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;
-}