Browse Source

Merge pull request #9284 from Chocobo1/svg

Migrate to SVG icons
adaptive-webui-19844
Mike Tzou 6 years ago committed by GitHub
parent
commit
0c4a7ed9c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 10
      src/base/iconprovider.cpp
  2. 47
      src/gui/guiiconprovider.cpp
  3. 3
      src/gui/guiiconprovider.h
  4. 4
      src/gui/mainwindow.cpp
  5. 8
      src/gui/optionsdialog.cpp
  6. 12
      src/gui/statusbar.cpp
  7. 3
      src/gui/trackerlogindialog.cpp
  8. 18
      src/gui/transferlistfilterswidget.cpp
  9. 18
      src/gui/transferlistmodel.cpp
  10. 2
      src/gui/transferlistwidget.cpp
  11. 7
      src/gui/utils.cpp
  12. 2
      src/gui/utils.h
  13. 186
      src/icons/icons.qrc
  14. BIN
      src/icons/qbt-theme/application-exit.png
  15. 0
      src/icons/qbt-theme/application-exit.svg
  16. BIN
      src/icons/qbt-theme/application-rss+xml.png
  17. 0
      src/icons/qbt-theme/application-rss+xml.svg
  18. BIN
      src/icons/qbt-theme/application-x-mswinurl.png
  19. 0
      src/icons/qbt-theme/application-x-mswinurl.svg
  20. BIN
      src/icons/qbt-theme/checked.png
  21. 0
      src/icons/qbt-theme/checked.svg
  22. BIN
      src/icons/qbt-theme/configure.png
  23. 0
      src/icons/qbt-theme/configure.svg
  24. BIN
      src/icons/qbt-theme/dialog-cancel.png
  25. 0
      src/icons/qbt-theme/dialog-cancel.svg
  26. BIN
      src/icons/qbt-theme/dialog-information.png
  27. 0
      src/icons/qbt-theme/dialog-information.svg
  28. BIN
      src/icons/qbt-theme/dialog-warning.png
  29. 0
      src/icons/qbt-theme/dialog-warning.svg
  30. BIN
      src/icons/qbt-theme/document-edit-verify.png
  31. 0
      src/icons/qbt-theme/document-edit-verify.svg
  32. BIN
      src/icons/qbt-theme/document-edit.png
  33. 0
      src/icons/qbt-theme/document-edit.svg
  34. BIN
      src/icons/qbt-theme/document-encrypt.png
  35. 0
      src/icons/qbt-theme/document-encrypt.svg
  36. BIN
      src/icons/qbt-theme/document-import.png
  37. 0
      src/icons/qbt-theme/document-import.svg
  38. BIN
      src/icons/qbt-theme/document-new.png
  39. 0
      src/icons/qbt-theme/document-new.svg
  40. BIN
      src/icons/qbt-theme/document-properties.png
  41. 0
      src/icons/qbt-theme/document-properties.svg
  42. BIN
      src/icons/qbt-theme/document-save.png
  43. 0
      src/icons/qbt-theme/document-save.svg
  44. BIN
      src/icons/qbt-theme/download.png
  45. 0
      src/icons/qbt-theme/download.svg
  46. BIN
      src/icons/qbt-theme/edit-clear-history.png
  47. 0
      src/icons/qbt-theme/edit-clear-history.svg
  48. BIN
      src/icons/qbt-theme/edit-clear.png
  49. 0
      src/icons/qbt-theme/edit-clear.svg
  50. BIN
      src/icons/qbt-theme/edit-copy.png
  51. 0
      src/icons/qbt-theme/edit-copy.svg
  52. BIN
      src/icons/qbt-theme/edit-cut.png
  53. 0
      src/icons/qbt-theme/edit-cut.svg
  54. BIN
      src/icons/qbt-theme/edit-delete.png
  55. 0
      src/icons/qbt-theme/edit-delete.svg
  56. BIN
      src/icons/qbt-theme/edit-find-user.png
  57. 0
      src/icons/qbt-theme/edit-find-user.svg
  58. BIN
      src/icons/qbt-theme/edit-find.png
  59. 0
      src/icons/qbt-theme/edit-find.svg
  60. BIN
      src/icons/qbt-theme/edit-paste.png
  61. 0
      src/icons/qbt-theme/edit-paste.svg
  62. BIN
      src/icons/qbt-theme/edit-rename.png
  63. 0
      src/icons/qbt-theme/edit-rename.svg
  64. BIN
      src/icons/qbt-theme/folder-documents.png
  65. 0
      src/icons/qbt-theme/folder-documents.svg
  66. BIN
      src/icons/qbt-theme/folder-download.png
  67. 0
      src/icons/qbt-theme/folder-download.svg
  68. BIN
      src/icons/qbt-theme/folder-new.png
  69. 0
      src/icons/qbt-theme/folder-new.svg
  70. BIN
      src/icons/qbt-theme/folder-remote.png
  71. 0
      src/icons/qbt-theme/folder-remote.svg
  72. BIN
      src/icons/qbt-theme/gear.png
  73. 0
      src/icons/qbt-theme/gear.svg
  74. BIN
      src/icons/qbt-theme/gear32.png
  75. 0
      src/icons/qbt-theme/gear32.svg
  76. BIN
      src/icons/qbt-theme/go-bottom.png
  77. 0
      src/icons/qbt-theme/go-bottom.svg
  78. BIN
      src/icons/qbt-theme/go-down.png
  79. 0
      src/icons/qbt-theme/go-down.svg
  80. BIN
      src/icons/qbt-theme/go-top.png
  81. 0
      src/icons/qbt-theme/go-top.svg
  82. BIN
      src/icons/qbt-theme/go-up.png
  83. 0
      src/icons/qbt-theme/go-up.svg
  84. BIN
      src/icons/qbt-theme/help-about.png
  85. 0
      src/icons/qbt-theme/help-about.svg
  86. BIN
      src/icons/qbt-theme/help-contents.png
  87. 0
      src/icons/qbt-theme/help-contents.svg
  88. BIN
      src/icons/qbt-theme/inode-directory.png
  89. 0
      src/icons/qbt-theme/inode-directory.svg
  90. BIN
      src/icons/qbt-theme/insert-link.png
  91. 0
      src/icons/qbt-theme/insert-link.svg
  92. BIN
      src/icons/qbt-theme/list-add.png
  93. 0
      src/icons/qbt-theme/list-add.svg
  94. BIN
      src/icons/qbt-theme/list-remove.png
  95. 0
      src/icons/qbt-theme/list-remove.svg
  96. BIN
      src/icons/qbt-theme/mail-folder-inbox.png
  97. 0
      src/icons/qbt-theme/mail-folder-inbox.svg
  98. BIN
      src/icons/qbt-theme/mail-mark-read.png
  99. 0
      src/icons/qbt-theme/mail-mark-read.svg
  100. BIN
      src/icons/qbt-theme/media-playback-pause.png
  101. Some files were not shown because too many files have changed in this diff Show More

