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); +}