mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-03 02:14:16 +00:00
Refactor GuiIconProvider::generateDifferentSizes()
This commit is contained in:
parent
9df67b52b8
commit
e1727c9a6a
@ -30,6 +30,7 @@
|
|||||||
#include "guiiconprovider.h"
|
#include "guiiconprovider.h"
|
||||||
|
|
||||||
#include <QIcon>
|
#include <QIcon>
|
||||||
|
#include <QVector>
|
||||||
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
|
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
@ -99,16 +100,15 @@ QIcon GuiIconProvider::generateDifferentSizes(const QIcon &icon) const
|
|||||||
return icon;
|
return icon;
|
||||||
|
|
||||||
QIcon newIcon;
|
QIcon newIcon;
|
||||||
QList<QSize> requiredSizes;
|
const QVector<QSize> requiredSizes {{16, 16}, {24, 24}, {32, 32}};
|
||||||
requiredSizes << QSize(16, 16) << QSize(24, 24) << QSize(32, 32);
|
const QVector<QIcon::Mode> modes {QIcon::Normal, QIcon::Active, QIcon::Selected, QIcon::Disabled};
|
||||||
QList<QIcon::Mode> modes;
|
for (const QSize &size : requiredSizes) {
|
||||||
modes << QIcon::Normal << QIcon::Active << QIcon::Selected << QIcon::Disabled;
|
for (const QIcon::Mode mode : modes) {
|
||||||
foreach (const QSize &size, requiredSizes) {
|
|
||||||
foreach (QIcon::Mode mode, modes) {
|
|
||||||
QPixmap pixoff = icon.pixmap(size, mode, QIcon::Off);
|
QPixmap pixoff = icon.pixmap(size, mode, QIcon::Off);
|
||||||
if (pixoff.height() > size.height())
|
if (pixoff.height() > size.height())
|
||||||
pixoff = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
pixoff = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
newIcon.addPixmap(pixoff, mode, QIcon::Off);
|
newIcon.addPixmap(pixoff, mode, QIcon::Off);
|
||||||
|
|
||||||
QPixmap pixon = icon.pixmap(size, mode, QIcon::On);
|
QPixmap pixon = icon.pixmap(size, mode, QIcon::On);
|
||||||
if (pixon.height() > size.height())
|
if (pixon.height() > size.height())
|
||||||
pixon = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
pixon = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user