10
src/base/iconprovider.cpp

@ -29,6 +29,8 @@
#include "iconprovider.h" #include "iconprovider.h"
#include <QFileInfo>
IconProvider::IconProvider(QObject *parent) IconProvider::IconProvider(QObject *parent)
: QObject(parent) : QObject(parent)
{ {
@ -57,7 +59,13 @@ IconProvider *IconProvider::instance()
QString IconProvider::getIconPath(const QString &iconId) const QString IconProvider::getIconPath(const QString &iconId) const
{ {
return ":/icons/qbt-theme/" + iconId + ".png"; // there are a few icons not available in svg
const QString pathSvg = ":/icons/qbt-theme/" + iconId + ".svg";
if (QFileInfo::exists(pathSvg))
return pathSvg;
const QString pathPng = ":/icons/qbt-theme/" + iconId + ".png";
return pathPng;
} }
IconProvider *IconProvider::m_instance = nullptr; IconProvider *IconProvider::m_instance = nullptr;

47
src/gui/guiiconprovider.cpp

@ -29,6 +29,7 @@
#include "guiiconprovider.h" #include "guiiconprovider.h"
#include <QHash>
#include <QIcon> #include <QIcon>
#include <QVector> #include <QVector>
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) #if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
@ -71,13 +72,20 @@ QIcon GuiIconProvider::getIcon(const QString &iconId, const QString &fallback) c
QIcon icon = QIcon::fromTheme(iconId); QIcon icon = QIcon::fromTheme(iconId);
if (icon.name() != iconId) if (icon.name() != iconId)
icon = QIcon::fromTheme(fallback, QIcon(IconProvider::getIconPath(iconId))); icon = QIcon::fromTheme(fallback, QIcon(IconProvider::getIconPath(iconId)));
icon = generateDifferentSizes(icon);
return icon; return icon;
} }
#else #else
Q_UNUSED(fallback) Q_UNUSED(fallback)
#endif #endif
return QIcon(IconProvider::getIconPath(iconId)); // cache to avoid rescaling svg icons
static QHash<QString, QIcon> iconCache;
const auto iter = iconCache.find(iconId);
if (iter != iconCache.end())
return *iter;
const QIcon icon {IconProvider::getIconPath(iconId)};
iconCache[iconId] = icon;
return icon;
} }
QIcon GuiIconProvider::getFlagIcon(const QString &countryIsoCode) const QIcon GuiIconProvider::getFlagIcon(const QString &countryIsoCode) const
@ -86,41 +94,6 @@ QIcon GuiIconProvider::getFlagIcon(const QString &countryIsoCode) const
return QIcon(":/icons/flags/" + countryIsoCode.toLower() + ".svg"); return QIcon(":/icons/flags/" + countryIsoCode.toLower() + ".svg");
} }
// Makes sure the icon is at least available in 16px and 24px size
// It scales the icon from the theme if necessary
// Otherwise, the UI looks broken if the icon is not available
// in the correct size.
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
QIcon GuiIconProvider::generateDifferentSizes(const QIcon &icon) const
{
// if icon is loaded from SVG format, it already contains all the required sizes and we shall not resize it
// In that case it will be available in the following sizes:
// (QSize(16, 16), QSize(22, 22), QSize(32, 32), QSize(48, 48), QSize(64, 64), QSize(128, 128), QSize(256, 256))
if (icon.availableSizes(QIcon::Normal, QIcon::On).size() > 6)
return icon;
QIcon newIcon;
const QVector<QSize> requiredSizes {{16, 16}, {24, 24}, {32, 32}};
const QVector<QIcon::Mode> modes {QIcon::Normal, QIcon::Active, QIcon::Selected, QIcon::Disabled};
for (const QSize &size : requiredSizes) {
for (const QIcon::Mode mode : modes) {
QPixmap pixoff = icon.pixmap(size, mode, QIcon::Off);
if (pixoff.height() > size.height())
pixoff = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
newIcon.addPixmap(pixoff, mode, QIcon::Off);
QPixmap pixon = icon.pixmap(size, mode, QIcon::On);
if (pixon.height() > size.height())
pixon = pixoff.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
newIcon.addPixmap(pixon, mode, QIcon::On);
}
}
return newIcon;
}
#endif
QString GuiIconProvider::getIconPath(const QString &iconId) const QString GuiIconProvider::getIconPath(const QString &iconId) const
{ {
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) #if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))

3
src/gui/guiiconprovider.h

@ -54,9 +54,8 @@ private slots:
private: private:
explicit GuiIconProvider(QObject *parent = nullptr); explicit GuiIconProvider(QObject *parent = nullptr);
~GuiIconProvider(); ~GuiIconProvider();
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
QIcon generateDifferentSizes(const QIcon &icon) const;
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
bool m_useSystemTheme; bool m_useSystemTheme;
#endif #endif
}; };

4
src/gui/mainwindow.cpp

@ -1568,10 +1568,10 @@ void MainWindow::updateGUI()
html += "qBittorrent"; html += "qBittorrent";
html += "</div>"; html += "</div>";
html += "<div style='vertical-align: baseline; height: 18px;'>"; html += "<div style='vertical-align: baseline; height: 18px;'>";
html += "<img src=':/icons/skin/download.png' height='14'/>&nbsp;" + tr("DL speed: %1", "e.g: Download speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadDownloadRate, true)); html += "<img src=':/icons/skin/download.svg' height='14'/>&nbsp;" + tr("DL speed: %1", "e.g: Download speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadDownloadRate, true));
html += "</div>"; html += "</div>";
html += "<div style='vertical-align: baseline; height: 18px;'>"; html += "<div style='vertical-align: baseline; height: 18px;'>";
html += "<img src=':/icons/skin/seeding.png' height='14'/>&nbsp;" + tr("UP speed: %1", "e.g: Upload speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadUploadRate, true)); html += "<img src=':/icons/skin/seeding.svg' height='14'/>&nbsp;" + tr("UP speed: %1", "e.g: Upload speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadUploadRate, true));
html += "</div>"; html += "</div>";
#else #else
// OSes such as Windows do not support html here // OSes such as Windows do not support html here

8
src/gui/optionsdialog.cpp

