Browse Source

Replace raster qbt logo with vector version

Add helper function for svg icons.
adaptive-webui-19844
Chocobo1 6 years ago
parent
commit
4d04af4043
No known key found for this signature in database
GPG Key ID: 210D9C873253A68C
  1. 2
      src/gui/about_imp.h
  2. 10
      src/gui/mainwindow.cpp
  3. 15
      src/gui/utils.cpp
  4. 1
      src/gui/utils.h

2
src/gui/about_imp.h

@ -55,7 +55,7 @@ public: @@ -55,7 +55,7 @@ public:
lb_name->setText("<b><h2>qBittorrent " QBT_VERSION " (32-bit)</h2></b>");
#endif
logo->setPixmap(Utils::Gui::scaledPixmap(":/icons/skin/qbittorrent32.png", this));
logo->setPixmap(Utils::Gui::scaledPixmapSvg(":/icons/skin/qbittorrent-tray.svg", this, 32));
// About
QString aboutText = QString(

10
src/gui/mainwindow.cpp

@ -160,11 +160,13 @@ MainWindow::MainWindow(QWidget *parent) @@ -160,11 +160,13 @@ MainWindow::MainWindow(QWidget *parent)
// Setting icons
#ifndef Q_OS_MAC
#ifdef Q_OS_UNIX
if (Preferences::instance()->useSystemIconTheme())
setWindowIcon(QIcon::fromTheme("qbittorrent", QIcon(":/icons/skin/qbittorrent32.png")));
else
const QIcon appLogo = Preferences::instance()->useSystemIconTheme()
? QIcon::fromTheme("qbittorrent", QIcon(":/icons/skin/qbittorrent-tray.svg"))
: QIcon(":/icons/skin/qbittorrent-tray.svg");
#else
const QIcon appLogo(":/icons/skin/qbittorrent-tray.svg");
#endif // Q_OS_UNIX
setWindowIcon(QIcon(":/icons/skin/qbittorrent32.png"));
setWindowIcon(appLogo);
#endif // Q_OS_MAC
#if (defined(Q_OS_UNIX))

15
src/gui/utils.cpp

@ -30,6 +30,7 @@ @@ -30,6 +30,7 @@
#include <QApplication>
#include <QDesktopWidget>
#include <QPixmapCache>
#include <QScreen>
#include <QStyle>
#include <QWidget>
@ -69,6 +70,20 @@ QPixmap Utils::Gui::scaledPixmap(const QString &path, const QWidget *widget, con @@ -69,6 +70,20 @@ QPixmap Utils::Gui::scaledPixmap(const QString &path, const QWidget *widget, con
return pixmap.scaledToHeight(scaledHeight, Qt::SmoothTransformation);
}
QPixmap Utils::Gui::scaledPixmapSvg(const QString &path, const QWidget *widget, const int baseHeight)
{
const int scaledHeight = baseHeight * Utils::Gui::screenScalingFactor(widget);
const QString normalizedKey = path + "@" + QString::number(scaledHeight);
QPixmap pm;
QPixmapCache cache;
if (!cache.find(normalizedKey, &pm)) {
pm = QIcon(path).pixmap(scaledHeight);
cache.insert(normalizedKey, pm);
}
return pm;
}
QSize Utils::Gui::smallIconSize(const QWidget *widget)
{
// Get DPI scaled icon size (device-dependent), see QT source

1
src/gui/utils.h

@ -49,6 +49,7 @@ namespace Utils @@ -49,6 +49,7 @@ namespace Utils
}
QPixmap scaledPixmap(const QString &path, const QWidget *widget, const int height = 0);
QPixmap scaledPixmapSvg(const QString &path, const QWidget *widget, const int baseHeight);
QSize smallIconSize(const QWidget *widget = nullptr);
QSize mediumIconSize(const QWidget *widget = nullptr);
QSize largeIconSize(const QWidget *widget = nullptr);

Loading…
Cancel
Save