X-Git-Url: https://git.sur5r.net/?p=minitube;a=blobdiff_plain;f=src%2Ficonutils.cpp;h=b975411159ff0ef638b3d557c6086363e969c778;hp=75ded5307e5bb7e6fbcd2c932c1d1dacc62ae686;hb=29f9a13b38a0547b70236d24300668385e1dbf6e;hpb=e5ab28f93dda6e878973f57276db5edab68d13bc
diff --git a/src/iconutils.cpp b/src/iconutils.cpp
index 75ded53..b975411 100644
--- a/src/iconutils.cpp
+++ b/src/iconutils.cpp
@@ -19,6 +19,7 @@ along with Minitube. If not, see .
$END_LICENSE */
#include "iconutils.h"
+#include
QIcon IconUtils::fromTheme(const QString &name) {
const QLatin1String symbolic("-symbolic");
@@ -32,9 +33,9 @@ QIcon IconUtils::fromTheme(const QString &name) {
QIcon IconUtils::fromResources(const QString &name) {
QIcon icon = QIcon(QString(":/images/%1.png").arg(name));
if (!icon.isNull()) {
- icon.addPixmap(QString(":/images/%1_active.png").arg(name), QIcon::Active);
- icon.addPixmap(QString(":/images/%1_selected.png").arg(name), QIcon::Selected);
- icon.addPixmap(QString(":/images/%1_disabled.png").arg(name), QIcon::Disabled);
+ icon.addPixmap(IconUtils::pixmap(QString(":/images/%1_active.png").arg(name)), QIcon::Active);
+ icon.addPixmap(IconUtils::pixmap(QString(":/images/%1_selected.png").arg(name)), QIcon::Selected);
+ icon.addPixmap(IconUtils::pixmap(QString(":/images/%1_disabled.png").arg(name)), QIcon::Disabled);
}
return icon;
}
@@ -51,7 +52,7 @@ QIcon IconUtils::icon(const QString &name) {
QIcon IconUtils::icon(const QStringList &names) {
QIcon icon;
- foreach (QString name, names) {
+ foreach (const QString &name, names) {
icon = IconUtils::icon(name);
if (!icon.availableSizes().isEmpty()) break;
}
@@ -62,7 +63,7 @@ QIcon IconUtils::tintedIcon(const QString &name, const QColor &color, QListshortcut().toString(QKeySequence::NativeText) +
")");
}
+
+QPixmap IconUtils::pixmap(const QString &name) {
+ // Check if a "@2x" file exists
+ QString fileName = name;
+ if (qApp->devicePixelRatio() > 1.0) {
+ int dotIndex = fileName.lastIndexOf(QLatin1Char('.'));
+ if (dotIndex != -1) {
+ QString at2xfileName = fileName;
+ at2xfileName.insert(dotIndex, QStringLiteral("@2x"));
+ if (QFile::exists(at2xfileName))
+ fileName = at2xfileName;
+ }
+ }
+
+ return QPixmap(fileName);
+}