@ -1751,11 +1751,11 @@ bool OptionsDialog::setSslKey(const QByteArray &key)
// try different formats // try different formats
const bool isKeyValid = (!QSslKey(key, QSsl::Rsa).isNull() || !QSslKey(key, QSsl::Ec).isNull()); const bool isKeyValid = (!QSslKey(key, QSsl::Rsa).isNull() || !QSslKey(key, QSsl::Ec).isNull());
if (isKeyValid) { if (isKeyValid) {
m_ui->lblSslKeyStatus->setPixmap(Utils::Gui::scaledPixmap(":/icons/qbt-theme/security-high.png", this, 24)); m_ui->lblSslKeyStatus->setPixmap(Utils::Gui::scaledPixmapSvg(":/icons/qbt-theme/security-high.svg", this, 24));
m_sslKey = key; m_sslKey = key;
} }
else { else {
m_ui->lblSslKeyStatus->setPixmap(Utils::Gui::scaledPixmap(":/icons/qbt-theme/security-low.png", this, 24)); m_ui->lblSslKeyStatus->setPixmap(Utils::Gui::scaledPixmapSvg(":/icons/qbt-theme/security-low.svg", this, 24));
m_sslKey.clear(); m_sslKey.clear();
} }
return isKeyValid; return isKeyValid;
@ -1770,11 +1770,11 @@ bool OptionsDialog::setSslCertificate(const QByteArray &cert)
#ifndef QT_NO_OPENSSL #ifndef QT_NO_OPENSSL
const bool isCertValid = !QSslCertificate(cert).isNull(); const bool isCertValid = !QSslCertificate(cert).isNull();
if (isCertValid) { if (isCertValid) {
m_ui->lblSslCertStatus->setPixmap(Utils::Gui::scaledPixmap(":/icons/qbt-theme/security-high.png", this, 24)); m_ui->lblSslCertStatus->setPixmap(Utils::Gui::scaledPixmapSvg(":/icons/qbt-theme/security-high.svg", this, 24));
m_sslCert = cert; m_sslCert = cert;
} }
else { else {
m_ui->lblSslCertStatus->setPixmap(Utils::Gui::scaledPixmap(":/icons/qbt-theme/security-low.png", this, 24)); m_ui->lblSslCertStatus->setPixmap(Utils::Gui::scaledPixmapSvg(":/icons/qbt-theme/security-low.svg", this, 24));
m_sslCert.clear(); m_sslCert.clear();
} }
return isCertValid; return isCertValid;

12
src/gui/statusbar.cpp

@ -63,14 +63,14 @@ StatusBar::StatusBar(QWidget *parent)
m_connecStatusLblIcon->setFlat(true); m_connecStatusLblIcon->setFlat(true);
m_connecStatusLblIcon->setFocusPolicy(Qt::NoFocus); m_connecStatusLblIcon->setFocusPolicy(Qt::NoFocus);
m_connecStatusLblIcon->setCursor(Qt::PointingHandCursor); m_connecStatusLblIcon->setCursor(Qt::PointingHandCursor);
m_connecStatusLblIcon->setIcon(QIcon(":/icons/skin/firewalled.png")); m_connecStatusLblIcon->setIcon(QIcon(":/icons/skin/firewalled.svg"));
m_connecStatusLblIcon->setToolTip( m_connecStatusLblIcon->setToolTip(
QString(QLatin1String("<b>%1</b><br><i>%2</i>")).arg(tr("Connection status:") QString(QLatin1String("<b>%1</b><br><i>%2</i>")).arg(tr("Connection status:")
, tr("No direct connections. This may indicate network configuration problems."))); , tr("No direct connections. This may indicate network configuration problems.")));
connect(m_connecStatusLblIcon, &QAbstractButton::clicked, this, &StatusBar::connectionButtonClicked); connect(m_connecStatusLblIcon, &QAbstractButton::clicked, this, &StatusBar::connectionButtonClicked);
m_dlSpeedLbl = new QPushButton(this); m_dlSpeedLbl = new QPushButton(this);
m_dlSpeedLbl->setIcon(QIcon(":/icons/skin/download.png")); m_dlSpeedLbl->setIcon(QIcon(":/icons/skin/download.svg"));
connect(m_dlSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capDownloadSpeed); connect(m_dlSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capDownloadSpeed);
m_dlSpeedLbl->setFlat(true); m_dlSpeedLbl->setFlat(true);
m_dlSpeedLbl->setFocusPolicy(Qt::NoFocus); m_dlSpeedLbl->setFocusPolicy(Qt::NoFocus);
@ -79,7 +79,7 @@ StatusBar::StatusBar(QWidget *parent)
m_dlSpeedLbl->setMinimumWidth(200); m_dlSpeedLbl->setMinimumWidth(200);
m_upSpeedLbl = new QPushButton(this); m_upSpeedLbl = new QPushButton(this);
m_upSpeedLbl->setIcon(QIcon(":/icons/skin/seeding.png")); m_upSpeedLbl->setIcon(QIcon(":/icons/skin/seeding.svg"));
connect(m_upSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capUploadSpeed); connect(m_upSpeedLbl, &QAbstractButton::clicked, this, &StatusBar::capUploadSpeed);
m_upSpeedLbl->setFlat(true); m_upSpeedLbl->setFlat(true);
m_upSpeedLbl->setFocusPolicy(Qt::NoFocus); m_upSpeedLbl->setFocusPolicy(Qt::NoFocus);
@ -174,17 +174,17 @@ void StatusBar::updateConnectionStatus()
const BitTorrent::SessionStatus &sessionStatus = BitTorrent::Session::instance()->status(); const BitTorrent::SessionStatus &sessionStatus = BitTorrent::Session::instance()->status();
if (!BitTorrent::Session::instance()->isListening()) { if (!BitTorrent::Session::instance()->isListening()) {
m_connecStatusLblIcon->setIcon(QIcon(QLatin1String(":/icons/skin/disconnected.png"))); m_connecStatusLblIcon->setIcon(QIcon(QLatin1String(":/icons/skin/disconnected.svg")));
m_connecStatusLblIcon->setToolTip(QLatin1String("<b>") + tr("Connection Status:") + QLatin1String("</b><br>") + tr("Offline. This usually means that qBittorrent failed to listen on the selected port for incoming connections.")); m_connecStatusLblIcon->setToolTip(QLatin1String("<b>") + tr("Connection Status:") + QLatin1String("</b><br>") + tr("Offline. This usually means that qBittorrent failed to listen on the selected port for incoming connections."));
} }
else { else {
if (sessionStatus.hasIncomingConnections) { if (sessionStatus.hasIncomingConnections) {
// Connection OK // Connection OK
m_connecStatusLblIcon->setIcon(QIcon(QLatin1String(":/icons/skin/connected.png"))); m_connecStatusLblIcon->setIcon(QIcon(QLatin1String(":/icons/skin/connected.svg")));
m_connecStatusLblIcon->setToolTip(QLatin1String("<b>") + tr("Connection Status:") + QLatin1String("</b><br>") + tr("Online")); m_connecStatusLblIcon->setToolTip(QLatin1String("<b>") + tr("Connection Status:") + QLatin1String("</b><br>") + tr("Online"));
} }
else { else {
m_connecStatusLblIcon->setIcon(QIcon(QLatin1String(":/icons/skin/firewalled.png"))); m_connecStatusLblIcon->setIcon(QIcon(QLatin1String(":/icons/skin/firewalled.svg")));
m_connecStatusLblIcon->setToolTip(QLatin1String("<b>") + tr("Connection status:") + QLatin1String("</b><br>") + QLatin1String("<i>") + tr("No direct connections. This may indicate network configuration problems.") + QLatin1String("</i>")); m_connecStatusLblIcon->setToolTip(QLatin1String("<b>") + tr("Connection status:") + QLatin1String("</b><br>") + QLatin1String("<i>") + tr("No direct connections. This may indicate network configuration problems.") + QLatin1String("</i>"));
} }
} }

