Replace png icons with svg
@ -29,6 +29,8 @@
|
||||
|
||||
#include "iconprovider.h"
|
||||
|
||||
#include <QFileInfo>
|
||||
|
||||
IconProvider::IconProvider(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
@ -57,7 +59,13 @@ IconProvider *IconProvider::instance()
|
||||
|
||||
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;
|
||||
|
@ -29,6 +29,7 @@
|
||||
|
||||
#include "guiiconprovider.h"
|
||||
|
||||
#include <QHash>
|
||||
#include <QIcon>
|
||||
#include <QVector>
|
||||
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
|
||||
@ -76,7 +77,15 @@ QIcon GuiIconProvider::getIcon(const QString &iconId, const QString &fallback) c
|
||||
#else
|
||||
Q_UNUSED(fallback)
|
||||
#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
|
||||
|
@ -1568,10 +1568,10 @@ void MainWindow::updateGUI()
|
||||
html += "qBittorrent";
|
||||
html += "</div>";
|
||||
html += "<div style='vertical-align: baseline; height: 18px;'>";
|
||||
html += "<img src=':/icons/skin/download.png' height='14'/> " + 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'/> " + tr("DL speed: %1", "e.g: Download speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadDownloadRate, true));
|
||||
html += "</div>";
|
||||
html += "<div style='vertical-align: baseline; height: 18px;'>";
|
||||
html += "<img src=':/icons/skin/seeding.png' height='14'/> " + 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'/> " + tr("UP speed: %1", "e.g: Upload speed: 10 KiB/s").arg(Utils::Misc::friendlyUnit(status.payloadUploadRate, true));
|
||||
html += "</div>";
|
||||
#else
|
||||
// OSes such as Windows do not support html here
|
||||
|
@ -1751,11 +1751,11 @@ bool OptionsDialog::setSslKey(const QByteArray &key)
|
||||
// try different formats
|
||||
const bool isKeyValid = (!QSslKey(key, QSsl::Rsa).isNull() || !QSslKey(key, QSsl::Ec).isNull());
|
||||
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;
|
||||
}
|
||||
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();
|
||||
}
|
||||
return isKeyValid;
|
||||
@ -1770,11 +1770,11 @@ bool OptionsDialog::setSslCertificate(const QByteArray &cert)
|
||||
#ifndef QT_NO_OPENSSL
|
||||
const bool isCertValid = !QSslCertificate(cert).isNull();
|
||||
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;
|
||||
}
|
||||
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();
|
||||
}
|
||||
return isCertValid;
|
||||
|
@ -63,14 +63,14 @@ StatusBar::StatusBar(QWidget *parent)
|
||||
m_connecStatusLblIcon->setFlat(true);
|
||||
m_connecStatusLblIcon->setFocusPolicy(Qt::NoFocus);
|
||||
m_connecStatusLblIcon->setCursor(Qt::PointingHandCursor);
|
||||
m_connecStatusLblIcon->setIcon(QIcon(":/icons/skin/firewalled.png"));
|
||||
m_connecStatusLblIcon->setIcon(QIcon(":/icons/skin/firewalled.svg"));
|
||||
m_connecStatusLblIcon->setToolTip(
|
||||
QString(QLatin1String("<b>%1</b><br><i>%2</i>")).arg(tr("Connection status:")
|
||||
, tr("No direct connections. This may indicate network configuration problems.")));
|
||||
connect(m_connecStatusLblIcon, &QAbstractButton::clicked, this, &StatusBar::connectionButtonClicked);
|
||||
|
||||
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);
|
||||
m_dlSpeedLbl->setFlat(true);
|
||||
m_dlSpeedLbl->setFocusPolicy(Qt::NoFocus);
|
||||
@ -79,7 +79,7 @@ StatusBar::StatusBar(QWidget *parent)
|
||||
m_dlSpeedLbl->setMinimumWidth(200);
|
||||
|
||||
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);
|
||||
m_upSpeedLbl->setFlat(true);
|
||||
m_upSpeedLbl->setFocusPolicy(Qt::NoFocus);
|
||||
@ -174,17 +174,17 @@ void StatusBar::updateConnectionStatus()
|
||||
const BitTorrent::SessionStatus &sessionStatus = BitTorrent::Session::instance()->status();
|
||||
|
||||
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."));
|
||||
}
|
||||
else {
|
||||
if (sessionStatus.hasIncomingConnections) {
|
||||
// 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"));
|
||||
}
|
||||
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>"));
|
||||
}
|
||||
}
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include <QPushButton>
|
||||
|
||||
#include "base/bittorrent/torrenthandle.h"
|
||||
#include "guiiconprovider.h"
|
||||
#include "utils.h"
|
||||
|
||||
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"));
|
||||
|
||||
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());
|
||||
|
||||
|
@ -132,31 +132,31 @@ StatusFilterWidget::StatusFilterWidget(QWidget *parent, TransferListWidget *tran
|
||||
// Add status filters
|
||||
QListWidgetItem *all = new QListWidgetItem(this);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
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();
|
||||
setCurrentRow(pref->getTransSelFilter(), QItemSelectionModel::SelectCurrent);
|
||||
|
@ -419,55 +419,55 @@ QColor getColorByState(BitTorrent::TorrentState state)
|
||||
|
||||
QIcon getPausedIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/paused.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/paused.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getQueuedIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/queued.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/queued.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getDownloadingIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/downloading.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/downloading.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getStalledDownloadingIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/stalledDL.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/stalledDL.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getUploadingIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/uploading.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/uploading.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getStalledUploadingIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/stalledUP.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/stalledUP.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getCompletedIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/completed.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/completed.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getCheckingIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/checking.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/checking.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
QIcon getErrorIcon()
|
||||
{
|
||||
static QIcon cached = QIcon(":/icons/skin/error.png");
|
||||
static QIcon cached = QIcon(":/icons/skin/error.svg");
|
||||
return cached;
|
||||
}
|
||||
|
||||
|
@ -874,7 +874,7 @@ void TransferListWidget::displayListMenu(const QPoint&)
|
||||
connect(&actionDelete, &QAction::triggered, this, &TransferListWidget::softDeleteSelectedTorrents);
|
||||
QAction actionPreviewFile(GuiIconProvider::instance()->getIcon("view-preview"), tr("Preview file..."), nullptr);
|
||||
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);
|
||||
QAction actionSetUploadLimit(GuiIconProvider::instance()->getIcon("kt-set-max-upload-speed"), tr("Limit upload rate..."), nullptr);
|
||||
connect(&actionSetUploadLimit, &QAction::triggered, this, &TransferListWidget::setUpLimitSelectedTorrents);
|
||||
|
@ -63,6 +63,13 @@ qreal Utils::Gui::screenScalingFactor(const QWidget *widget)
|
||||
#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)
|
||||
{
|
||||
const QPixmap pixmap(path);
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include <QPixmap>
|
||||
#include <QSize>
|
||||
|
||||
class QIcon;
|
||||
class QWidget;
|
||||
|
||||
namespace Utils
|
||||
@ -48,6 +49,7 @@ namespace Utils
|
||||
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 scaledPixmapSvg(const QString &path, const QWidget *widget, const int baseHeight);
|
||||
QSize smallIconSize(const QWidget *widget = nullptr);
|
||||
|
@ -251,105 +251,105 @@
|
||||
<file>flags/zw.svg</file>
|
||||
<file>L.gif</file>
|
||||
<file>loading.png</file>
|
||||
<file>qbt-theme/application-exit.png</file>
|
||||
<file>qbt-theme/application-rss+xml.png</file>
|
||||
<file>qbt-theme/application-x-mswinurl.png</file>
|
||||
<file>qbt-theme/checked.png</file>
|
||||
<file>qbt-theme/configure.png</file>
|
||||
<file>qbt-theme/dialog-cancel.png</file>
|
||||
<file>qbt-theme/dialog-information.png</file>
|
||||
<file>qbt-theme/dialog-warning.png</file>
|
||||
<file>qbt-theme/document-edit-verify.png</file>
|
||||
<file>qbt-theme/document-edit.png</file>
|
||||
<file>qbt-theme/document-encrypt.png</file>
|
||||
<file>qbt-theme/document-import.png</file>
|
||||
<file>qbt-theme/document-new.png</file>
|
||||
<file>qbt-theme/document-properties.png</file>
|
||||
<file>qbt-theme/document-save.png</file>
|
||||
<file>qbt-theme/download.png</file>
|
||||
<file>qbt-theme/edit-clear-history.png</file>
|
||||
<file>qbt-theme/edit-clear.png</file>
|
||||
<file>qbt-theme/edit-copy.png</file>
|
||||
<file>qbt-theme/edit-cut.png</file>
|
||||
<file>qbt-theme/edit-delete.png</file>
|
||||
<file>qbt-theme/edit-find-user.png</file>
|
||||
<file>qbt-theme/edit-find.png</file>
|
||||
<file>qbt-theme/edit-paste.png</file>
|
||||
<file>qbt-theme/edit-rename.png</file>
|
||||
<file>qbt-theme/folder-documents.png</file>
|
||||
<file>qbt-theme/folder-download.png</file>
|
||||
<file>qbt-theme/folder-new.png</file>
|
||||
<file>qbt-theme/folder-remote.png</file>
|
||||
<file>qbt-theme/gear.png</file>
|
||||
<file>qbt-theme/gear32.png</file>
|
||||
<file>qbt-theme/go-bottom.png</file>
|
||||
<file>qbt-theme/go-down.png</file>
|
||||
<file>qbt-theme/go-top.png</file>
|
||||
<file>qbt-theme/go-up.png</file>
|
||||
<file>qbt-theme/help-about.png</file>
|
||||
<file>qbt-theme/help-contents.png</file>
|
||||
<file>qbt-theme/inode-directory.png</file>
|
||||
<file>qbt-theme/insert-link.png</file>
|
||||
<file>qbt-theme/application-exit.svg</file>
|
||||
<file>qbt-theme/application-rss+xml.svg</file>
|
||||
<file>qbt-theme/application-x-mswinurl.svg</file>
|
||||
<file>qbt-theme/checked.svg</file>
|
||||
<file>qbt-theme/configure.svg</file>
|
||||
<file>qbt-theme/dialog-cancel.svg</file>
|
||||
<file>qbt-theme/dialog-information.svg</file>
|
||||
<file>qbt-theme/dialog-warning.svg</file>
|
||||
<file>qbt-theme/document-edit-verify.svg</file>
|
||||
<file>qbt-theme/document-edit.svg</file>
|
||||
<file>qbt-theme/document-encrypt.svg</file>
|
||||
<file>qbt-theme/document-import.svg</file>
|
||||
<file>qbt-theme/document-new.svg</file>
|
||||
<file>qbt-theme/document-properties.svg</file>
|
||||
<file>qbt-theme/document-save.svg</file>
|
||||
<file>qbt-theme/download.svg</file>
|
||||
<file>qbt-theme/edit-clear-history.svg</file>
|
||||
<file>qbt-theme/edit-clear.svg</file>
|
||||
<file>qbt-theme/edit-copy.svg</file>
|
||||
<file>qbt-theme/edit-cut.svg</file>
|
||||
<file>qbt-theme/edit-delete.svg</file>
|
||||
<file>qbt-theme/edit-find-user.svg</file>
|
||||
<file>qbt-theme/edit-find.svg</file>
|
||||
<file>qbt-theme/edit-paste.svg</file>
|
||||
<file>qbt-theme/edit-rename.svg</file>
|
||||
<file>qbt-theme/folder-documents.svg</file>
|
||||
<file>qbt-theme/folder-download.svg</file>
|
||||
<file>qbt-theme/folder-new.svg</file>
|
||||
<file>qbt-theme/folder-remote.svg</file>
|
||||
<file>qbt-theme/gear.svg</file>
|
||||
<file>qbt-theme/gear32.svg</file>
|
||||
<file>qbt-theme/go-bottom.svg</file>
|
||||
<file>qbt-theme/go-down.svg</file>
|
||||
<file>qbt-theme/go-top.svg</file>
|
||||
<file>qbt-theme/go-up.svg</file>
|
||||
<file>qbt-theme/help-about.svg</file>
|
||||
<file>qbt-theme/help-contents.svg</file>
|
||||
<file>qbt-theme/inode-directory.svg</file>
|
||||
<file>qbt-theme/insert-link.svg</file>
|
||||
<file>qbt-theme/kt-magnet.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/list-add.png</file>
|
||||
<file>qbt-theme/list-remove.png</file>
|
||||
<file>qbt-theme/mail-folder-inbox.png</file>
|
||||
<file>qbt-theme/mail-mark-read.png</file>
|
||||
<file>qbt-theme/media-playback-pause.png</file>
|
||||
<file>qbt-theme/media-playback-start.png</file>
|
||||
<file>qbt-theme/media-seek-forward.png</file>
|
||||
<file>qbt-theme/network-server.png</file>
|
||||
<file>qbt-theme/network-wired.png</file>
|
||||
<file>qbt-theme/object-locked.png</file>
|
||||
<file>qbt-theme/office-chart-line.png</file>
|
||||
<file>qbt-theme/preferences-desktop.png</file>
|
||||
<file>qbt-theme/preferences-other.png</file>
|
||||
<file>qbt-theme/preferences-system-network.png</file>
|
||||
<file>qbt-theme/preferences-web-browser-cookies.png</file>
|
||||
<file>qbt-theme/list-add.svg</file>
|
||||
<file>qbt-theme/list-remove.svg</file>
|
||||
<file>qbt-theme/mail-folder-inbox.svg</file>
|
||||
<file>qbt-theme/mail-mark-read.svg</file>
|
||||
<file>qbt-theme/media-playback-pause.svg</file>
|
||||
<file>qbt-theme/media-playback-start.svg</file>
|
||||
<file>qbt-theme/media-seek-forward.svg</file>
|
||||
<file>qbt-theme/network-server.svg</file>
|
||||
<file>qbt-theme/network-wired.svg</file>
|
||||
<file>qbt-theme/object-locked.svg</file>
|
||||
<file>qbt-theme/office-chart-line.svg</file>
|
||||
<file>qbt-theme/preferences-desktop.svg</file>
|
||||
<file>qbt-theme/preferences-other.svg</file>
|
||||
<file>qbt-theme/preferences-system-network.svg</file>
|
||||
<file>qbt-theme/preferences-web-browser-cookies.svg</file>
|
||||
<file>qbt-theme/rss-config.png</file>
|
||||
<file>qbt-theme/security-high.png</file>
|
||||
<file>qbt-theme/security-low.png</file>
|
||||
<file>qbt-theme/services.png</file>
|
||||
<file>qbt-theme/speedometer.png</file>
|
||||
<file>qbt-theme/system-log-out.png</file>
|
||||
<file>qbt-theme/tab-close.png</file>
|
||||
<file>qbt-theme/task-attention.png</file>
|
||||
<file>qbt-theme/security-high.svg</file>
|
||||
<file>qbt-theme/security-low.svg</file>
|
||||
<file>qbt-theme/services.svg</file>
|
||||
<file>qbt-theme/speedometer.svg</file>
|
||||
<file>qbt-theme/system-log-out.svg</file>
|
||||
<file>qbt-theme/tab-close.svg</file>
|
||||
<file>qbt-theme/task-attention.svg</file>
|
||||
<file>qbt-theme/task-complete.png</file>
|
||||
<file>qbt-theme/task-ongoing.png</file>
|
||||
<file>qbt-theme/task-reject.png</file>
|
||||
<file>qbt-theme/text-plain.png</file>
|
||||
<file>qbt-theme/tools-report-bug.png</file>
|
||||
<file>qbt-theme/unavailable.png</file>
|
||||
<file>qbt-theme/user-group-delete.png</file>
|
||||
<file>qbt-theme/user-group-new.png</file>
|
||||
<file>qbt-theme/view-calendar-journal.png</file>
|
||||
<file>qbt-theme/view-categories.png</file>
|
||||
<file>qbt-theme/view-filter.png</file>
|
||||
<file>qbt-theme/view-preview.png</file>
|
||||
<file>qbt-theme/view-refresh.png</file>
|
||||
<file>qbt-theme/view-statistics.png</file>
|
||||
<file>qbt-theme/wallet-open.png</file>
|
||||
<file>qbt-theme/webui.png</file>
|
||||
<file>qbt-theme/text-plain.svg</file>
|
||||
<file>qbt-theme/tools-report-bug.svg</file>
|
||||
<file>qbt-theme/unavailable.svg</file>
|
||||
<file>qbt-theme/user-group-delete.svg</file>
|
||||
<file>qbt-theme/user-group-new.svg</file>
|
||||
<file>qbt-theme/view-calendar-journal.svg</file>
|
||||
<file>qbt-theme/view-categories.svg</file>
|
||||
<file>qbt-theme/view-filter.svg</file>
|
||||
<file>qbt-theme/view-preview.svg</file>
|
||||
<file>qbt-theme/view-refresh.svg</file>
|
||||
<file>qbt-theme/view-statistics.svg</file>
|
||||
<file>qbt-theme/wallet-open.svg</file>
|
||||
<file>qbt-theme/webui.svg</file>
|
||||
<file>skin/arrow-right.gif</file>
|
||||
<file>skin/bg-dropdown.gif</file>
|
||||
<file>skin/bg-handle-horizontal.gif</file>
|
||||
<file>skin/bg-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/completed.png</file>
|
||||
<file>skin/connected.png</file>
|
||||
<file>skin/disconnected.png</file>
|
||||
<file>skin/completed.svg</file>
|
||||
<file>skin/connected.svg</file>
|
||||
<file>skin/disconnected.svg</file>
|
||||
<file>skin/dock-tabs.gif</file>
|
||||
<file>skin/download.png</file>
|
||||
<file>skin/downloading.png</file>
|
||||
<file>skin/error.png</file>
|
||||
<file>skin/filteractive.png</file>
|
||||
<file>skin/filterall.png</file>
|
||||
<file>skin/filterinactive.png</file>
|
||||
<file>skin/firewalled.png</file>
|
||||
<file>skin/download.svg</file>
|
||||
<file>skin/downloading.svg</file>
|
||||
<file>skin/error.svg</file>
|
||||
<file>skin/filteractive.svg</file>
|
||||
<file>skin/filterall.svg</file>
|
||||
<file>skin/filterinactive.svg</file>
|
||||
<file>skin/firewalled.svg</file>
|
||||
<file>skin/handle-icon-horizontal.gif</file>
|
||||
<file>skin/handle-icon.gif</file>
|
||||
<file>skin/knob.gif</file>
|
||||
@ -357,26 +357,26 @@
|
||||
<file>skin/logo.gif</file>
|
||||
<file>skin/logo2.gif</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-dark.svg</file>
|
||||
<file>skin/qbittorrent-tray-light.svg</file>
|
||||
<file>skin/qbittorrent32.png</file>
|
||||
<file>skin/queued.png</file>
|
||||
<file>skin/ratio.png</file>
|
||||
<file>skin/resumed.png</file>
|
||||
<file>skin/seeding.png</file>
|
||||
<file>skin/queued.svg</file>
|
||||
<file>skin/ratio.svg</file>
|
||||
<file>skin/resumed.svg</file>
|
||||
<file>skin/seeding.svg</file>
|
||||
<file>skin/slider-area.gif</file>
|
||||
<file>skin/spacer.gif</file>
|
||||
<file>skin/spinner-placeholder.gif</file>
|
||||
<file>skin/spinner.gif</file>
|
||||
<file>skin/splash.png</file>
|
||||
<file>skin/stalledDL.png</file>
|
||||
<file>skin/stalledUP.png</file>
|
||||
<file>skin/stalledDL.svg</file>
|
||||
<file>skin/stalledUP.svg</file>
|
||||
<file>skin/tabs.gif</file>
|
||||
<file>skin/toolbox-divider.gif</file>
|
||||
<file>skin/toolbox-divider2.gif</file>
|
||||
<file>skin/uploading.png</file>
|
||||
<file>skin/uploading.svg</file>
|
||||
<file>slow.png</file>
|
||||
<file>slow_off.png</file>
|
||||
<file>sphere.png</file>
|
||||
|
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 478 B |
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 878 B After Width: | Height: | Size: 878 B |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 338 B After Width: | Height: | Size: 338 B |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 663 B After Width: | Height: | Size: 663 B |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 796 B After Width: | Height: | Size: 796 B |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 585 B After Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1013 B After Width: | Height: | Size: 1013 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 801 B After Width: | Height: | Size: 801 B |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 817 B After Width: | Height: | Size: 817 B |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 824 B After Width: | Height: | Size: 824 B |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 732 B After Width: | Height: | Size: 732 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 711 B |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 805 B After Width: | Height: | Size: 805 B |
Before Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 478 B |
Before Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 780 B After Width: | Height: | Size: 780 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 782 B After Width: | Height: | Size: 782 B |
Before Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 928 B After Width: | Height: | Size: 928 B |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 941 B After Width: | Height: | Size: 941 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 711 B |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 993 B |
Before Width: | Height: | Size: 566 B After Width: | Height: | Size: 566 B |
Before Width: | Height: | Size: 755 B |
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 445 B |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 564 B |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 472 B After Width: | Height: | Size: 472 B |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 796 B After Width: | Height: | Size: 796 B |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 833 B After Width: | Height: | Size: 833 B |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 941 B After Width: | Height: | Size: 941 B |
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 824 B After Width: | Height: | Size: 824 B |
Before Width: | Height: | Size: 639 B |
Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 693 B |
Before Width: | Height: | Size: 395 B After Width: | Height: | Size: 395 B |