]> granicus.if.org Git - transmission/commitdiff
#5848: Use theme-provided icons in Qt client (patch by equeim + small additions)
authorMike Gelfand <mikedld@mikedld.com>
Fri, 12 Dec 2014 21:47:22 +0000 (21:47 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Fri, 12 Dec 2014 21:47:22 +0000 (21:47 +0000)
qt/about.cc
qt/app.cc
qt/mainwin.cc

index e4c56b5d0cd021098dc992865cd08856db4b65ab..9650e36d8efad0569b04341093f2c3138965d061 100644 (file)
@@ -7,8 +7,10 @@
  * $Id$
  */
 
+#include <QApplication>
 #include <QDialogButtonBox>
 #include <QFont>
+#include <QIcon>
 #include <QLabel>
 #include <QMessageBox>
 #include <QPixmap>
@@ -34,7 +36,7 @@ AboutDialog :: AboutDialog (QWidget * parent):
   QVBoxLayout * v = new QVBoxLayout (this);
 
   l = new QLabel;
-  l->setPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-48.png")));
+  l->setPixmap (QApplication::windowIcon ().pixmap (48));
   l->setAlignment (Qt::AlignCenter);
   v->addWidget (l);
 
index c301cefd704cccbb3ead2a69a3f39910d0b13455..2ade621e22b7e26a507bb9d7e38cfeb76b53b0a4 100644 (file)
--- a/qt/app.cc
+++ b/qt/app.cc
@@ -106,11 +106,14 @@ MyApp :: MyApp (int& argc, char ** argv):
   Formatter::initUnits ();
 
   // set the default icon
-  QIcon icon;
-  QList<int> sizes;
-  sizes << 16 << 22 << 24 << 32 << 48 << 64 << 72 << 96 << 128 << 192 << 256;
-  foreach (int size, sizes)
-    icon.addPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-%1.png").arg (size)));
+  QIcon icon = QIcon::fromTheme ("transmission");
+  if (icon.isNull ())
+    {
+      QList<int> sizes;
+      sizes << 16 << 22 << 24 << 32 << 48 << 64 << 72 << 96 << 128 << 192 << 256;
+      foreach (int size, sizes)
+        icon.addPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-%1.png").arg (size)));
+    }
   setWindowIcon (icon);
 
   // parse the command-line arguments
index 6ca3058405ee274683dee51a90ee6c28f49d392d..5dc619deea625621e33c00970ac018b25308e07d 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <QtGui>
 #include <QCheckBox>
+#include <QIcon>
 #include <QProxyStyle>
 #include <QLabel>
 #include <QFileDialog>
@@ -233,7 +234,7 @@ TrMainWindow :: TrMainWindow (Session& session, Prefs& prefs, TorrentModel& mode
   menu->addSeparator ();
   menu->addAction (ui.action_Quit);
   myTrayIcon.setContextMenu (menu);
-  myTrayIcon.setIcon (QApplication::windowIcon ());
+  myTrayIcon.setIcon (QIcon::fromTheme ("transmission-tray-icon", QApplication::windowIcon ()));
 
   connect (&myPrefs, SIGNAL (changed (int)), this, SLOT (refreshPref (int)));
   connect (ui.action_ShowMainWindow, SIGNAL (triggered (bool)), this, SLOT (toggleWindows (bool)));