3
src/gui/trackerlogindialog.cpp

@ -33,6 +33,7 @@
#include <QPushButton> #include <QPushButton>
#include "base/bittorrent/torrenthandle.h" #include "base/bittorrent/torrenthandle.h"
#include "guiiconprovider.h"
#include "utils.h" #include "utils.h"
TrackerLoginDialog::TrackerLoginDialog(QWidget *parent, BitTorrent::TorrentHandle *const torrent) TrackerLoginDialog::TrackerLoginDialog(QWidget *parent, BitTorrent::TorrentHandle *const torrent)
@ -44,7 +45,7 @@ TrackerLoginDialog::TrackerLoginDialog(QWidget *parent, BitTorrent::TorrentHandl
buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Log in")); buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Log in"));
labelLoginLogo->setPixmap(QPixmap(QLatin1String(":/icons/qbt-theme/encrypted.png"))); labelLoginLogo->setPixmap(Utils::Gui::scaledPixmap(GuiIconProvider::instance()->getIcon("document-encrypt"), this, 32));
labelTrackerURL->setText(torrent->currentTracker()); labelTrackerURL->setText(torrent->currentTracker());

18
src/gui/transferlistfilterswidget.cpp

@ -132,31 +132,31 @@ StatusFilterWidget::StatusFilterWidget(QWidget *parent, TransferListWidget *tran
// Add status filters // Add status filters
QListWidgetItem *all = new QListWidgetItem(this); QListWidgetItem *all = new QListWidgetItem(this);
all->setData(Qt::DisplayRole, QVariant(tr("All (0)", "this is for the status filter"))); all->setData(Qt::DisplayRole, QVariant(tr("All (0)", "this is for the status filter")));
all->setData(Qt::DecorationRole, QIcon(":/icons/skin/filterall.png")); all->setData(Qt::DecorationRole, QIcon(":/icons/skin/filterall.svg"));
QListWidgetItem *downloading = new QListWidgetItem(this); QListWidgetItem *downloading = new QListWidgetItem(this);
downloading->setData(Qt::DisplayRole, QVariant(tr("Downloading (0)"))); downloading->setData(Qt::DisplayRole, QVariant(tr("Downloading (0)")));
downloading->setData(Qt::DecorationRole, QIcon(":/icons/skin/downloading.png")); downloading->setData(Qt::DecorationRole, QIcon(":/icons/skin/downloading.svg"));
QListWidgetItem *seeding = new QListWidgetItem(this); QListWidgetItem *seeding = new QListWidgetItem(this);
seeding->setData(Qt::DisplayRole, QVariant(tr("Seeding (0)"))); seeding->setData(Qt::DisplayRole, QVariant(tr("Seeding (0)")));
seeding->setData(Qt::DecorationRole, QIcon(":/icons/skin/uploading.png")); seeding->setData(Qt::DecorationRole, QIcon(":/icons/skin/uploading.svg"));
QListWidgetItem *completed = new QListWidgetItem(this); QListWidgetItem *completed = new QListWidgetItem(this);
completed->setData(Qt::DisplayRole, QVariant(tr("Completed (0)"))); completed->setData(Qt::DisplayRole, QVariant(tr("Completed (0)")));
completed->setData(Qt::DecorationRole, QIcon(":/icons/skin/completed.png")); completed->setData(Qt::DecorationRole, QIcon(":/icons/skin/completed.svg"));
QListWidgetItem *resumed = new QListWidgetItem(this); QListWidgetItem *resumed = new QListWidgetItem(this);
resumed->setData(Qt::DisplayRole, QVariant(tr("Resumed (0)"))); resumed->setData(Qt::DisplayRole, QVariant(tr("Resumed (0)")));
resumed->setData(Qt::DecorationRole, QIcon(":/icons/skin/resumed.png")); resumed->setData(Qt::DecorationRole, QIcon(":/icons/skin/resumed.svg"));
QListWidgetItem *paused = new QListWidgetItem(this); QListWidgetItem *paused = new QListWidgetItem(this);
paused->setData(Qt::DisplayRole, QVariant(tr("Paused (0)"))); paused->setData(Qt::DisplayRole, QVariant(tr("Paused (0)")));
paused->setData(Qt::DecorationRole, QIcon(":/icons/skin/paused.png")); paused->setData(Qt::DecorationRole, QIcon(":/icons/skin/paused.svg"));
QListWidgetItem *active = new QListWidgetItem(this); QListWidgetItem *active = new QListWidgetItem(this);
active->setData(Qt::DisplayRole, QVariant(tr("Active (0)"))); active->setData(Qt::DisplayRole, QVariant(tr("Active (0)")));
active->setData(Qt::DecorationRole, QIcon(":/icons/skin/filteractive.png")); active->setData(Qt::DecorationRole, QIcon(":/icons/skin/filteractive.svg"));
QListWidgetItem *inactive = new QListWidgetItem(this); QListWidgetItem *inactive = new QListWidgetItem(this);
inactive->setData(Qt::DisplayRole, QVariant(tr("Inactive (0)"))); inactive->setData(Qt::DisplayRole, QVariant(tr("Inactive (0)")));
inactive->setData(Qt::DecorationRole, QIcon(":/icons/skin/filterinactive.png")); inactive->setData(Qt::DecorationRole, QIcon(":/icons/skin/filterinactive.svg"));
QListWidgetItem *errored = new QListWidgetItem(this); QListWidgetItem *errored = new QListWidgetItem(this);
errored->setData(Qt::DisplayRole, QVariant(tr("Errored (0)"))); errored->setData(Qt::DisplayRole, QVariant(tr("Errored (0)")));
errored->setData(Qt::DecorationRole, QIcon(":/icons/skin/error.png")); errored->setData(Qt::DecorationRole, QIcon(":/icons/skin/error.svg"));
const Preferences *const pref = Preferences::instance(); const Preferences *const pref = Preferences::instance();
setCurrentRow(pref->getTransSelFilter(), QItemSelectionModel::SelectCurrent); setCurrentRow(pref->getTransSelFilter(), QItemSelectionModel::SelectCurrent);

18
src/gui/transferlistmodel.cpp

@ -419,55 +419,55 @@ QColor getColorByState(BitTorrent::TorrentState state)
QIcon getPausedIcon() QIcon getPausedIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/paused.png"); static QIcon cached = QIcon(":/icons/skin/paused.svg");
return cached; return cached;
} }
QIcon getQueuedIcon() QIcon getQueuedIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/queued.png"); static QIcon cached = QIcon(":/icons/skin/queued.svg");
return cached; return cached;
} }
QIcon getDownloadingIcon() QIcon getDownloadingIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/downloading.png"); static QIcon cached = QIcon(":/icons/skin/downloading.svg");
return cached; return cached;
} }
QIcon getStalledDownloadingIcon() QIcon getStalledDownloadingIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/stalledDL.png"); static QIcon cached = QIcon(":/icons/skin/stalledDL.svg");
return cached; return cached;
} }
QIcon getUploadingIcon() QIcon getUploadingIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/uploading.png"); static QIcon cached = QIcon(":/icons/skin/uploading.svg");
return cached; return cached;
} }
QIcon getStalledUploadingIcon() QIcon getStalledUploadingIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/stalledUP.png"); static QIcon cached = QIcon(":/icons/skin/stalledUP.svg");
return cached; return cached;
} }
QIcon getCompletedIcon() QIcon getCompletedIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/completed.png"); static QIcon cached = QIcon(":/icons/skin/completed.svg");
return cached; return cached;
} }
QIcon getCheckingIcon() QIcon getCheckingIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/checking.png"); static QIcon cached = QIcon(":/icons/skin/checking.svg");
return cached; return cached;
} }
QIcon getErrorIcon() QIcon getErrorIcon()
{ {
static QIcon cached = QIcon(":/icons/skin/error.png"); static QIcon cached = QIcon(":/icons/skin/error.svg");
return cached; return cached;
} }

