Browse Source

Merge pull request #6250 from evsh/fix-icon-names

Fix icon rendering in Linux
adaptive-webui-19844
sledgehammer999 8 years ago committed by GitHub
parent
commit
d686f2dda6
  1. 16
      src/gui/guiiconprovider.cpp
  2. 1
      src/gui/guiiconprovider.h
  3. 10
      src/gui/mainwindow.cpp
  4. 4
      src/gui/optionsdlg.cpp
  5. 2
      src/gui/rss/rss_imp.cpp
  6. 6
      src/gui/transferlistwidget.cpp
  7. 11
      src/icons.qrc
  8. 0
      src/icons/qbt-theme/build-icons/icons/configure.svg
  9. 16
      src/icons/qbt-theme/build-icons/icons/folder-download.svg
  10. 0
      src/icons/qbt-theme/build-icons/icons/speedometer.svg
  11. 0
      src/icons/qbt-theme/configure.png
  12. BIN
      src/icons/qbt-theme/folder-download.png
  13. 0
      src/icons/qbt-theme/kt-magnet.png
  14. 0
      src/icons/qbt-theme/kt-set-max-download-speed.png
  15. 0
      src/icons/qbt-theme/kt-set-max-upload-speed.png
  16. 0
      src/icons/qbt-theme/speedometer.png
  17. 6
      src/webui/www/private/index.html

16
src/gui/guiiconprovider.cpp