2
src/gui/transferlistwidget.cpp

@ -874,7 +874,7 @@ void TransferListWidget::displayListMenu(const QPoint&)
connect(&actionDelete, &QAction::triggered, this, &TransferListWidget::softDeleteSelectedTorrents); connect(&actionDelete, &QAction::triggered, this, &TransferListWidget::softDeleteSelectedTorrents);
QAction actionPreviewFile(GuiIconProvider::instance()->getIcon("view-preview"), tr("Preview file..."), nullptr); QAction actionPreviewFile(GuiIconProvider::instance()->getIcon("view-preview"), tr("Preview file..."), nullptr);
connect(&actionPreviewFile, &QAction::triggered, this, &TransferListWidget::previewSelectedTorrents); connect(&actionPreviewFile, &QAction::triggered, this, &TransferListWidget::previewSelectedTorrents);
QAction actionSetMaxRatio(QIcon(QLatin1String(":/icons/skin/ratio.png")), tr("Limit share ratio..."), nullptr); QAction actionSetMaxRatio(QIcon(QLatin1String(":/icons/skin/ratio.svg")), tr("Limit share ratio..."), nullptr);
connect(&actionSetMaxRatio, &QAction::triggered, this, &TransferListWidget::setMaxRatioSelectedTorrents); connect(&actionSetMaxRatio, &QAction::triggered, this, &TransferListWidget::setMaxRatioSelectedTorrents);
QAction actionSetUploadLimit(GuiIconProvider::instance()->getIcon("kt-set-max-upload-speed"), tr("Limit upload rate..."), nullptr); QAction actionSetUploadLimit(GuiIconProvider::instance()->getIcon("kt-set-max-upload-speed"), tr("Limit upload rate..."), nullptr);
connect(&actionSetUploadLimit, &QAction::triggered, this, &TransferListWidget::setUpLimitSelectedTorrents); connect(&actionSetUploadLimit, &QAction::triggered, this, &TransferListWidget::setUpLimitSelectedTorrents);

7
src/gui/utils.cpp

@ -63,6 +63,13 @@ qreal Utils::Gui::screenScalingFactor(const QWidget *widget)
#endif // Q_OS_WIN #endif // Q_OS_WIN
} }
QPixmap Utils::Gui::scaledPixmap(const QIcon &icon, const QWidget *widget, const int height)
{
Q_ASSERT(height > 0);
const int scaledHeight = height * Utils::Gui::screenScalingFactor(widget);
return icon.pixmap(scaledHeight);
}
QPixmap Utils::Gui::scaledPixmap(const QString &path, const QWidget *widget, const int height) QPixmap Utils::Gui::scaledPixmap(const QString &path, const QWidget *widget, const int height)
{ {
const QPixmap pixmap(path); const QPixmap pixmap(path);

2
src/gui/utils.h

@ -33,6 +33,7 @@
#include <QPixmap> #include <QPixmap>
#include <QSize> #include <QSize>
class QIcon;
class QWidget; class QWidget;
namespace Utils namespace Utils
@ -48,6 +49,7 @@ namespace Utils
return (size * screenScalingFactor(widget)); return (size * screenScalingFactor(widget));
} }
QPixmap scaledPixmap(const QIcon &icon, const QWidget *widget, const int height);
QPixmap scaledPixmap(const QString &path, const QWidget *widget, const int height = 0); QPixmap scaledPixmap(const QString &path, const QWidget *widget, const int height = 0);
QPixmap scaledPixmapSvg(const QString &path, const QWidget *widget, const int baseHeight); QPixmap scaledPixmapSvg(const QString &path, const QWidget *widget, const int baseHeight);
QSize smallIconSize(const QWidget *widget = nullptr); QSize smallIconSize(const QWidget *widget = nullptr);

186
src/icons/icons.qrc

@ -251,105 +251,105 @@
<file>flags/zw.svg</file> <file>flags/zw.svg</file>
<file>L.gif</file> <file>L.gif</file>
<file>loading.png</file> <file>loading.png</file>
<file>qbt-theme/application-exit.png</file> <file>qbt-theme/application-exit.svg</file>
<file>qbt-theme/application-rss+xml.png</file> <file>qbt-theme/application-rss+xml.svg</file>
<file>qbt-theme/application-x-mswinurl.png</file> <file>qbt-theme/application-x-mswinurl.svg</file>
<file>qbt-theme/checked.png</file> <file>qbt-theme/checked.svg</file>
<file>qbt-theme/configure.png</file> <file>qbt-theme/configure.svg</file>
<file>qbt-theme/dialog-cancel.png</file> <file>qbt-theme/dialog-cancel.svg</file>
<file>qbt-theme/dialog-information.png</file> <file>qbt-theme/dialog-information.svg</file>
<file>qbt-theme/dialog-warning.png</file> <file>qbt-theme/dialog-warning.svg</file>
<file>qbt-theme/document-edit-verify.png</file> <file>qbt-theme/document-edit-verify.svg</file>
<file>qbt-theme/document-edit.png</file> <file>qbt-theme/document-edit.svg</file>
<file>qbt-theme/document-encrypt.png</file> <file>qbt-theme/document-encrypt.svg</file>
<file>qbt-theme/document-import.png</file> <file>qbt-theme/document-import.svg</file>
<file>qbt-theme/document-new.png</file> <file>qbt-theme/document-new.svg</file>
<file>qbt-theme/document-properties.png</file> <file>qbt-theme/document-properties.svg</file>
<file>qbt-theme/document-save.png</file> <file>qbt-theme/document-save.svg</file>
<file>qbt-theme/download.png</file> <file>qbt-theme/download.svg</file>
<file>qbt-theme/edit-clear-history.png</file> <file>qbt-theme/edit-clear-history.svg</file>
<file>qbt-theme/edit-clear.png</file> <file>qbt-theme/edit-clear.svg</file>
<file>qbt-theme/edit-copy.png</file> <file>qbt-theme/edit-copy.svg</file>
<file>qbt-theme/edit-cut.png</file> <file>qbt-theme/edit-cut.svg</file>
<file>qbt-theme/edit-delete.png</file> <file>qbt-theme/edit-delete.svg</file>
<file>qbt-theme/edit-find-user.png</file> <file>qbt-theme/edit-find-user.svg</file>
<file>qbt-theme/edit-find.png</file> <file>qbt-theme/edit-find.svg</file>
<file>qbt-theme/edit-paste.png</file> <file>qbt-theme/edit-paste.svg</file>
<file>qbt-theme/edit-rename.png</file> <file>qbt-theme/edit-rename.svg</file>
<file>qbt-theme/folder-documents.png</file> <file>qbt-theme/folder-documents.svg</file>
<file>qbt-theme/folder-download.png</file> <file>qbt-theme/folder-download.svg</file>
<file>qbt-theme/folder-new.png</file> <file>qbt-theme/folder-new.svg</file>
<file>qbt-theme/folder-remote.png</file> <file>qbt-theme/folder-remote.svg</file>
<file>qbt-theme/gear.png</file> <file>qbt-theme/gear.svg</file>
<file>qbt-theme/gear32.png</file> <file>qbt-theme/gear32.svg</file>
<file>qbt-theme/go-bottom.png</file> <file>qbt-theme/go-bottom.svg</file>
<file>qbt-theme/go-down.png</file> <file>qbt-theme/go-down.svg</file>
<file>qbt-theme/go-top.png</file> <file>qbt-theme/go-top.svg</file>
<file>qbt-theme/go-up.png</file> <file>qbt-theme/go-up.svg</file>
<file>qbt-theme/help-about.png</file> <file>qbt-theme/help-about.svg</file>
<file>qbt-theme/help-contents.png</file> <file>qbt-theme/help-contents.svg</file>
<file>qbt-theme/inode-directory.png</file> <file>qbt-theme/inode-directory.svg</file>
<file>qbt-theme/insert-link.png</file> <file>qbt-theme/insert-link.svg</file>
<file>qbt-theme/kt-magnet.png</file> <file>qbt-theme/kt-magnet.png</file>
<file>qbt-theme/kt-set-max-download-speed.png</file> <file>qbt-theme/kt-set-max-download-speed.png</file>
<file>qbt-theme/kt-set-max-upload-speed.png</file> <file>qbt-theme/kt-set-max-upload-speed.png</file>
<file>qbt-theme/list-add.png</file> <file>qbt-theme/list-add.svg</file>
<file>qbt-theme/list-remove.png</file> <file>qbt-theme/list-remove.svg</file>
<file>qbt-theme/mail-folder-inbox.png</file> <file>qbt-theme/mail-folder-inbox.svg</file>
<file>qbt-theme/mail-mark-read.png</file> <file>qbt-theme/mail-mark-read.svg</file>
<file>qbt-theme/media-playback-pause.png</file> <file>qbt-theme/media-playback-pause.svg</file>
<file>qbt-theme/media-playback-start.png</file> <file>qbt-theme/media-playback-start.svg</file>
<file>qbt-theme/media-seek-forward.png</file> <file>qbt-theme/media-seek-forward.svg</file>
<file>qbt-theme/network-server.png</file> <file>qbt-theme/network-server.svg</file>
<file>qbt-theme/network-wired.png</file> <file>qbt-theme/network-wired.svg</file>
<file>qbt-theme/object-locked.png</file> <file>qbt-theme/object-locked.svg</file>
<file>qbt-theme/office-chart-line.png</file> <file>qbt-theme/office-chart-line.svg</file>
<file>qbt-theme/preferences-desktop.png</file> <file>qbt-theme/preferences-desktop.svg</file>
<file>qbt-theme/preferences-other.png</file> <file>qbt-theme/preferences-other.svg</file>
<file>qbt-theme/preferences-system-network.png</file> <file>qbt-theme/preferences-system-network.svg</file>
<file>qbt-theme/preferences-web-browser-cookies.png</file> <file>qbt-theme/preferences-web-browser-cookies.svg</file>
<file>qbt-theme/rss-config.png</file> <file>qbt-theme/rss-config.png</file>
<file>qbt-theme/security-high.png</file> <file>qbt-theme/security-high.svg</file>
<file>qbt-theme/security-low.png</file> <file>qbt-theme/security-low.svg</file>
<file>qbt-theme/services.png</file> <file>qbt-theme/services.svg</file>
<file>qbt-theme/speedometer.png</file> <file>qbt-theme/speedometer.svg</file>
<file>qbt-theme/system-log-out.png</file> <file>qbt-theme/system-log-out.svg</file>
<file>qbt-theme/tab-close.png</file> <file>qbt-theme/tab-close.svg</file>
<file>qbt-theme/task-attention.png</file> <file>qbt-theme/task-attention.svg</file>
<file>qbt-theme/task-complete.png</file> <file>qbt-theme/task-complete.png</file>
<file>qbt-theme/task-ongoing.png</file> <file>qbt-theme/task-ongoing.png</file>
<file>qbt-theme/task-reject.png</file> <file>qbt-theme/task-reject.png</file>
<file>qbt-theme/text-plain.png</file> <file>qbt-theme/text-plain.svg</file>
<file>qbt-theme/tools-report-bug.png</file> <file>qbt-theme/tools-report-bug.svg</file>
<file>qbt-theme/unavailable.png</file> <file>qbt-theme/unavailable.svg</file>
<file>qbt-theme/user-group-delete.png</file> <file>qbt-theme/user-group-delete.svg</file>
<file>qbt-theme/user-group-new.png</file> <file>qbt-theme/user-group-new.svg</file>
<file>qbt-theme/view-calendar-journal.png</file> <file>qbt-theme/view-calendar-journal.svg</file>
<file>qbt-theme/view-categories.png</file> <file>qbt-theme/view-categories.svg</file>
<file>qbt-theme/view-filter.png</file> <file>qbt-theme/view-filter.svg</file>
<file>qbt-theme/view-preview.png</file> <file>qbt-theme/view-preview.svg</file>
<file>qbt-theme/view-refresh.png</file> <file>qbt-theme/view-refresh.svg</file>
<file>qbt-theme/view-statistics.png</file> <file>qbt-theme/view-statistics.svg</file>
<file>qbt-theme/wallet-open.png</file> <file>qbt-theme/wallet-open.svg</file>
<file>qbt-theme/webui.png</file> <file>qbt-theme/webui.svg</file>
<file>skin/arrow-right.gif</file> <file>skin/arrow-right.gif</file>
<file>skin/bg-dropdown.gif</file> <file>skin/bg-dropdown.gif</file>
<file>skin/bg-handle-horizontal.gif</file> <file>skin/bg-handle-horizontal.gif</file>
<file>skin/bg-header.gif</file> <file>skin/bg-header.gif</file>
<file>skin/bg-panel-header.gif</file> <file>skin/bg-panel-header.gif</file>
<file>skin/checking.png</file> <file>skin/checking.svg</file>
<file>skin/collapse-expand.gif</file> <file>skin/collapse-expand.gif</file>
<file>skin/completed.png</file> <file>skin/completed.svg</file>
<file>skin/connected.png</file> <file>skin/connected.svg</file>
<file>skin/disconnected.png</file> <file>skin/disconnected.svg</file>
<file>skin/dock-tabs.gif</file> <file>skin/dock-tabs.gif</file>
<file>skin/download.png</file> <file>skin/download.svg</file>
<file>skin/downloading.png</file> <file>skin/downloading.svg</file>
<file>skin/error.png</file> <file>skin/error.svg</file>
<file>skin/filteractive.png</file> <file>skin/filteractive.svg</file>
<file>skin/filterall.png</file> <file>skin/filterall.svg</file>
<file>skin/filterinactive.png</file> <file>skin/filterinactive.svg</file>
<file>skin/firewalled.png</file> <file>skin/firewalled.svg</file>
<file>skin/handle-icon-horizontal.gif</file> <file>skin/handle-icon-horizontal.gif</file>
<file>skin/handle-icon.gif</file> <file>skin/handle-icon.gif</file>
<file>skin/knob.gif</file> <file>skin/knob.gif</file>
@ -357,26 +357,26 @@
<file>skin/logo.gif</file> <file>skin/logo.gif</file>
<file>skin/logo2.gif</file> <file>skin/logo2.gif</file>
<file>skin/mascot.png</file> <file>skin/mascot.png</file>
<file>skin/paused.png</file> <file>skin/paused.svg</file>
<file>skin/qbittorrent-tray.svg</file> <file>skin/qbittorrent-tray.svg</file>
<file>skin/qbittorrent-tray-dark.svg</file> <file>skin/qbittorrent-tray-dark.svg</file>
<file>skin/qbittorrent-tray-light.svg</file> <file>skin/qbittorrent-tray-light.svg</file>
<file>skin/qbittorrent32.png</file> <file>skin/qbittorrent32.png</file>
<file>skin/queued.png</file> <file>skin/queued.svg</file>
<file>skin/ratio.png</file> <file>skin/ratio.svg</file>
<file>skin/resumed.png</file> <file>skin/resumed.svg</file>
<file>skin/seeding.png</file> <file>skin/seeding.svg</file>
<file>skin/slider-area.gif</file> <file>skin/slider-area.gif</file>
<file>skin/spacer.gif</file> <file>skin/spacer.gif</file>
<file>skin/spinner-placeholder.gif</file> <file>skin/spinner-placeholder.gif</file>
<file>skin/spinner.gif</file> <file>skin/spinner.gif</file>
<file>skin/splash.png</file> <file>skin/splash.png</file>
<file>skin/stalledDL.png</file> <file>skin/stalledDL.svg</file>
<file>skin/stalledUP.png</file> <file>skin/stalledUP.svg</file>
<file>skin/tabs.gif</file> <file>skin/tabs.gif</file>
<file>skin/toolbox-divider.gif</file> <file>skin/toolbox-divider.gif</file>
<file>skin/toolbox-divider2.gif</file> <file>skin/toolbox-divider2.gif</file>
<file>skin/uploading.png</file> <file>skin/uploading.svg</file>
<file>slow.png</file> <file>slow.png</file>
<file>slow_off.png</file> <file>slow_off.png</file>
<file>sphere.png</file> <file>sphere.png</file>