@ -57,10 +57,17 @@ GuiIconProvider *GuiIconProvider::instance() @@ -57,10 +57,17 @@ GuiIconProvider *GuiIconProvider::instance()
}
QIcon GuiIconProvider::getIcon(const QString &iconId)
{
return getIcon(iconId, iconId);
}
QIcon GuiIconProvider::getIcon(const QString &iconId, const QString &fallback)
{
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
if (m_useSystemTheme) {
QIcon icon = QIcon::fromTheme(iconId, QIcon(IconProvider::getIconPath(iconId)));
QIcon icon = QIcon::fromTheme(iconId);
if (icon.name() != iconId)
icon = QIcon::fromTheme(fallback, QIcon(IconProvider::getIconPath(iconId)));
icon = generateDifferentSizes(icon);
return icon;
}
@ -81,6 +88,13 @@ QIcon GuiIconProvider::getFlagIcon(const QString &countryIsoCode) @@ -81,6 +88,13 @@ QIcon GuiIconProvider::getFlagIcon(const QString &countryIsoCode)
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))
QIcon GuiIconProvider::generateDifferentSizes(const QIcon &icon)
{
// 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;
QList<QSize> requiredSizes;
requiredSizes << QSize(16, 16) << QSize(24, 24) << QSize(32, 32);

1
src/gui/guiiconprovider.h

@ -44,6 +44,7 @@ public: @@ -44,6 +44,7 @@ public:
static GuiIconProvider *instance();
QIcon getIcon(const QString &iconId);
QIcon getIcon(const QString &iconId, const QString &fallback);
QIcon getFlagIcon(const QString &countryIsoCode);
QString getIconPath(const QString &iconId);

10
src/gui/mainwindow.cpp

@ -150,10 +150,10 @@ MainWindow::MainWindow(QWidget *parent) @@ -150,10 +150,10 @@ MainWindow::MainWindow(QWidget *parent)
m_ui->actionOpen->setIcon(GuiIconProvider::instance()->getIcon("list-add"));
m_ui->actionDownloadFromURL->setIcon(GuiIconProvider::instance()->getIcon("insert-link"));
m_ui->actionSetUploadLimit->setIcon(QIcon(":/icons/skin/uploadLimit.png"));
m_ui->actionSetDownloadLimit->setIcon(QIcon(":/icons/skin/downloadLimit.png"));
m_ui->actionSetGlobalUploadLimit->setIcon(QIcon(":/icons/skin/uploadLimit.png"));
m_ui->actionSetGlobalDownloadLimit->setIcon(QIcon(":/icons/skin/downloadLimit.png"));
m_ui->actionSetUploadLimit->setIcon(GuiIconProvider::instance()->getIcon("kt-set-max-upload-speed"));
m_ui->actionSetDownloadLimit->setIcon(GuiIconProvider::instance()->getIcon("kt-set-max-download-speed"));
m_ui->actionSetGlobalUploadLimit->setIcon(GuiIconProvider::instance()->getIcon("kt-set-max-upload-speed"));
m_ui->actionSetGlobalDownloadLimit->setIcon(GuiIconProvider::instance()->getIcon("kt-set-max-download-speed"));
m_ui->actionCreateTorrent->setIcon(GuiIconProvider::instance()->getIcon("document-edit"));
m_ui->actionAbout->setIcon(GuiIconProvider::instance()->getIcon("help-about"));
m_ui->actionStatistics->setIcon(GuiIconProvider::instance()->getIcon("view-statistics"));
@ -166,7 +166,7 @@ MainWindow::MainWindow(QWidget *parent) @@ -166,7 +166,7 @@ MainWindow::MainWindow(QWidget *parent)
m_ui->actionIncreasePriority->setIcon(GuiIconProvider::instance()->getIcon("go-up"));
m_ui->actionTopPriority->setIcon(GuiIconProvider::instance()->getIcon("go-top"));
m_ui->actionLock->setIcon(GuiIconProvider::instance()->getIcon("object-locked"));
m_ui->actionOptions->setIcon(GuiIconProvider::instance()->getIcon("preferences-system"));
m_ui->actionOptions->setIcon(GuiIconProvider::instance()->getIcon("configure", "open-menu"));
m_ui->actionPause->setIcon(GuiIconProvider::instance()->getIcon("media-playback-pause"));
m_ui->actionPauseAll->setIcon(GuiIconProvider::instance()->getIcon("media-playback-pause"));
m_ui->actionStart->setIcon(GuiIconProvider::instance()->getIcon("media-playback-start"));

4
src/gui/optionsdlg.cpp

@ -80,8 +80,8 @@ OptionsDialog::OptionsDialog(QWidget *parent) @@ -80,8 +80,8 @@ OptionsDialog::OptionsDialog(QWidget *parent)
m_ui->tabSelection->item(TAB_UI)->setIcon(GuiIconProvider::instance()->getIcon("preferences-desktop"));
m_ui->tabSelection->item(TAB_BITTORRENT)->setIcon(GuiIconProvider::instance()->getIcon("preferences-system-network"));
m_ui->tabSelection->item(TAB_CONNECTION)->setIcon(GuiIconProvider::instance()->getIcon("network-wired"));
m_ui->tabSelection->item(TAB_DOWNLOADS)->setIcon(GuiIconProvider::instance()->getIcon("download"));
m_ui->tabSelection->item(TAB_SPEED)->setIcon(GuiIconProvider::instance()->getIcon("chronometer"));
m_ui->tabSelection->item(TAB_DOWNLOADS)->setIcon(GuiIconProvider::instance()->getIcon("folder-download"));
m_ui->tabSelection->item(TAB_SPEED)->setIcon(GuiIconProvider::instance()->getIcon("speedometer", "chronometer"));
#ifndef DISABLE_WEBUI
m_ui->tabSelection->item(TAB_WEBUI)->setIcon(GuiIconProvider::instance()->getIcon("network-server"));
#else

2
src/gui/rss/rss_imp.cpp

@ -702,7 +702,7 @@ RSSImp::RSSImp(QWidget *parent): @@ -702,7 +702,7 @@ RSSImp::RSSImp(QWidget *parent):
markReadButton->setIcon(GuiIconProvider::instance()->getIcon("mail-mark-read"));
updateAllButton->setIcon(GuiIconProvider::instance()->getIcon("view-refresh"));
rssDownloaderBtn->setIcon(GuiIconProvider::instance()->getIcon("download"));
settingsButton->setIcon(GuiIconProvider::instance()->getIcon("preferences-system"));
settingsButton->setIcon(GuiIconProvider::instance()->getIcon("configure", "open-menu"));
m_feedList = new FeedListWidget(splitterSide, m_rssManager);
splitterSide->insertWidget(0, m_feedList);

6
src/gui/transferlistwidget.cpp

@ -654,9 +654,9 @@ void TransferListWidget::displayListMenu(const QPoint&) @@ -654,9 +654,9 @@ void TransferListWidget::displayListMenu(const QPoint&)
connect(&actionPreview_file, SIGNAL(triggered()), this, SLOT(previewSelectedTorrents()));
QAction actionSet_max_ratio(QIcon(QString::fromUtf8(":/icons/skin/ratio.png")), tr("Limit share ratio..."), 0);
connect(&actionSet_max_ratio, SIGNAL(triggered()), this, SLOT(setMaxRatioSelectedTorrents()));
QAction actionSet_upload_limit(QIcon(QString::fromUtf8(":/icons/skin/uploadLimit.png")), tr("Limit upload rate..."), 0);
QAction actionSet_upload_limit(GuiIconProvider::instance()->getIcon("kt-set-max-upload-speed"), tr("Limit upload rate..."), 0);
connect(&actionSet_upload_limit, SIGNAL(triggered()), this, SLOT(setUpLimitSelectedTorrents()));
QAction actionSet_download_limit(QIcon(QString::fromUtf8(":/icons/skin/downloadLimit.png")), tr("Limit download rate..."), 0);
QAction actionSet_download_limit(GuiIconProvider::instance()->getIcon("kt-set-max-download-speed"), tr("Limit download rate..."), 0);
connect(&actionSet_download_limit, SIGNAL(triggered()), this, SLOT(setDlLimitSelectedTorrents()));
QAction actionOpen_destination_folder(GuiIconProvider::instance()->getIcon("inode-directory"), tr("Open destination folder"), 0);
connect(&actionOpen_destination_folder, SIGNAL(triggered()), this, SLOT(openSelectedTorrentsFolder()));
@ -672,7 +672,7 @@ void TransferListWidget::displayListMenu(const QPoint&) @@ -672,7 +672,7 @@ void TransferListWidget::displayListMenu(const QPoint&)
connect(&actionSetTorrentPath, SIGNAL(triggered()), this, SLOT(setSelectedTorrentsLocation()));
QAction actionForce_recheck(GuiIconProvider::instance()->getIcon("document-edit-verify"), tr("Force recheck"), 0);
connect(&actionForce_recheck, SIGNAL(triggered()), this, SLOT(recheckSelectedTorrents()));
QAction actionCopy_magnet_link(QIcon(":/icons/magnet.png"), tr("Copy magnet link"), 0);
QAction actionCopy_magnet_link(GuiIconProvider::instance()->getIcon("kt-magnet"), tr("Copy magnet link"), 0);
connect(&actionCopy_magnet_link, SIGNAL(triggered()), this, SLOT(copySelectedMagnetURIs()));
QAction actionCopy_name(GuiIconProvider::instance()->getIcon("edit-copy"), tr("Copy name"), 0);
connect(&actionCopy_name, SIGNAL(triggered()), this, SLOT(copySelectedNames()));

11
src/icons.qrc

@ -4,7 +4,6 @@ @@ -4,7 +4,6 @@
<file>icons/3-state-checkbox.gif</file>
<file>icons/L.gif</file>
<file>icons/loading.png</file>
<file>icons/magnet.png</file>
<file>icons/slow.png</file>
<file>icons/slow_off.png</file>
<file>icons/sphere.png</file>
@ -254,7 +253,7 @@ @@ -254,7 +253,7 @@
<file>icons/qbt-theme/application-exit.png</file>
<file>icons/qbt-theme/application-rss+xml.png</file>
<file>icons/qbt-theme/application-x-mswinurl.png</file>
<file>icons/qbt-theme/chronometer.png</file>
<file>icons/qbt-theme/configure.png</file>
<file>icons/qbt-theme/dialog-cancel.png</file>
<file>icons/qbt-theme/dialog-information.png</file>
<file>icons/qbt-theme/dialog-warning.png</file>
@ -276,6 +275,7 @@ @@ -276,6 +275,7 @@
<file>icons/qbt-theme/edit-paste.png</file>
<file>icons/qbt-theme/edit-rename.png</file>
<file>icons/qbt-theme/folder-documents.png</file>
<file>icons/qbt-theme/folder-download.png</file>
<file>icons/qbt-theme/folder-new.png</file>
<file>icons/qbt-theme/folder-remote.png</file>
<file>icons/qbt-theme/gear.png</file>
@ -286,6 +286,9 @@ @@ -286,6 +286,9 @@
<file>icons/qbt-theme/help-contents.png</file>
<file>icons/qbt-theme/inode-directory.png</file>
<file>icons/qbt-theme/insert-link.png</file>
<file>icons/qbt-theme/kt-magnet.png</file>
<file>icons/qbt-theme/kt-set-max-download-speed.png</file>
<file>icons/qbt-theme/kt-set-max-upload-speed.png</file>
<file>icons/qbt-theme/list-add.png</file>
<file>icons/qbt-theme/list-remove.png</file>
<file>icons/qbt-theme/mail-folder-inbox.png</file>
@ -299,11 +302,11 @@ @@ -299,11 +302,11 @@
<file>icons/qbt-theme/preferences-desktop.png</file>
<file>icons/qbt-theme/preferences-other.png</file>
<file>icons/qbt-theme/preferences-system-network.png</file>
<file>icons/qbt-theme/preferences-system.png</file>
<file>icons/qbt-theme/preferences-web-browser-cookies.png</file>
<file>icons/qbt-theme/security-high.png</file>
<file>icons/qbt-theme/security-low.png</file>
<file>icons/qbt-theme/services.png</file>
<file>icons/qbt-theme/speedometer.png</file>
<file>icons/qbt-theme/tab-close.png</file>
<file>icons/qbt-theme/task-attention.png</file>
<file>icons/qbt-theme/task-complete.png</file>
@ -373,7 +376,5 @@ @@ -373,7 +376,5 @@
<file>icons/qbt-theme/go-top.png</file>
<file>icons/qbt-theme/checked.png</file>
<file>icons/qbt-theme/office-chart-line.png</file>
<file>icons/skin/downloadLimit.png</file>
<file>icons/skin/uploadLimit.png</file>
</qresource>
</RCC>

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

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

16
src/icons/qbt-theme/build-icons/icons/folder-download.svg

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 32 32" enable-background="new 0 0 32 32" xml:space="preserve">
<g>
<path fill="#375273" d="M28.5,21.3v4.8c0,0.4-0.1,0.7-0.4,1s-0.6,0.4-1,0.4H4.9c-0.4,0-0.7-0.1-1-0.4s-0.4-0.6-0.4-1v-4.8
c0-0.4,0.1-0.7,0.4-1s0.6-0.4,1-0.4h7l2,2c0.6,0.6,1.3,0.8,2,0.8c0.8,0,1.5-0.3,2-0.8l2-2h7c0.4,0,0.7,0.1,1,0.4
S28.5,20.9,28.5,21.3z M23.6,12.7c0.2,0.4,0.1,0.8-0.2,1.1l-6.8,6.8c-0.2,0.2-0.4,0.3-0.7,0.3c-0.3,0-0.5-0.1-0.7-0.3l-6.8-6.8
c-0.3-0.3-0.4-0.6-0.2-1.1c0.2-0.4,0.5-0.6,0.9-0.6h3.9V5.4c0-0.3,0.1-0.5,0.3-0.7c0.2-0.2,0.4-0.3,0.7-0.3h3.9
c0.3,0,0.5,0.1,0.7,0.3s0.3,0.4,0.3,0.7v6.8h3.9C23.2,12.1,23.5,12.3,23.6,12.7z M22.5,25.4c0.2-0.2,0.3-0.4,0.3-0.7
c0-0.3-0.1-0.5-0.3-0.7c-0.2-0.2-0.4-0.3-0.7-0.3s-0.5,0.1-0.7,0.3c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7
c0.2,0.2,0.4,0.3,0.7,0.3S22.3,25.5,22.5,25.4z M26.3,25.4c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7s-0.4-0.3-0.7-0.3
c-0.3,0-0.5,0.1-0.7,0.3s-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7s0.4,0.3,0.7,0.3C25.9,25.6,26.1,25.5,26.3,25.4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

0
src/icons/qbt-theme/build-icons/icons/chronometer.svg → src/icons/qbt-theme/build-icons/icons/speedometer.svg

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

0
src/icons/qbt-theme/preferences-system.png → src/icons/qbt-theme/configure.png

Before

Width:  |  Height:  |  Size: 6.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

0
src/icons/magnet.png → src/icons/qbt-theme/kt-magnet.png

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

0
src/icons/skin/downloadLimit.png → src/icons/qbt-theme/kt-set-max-download-speed.png

Before

Width:  |  Height:  |  Size: 435 B

After

Width:  |  Height:  |  Size: 435 B

0
src/icons/skin/uploadLimit.png → src/icons/qbt-theme/kt-set-max-upload-speed.png

Before

Width:  |  Height:  |  Size: 406 B

After

Width:  |  Height:  |  Size: 406 B

0
src/icons/qbt-theme/chronometer.png → src/icons/qbt-theme/speedometer.png

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

6
src/webui/www/private/index.html

@ -68,7 +68,7 @@ @@ -68,7 +68,7 @@
<li>
<a class="returnFalse">QBT_TR(&Tools)QBT_TR</a>
<ul>
<li><a id="preferencesLink"><img class="MyMenuIcon" src="theme/preferences-system" alt="QBT_TR(&Options...)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Options...)QBT_TR</a></li>
<li><a id="preferencesLink"><img class="MyMenuIcon" src="theme/configure" alt="QBT_TR(&Options...)QBT_TR" width="16" height="16" onload="fixPNG(this)"/>QBT_TR(&Options...)QBT_TR</a></li>
</ul>
</li>
<li>
@ -118,8 +118,8 @@ @@ -118,8 +118,8 @@
<li><a href="#prioBottom"><img src="theme/go-bottom" alt="QBT_TR(Move to bottom)QBT_TR"/> QBT_TR(Move to bottom)QBT_TR</a></li>
</ul>
</li>
<li class="separator"><a href="#DownloadLimit"><img src="images/skin/downloadLimit.png" alt="QBT_TR(Limit download rate...)QBT_TR"/> QBT_TR(Limit download rate...)QBT_TR</a></li>
<li><a href="#UploadLimit"><img src="images/skin/uploadLimit.png" alt="QBT_TR(Limit upload rate...)QBT_TR"/> QBT_TR(Limit upload rate...)QBT_TR</a></li>
<li class="separator"><a href="#DownloadLimit"><img src="theme/kt-set-max-download-speed" alt="QBT_TR(Limit download rate...)QBT_TR"/> QBT_TR(Limit download rate...)QBT_TR</a></li>
<li><a href="#UploadLimit"><img src="theme/kt-set-max-upload-speed" alt="QBT_TR(Limit upload rate...)QBT_TR"/> QBT_TR(Limit upload rate...)QBT_TR</a></li>
<li><a href="#SuperSeeding"><img src="theme/checked" alt="QBT_TR(Super seeding mode)QBT_TR"/> QBT_TR(Super seeding mode)QBT_TR</a></li>
<li class="separator"><a href="#SequentialDownload"><img src="theme/checked" alt="QBT_TR(Download in sequential order)QBT_TR"/> QBT_TR(Download in sequential order)QBT_TR</a></li>
<li><a href="#FirstLastPiecePrio"><img src="theme/checked" alt="QBT_TR(Download first and last pieces first)QBT_TR"/> QBT_TR(Download first and last pieces first)QBT_TR</a></li>

Loading…
Cancel
Save