BIN
src/icons/qbt-theme/application-exit.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

0
src/icons/qbt-theme/build-icons/icons/application-exit.svg → src/icons/qbt-theme/application-exit.svg

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 478 B

BIN
src/icons/qbt-theme/application-rss+xml.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

0
src/icons/qbt-theme/build-icons/icons/application-rss+xml.svg → src/icons/qbt-theme/application-rss+xml.svg

Before

Width:  |  Height:  |  Size: 878 B

After

Width:  |  Height:  |  Size: 878 B

BIN
src/icons/qbt-theme/application-x-mswinurl.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

0
src/icons/qbt-theme/build-icons/icons/application-x-mswinurl.svg → src/icons/qbt-theme/application-x-mswinurl.svg

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
src/icons/qbt-theme/checked.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

0
src/icons/qbt-theme/build-icons/icons/checked.svg → src/icons/qbt-theme/checked.svg

Before

Width:  |  Height:  |  Size: 338 B

After

Width:  |  Height:  |  Size: 338 B

BIN
src/icons/qbt-theme/configure.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

0
src/icons/qbt-theme/build-icons/icons/configure.svg → src/icons/qbt-theme/configure.svg

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/icons/qbt-theme/dialog-cancel.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

0
src/icons/qbt-theme/build-icons/icons/dialog-cancel.svg → src/icons/qbt-theme/dialog-cancel.svg

Before

Width:  |  Height:  |  Size: 663 B

After

Width:  |  Height:  |  Size: 663 B

BIN
src/icons/qbt-theme/dialog-information.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

0
src/icons/qbt-theme/build-icons/icons/dialog-information.svg → src/icons/qbt-theme/dialog-information.svg

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 796 B

BIN
src/icons/qbt-theme/dialog-warning.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

0
src/icons/qbt-theme/build-icons/icons/dialog-warning.svg → src/icons/qbt-theme/dialog-warning.svg

Before

Width:  |  Height:  |  Size: 585 B

After

Width:  |  Height:  |  Size: 585 B

BIN
src/icons/qbt-theme/document-edit-verify.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

0
src/icons/qbt-theme/build-icons/icons/document-edit-verify.svg → src/icons/qbt-theme/document-edit-verify.svg

Before

Width:  |  Height:  |  Size: 1013 B

After

Width:  |  Height:  |  Size: 1013 B

BIN
src/icons/qbt-theme/document-edit.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

0
src/icons/qbt-theme/build-icons/icons/document-edit.svg → src/icons/qbt-theme/document-edit.svg

Before

Width:  |  Height:  |  Size: 801 B

After

Width:  |  Height:  |  Size: 801 B

BIN
src/icons/qbt-theme/document-encrypt.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

0
src/icons/qbt-theme/build-icons/icons/document-encrypt.svg → src/icons/qbt-theme/document-encrypt.svg

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 453 B

BIN
src/icons/qbt-theme/document-import.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

0
src/icons/qbt-theme/build-icons/icons/document-import.svg → src/icons/qbt-theme/document-import.svg

Before

Width:  |  Height:  |  Size: 817 B

After

Width:  |  Height:  |  Size: 817 B

BIN
src/icons/qbt-theme/document-new.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

0
src/icons/qbt-theme/build-icons/icons/document-new.svg → src/icons/qbt-theme/document-new.svg

Before

Width:  |  Height:  |  Size: 824 B

After

Width:  |  Height:  |  Size: 824 B

BIN
src/icons/qbt-theme/document-properties.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

0
src/icons/qbt-theme/build-icons/icons/document-properties.svg → src/icons/qbt-theme/document-properties.svg

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/icons/qbt-theme/document-save.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

0
src/icons/qbt-theme/build-icons/icons/document-save.svg → src/icons/qbt-theme/document-save.svg

Before

Width:  |  Height:  |  Size: 732 B

After

Width:  |  Height:  |  Size: 732 B

BIN
src/icons/qbt-theme/download.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

0
src/icons/qbt-theme/build-icons/icons/download.svg → src/icons/qbt-theme/download.svg

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 711 B

BIN
src/icons/qbt-theme/edit-clear-history.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-clear-history.svg → src/icons/qbt-theme/edit-clear-history.svg

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/icons/qbt-theme/edit-clear.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-clear.svg → src/icons/qbt-theme/edit-clear.svg

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/icons/qbt-theme/edit-copy.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-copy.svg → src/icons/qbt-theme/edit-copy.svg

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 805 B

BIN
src/icons/qbt-theme/edit-cut.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-cut.svg → src/icons/qbt-theme/edit-cut.svg

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/icons/qbt-theme/edit-delete.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-delete.svg → src/icons/qbt-theme/edit-delete.svg

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 478 B

BIN
src/icons/qbt-theme/edit-find-user.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-find-user.svg → src/icons/qbt-theme/edit-find-user.svg

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/icons/qbt-theme/edit-find.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-find.svg → src/icons/qbt-theme/edit-find.svg

Before

Width:  |  Height:  |  Size: 780 B

After

Width:  |  Height:  |  Size: 780 B

BIN
src/icons/qbt-theme/edit-paste.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-paste.svg → src/icons/qbt-theme/edit-paste.svg

Before

Width:  |  Height:  |  Size: 782 B

After

Width:  |  Height:  |  Size: 782 B

BIN
src/icons/qbt-theme/edit-rename.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

0
src/icons/qbt-theme/build-icons/icons/edit-rename.svg → src/icons/qbt-theme/edit-rename.svg

Before

Width:  |  Height:  |  Size: 928 B

After

Width:  |  Height:  |  Size: 928 B

BIN
src/icons/qbt-theme/folder-documents.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

0
src/icons/qbt-theme/build-icons/icons/folder-documents.svg → src/icons/qbt-theme/folder-documents.svg

Before

Width:  |  Height:  |  Size: 941 B

After

Width:  |  Height:  |  Size: 941 B

BIN
src/icons/qbt-theme/folder-download.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

0
src/icons/qbt-theme/build-icons/icons/folder-download.svg → src/icons/qbt-theme/folder-download.svg

Before

Width:  |  Height:  |  Size: 711 B

After

Width:  |  Height:  |  Size: 711 B

BIN
src/icons/qbt-theme/folder-new.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

0
src/icons/qbt-theme/build-icons/icons/folder-new.svg → src/icons/qbt-theme/folder-new.svg

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/icons/qbt-theme/folder-remote.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

0
src/icons/qbt-theme/build-icons/icons/folder-remote.svg → src/icons/qbt-theme/folder-remote.svg

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
src/icons/qbt-theme/gear.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

0
src/icons/qbt-theme/build-icons/icons/gear.svg → src/icons/qbt-theme/gear.svg

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/icons/qbt-theme/gear32.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

0
src/icons/qbt-theme/build-icons/icons/gear32.svg → src/icons/qbt-theme/gear32.svg

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/icons/qbt-theme/go-bottom.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 993 B

0
src/icons/qbt-theme/build-icons/icons/go-bottom.svg → src/icons/qbt-theme/go-bottom.svg

Before

Width:  |  Height:  |  Size: 566 B

After

Width:  |  Height:  |  Size: 566 B

BIN
src/icons/qbt-theme/go-down.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 755 B

0
src/icons/qbt-theme/build-icons/icons/go-down.svg → src/icons/qbt-theme/go-down.svg

Before

Width:  |  Height:  |  Size: 445 B

After

Width:  |  Height:  |  Size: 445 B

BIN
src/icons/qbt-theme/go-top.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

0
src/icons/qbt-theme/build-icons/icons/go-top.svg → src/icons/qbt-theme/go-top.svg

Before

Width:  |  Height:  |  Size: 564 B

After

Width:  |  Height:  |  Size: 564 B

BIN
src/icons/qbt-theme/go-up.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

0
src/icons/qbt-theme/build-icons/icons/go-up.svg → src/icons/qbt-theme/go-up.svg

Before

Width:  |  Height:  |  Size: 472 B

After

Width:  |  Height:  |  Size: 472 B

BIN
src/icons/qbt-theme/help-about.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

0
src/icons/qbt-theme/build-icons/icons/help-about.svg → src/icons/qbt-theme/help-about.svg

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 796 B

BIN
src/icons/qbt-theme/help-contents.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

0
src/icons/qbt-theme/build-icons/icons/help-contents.svg → src/icons/qbt-theme/help-contents.svg

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

BIN
src/icons/qbt-theme/inode-directory.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

0
src/icons/qbt-theme/build-icons/icons/inode-directory.svg → src/icons/qbt-theme/inode-directory.svg

Before

Width:  |  Height:  |  Size: 941 B

After

Width:  |  Height:  |  Size: 941 B

BIN
src/icons/qbt-theme/insert-link.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

0
src/icons/qbt-theme/build-icons/icons/insert-link.svg → src/icons/qbt-theme/insert-link.svg

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
src/icons/qbt-theme/list-add.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

0
src/icons/qbt-theme/build-icons/icons/list-add.svg → src/icons/qbt-theme/list-add.svg

Before

Width:  |  Height:  |  Size: 824 B

After

Width:  |  Height:  |  Size: 824 B

BIN
src/icons/qbt-theme/list-remove.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 639 B

0
src/icons/qbt-theme/build-icons/icons/list-remove.svg → src/icons/qbt-theme/list-remove.svg

Before

Width:  |  Height:  |  Size: 243 B

After

Width:  |  Height:  |  Size: 243 B

BIN
src/icons/qbt-theme/mail-folder-inbox.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

0
src/icons/qbt-theme/build-icons/icons/mail-folder-inbox.svg → src/icons/qbt-theme/mail-folder-inbox.svg

Before

Width:  |  Height:  |  Size: 358 B

After

Width:  |  Height:  |  Size: 358 B

BIN
src/icons/qbt-theme/mail-mark-read.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

0
src/icons/qbt-theme/build-icons/icons/mail-mark-read.svg → src/icons/qbt-theme/mail-mark-read.svg

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/icons/qbt-theme/media-playback-pause.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 693 B

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save