Browse Source

Initial support for system Icons (incomplete but good progress)

adaptive-webui-19844
Christophe Dumez 14 years ago
parent
commit
052825e5c4
  1. BIN
      src/Icons/oxygen/browse.png
  2. BIN
      src/Icons/oxygen/bt_settings.png
  3. BIN
      src/Icons/oxygen/bug.png
  4. BIN
      src/Icons/oxygen/button_cancel.png
  5. BIN
      src/Icons/oxygen/button_ok.png
  6. BIN
      src/Icons/oxygen/connection.png
  7. BIN
      src/Icons/oxygen/cookies.png
  8. BIN
      src/Icons/oxygen/document-new.png
  9. BIN
      src/Icons/oxygen/download.png
  10. BIN
      src/Icons/oxygen/edit-find.png
  11. BIN
      src/Icons/oxygen/edit_clear.png
  12. BIN
      src/Icons/oxygen/emblem-favorite.png
  13. BIN
      src/Icons/oxygen/encrypted.png
  14. BIN
      src/Icons/oxygen/encrypted32.png
  15. BIN
      src/Icons/oxygen/feed-subscribe.png
  16. BIN
      src/Icons/oxygen/file.png
  17. BIN
      src/Icons/oxygen/folder-documents.png
  18. BIN
      src/Icons/oxygen/folder-new.png
  19. BIN
      src/Icons/oxygen/folder-remote16.png
  20. BIN
      src/Icons/oxygen/folder.png
  21. BIN
      src/Icons/oxygen/go-bottom.png
  22. BIN
      src/Icons/oxygen/go-down.png
  23. BIN
      src/Icons/oxygen/go-top.png
  24. BIN
      src/Icons/oxygen/go-up.png
  25. BIN
      src/Icons/oxygen/help-about.png
  26. BIN
      src/Icons/oxygen/list-add.png
  27. BIN
      src/Icons/oxygen/list-remove.png
  28. BIN
      src/Icons/oxygen/log.png
  29. BIN
      src/Icons/oxygen/network-server.png
  30. BIN
      src/Icons/oxygen/peer.png
  31. BIN
      src/Icons/oxygen/proxy.png
  32. BIN
      src/Icons/oxygen/remove.png
  33. BIN
      src/Icons/oxygen/run-build.png
  34. BIN
      src/Icons/oxygen/subscribe.png
  35. BIN
      src/Icons/oxygen/subscribe16.png
  36. BIN
      src/Icons/oxygen/unsubscribe.png
  37. BIN
      src/Icons/oxygen/unsubscribe16.png
  38. BIN
      src/Icons/oxygen/urlseed.png
  39. 0
      src/Icons/oxygen/view-filter.png
  40. BIN
      src/Icons/rss16.png
  41. BIN
      src/Icons/rss32.png
  42. 21
      src/confirmdeletiondlg.ui
  43. 16
      src/console.ui
  44. 3
      src/console_imp.h
  45. 5
      src/deletionconfirmationdlg.h
  46. 60
      src/icons.qrc
  47. 52
      src/mainwindow.cpp
  48. 1
      src/mainwindow.h
  49. 59
      src/mainwindow.ui
  50. 16
      src/misc.h
  51. 65
      src/preferences/options.ui
  52. 10
      src/preferences/options_imp.cpp
  53. 2
      src/preferences/options_imp.h
  54. 6
      src/properties/peerlistwidget.cpp
  55. 8
      src/properties/propertieswidget.cpp
  56. 35
      src/properties/propertieswidget.ui
  57. 11
      src/properties/proptabbar.cpp
  58. 6
      src/properties/trackerlist.cpp
  59. 2
      src/properties/trackersadditiondlg.h
  60. 12
      src/properties/trackersadditiondlg.ui
  61. 15
      src/rss/automatedrssdownloader.cpp
  62. 18
      src/rss/automatedrssdownloader.ui
  63. 5
      src/rss/cookiesdlg.cpp
  64. 16
      src/rss/cookiesdlg.ui
  65. 4
      src/rss/feedlistwidget.cpp
  66. 60
      src/rss/rss.ui
  67. 21
      src/rss/rss_imp.cpp
  68. 2
      src/rss/rssfeed.cpp
  69. 2
      src/rss/rsssettingsdlg.ui
  70. 8
      src/searchengine/engineselect.ui
  71. 51
      src/searchengine/engineselectdlg.cpp
  72. 3
      src/searchengine/engineselectdlg.h
  73. 18
      src/searchengine/searchengine.cpp
  74. 5
      src/torrentadditiondlg.cpp
  75. 12
      src/torrentcreator/createtorrent.ui
  76. 6
      src/torrentcreator/torrentcreatordlg.cpp
  77. 4
      src/torrentfilesmodel.h
  78. 4
      src/torrentimportdlg.cpp
  79. 21
      src/torrentimportdlg.ui
  80. 22
      src/transferlistfilterswidget.h
  81. 37
      src/transferlistwidget.cpp
  82. 8
      src/webui/css/style.css

BIN
src/Icons/oxygen/browse.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 796 B

BIN
src/Icons/oxygen/bt_settings.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

BIN
src/Icons/oxygen/bug.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 733 B

BIN
src/Icons/oxygen/button_cancel.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/Icons/oxygen/button_ok.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/Icons/oxygen/connection.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/Icons/oxygen/cookies.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

BIN
src/Icons/oxygen/document-new.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 873 B

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/Icons/oxygen/download.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
src/Icons/oxygen/edit-find.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/Icons/oxygen/edit_clear.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

BIN
src/Icons/oxygen/emblem-favorite.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

BIN
src/Icons/oxygen/encrypted.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 750 B

BIN
src/Icons/oxygen/encrypted32.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/feed-subscribe.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/file.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 704 B

BIN
src/Icons/oxygen/folder-documents.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
src/Icons/oxygen/folder-new.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 923 B

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
src/Icons/oxygen/folder-remote16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 675 B

BIN
src/Icons/oxygen/folder.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 B

BIN
src/Icons/oxygen/go-bottom.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/go-down.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 B

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/Icons/oxygen/go-top.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 996 B

BIN
src/Icons/oxygen/go-up.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 929 B

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/Icons/oxygen/help-about.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 734 B

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/Icons/oxygen/list-add.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 907 B

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
src/Icons/oxygen/list-remove.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/log.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 541 B

BIN
src/Icons/oxygen/network-server.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/peer.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

BIN
src/Icons/oxygen/proxy.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/Icons/oxygen/remove.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

BIN
src/Icons/oxygen/run-build.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 942 B

BIN
src/Icons/oxygen/subscribe.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/Icons/oxygen/subscribe16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 752 B

BIN
src/Icons/oxygen/unsubscribe.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

BIN
src/Icons/oxygen/unsubscribe16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 765 B

BIN
src/Icons/oxygen/urlseed.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 901 B

0
src/Icons/oxygen/filter.png → src/Icons/oxygen/view-filter.png

Before

Width:  |  Height:  |  Size: 885 B

After

Width:  |  Height:  |  Size: 885 B

BIN
src/Icons/rss16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 B

BIN
src/Icons/rss32.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

21
src/confirmdeletiondlg.ui

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>463</width> <width>463</width>
<height>152</height> <height>128</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy"> <property name="sizePolicy">
@ -23,9 +23,9 @@
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="lbl_warn">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -33,9 +33,6 @@
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="pixmap">
<pixmap resource="../icons.qrc">:/Icons/oxygen/dialog-warning.png</pixmap>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -72,14 +69,10 @@
<property name="text"> <property name="text">
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/encrypted.png</normaloff>:/Icons/oxygen/encrypted.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>20</width> <width>24</width>
<height>18</height> <height>24</height>
</size> </size>
</property> </property>
</widget> </widget>
@ -122,9 +115,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>

16
src/console.ui

@ -13,10 +13,6 @@
<property name="windowTitle"> <property name="windowTitle">
<string>qBittorrent log viewer</string> <string>qBittorrent log viewer</string>
</property> </property>
<property name="windowIcon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/log.png</normaloff>:/Icons/oxygen/log.png</iconset>
</property>
<layout class="QVBoxLayout"> <layout class="QVBoxLayout">
<item> <item>
<widget class="QTabWidget" name="tabConsole"> <widget class="QTabWidget" name="tabConsole">
@ -24,10 +20,6 @@
<number>0</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/log.png</normaloff>:/Icons/oxygen/log.png</iconset>
</attribute>
<attribute name="title"> <attribute name="title">
<string>General</string> <string>General</string>
</attribute> </attribute>
@ -38,10 +30,6 @@
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="tab_2"> <widget class="QWidget" name="tab_2">
<attribute name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/filter.png</normaloff>:/Icons/oxygen/filter.png</iconset>
</attribute>
<attribute name="title"> <attribute name="title">
<string>Blocked IPs</string> <string>Blocked IPs</string>
</attribute> </attribute>
@ -55,8 +43,6 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

3
src/console_imp.h

@ -33,6 +33,7 @@
#include "qbtsession.h" #include "qbtsession.h"
#include "ui_console.h" #include "ui_console.h"
#include "misc.h"
class consoleDlg : public QDialog, private Ui_ConsoleDlg{ class consoleDlg : public QDialog, private Ui_ConsoleDlg{
Q_OBJECT Q_OBJECT
@ -42,6 +43,8 @@ class consoleDlg : public QDialog, private Ui_ConsoleDlg{
setupUi(this); setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
setModal(true); setModal(true);
tabConsole->setTabIcon(0, misc::getIcon("view-calendar-journal"));
tabConsole->setTabIcon(1, misc::getIcon("view-filter"));
textConsole->setHtml(QBtSession::instance()->getConsoleMessages().join("<br>")); textConsole->setHtml(QBtSession::instance()->getConsoleMessages().join("<br>"));
textBannedPeers->setHtml(QBtSession::instance()->getPeerBanMessages().join("<br>")); textBannedPeers->setHtml(QBtSession::instance()->getPeerBanMessages().join("<br>"));
show(); show();

5
src/deletionconfirmationdlg.h

@ -42,6 +42,11 @@ class DeletionConfirmationDlg : public QDialog, private Ui::confirmDeletionDlg {
public: public:
DeletionConfirmationDlg(QWidget *parent=0): QDialog(parent) { DeletionConfirmationDlg(QWidget *parent=0): QDialog(parent) {
setupUi(this); setupUi(this);
// Icons
lbl_warn->setPixmap(misc::getIcon("dialog-warning").pixmap(lbl_warn->height()));
lbl_warn->setFixedWidth(lbl_warn->height());
rememberBtn->setIcon(misc::getIcon("emblem-locked"));
move(misc::screenCenter(this)); move(misc::screenCenter(this));
checkPermDelete->setChecked(Preferences().deleteTorrentFilesAsDefault()); checkPermDelete->setChecked(Preferences().deleteTorrentFilesAsDefault());
connect(checkPermDelete, SIGNAL(clicked()), this, SLOT(updateRememberButtonState())); connect(checkPermDelete, SIGNAL(clicked()), this, SLOT(updateRememberButtonState()));

60
src/icons.qrc

@ -2,8 +2,6 @@
<qresource> <qresource>
<file>Icons/url.png</file> <file>Icons/url.png</file>
<file>Icons/loading.png</file> <file>Icons/loading.png</file>
<file>Icons/rss16.png</file>
<file>Icons/rss32.png</file>
<file>Icons/3-state-checkbox.gif</file> <file>Icons/3-state-checkbox.gif</file>
<file>Icons/uparrow.png</file> <file>Icons/uparrow.png</file>
<file>Icons/sphere.png</file> <file>Icons/sphere.png</file>
@ -304,59 +302,63 @@
<file>Icons/flags/tk.png</file> <file>Icons/flags/tk.png</file>
<file>Icons/flags/bg.png</file> <file>Icons/flags/bg.png</file>
<file>Icons/flags/wf.png</file> <file>Icons/flags/wf.png</file>
<file>Icons/oxygen/peer.png</file> <file>Icons/oxygen/preferences-system.png</file>
<file>Icons/oxygen/unavailable.png</file> <file>Icons/oxygen/unavailable.png</file>
<file>Icons/oxygen/subscribe.png</file> <file>Icons/oxygen/document-edit-verify.png</file>
<file>Icons/oxygen/list-remove.png</file> <file>Icons/oxygen/list-remove.png</file>
<file>Icons/oxygen/dialog-warning.png</file> <file>Icons/oxygen/dialog-warning.png</file>
<file>Icons/oxygen/mail-folder-inbox.png</file> <file>Icons/oxygen/mail-folder-inbox.png</file>
<file>Icons/oxygen/folder.png</file> <file>Icons/oxygen/edit-clear-history.png</file>
<file>Icons/oxygen/edit-copy.png</file> <file>Icons/oxygen/edit-copy.png</file>
<file>Icons/oxygen/folder-documents.png</file> <file>Icons/oxygen/folder-documents.png</file>
<file>Icons/oxygen/urlseed.png</file> <file>Icons/oxygen/network-wired.png</file>
<file>Icons/oxygen/mail-mark-read.png</file>
<file>Icons/oxygen/go-up.png</file> <file>Icons/oxygen/go-up.png</file>
<file>Icons/oxygen/application-exit.png</file>
<file>Icons/oxygen/edit-rename.png</file>
<file>Icons/oxygen/edit-cut.png</file> <file>Icons/oxygen/edit-cut.png</file>
<file>Icons/oxygen/gear32.png</file> <file>Icons/oxygen/gear32.png</file>
<file>Icons/oxygen/go-bottom.png</file> <file>Icons/oxygen/media-playback-start.png</file>
<file>Icons/oxygen/user-group-delete.png</file> <file>Icons/oxygen/user-group-delete.png</file>
<file>Icons/oxygen/unsubscribe.png</file> <file>Icons/oxygen/edit-find-user.png</file>
<file>Icons/oxygen/media-playback-pause.png</file>
<file>Icons/oxygen/tab-close.png</file> <file>Icons/oxygen/tab-close.png</file>
<file>Icons/oxygen/file.png</file> <file>Icons/oxygen/inode-directory.png</file>
<file>Icons/oxygen/tools-report-bug.png</file>
<file>Icons/oxygen/view-filter.png</file>
<file>Icons/oxygen/services.png</file> <file>Icons/oxygen/services.png</file>
<file>Icons/oxygen/view-preview.png</file>
<file>Icons/oxygen/view-refresh.png</file> <file>Icons/oxygen/view-refresh.png</file>
<file>Icons/oxygen/feed-subscribe.png</file> <file>Icons/oxygen/text-plain.png</file>
<file>Icons/oxygen/remove.png</file> <file>Icons/oxygen/edit-delete.png</file>
<file>Icons/oxygen/chronometer.png</file> <file>Icons/oxygen/chronometer.png</file>
<file>Icons/oxygen/filter.png</file> <file>Icons/oxygen/dialog-cancel.png</file>
<file>Icons/oxygen/run-build.png</file> <file>Icons/oxygen/preferences-system-network.png</file>
<file>Icons/oxygen/button_ok.png</file> <file>Icons/oxygen/document-properties.png</file>
<file>Icons/oxygen/user-group-new.png</file> <file>Icons/oxygen/user-group-new.png</file>
<file>Icons/oxygen/cookies.png</file>
<file>Icons/oxygen/network-server.png</file> <file>Icons/oxygen/network-server.png</file>
<file>Icons/oxygen/unsubscribe16.png</file> <file>Icons/oxygen/preferences-web-browser-cookies.png</file>
<file>Icons/oxygen/encrypted32.png</file>
<file>Icons/oxygen/list-add.png</file> <file>Icons/oxygen/list-add.png</file>
<file>Icons/oxygen/edit-paste.png</file> <file>Icons/oxygen/edit-paste.png</file>
<file>Icons/oxygen/folder-remote.png</file> <file>Icons/oxygen/folder-remote.png</file>
<file>Icons/oxygen/help-about.png</file> <file>Icons/oxygen/help-about.png</file>
<file>Icons/oxygen/encrypted.png</file> <file>Icons/oxygen/document-save.png</file>
<file>Icons/oxygen/folder-remote16.png</file>
<file>Icons/oxygen/go-top.png</file>
<file>Icons/oxygen/emblem-favorite.png</file> <file>Icons/oxygen/emblem-favorite.png</file>
<file>Icons/oxygen/edit_clear.png</file>
<file>Icons/oxygen/bug.png</file>
<file>Icons/oxygen/gear.png</file> <file>Icons/oxygen/gear.png</file>
<file>Icons/oxygen/connection.png</file> <file>Icons/oxygen/view-categories.png</file>
<file>Icons/oxygen/emblem-locked.png</file>
<file>Icons/oxygen/document-new.png</file> <file>Icons/oxygen/document-new.png</file>
<file>Icons/oxygen/browse.png</file> <file>Icons/oxygen/dialog-information.png</file>
<file>Icons/oxygen/proxy.png</file> <file>Icons/oxygen/preferences-other.png</file>
<file>Icons/oxygen/button_cancel.png</file> <file>Icons/oxygen/view-calendar-journal.png</file>
<file>Icons/oxygen/application-rss+xml.png</file>
<file>Icons/oxygen/document-encrypt.png</file>
<file>Icons/oxygen/help-contents.png</file>
<file>Icons/oxygen/preferences-desktop.png</file> <file>Icons/oxygen/preferences-desktop.png</file>
<file>Icons/oxygen/bt_settings.png</file> <file>Icons/oxygen/application-x-mswinurl.png</file>
<file>Icons/oxygen/go-down.png</file> <file>Icons/oxygen/go-down.png</file>
<file>Icons/oxygen/subscribe16.png</file> <file>Icons/oxygen/document-import.png</file>
<file>Icons/oxygen/download.png</file> <file>Icons/oxygen/download.png</file>
<file>Icons/oxygen/log.png</file>
<file>Icons/oxygen/edit-find.png</file> <file>Icons/oxygen/edit-find.png</file>
<file>Icons/oxygen/edit-clear.png</file> <file>Icons/oxygen/edit-clear.png</file>
<file>Icons/oxygen/webui.png</file> <file>Icons/oxygen/webui.png</file>

52
src/mainwindow.cpp

@ -101,27 +101,37 @@ MainWindow::MainWindow(QWidget *parent, QStringList torrentCmdLine) : QMainWindo
connect(static_cast<SessionApplication*>(qApp), SIGNAL(sessionIsShuttingDown()), this, SLOT(deleteBTSession())); connect(static_cast<SessionApplication*>(qApp), SIGNAL(sessionIsShuttingDown()), this, SLOT(deleteBTSession()));
// Setting icons // Setting icons
this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png"))); this->setWindowIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png"))); actionOpen->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/open.png"))); // FIXME
actionExit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/exit.png"))); actionDownload_from_URL->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/url.png"))); // FIXME
actionDownload_from_URL->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/url.png")));
actionOptions->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/settings.png")));
actionAbout->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/info.png")));
actionWebsite->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/qbittorrent32.png")));
actionBugReport->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/bug.png")));
actionStart->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/play.png")));
actionPause->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/pause.png")));
actionDelete->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/delete.png")));
actionPause_All->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/pause_all.png")));
actionStart_All->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/play_all.png")));
actionClearLog->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/delete.png")));
actionPreview_file->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/preview.png")));
actionSet_upload_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png"))); actionSet_upload_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png")));
actionSet_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png"))); actionSet_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png")));
actionSet_global_upload_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png"))); actionSet_global_upload_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png")));
actionSet_global_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png"))); actionSet_global_download_limit->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/download.png")));
actionDocumentation->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/qb_question.png"))); actionCreate_torrent->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/new.png")));
actionLock_qBittorrent->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/encrypted32.png"))); actionAbout->setIcon(misc::getIcon("help-about"));
lockMenu = new QMenu(); actionBugReport->setIcon(misc::getIcon("tools-report-bug"));
actionDecreasePriority->setIcon(misc::getIcon("go-down"));
actionDelete->setIcon(misc::getIcon("edit-delete"));
actionDocumentation->setIcon(misc::getIcon("help-contents"));
actionDonate_money->setIcon(misc::getIcon("emblem-favorite"));
actionExit->setIcon(misc::getIcon("application-exit"));
actionIncreasePriority->setIcon(misc::getIcon("go-up"));
actionLock_qBittorrent->setIcon(misc::getIcon("emblem-locked"));
actionOptions->setIcon(misc::getIcon("preferences-system"));
actionPause->setIcon(misc::getIcon("media-playback-pause"));
actionPause_All->setIcon(misc::getIcon("media-playback-pause"));
actionStart->setIcon(misc::getIcon("media-playback-start"));
actionStart_All->setIcon(misc::getIcon("media-playback-start"));
action_Import_Torrent->setIcon(misc::getIcon("list-add"));
actionShow_console->setIcon(misc::getIcon("view-calendar-journal"));
QMenu *startAllMenu = new QMenu(this);
startAllMenu->addAction(actionStart_All);
actionStart->setMenu(startAllMenu);
QMenu *pauseAllMenu = new QMenu(this);
pauseAllMenu->addAction(actionPause_All);
actionPause->setMenu(pauseAllMenu);
QMenu *lockMenu = new QMenu(this);
QAction *defineUiLockPasswdAct = lockMenu->addAction(tr("Set the password...")); QAction *defineUiLockPasswdAct = lockMenu->addAction(tr("Set the password..."));
connect(defineUiLockPasswdAct, SIGNAL(triggered()), this, SLOT(defineUILockPassword())); connect(defineUiLockPasswdAct, SIGNAL(triggered()), this, SLOT(defineUILockPassword()));
actionLock_qBittorrent->setMenu(lockMenu); actionLock_qBittorrent->setMenu(lockMenu);
@ -129,7 +139,6 @@ MainWindow::MainWindow(QWidget *parent, QStringList torrentCmdLine) : QMainWindo
prioSeparator2 = menu_Edit->insertSeparator(actionDecreasePriority); prioSeparator2 = menu_Edit->insertSeparator(actionDecreasePriority);
prioSeparator->setVisible(false); prioSeparator->setVisible(false);
prioSeparator2->setVisible(false); prioSeparator2->setVisible(false);
actionCreate_torrent->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/new.png")));
// Fix Tool bar layout // Fix Tool bar layout
toolBar->layout()->setSpacing(7); toolBar->layout()->setSpacing(7);
// Creating Bittorrent session // Creating Bittorrent session
@ -162,7 +171,7 @@ MainWindow::MainWindow(QWidget *parent, QStringList torrentCmdLine) : QMainWindo
vSplitter->addWidget(hSplitter); vSplitter->addWidget(hSplitter);
vSplitter->setCollapsible(0, true); vSplitter->setCollapsible(0, true);
vSplitter->setCollapsible(1, false); vSplitter->setCollapsible(1, false);
tabs->addTab(vSplitter, QIcon(QString::fromUtf8(":/Icons/oxygen/folder-remote.png")), tr("Transfers")); tabs->addTab(vSplitter, misc::getIcon("folder-remote"), tr("Transfers"));
connect(transferList->getSourceModel(), SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(updateNbTorrents())); connect(transferList->getSourceModel(), SIGNAL(rowsInserted(QModelIndex, int, int)), this, SLOT(updateNbTorrents()));
connect(transferList->getSourceModel(), SIGNAL(rowsRemoved(QModelIndex, int, int)), this, SLOT(updateNbTorrents())); connect(transferList->getSourceModel(), SIGNAL(rowsRemoved(QModelIndex, int, int)), this, SLOT(updateNbTorrents()));
@ -290,7 +299,6 @@ MainWindow::~MainWindow() {
delete search_filter; delete search_filter;
delete transferList; delete transferList;
delete guiUpdater; delete guiUpdater;
delete lockMenu;
if(createTorrentDlg) if(createTorrentDlg)
delete createTorrentDlg; delete createTorrentDlg;
if(console) if(console)
@ -366,7 +374,7 @@ void MainWindow::displayRSSTab(bool enable) {
if(!rssWidget) { if(!rssWidget) {
rssWidget = new RSSImp(tabs); rssWidget = new RSSImp(tabs);
int index_tab = tabs->addTab(rssWidget, tr("RSS")); int index_tab = tabs->addTab(rssWidget, tr("RSS"));
tabs->setTabIcon(index_tab, QIcon(QString::fromUtf8(":/Icons/rss32.png"))); tabs->setTabIcon(index_tab, misc::getIcon("application-rss+xml"));
} }
tabs->showTabBar(true); tabs->showTabBar(true);
} else { } else {
@ -383,7 +391,7 @@ void MainWindow::displaySearchTab(bool enable) {
// RSS tab // RSS tab
if(!searchEngine) { if(!searchEngine) {
searchEngine = new SearchEngine(this); searchEngine = new SearchEngine(this);
tabs->insertTab(1, searchEngine, QIcon(QString::fromUtf8(":/Icons/oxygen/edit-find.png")), tr("Search")); tabs->insertTab(1, searchEngine, misc::getIcon("edit-find"), tr("Search"));
} }
tabs->showTabBar(true); tabs->showTabBar(true);
} else { } else {

1
src/mainwindow.h

@ -175,7 +175,6 @@ private:
QAction *prioSeparator2; QAction *prioSeparator2;
QSplitter *hSplitter; QSplitter *hSplitter;
QSplitter *vSplitter; QSplitter *vSplitter;
QMenu *lockMenu;
// Search // Search
QPointer<SearchEngine> searchEngine; QPointer<SearchEngine> searchEngine;
// RSS // RSS

59
src/mainwindow.ui

@ -36,8 +36,6 @@
<property name="title"> <property name="title">
<string>&amp;Edit</string> <string>&amp;Edit</string>
</property> </property>
<addaction name="actionStart_All"/>
<addaction name="actionPause_All"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionStart"/> <addaction name="actionStart"/>
<addaction name="actionPause"/> <addaction name="actionPause"/>
@ -132,11 +130,8 @@
<addaction name="actionStart"/> <addaction name="actionStart"/>
<addaction name="actionPause"/> <addaction name="actionPause"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionStart_All"/>
<addaction name="actionPause_All"/>
<addaction name="actionDecreasePriority"/> <addaction name="actionDecreasePriority"/>
<addaction name="actionIncreasePriority"/> <addaction name="actionIncreasePriority"/>
<addaction name="separator"/>
<addaction name="actionOptions"/> <addaction name="actionOptions"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionExit"/> <addaction name="actionExit"/>
@ -182,17 +177,11 @@
<string>&amp;Delete</string> <string>&amp;Delete</string>
</property> </property>
</action> </action>
<action name="actionPause_All">
<property name="text">
<string>P&amp;ause All</string>
</property>
</action>
<action name="actionStart_All">
<property name="text">
<string>R&amp;esume All</string>
</property>
</action>
<action name="actionWebsite"> <action name="actionWebsite">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/Icons/skin/qbittorrent32.png</normaloff>:/Icons/skin/qbittorrent32.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Visit &amp;Website</string> <string>Visit &amp;Website</string>
</property> </property>
@ -207,16 +196,6 @@
<string>Torrent &amp;creator</string> <string>Torrent &amp;creator</string>
</property> </property>
</action> </action>
<action name="actionPreview_file">
<property name="text">
<string>Preview file</string>
</property>
</action>
<action name="actionClearLog">
<property name="text">
<string>Clear log</string>
</property>
</action>
<action name="actionBugReport"> <action name="actionBugReport">
<property name="text"> <property name="text">
<string>Report a &amp;bug</string> <string>Report a &amp;bug</string>
@ -248,10 +227,6 @@
</property> </property>
</action> </action>
<action name="actionDecreasePriority"> <action name="actionDecreasePriority">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/Icons/skin/decrease.png</normaloff>:/Icons/skin/decrease.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Decrease priority</string> <string>Decrease priority</string>
</property> </property>
@ -260,10 +235,6 @@
</property> </property>
</action> </action>
<action name="actionIncreasePriority"> <action name="actionIncreasePriority">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/Icons/skin/increase.png</normaloff>:/Icons/skin/increase.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Increase priority</string> <string>Increase priority</string>
</property> </property>
@ -272,10 +243,6 @@
</property> </property>
</action> </action>
<action name="actionShow_console"> <action name="actionShow_console">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/Icons/oxygen/log.png</normaloff>:/Icons/oxygen/log.png</iconset>
</property>
<property name="text"> <property name="text">
<string>&amp;Log viewer...</string> <string>&amp;Log viewer...</string>
</property> </property>
@ -363,10 +330,6 @@
</property> </property>
</action> </action>
<action name="action_Import_Torrent"> <action name="action_Import_Torrent">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/Icons/oxygen/list-add.png</normaloff>:/Icons/oxygen/list-add.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Import existing torrent...</string> <string>Import existing torrent...</string>
</property> </property>
@ -375,10 +338,6 @@
</property> </property>
</action> </action>
<action name="actionDonate_money"> <action name="actionDonate_money">
<property name="icon">
<iconset resource="icons.qrc">
<normaloff>:/Icons/oxygen/emblem-favorite.png</normaloff>:/Icons/oxygen/emblem-favorite.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Donate money</string> <string>Donate money</string>
</property> </property>
@ -386,6 +345,16 @@
<string>If you like qBittorrent, please donate!</string> <string>If you like qBittorrent, please donate!</string>
</property> </property>
</action> </action>
<action name="actionStart_All">
<property name="text">
<string>R&amp;esume All</string>
</property>
</action>
<action name="actionPause_All">
<property name="text">
<string>P&amp;ause All</string>
</property>
</action>
</widget> </widget>
<resources> <resources>
<include location="icons.qrc"/> <include location="icons.qrc"/>

16
src/misc.h

@ -42,6 +42,10 @@
#include <QFile> #include <QFile>
#include <QDir> #include <QDir>
#ifndef DISABLE_GUI
#include <QIcon>
#endif
#include <libtorrent/torrent_info.hpp> #include <libtorrent/torrent_info.hpp>
#include <libtorrent/torrent_handle.hpp> #include <libtorrent/torrent_handle.hpp>
@ -81,6 +85,18 @@ public:
return libtorrent::sha1_hash(qPrintable(hash)); return libtorrent::sha1_hash(qPrintable(hash));
} }
#ifndef DISABLE_GUI
static inline QIcon getIcon(const QString& id) {
#if (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
const QIcon icon = QIcon::fromTheme(id, QIcon(":/Icons/oxygen/"+id+".png"));
#else
const QIcon icon(":/Icons/oxygen/"+id+".png");
#endif
Q_ASSERT(!icon.isNull());
return icon;
}
#endif
static void chmod644(const QDir& folder); static void chmod644(const QDir& folder);
static inline QString removeLastPathPart(QString path) { static inline QString removeLastPathPart(QString path) {

65
src/preferences/options.ui

@ -88,15 +88,14 @@
</property> </property>
<item> <item>
<property name="text"> <property name="text">
<string>UI</string> <string extracomment="User Interface">UI</string>
</property>
<property name="toolTip">
<string>User Interface</string>
</property> </property>
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set> <set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/preferences-desktop.png</normaloff>:/Icons/oxygen/preferences-desktop.png</iconset>
</property>
<property name="flags"> <property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set> <set>ItemIsSelectable|ItemIsEnabled</set>
</property> </property>
@ -108,10 +107,6 @@
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set> <set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/download.png</normaloff>:/Icons/oxygen/download.png</iconset>
</property>
<property name="flags"> <property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set> <set>ItemIsSelectable|ItemIsEnabled</set>
</property> </property>
@ -123,10 +118,6 @@
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set> <set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/connection.png</normaloff>:/Icons/oxygen/connection.png</iconset>
</property>
<property name="flags"> <property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set> <set>ItemIsSelectable|ItemIsEnabled</set>
</property> </property>
@ -135,10 +126,6 @@
<property name="text"> <property name="text">
<string>Speed</string> <string>Speed</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/chronometer.png</normaloff>:/Icons/oxygen/chronometer.png</iconset>
</property>
</item> </item>
<item> <item>
<property name="text"> <property name="text">
@ -147,10 +134,6 @@
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set> <set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/bt_settings.png</normaloff>:/Icons/oxygen/bt_settings.png</iconset>
</property>
<property name="flags"> <property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set> <set>ItemIsSelectable|ItemIsEnabled</set>
</property> </property>
@ -162,10 +145,6 @@
<property name="textAlignment"> <property name="textAlignment">
<set>AlignHCenter|AlignVCenter|AlignCenter</set> <set>AlignHCenter|AlignVCenter|AlignCenter</set>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/webui.png</normaloff>:/Icons/oxygen/webui.png</iconset>
</property>
<property name="flags"> <property name="flags">
<set>ItemIsSelectable|ItemIsEnabled</set> <set>ItemIsSelectable|ItemIsEnabled</set>
</property> </property>
@ -174,10 +153,6 @@
<property name="text"> <property name="text">
<string>Advanced</string> <string>Advanced</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/gear32.png</normaloff>:/Icons/oxygen/gear32.png</iconset>
</property>
</item> </item>
</widget> </widget>
<widget class="QStackedWidget" name="tabOption"> <widget class="QStackedWidget" name="tabOption">
@ -202,7 +177,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>507</width> <width>506</width>
<height>430</height> <height>430</height>
</rect> </rect>
</property> </property>
@ -506,7 +481,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>507</width> <width>506</width>
<height>698</height> <height>698</height>
</rect> </rect>
</property> </property>
@ -612,9 +587,8 @@ QGroupBox {
<height>27</height> <height>27</height>
</size> </size>
</property> </property>
<property name="icon"> <property name="text">
<iconset resource="../icons.qrc"> <string notr="true">...</string>
<normaloff>:/Icons/oxygen/browse.png</normaloff>:/Icons/oxygen/browse.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -685,9 +659,8 @@ QGroupBox {
<height>27</height> <height>27</height>
</size> </size>
</property> </property>
<property name="icon"> <property name="text">
<iconset resource="../icons.qrc"> <string notr="true">...</string>
<normaloff>:/Icons/oxygen/browse.png</normaloff>:/Icons/oxygen/browse.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -849,9 +822,8 @@ QGroupBox {
<height>27</height> <height>27</height>
</size> </size>
</property> </property>
<property name="icon"> <property name="text">
<iconset resource="../icons.qrc"> <string notr="true">...</string>
<normaloff>:/Icons/oxygen/browse.png</normaloff>:/Icons/oxygen/browse.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -951,8 +923,8 @@ QGroupBox {
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>-51</y> <y>0</y>
<width>507</width> <width>506</width>
<height>457</height> <height>457</height>
</rect> </rect>
</property> </property>
@ -1381,9 +1353,8 @@ QGroupBox {
<height>22</height> <height>22</height>
</size> </size>
</property> </property>
<property name="icon"> <property name="text">
<iconset resource="../icons.qrc"> <string notr="true">...</string>
<normaloff>:/Icons/oxygen/browse.png</normaloff>:/Icons/oxygen/browse.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
@ -1799,8 +1770,8 @@ QGroupBox {
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>-25</y> <y>-7</y>
<width>570</width> <width>581</width>
<height>422</height> <height>422</height>
</rect> </rect>
</property> </property>

10
src/preferences/options_imp.cpp

@ -55,10 +55,18 @@ using namespace libtorrent;
// Constructor // Constructor
options_imp::options_imp(QWidget *parent):QDialog(parent){ options_imp::options_imp(QWidget *parent):QDialog(parent){
qDebug("-> Constructing Options"); qDebug("-> Constructing Options");
setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
setModal(true); setModal(true);
// Icons
tabSelection->item(TAB_UI)->setIcon(misc::getIcon("preferences-desktop"));
tabSelection->item(TAB_BITTORRENT)->setIcon(misc::getIcon("preferences-system-network"));
tabSelection->item(TAB_CONNECTION)->setIcon(misc::getIcon("network-wired"));
tabSelection->item(TAB_DOWNLOADS)->setIcon(misc::getIcon("download"));
tabSelection->item(TAB_SPEED)->setIcon(misc::getIcon("chronometer"));
tabSelection->item(TAB_WEBUI)->setIcon(misc::getIcon("network-server"));
tabSelection->item(TAB_ADVANCED)->setIcon(misc::getIcon("preferences-other"));
setupUi(this);
hsplitter->setCollapsible(0, false); hsplitter->setCollapsible(0, false);
hsplitter->setCollapsible(1, false); hsplitter->setCollapsible(1, false);
// Get apply button in button box // Get apply button in button box

2
src/preferences/options_imp.h

@ -42,6 +42,8 @@ class AdvancedSettings;
class options_imp : public QDialog, private Ui_Preferences { class options_imp : public QDialog, private Ui_Preferences {
Q_OBJECT Q_OBJECT
private:
enum Tabs {TAB_UI, TAB_DOWNLOADS, TAB_CONNECTION, TAB_SPEED, TAB_BITTORRENT, TAB_WEBUI, TAB_ADVANCED};
public: public:
// Contructor / Destructor // Contructor / Destructor

6
src/properties/peerlistwidget.cpp

@ -134,7 +134,7 @@ void PeerListWidget::showPeerListMenu(QPoint) {
// Add Peer Action // Add Peer Action
QAction *addPeerAct = 0; QAction *addPeerAct = 0;
if(!h.is_queued() && !h.is_checking()) { if(!h.is_queued() && !h.is_checking()) {
addPeerAct = menu.addAction(QIcon(":/Icons/oxygen/user-group-new.png"), tr("Add a new peer...")); addPeerAct = menu.addAction(misc::getIcon("user-group-new"), tr("Add a new peer..."));
empty_menu = false; empty_menu = false;
} }
// Per Peer Speed limiting actions // Per Peer Speed limiting actions
@ -143,12 +143,12 @@ void PeerListWidget::showPeerListMenu(QPoint) {
QAction *banAct = 0; QAction *banAct = 0;
QAction *copyIPAct = 0; QAction *copyIPAct = 0;
if(!selectedPeerIPs.isEmpty()) { if(!selectedPeerIPs.isEmpty()) {
copyIPAct = menu.addAction(QIcon(":/Icons/oxygen/edit-copy.png"), tr("Copy IP")); copyIPAct = menu.addAction(misc::getIcon("edit-copy"), tr("Copy IP"));
menu.addSeparator(); menu.addSeparator();
dlLimitAct = menu.addAction(QIcon(":/Icons/skin/download.png"), tr("Limit download rate...")); dlLimitAct = menu.addAction(QIcon(":/Icons/skin/download.png"), tr("Limit download rate..."));
upLimitAct = menu.addAction(QIcon(":/Icons/skin/seeding.png"), tr("Limit upload rate...")); upLimitAct = menu.addAction(QIcon(":/Icons/skin/seeding.png"), tr("Limit upload rate..."));
menu.addSeparator(); menu.addSeparator();
banAct = menu.addAction(QIcon(":/Icons/oxygen/user-group-delete.png"), tr("Ban peer permanently")); banAct = menu.addAction(misc::getIcon("user-group-delete"), tr("Ban peer permanently"));
empty_menu = false; empty_menu = false;
} }
if(empty_menu) return; if(empty_menu) return;

8
src/properties/propertieswidget.cpp

@ -61,6 +61,12 @@ PropertiesWidget::PropertiesWidget(QWidget *parent, MainWindow* main_window, Tra
QWidget(parent), transferList(transferList), main_window(main_window) { QWidget(parent), transferList(transferList), main_window(main_window) {
setupUi(this); setupUi(this);
// Icons
deleteWS_button->setIcon(misc::getIcon("list-remove"));
addWS_button->setIcon(misc::getIcon("list-add"));
trackerUpButton->setIcon(misc::getIcon("go-up"));
trackerDownButton->setIcon(misc::getIcon("go-down"));
state = VISIBLE; state = VISIBLE;
setEnabled(false); setEnabled(false);
@ -486,7 +492,7 @@ void PropertiesWidget::displayFilesListMenu(const QPoint&){
QModelIndexList selectedRows = filesList->selectionModel()->selectedRows(0); QModelIndexList selectedRows = filesList->selectionModel()->selectedRows(0);
QAction *actRename = 0; QAction *actRename = 0;
if(selectedRows.size() == 1) { if(selectedRows.size() == 1) {
actRename = myFilesLlistMenu.addAction(QIcon(QString::fromUtf8(":/Icons/oxygen/edit_clear.png")), tr("Rename...")); actRename = myFilesLlistMenu.addAction(misc::getIcon("edit-rename"), tr("Rename..."));
myFilesLlistMenu.addSeparator(); myFilesLlistMenu.addSeparator();
} }
QMenu subMenu; QMenu subMenu;

35
src/properties/propertieswidget.ui

@ -54,8 +54,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>534</width> <width>520</width>
<height>314</height> <height>355</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
@ -515,9 +515,10 @@
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;table style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt; &lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
&lt;tr&gt; &lt;tr&gt;
&lt;td style=&quot;border: none;&quot;&gt; &lt;td style=&quot;border: none;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string> &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans';&quot;&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="openExternalLinks"> <property name="openExternalLinks">
@ -579,10 +580,6 @@ p, li { white-space: pre-wrap; }
<property name="text"> <property name="text">
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/uparrow.png</normaloff>:/Icons/uparrow.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -624,10 +621,6 @@ p, li { white-space: pre-wrap; }
<property name="text"> <property name="text">
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/downarrow.png</normaloff>:/Icons/downarrow.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -680,34 +673,26 @@ p, li { white-space: pre-wrap; }
<widget class="QPushButton" name="deleteWS_button"> <widget class="QPushButton" name="deleteWS_button">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>24</width> <width>32</width>
<height>24</height> <height>32</height>
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-remove.png</normaloff>:/Icons/oxygen/list-remove.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="addWS_button"> <widget class="QPushButton" name="addWS_button">
<property name="maximumSize"> <property name="maximumSize">
<size> <size>
<width>24</width> <width>32</width>
<height>24</height> <height>32</height>
</size> </size>
</property> </property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-add.png</normaloff>:/Icons/oxygen/list-add.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -841,8 +826,6 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

11
src/properties/proptabbar.cpp

@ -34,6 +34,7 @@
#include <QKeySequence> #include <QKeySequence>
#include "proptabbar.h" #include "proptabbar.h"
#include "misc.h"
#ifdef Q_WS_MAC #ifdef Q_WS_MAC
#define DEFAULT_BUTTON_CSS "QPushButton {border: 1px solid rgb(85, 81, 91);border-radius: 3px;padding: 2px; margin-left: 8px; margin-right: 8px;}" #define DEFAULT_BUTTON_CSS "QPushButton {border: 1px solid rgb(85, 81, 91);border-radius: 3px;padding: 2px; margin-left: 8px; margin-right: 8px;}"
@ -51,32 +52,32 @@ PropTabBar::PropTabBar(QWidget *parent) :
m_btnGroup = new QButtonGroup(this); m_btnGroup = new QButtonGroup(this);
setContentsMargins(5, 4, 5, 2); setContentsMargins(5, 4, 5, 2);
// General tab // General tab
QPushButton *main_infos_button = new QPushButton(QIcon(":/Icons/oxygen/help-about.png"), tr("General"), parent); QPushButton *main_infos_button = new QPushButton(misc::getIcon("document-properties"), tr("General"), parent);
main_infos_button->setShortcut(QKeySequence(QString::fromUtf8("Alt+P"))); main_infos_button->setShortcut(QKeySequence(QString::fromUtf8("Alt+P")));
main_infos_button->setStyleSheet(DEFAULT_BUTTON_CSS); main_infos_button->setStyleSheet(DEFAULT_BUTTON_CSS);
main_infos_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE)); main_infos_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE));
addWidget(main_infos_button); addWidget(main_infos_button);
m_btnGroup->addButton(main_infos_button, MAIN_TAB); m_btnGroup->addButton(main_infos_button, MAIN_TAB);
// Trackers tab // Trackers tab
QPushButton *trackers_button = new QPushButton(QIcon(":/Icons/oxygen/network-server.png"), tr("Trackers"), parent); QPushButton *trackers_button = new QPushButton(misc::getIcon("network-server"), tr("Trackers"), parent);
trackers_button->setStyleSheet(DEFAULT_BUTTON_CSS); trackers_button->setStyleSheet(DEFAULT_BUTTON_CSS);
trackers_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE)); trackers_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE));
addWidget(trackers_button); addWidget(trackers_button);
m_btnGroup->addButton(trackers_button, TRACKERS_TAB); m_btnGroup->addButton(trackers_button, TRACKERS_TAB);
// Peers tab // Peers tab
QPushButton *peers_button = new QPushButton(QIcon(":/Icons/oxygen/peer.png"), tr("Peers"), parent); QPushButton *peers_button = new QPushButton(misc::getIcon("edit-find-user"), tr("Peers"), parent);
peers_button->setStyleSheet(DEFAULT_BUTTON_CSS); peers_button->setStyleSheet(DEFAULT_BUTTON_CSS);
peers_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE)); peers_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE));
addWidget(peers_button); addWidget(peers_button);
m_btnGroup->addButton(peers_button, PEERS_TAB); m_btnGroup->addButton(peers_button, PEERS_TAB);
// URL seeds tab // URL seeds tab
QPushButton *urlseeds_button = new QPushButton(QIcon(":/Icons/oxygen/urlseed.png"), tr("URL Seeds"), parent); QPushButton *urlseeds_button = new QPushButton(misc::getIcon("network-server"), tr("HTTP Sources"), parent);
urlseeds_button->setStyleSheet(DEFAULT_BUTTON_CSS); urlseeds_button->setStyleSheet(DEFAULT_BUTTON_CSS);
urlseeds_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE)); urlseeds_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE));
addWidget(urlseeds_button); addWidget(urlseeds_button);
m_btnGroup->addButton(urlseeds_button, URLSEEDS_TAB); m_btnGroup->addButton(urlseeds_button, URLSEEDS_TAB);
// Files tab // Files tab
QPushButton *files_button = new QPushButton(QIcon(":/Icons/oxygen/folder.png"), tr("Files"), parent); QPushButton *files_button = new QPushButton(misc::getIcon("inode-directory"), tr("Content"), parent);
files_button->setStyleSheet(DEFAULT_BUTTON_CSS); files_button->setStyleSheet(DEFAULT_BUTTON_CSS);
files_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE)); files_button->setIconSize(QSize(BTN_ICON_SIZE, BTN_ICON_SIZE));
addWidget(files_button); addWidget(files_button);

6
src/properties/trackerlist.cpp

@ -344,13 +344,13 @@ void TrackerList::showTrackerListMenu(QPoint) {
//QList<QTreeWidgetItem*> selected_items = getSelectedTrackerItems(); //QList<QTreeWidgetItem*> selected_items = getSelectedTrackerItems();
QMenu menu; QMenu menu;
// Add actions // Add actions
QAction *addAct = menu.addAction(QIcon(":/Icons/oxygen/list-add.png"), tr("Add a new tracker...")); QAction *addAct = menu.addAction(misc::getIcon("list-add"), tr("Add a new tracker..."));
QAction *delAct = 0; QAction *delAct = 0;
if(!getSelectedTrackerItems().isEmpty()) { if(!getSelectedTrackerItems().isEmpty()) {
delAct = menu.addAction(QIcon(":/Icons/oxygen/list-remove.png"), tr("Remove tracker")); delAct = menu.addAction(misc::getIcon("list-remove"), tr("Remove tracker"));
} }
menu.addSeparator(); menu.addSeparator();
QAction *reannounceAct = menu.addAction(QIcon(":/Icons/oxygen/run-build.png"), tr("Force reannounce")); QAction *reannounceAct = menu.addAction(misc::getIcon("view-refresh"), tr("Force reannounce"));
QAction *act = menu.exec(QCursor::pos()); QAction *act = menu.exec(QCursor::pos());
if(act == 0) return; if(act == 0) return;
if(act == addAct) { if(act == addAct) {

2
src/properties/trackersadditiondlg.h

@ -50,6 +50,8 @@ private:
public: public:
TrackersAdditionDlg(QTorrentHandle h, QWidget *parent=0): QDialog(parent), h(h) { TrackersAdditionDlg(QTorrentHandle h, QWidget *parent=0): QDialog(parent), h(h) {
setupUi(this); setupUi(this);
// Icons
uTorrentListButton->setIcon(misc::getIcon("download"));
// As a default, use torrentz.com link // As a default, use torrentz.com link
list_url->setText("http://www.torrentz.com/announce_"+h.hash()); list_url->setText("http://www.torrentz.com/announce_"+h.hash());
list_url->setCursorPosition(0); list_url->setCursorPosition(0);

12
src/properties/trackersadditiondlg.ui

@ -30,8 +30,8 @@
<string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; <string notr="true">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; } p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt; &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:10pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="acceptRichText"> <property name="acceptRichText">
<bool>false</bool> <bool>false</bool>
@ -67,10 +67,6 @@ p, li { white-space: pre-wrap; }
<property name="text"> <property name="text">
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/download.png</normaloff>:/Icons/oxygen/download.png</iconset>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>
@ -87,9 +83,7 @@ p, li { white-space: pre-wrap; }
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>

15
src/rss/automatedrssdownloader.cpp

@ -43,6 +43,7 @@
#include "qinisettings.h" #include "qinisettings.h"
#include "rssmanager.h" #include "rssmanager.h"
#include "rssfeed.h" #include "rssfeed.h"
#include "misc.h"
AutomatedRssDownloader::AutomatedRssDownloader(QWidget *parent) : AutomatedRssDownloader::AutomatedRssDownloader(QWidget *parent) :
QDialog(parent), QDialog(parent),
@ -50,6 +51,10 @@ AutomatedRssDownloader::AutomatedRssDownloader(QWidget *parent) :
m_editedRule(0) m_editedRule(0)
{ {
ui->setupUi(this); ui->setupUi(this);
// Icons
ui->removeRuleBtn->setIcon(misc::getIcon("list-remove"));
ui->addRuleBtn->setIcon(misc::getIcon("list-add"));
// Ui Settings // Ui Settings
ui->listRules->setSortingEnabled(true); ui->listRules->setSortingEnabled(true);
ui->listRules->setSelectionMode(QAbstractItemView::ExtendedSelection); ui->listRules->setSelectionMode(QAbstractItemView::ExtendedSelection);
@ -350,17 +355,17 @@ void AutomatedRssDownloader::displayRulesListMenu(const QPoint &pos)
{ {
Q_UNUSED(pos); Q_UNUSED(pos);
QMenu menu; QMenu menu;
QAction *addAct = menu.addAction(QIcon(":/Icons/oxygen/list-add.png"), tr("Add new rule...")); QAction *addAct = menu.addAction(misc::getIcon("list-add"), tr("Add new rule..."));
QAction *delAct = 0; QAction *delAct = 0;
QAction *renameAct = 0; QAction *renameAct = 0;
const QList<QListWidgetItem*> selection = ui->listRules->selectedItems(); const QList<QListWidgetItem*> selection = ui->listRules->selectedItems();
if(!selection.isEmpty()) { if(!selection.isEmpty()) {
if(selection.count() == 1) { if(selection.count() == 1) {
delAct = menu.addAction(QIcon(":/Icons/oxygen/list-remove.png"), tr("Delete rule")); delAct = menu.addAction(misc::getIcon("list-remove"), tr("Delete rule"));
menu.addSeparator(); menu.addSeparator();
renameAct = menu.addAction(QIcon(":/Icons/oxygen/edit_clear.png"), tr("Rename rule...")); renameAct = menu.addAction(misc::getIcon("edit-rename"), tr("Rename rule..."));
} else { } else {
delAct = menu.addAction(QIcon(":/Icons/oxygen/list-remove.png"), tr("Delete selected rules")); delAct = menu.addAction(misc::getIcon("list-remove"), tr("Delete selected rules"));
} }
} }
QAction *act = menu.exec(QCursor::pos()); QAction *act = menu.exec(QCursor::pos());
@ -465,7 +470,7 @@ void AutomatedRssDownloader::addFeedArticlesToTree(const RssFeed *feed, const QS
QFont f = treeFeedItem->font(0); QFont f = treeFeedItem->font(0);
f.setBold(true); f.setBold(true);
treeFeedItem->setFont(0, f); treeFeedItem->setFont(0, f);
treeFeedItem->setData(0, Qt::DecorationRole, QIcon(":/Icons/oxygen/folder.png")); treeFeedItem->setData(0, Qt::DecorationRole, misc::getIcon("inode-directory"));
treeFeedItem->setData(0, Qt::UserRole, feed->getUrl()); treeFeedItem->setData(0, Qt::UserRole, feed->getUrl());
ui->treeMatchingArticles->addTopLevelItem(treeFeedItem); ui->treeMatchingArticles->addTopLevelItem(treeFeedItem);
} }

18
src/rss/automatedrssdownloader.ui

@ -32,7 +32,7 @@
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
@ -70,10 +70,6 @@
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-remove.png</normaloff>:/Icons/oxygen/list-remove.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>24</width> <width>24</width>
@ -87,10 +83,6 @@
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-add.png</normaloff>:/Icons/oxygen/list-add.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>24</width> <width>24</width>
@ -123,7 +115,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item> <item>
<widget class="QGroupBox" name="ruleDefBox"> <widget class="QGroupBox" name="ruleDefBox">
@ -246,7 +238,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name=""> <widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
@ -320,9 +312,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>

5
src/rss/cookiesdlg.cpp

@ -30,6 +30,7 @@
#include "cookiesdlg.h" #include "cookiesdlg.h"
#include "ui_cookiesdlg.h" #include "ui_cookiesdlg.h"
#include "misc.h"
#include <QNetworkCookie> #include <QNetworkCookie>
@ -40,6 +41,10 @@ CookiesDlg::CookiesDlg(QWidget *parent, const QList<QByteArray> &raw_cookies) :
ui(new Ui::CookiesDlg) ui(new Ui::CookiesDlg)
{ {
ui->setupUi(this); ui->setupUi(this);
// Icons
ui->add_btn->setIcon(misc::getIcon("list-add"));
ui->del_btn->setIcon(misc::getIcon("list-remove"));
ui->infos_lbl->setText(tr("Common keys for cookies are : '%1', '%2'.\nYou should get this information from your Web browser preferences.").arg("uid").arg("pass")); ui->infos_lbl->setText(tr("Common keys for cookies are : '%1', '%2'.\nYou should get this information from your Web browser preferences.").arg("uid").arg("pass"));
foreach(const QByteArray &raw_cookie, raw_cookies) { foreach(const QByteArray &raw_cookie, raw_cookies) {
QList<QByteArray> cookie_parts = raw_cookie.split('='); QList<QByteArray> cookie_parts = raw_cookie.split('=');

16
src/rss/cookiesdlg.ui

@ -33,12 +33,12 @@
</attribute> </attribute>
<column> <column>
<property name="text"> <property name="text">
<string>Key</string> <string extracomment="As in Key/Value pair">Key</string>
</property> </property>
</column> </column>
<column> <column>
<property name="text"> <property name="text">
<string>Value</string> <string extracomment="As in Key/Value pair">Value</string>
</property> </property>
</column> </column>
</widget> </widget>
@ -63,10 +63,6 @@
<property name="text"> <property name="text">
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-add.png</normaloff>:/Icons/oxygen/list-add.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>20</width> <width>20</width>
@ -96,10 +92,6 @@
<property name="text"> <property name="text">
<string notr="true"/> <string notr="true"/>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-remove.png</normaloff>:/Icons/oxygen/list-remove.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>20</width> <width>20</width>
@ -142,9 +134,7 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections> <connections>
<connection> <connection>
<sender>buttonBox</sender> <sender>buttonBox</sender>

4
src/rss/feedlistwidget.cpp

@ -28,10 +28,10 @@
* Contact: chris@qbittorrent.org, arnaud@qbittorrent.org * Contact: chris@qbittorrent.org, arnaud@qbittorrent.org
*/ */
#
#include "feedlistwidget.h" #include "feedlistwidget.h"
#include "rssmanager.h" #include "rssmanager.h"
#include "rssfeed.h" #include "rssfeed.h"
#include "misc.h"
FeedListWidget::FeedListWidget(QWidget *parent, RssManager *rssmanager): QTreeWidget(parent), rssmanager(rssmanager) { FeedListWidget::FeedListWidget(QWidget *parent, RssManager *rssmanager): QTreeWidget(parent), rssmanager(rssmanager) {
setContextMenuPolicy(Qt::CustomContextMenu); setContextMenuPolicy(Qt::CustomContextMenu);
@ -41,7 +41,7 @@ FeedListWidget::FeedListWidget(QWidget *parent, RssManager *rssmanager): QTreeWi
headerItem()->setText(0, tr("RSS feeds")); headerItem()->setText(0, tr("RSS feeds"));
unread_item = new QTreeWidgetItem(this); unread_item = new QTreeWidgetItem(this);
unread_item->setText(0, tr("Unread") + QString::fromUtf8(" (") + QString::number(rssmanager->getNbUnRead(), 10)+ QString(")")); unread_item->setText(0, tr("Unread") + QString::fromUtf8(" (") + QString::number(rssmanager->getNbUnRead(), 10)+ QString(")"));
unread_item->setData(0,Qt::DecorationRole, QVariant(QIcon(":/Icons/oxygen/mail-folder-inbox.png"))); unread_item->setData(0,Qt::DecorationRole, misc::getIcon("mail-folder-inbox"));
itemAdded(unread_item, rssmanager); itemAdded(unread_item, rssmanager);
connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(updateCurrentFeed(QTreeWidgetItem*))); connect(this, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(updateCurrentFeed(QTreeWidgetItem*)));
setCurrentItem(unread_item); setCurrentItem(unread_item);

60
src/rss/rss.ui

@ -24,10 +24,6 @@
<property name="text"> <property name="text">
<string>New subscription</string> <string>New subscription</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/subscribe.png</normaloff>:/Icons/oxygen/subscribe.png</iconset>
</property>
<property name="toolButtonStyle"> <property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum> <enum>Qt::ToolButtonTextBesideIcon</enum>
</property> </property>
@ -38,10 +34,6 @@
<property name="text"> <property name="text">
<string>Mark items read</string> <string>Mark items read</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/button_ok.png</normaloff>:/Icons/oxygen/button_ok.png</iconset>
</property>
<property name="toolButtonStyle"> <property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum> <enum>Qt::ToolButtonTextBesideIcon</enum>
</property> </property>
@ -61,10 +53,6 @@
<property name="text"> <property name="text">
<string>Update all</string> <string>Update all</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/view-refresh.png</normaloff>:/Icons/oxygen/view-refresh.png</iconset>
</property>
<property name="iconSize"> <property name="iconSize">
<size> <size>
<width>24</width> <width>24</width>
@ -187,10 +175,6 @@ p, li { white-space: pre-wrap; }
</item> </item>
</layout> </layout>
<action name="actionDelete"> <action name="actionDelete">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/remove.png</normaloff>:/Icons/oxygen/remove.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Delete</string> <string>Delete</string>
</property> </property>
@ -199,10 +183,6 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
<action name="actionRename"> <action name="actionRename">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/edit_clear.png</normaloff>:/Icons/oxygen/edit_clear.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Rename...</string> <string>Rename...</string>
</property> </property>
@ -211,10 +191,6 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
<action name="actionUpdate"> <action name="actionUpdate">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/view-refresh.png</normaloff>:/Icons/oxygen/view-refresh.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Update</string> <string>Update</string>
</property> </property>
@ -223,19 +199,11 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
<action name="actionNew_subscription"> <action name="actionNew_subscription">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/subscribe16.png</normaloff>:/Icons/oxygen/subscribe16.png</iconset>
</property>
<property name="text"> <property name="text">
<string>New subscription...</string> <string>New subscription...</string>
</property> </property>
</action> </action>
<action name="actionUpdate_all_feeds"> <action name="actionUpdate_all_feeds">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/view-refresh.png</normaloff>:/Icons/oxygen/view-refresh.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Update all feeds</string> <string>Update all feeds</string>
</property> </property>
@ -244,10 +212,6 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
<action name="actionMark_items_read"> <action name="actionMark_items_read">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/button_ok.png</normaloff>:/Icons/oxygen/button_ok.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Mark items read</string> <string>Mark items read</string>
</property> </property>
@ -256,53 +220,31 @@ p, li { white-space: pre-wrap; }
</property> </property>
</action> </action>
<action name="actionDownload_torrent"> <action name="actionDownload_torrent">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/download.png</normaloff>:/Icons/oxygen/download.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Download torrent</string> <string>Download torrent</string>
</property> </property>
</action> </action>
<action name="actionOpen_news_URL"> <action name="actionOpen_news_URL">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/url.png</normaloff>:/Icons/url.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Open news URL</string> <string>Open news URL</string>
</property> </property>
</action> </action>
<action name="actionCopy_feed_URL"> <action name="actionCopy_feed_URL">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/edit-copy.png</normaloff>:/Icons/oxygen/edit-copy.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Copy feed URL</string> <string>Copy feed URL</string>
</property> </property>
</action> </action>
<action name="actionNew_folder"> <action name="actionNew_folder">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/folder-new.png</normaloff>:/Icons/oxygen/folder-new.png</iconset>
</property>
<property name="text"> <property name="text">
<string>New folder...</string> <string>New folder...</string>
</property> </property>
</action> </action>
<action name="actionManage_cookies"> <action name="actionManage_cookies">
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/cookies.png</normaloff>:/Icons/oxygen/cookies.png</iconset>
</property>
<property name="text"> <property name="text">
<string>Manage cookies...</string> <string>Manage cookies...</string>
</property> </property>
</action> </action>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

21
src/rss/rss_imp.cpp

@ -148,7 +148,7 @@ void RSSImp::askNewFolder() {
listStreams->itemAdded(folder_item, new_folder); listStreams->itemAdded(folder_item, new_folder);
// Set Text // Set Text
folder_item->setText(0, new_folder->getName() + QString::fromUtf8(" (0)")); folder_item->setText(0, new_folder->getName() + QString::fromUtf8(" (0)"));
folder_item->setData(0,Qt::DecorationRole, QVariant(QIcon(":/Icons/oxygen/folder.png"))); folder_item->setData(0,Qt::DecorationRole, QVariant(misc::getIcon("inode-directory")));
// Expand parent folder to display new folder // Expand parent folder to display new folder
if(parent_item) if(parent_item)
parent_item->setExpanded(true); parent_item->setExpanded(true);
@ -423,7 +423,7 @@ void RSSImp::fillFeedsList(QTreeWidgetItem *parent, RssFolder *rss_parent) {
if(rss_child->getType() == RssFile::FEED) { if(rss_child->getType() == RssFile::FEED) {
item->setData(0,Qt::DecorationRole, QVariant(QIcon(QString::fromUtf8(":/Icons/loading.png")))); item->setData(0,Qt::DecorationRole, QVariant(QIcon(QString::fromUtf8(":/Icons/loading.png"))));
} else { } else {
item->setData(0,Qt::DecorationRole, QVariant(QIcon(QString::fromUtf8(":/Icons/oxygen/folder.png")))); item->setData(0,Qt::DecorationRole, QVariant(misc::getIcon("inode-directory")));
// Recurvive call to load sub folders/files // Recurvive call to load sub folders/files
fillFeedsList(item, (RssFolder*)rss_child); fillFeedsList(item, (RssFolder*)rss_child);
} }
@ -581,6 +581,23 @@ void RSSImp::updateRefreshInterval(unsigned int val) {
RSSImp::RSSImp(QWidget *parent) : QWidget(parent) { RSSImp::RSSImp(QWidget *parent) : QWidget(parent) {
setupUi(this); setupUi(this);
// Icons
actionCopy_feed_URL->setIcon(misc::getIcon("edit-copy"));
actionDelete->setIcon(misc::getIcon("edit-delete"));
actionDownload_torrent->setIcon(misc::getIcon("download"));
actionManage_cookies->setIcon(misc::getIcon("preferences-web-browser-cookies"));
actionMark_items_read->setIcon(misc::getIcon("mail-mark-read"));
actionNew_folder->setIcon(misc::getIcon("folder-new"));
actionNew_subscription->setIcon(misc::getIcon("list-add"));
actionOpen_news_URL->setIcon(misc::getIcon("application-x-mswinurl"));
actionRename->setIcon(misc::getIcon("edit-rename"));
actionUpdate->setIcon(misc::getIcon("view-refresh"));
actionUpdate_all_feeds->setIcon(misc::getIcon("view-refresh"));
newFeedButton->setIcon(misc::getIcon("list-add"));
markReadButton->setIcon(misc::getIcon("mail-mark-read"));
updateAllButton->setIcon(misc::getIcon("view-refresh"));
rssDownloaderBtn->setIcon(misc::getIcon("download"));
settingsButton->setIcon(misc::getIcon("preferences-system"));
rssmanager = RssManager::instance(); rssmanager = RssManager::instance();

2
src/rss/rssfeed.cpp

@ -37,7 +37,7 @@
#include "misc.h" #include "misc.h"
#include "rssdownloadrulelist.h" #include "rssdownloadrulelist.h"
RssFeed::RssFeed(RssFolder* parent, QString _url): parent(parent), alias(""), iconPath(":/Icons/rss16.png"), refreshed(false), downloadFailure(false), currently_loading(false) { RssFeed::RssFeed(RssFolder* parent, QString _url): parent(parent), alias(""), iconPath(":/Icons/oxygen/application-rss+xml.png"), refreshed(false), downloadFailure(false), currently_loading(false) {
qDebug("RSSStream constructed"); qDebug("RSSStream constructed");
QIniSettings qBTRSS("qBittorrent", "qBittorrent-rss"); QIniSettings qBTRSS("qBittorrent", "qBittorrent-rss");
url = QUrl(_url).toString(); url = QUrl(_url).toString();

2
src/rss/rsssettingsdlg.ui

@ -34,7 +34,7 @@
<string/> <string/>
</property> </property>
<property name="pixmap"> <property name="pixmap">
<pixmap resource="../icons.qrc">:/Icons/rss32.png</pixmap> <pixmap resource="../icons.qrc">:/Icons/oxygen/application-rss+xml.png</pixmap>
</property> </property>
<property name="scaledContents"> <property name="scaledContents">
<bool>true</bool> <bool>true</bool>

8
src/searchengine/engineselect.ui

@ -112,13 +112,11 @@
</item> </item>
</layout> </layout>
<action name="actionEnable"> <action name="actionEnable">
<property name="text"> <property name="checkable">
<string>Enable</string> <bool>true</bool>
</property> </property>
</action>
<action name="actionDisable">
<property name="text"> <property name="text">
<string>Disable</string> <string>Enabled</string>
</property> </property>
</action> </action>
<action name="actionUninstall"> <action name="actionUninstall">

51
src/searchengine/engineselectdlg.cpp

@ -52,11 +52,8 @@ engineSelectDlg::engineSelectDlg(QWidget *parent, SupportedEngines *supported_en
pluginsTree->header()->resizeSection(0, 170); pluginsTree->header()->resizeSection(0, 170);
pluginsTree->header()->resizeSection(1, 220); pluginsTree->header()->resizeSection(1, 220);
pluginsTree->hideColumn(ENGINE_ID); pluginsTree->hideColumn(ENGINE_ID);
actionEnable->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/button_ok.png"))); actionUninstall->setIcon(misc::getIcon("list-remove"));
actionDisable->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/button_cancel.png"))); connect(actionEnable, SIGNAL(toggled(bool)), this, SLOT(enableSelection(bool)));
actionUninstall->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/list-remove.png")));
connect(actionEnable, SIGNAL(triggered()), this, SLOT(enableSelection()));
connect(actionDisable, SIGNAL(triggered()), this, SLOT(disableSelection()));
connect(pluginsTree, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayContextMenu(const QPoint&))); connect(pluginsTree, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayContextMenu(const QPoint&)));
downloader = new downloadThread(this); downloader = new downloadThread(this);
connect(downloader, SIGNAL(downloadFinished(QString, QString)), this, SLOT(processDownloadedFile(QString, QString))); connect(downloader, SIGNAL(downloadFinished(QString, QString)), this, SLOT(processDownloadedFile(QString, QString)));
@ -132,20 +129,10 @@ void engineSelectDlg::displayContextMenu(const QPoint&) {
QMenu myContextMenu(this); QMenu myContextMenu(this);
// Enable/disable pause/start action given the DL state // Enable/disable pause/start action given the DL state
QList<QTreeWidgetItem *> items = pluginsTree->selectedItems(); QList<QTreeWidgetItem *> items = pluginsTree->selectedItems();
bool has_enable = false, has_disable = false; if(items.isEmpty()) return;
QTreeWidgetItem *item; QString first_id = items.first()->text(ENGINE_ID);
foreach(item, items) { actionEnable->setChecked(supported_engines->value(first_id)->isEnabled());
QString id = item->text(ENGINE_ID); myContextMenu.addAction(actionEnable);
if(supported_engines->value(id)->isEnabled() && !has_disable) {
myContextMenu.addAction(actionDisable);
has_disable = true;
}
if(!supported_engines->value(id)->isEnabled() && !has_enable) {
myContextMenu.addAction(actionEnable);
has_enable = true;
}
if(has_enable && has_disable) break;
}
myContextMenu.addSeparator(); myContextMenu.addSeparator();
myContextMenu.addAction(actionUninstall); myContextMenu.addAction(actionUninstall);
myContextMenu.exec(QCursor::pos()); myContextMenu.exec(QCursor::pos());
@ -194,29 +181,21 @@ void engineSelectDlg::on_actionUninstall_triggered() {
QMessageBox::information(0, tr("Uninstall success"), tr("All selected plugins were uninstalled successfully")); QMessageBox::information(0, tr("Uninstall success"), tr("All selected plugins were uninstalled successfully"));
} }
void engineSelectDlg::enableSelection() { void engineSelectDlg::enableSelection(bool enable) {
QList<QTreeWidgetItem *> items = pluginsTree->selectedItems(); QList<QTreeWidgetItem *> items = pluginsTree->selectedItems();
QTreeWidgetItem *item; QTreeWidgetItem *item;
foreach(item, items) { foreach(item, items) {
int index = pluginsTree->indexOfTopLevelItem(item); int index = pluginsTree->indexOfTopLevelItem(item);
Q_ASSERT(index != -1); Q_ASSERT(index != -1);
QString id = item->text(ENGINE_ID); QString id = item->text(ENGINE_ID);
supported_engines->value(id)->setEnabled(true); supported_engines->value(id)->setEnabled(enable);
item->setText(ENGINE_STATE, tr("Yes")); if(enable) {
setRowColor(index, "green"); item->setText(ENGINE_STATE, tr("Yes"));
} setRowColor(index, "green");
} } else {
item->setText(ENGINE_STATE, tr("No"));
void engineSelectDlg::disableSelection() { setRowColor(index, "red");
QList<QTreeWidgetItem *> items = pluginsTree->selectedItems(); }
QTreeWidgetItem *item;
foreach(item, items) {
int index = pluginsTree->indexOfTopLevelItem(item);
Q_ASSERT(index != -1);
QString id = item->text(ENGINE_ID);
supported_engines->value(id)->setEnabled(false);
item->setText(ENGINE_STATE, tr("No"));
setRowColor(index, "red");
} }
} }

3
src/searchengine/engineselectdlg.h

@ -66,8 +66,7 @@ class engineSelectDlg : public QDialog, public Ui::engineSelect{
void processDownloadedFile(QString url, QString filePath); void processDownloadedFile(QString url, QString filePath);
void handleDownloadFailure(QString url, QString reason); void handleDownloadFailure(QString url, QString reason);
void displayContextMenu(const QPoint& pos); void displayContextMenu(const QPoint& pos);
void enableSelection(); void enableSelection(bool enable);
void disableSelection();
void on_actionUninstall_triggered(); void on_actionUninstall_triggered();
void on_updateButton_clicked(); void on_updateButton_clicked();
void on_installButton_clicked(); void on_installButton_clicked();

18
src/searchengine/searchengine.cpp

@ -61,16 +61,20 @@
/*SEARCH ENGINE START*/ /*SEARCH ENGINE START*/
SearchEngine::SearchEngine(MainWindow *parent) : QWidget(parent), mp_mainWindow(parent) { SearchEngine::SearchEngine(MainWindow *parent) : QWidget(parent), mp_mainWindow(parent) {
setupUi(this); setupUi(this);
// Icons
search_button->setIcon(misc::getIcon("edit-find"));
download_button->setIcon(misc::getIcon("download"));
enginesButton->setIcon(misc::getIcon("preferences-system-network"));
// new qCompleter to the search pattern // new qCompleter to the search pattern
startSearchHistory(); startSearchHistory();
createCompleter(); createCompleter();
#if QT_VERSION >= 0x040500 #if (QT_VERSION >= QT_VERSION_CHECK(4,5,0))
tabWidget->setTabsClosable(true); tabWidget->setTabsClosable(true);
connect(tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int))); connect(tabWidget, SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
#else #else
// Add close tab button // Add close tab button
closeTab_button = new QPushButton(); closeTab_button = new QPushButton();
closeTab_button->setIcon(QIcon(QString::fromUtf8(":/Icons/oxygen/tab-close.png"))); closeTab_button->setIcon(misc::getIcon("tab-close"));
closeTab_button->setFlat(true); closeTab_button->setFlat(true);
tabWidget->setCornerWidget(closeTab_button); tabWidget->setCornerWidget(closeTab_button);
connect(closeTab_button, SIGNAL(clicked()), this, SLOT(closeTab_button_clicked())); connect(closeTab_button, SIGNAL(clicked()), this, SLOT(closeTab_button_clicked()));
@ -199,11 +203,11 @@ SearchEngine::~SearchEngine(){
void SearchEngine::displayPatternContextMenu(QPoint) { void SearchEngine::displayPatternContextMenu(QPoint) {
QMenu myMenu(this); QMenu myMenu(this);
QAction cutAct(QIcon(":/Icons/oxygen/edit-cut.png"), tr("Cut"), &myMenu); QAction cutAct(misc::getIcon("edit-cut"), tr("Cut"), &myMenu);
QAction copyAct(QIcon(":/Icons/oxygen/edit-copy.png"), tr("Copy"), &myMenu); QAction copyAct(misc::getIcon("edit-copy"), tr("Copy"), &myMenu);
QAction pasteAct(QIcon(":/Icons/oxygen/edit-paste.png"), tr("Paste"), &myMenu); QAction pasteAct(misc::getIcon("edit-paste"), tr("Paste"), &myMenu);
QAction clearAct(QIcon(":/Icons/oxygen/edit_clear.png"), tr("Clear field"), &myMenu); QAction clearAct(misc::getIcon("edit-clear"), tr("Clear field"), &myMenu);
QAction clearHistoryAct(QIcon(":/Icons/oxygen/edit-clear.png"), tr("Clear completion history"), &myMenu); QAction clearHistoryAct(misc::getIcon("edit-clear-history"), tr("Clear completion history"), &myMenu);
bool hasCopyAct = false; bool hasCopyAct = false;
if(search_pattern->hasSelectedText()) { if(search_pattern->hasSelectedText()) {
myMenu.addAction(&cutAct); myMenu.addAction(&cutAct);

5
src/torrentadditiondlg.cpp

@ -62,6 +62,9 @@ torrentAdditionDialog::torrentAdditionDialog(QWidget *parent) :
const Preferences pref; const Preferences pref;
setupUi(this); setupUi(this);
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
// Icons
CancelButton->setIcon(misc::getIcon("dialog-cancel"));
OkButton->setIcon(misc::getIcon("list-add"));
// Set Properties list model // Set Properties list model
PropListModel = new TorrentFilesModel(); PropListModel = new TorrentFilesModel();
connect(PropListModel, SIGNAL(filteredFilesChanged()), SLOT(updateDiskSpaceLabels())); connect(PropListModel, SIGNAL(filteredFilesChanged()), SLOT(updateDiskSpaceLabels()));
@ -327,7 +330,7 @@ void torrentAdditionDialog::displayContentListMenu(const QPoint&) {
const QModelIndexList selectedRows = torrentContentList->selectionModel()->selectedRows(0); const QModelIndexList selectedRows = torrentContentList->selectionModel()->selectedRows(0);
QAction *actRename = 0; QAction *actRename = 0;
if(selectedRows.size() == 1 && t->num_files() > 1) { if(selectedRows.size() == 1 && t->num_files() > 1) {
actRename = myFilesLlistMenu.addAction(QIcon(QString::fromUtf8(":/Icons/oxygen/edit_clear.png")), tr("Rename...")); actRename = myFilesLlistMenu.addAction(misc::getIcon("edit-rename"), tr("Rename..."));
myFilesLlistMenu.addSeparator(); myFilesLlistMenu.addSeparator();
} }
QMenu subMenu; QMenu subMenu;

12
src/torrentcreator/createtorrent.ui

@ -64,10 +64,6 @@
<property name="text"> <property name="text">
<string>Add file</string> <string>Add file</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/document-new.png</normaloff>:/Icons/oxygen/document-new.png</iconset>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -75,10 +71,6 @@
<property name="text"> <property name="text">
<string>Add folder</string> <string>Add folder</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/folder-new.png</normaloff>:/Icons/oxygen/folder-new.png</iconset>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>
@ -317,8 +309,6 @@
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

6
src/torrentcreator/torrentcreatordlg.cpp

@ -45,6 +45,12 @@ using namespace libtorrent;
TorrentCreatorDlg::TorrentCreatorDlg(QWidget *parent): QDialog(parent), creatorThread(0) { TorrentCreatorDlg::TorrentCreatorDlg(QWidget *parent): QDialog(parent), creatorThread(0) {
setupUi(this); setupUi(this);
// Icons
addFile_button->setIcon(misc::getIcon("document-new"));
addFolder_button->setIcon(misc::getIcon("folder-new"));
createButton->setIcon(misc::getIcon("document-save"));
cancelButton->setIcon(misc::getIcon("dialog-cancel"));
setAttribute(Qt::WA_DeleteOnClose); setAttribute(Qt::WA_DeleteOnClose);
setModal(true); setModal(true);
showProgressBar(false); showProgressBar(false);

4
src/torrentfilesmodel.h

@ -434,9 +434,9 @@ public:
TreeItem *item = static_cast<TreeItem*>(index.internalPointer()); TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
if(index.column() == 0 && role == Qt::DecorationRole) { if(index.column() == 0 && role == Qt::DecorationRole) {
if(item->isFolder()) if(item->isFolder())
return QIcon(":/Icons/oxygen/folder.png"); return misc::getIcon("inode-directory");
else else
return QIcon(":/Icons/oxygen/file.png"); return misc::getIcon("text-plain");
} }
if(index.column() == 0 && role == Qt::CheckStateRole) { if(index.column() == 0 && role == Qt::CheckStateRole) {
if(item->data(TreeItem::COL_PRIO).toInt() == IGNORED) if(item->data(TreeItem::COL_PRIO).toInt() == IGNORED)

4
src/torrentimportdlg.cpp

@ -46,6 +46,10 @@ TorrentImportDlg::TorrentImportDlg(QWidget *parent) :
ui(new Ui::TorrentImportDlg) ui(new Ui::TorrentImportDlg)
{ {
ui->setupUi(this); ui->setupUi(this);
// Icons
ui->lbl_info->setPixmap(misc::getIcon("dialog-information").pixmap(ui->lbl_info->height()));
ui->lbl_info->setFixedWidth(ui->lbl_info->height());
ui->importBtn->setIcon(misc::getIcon("document-import"));
// Libtorrent < 0.15 does not support skipping file checking // Libtorrent < 0.15 does not support skipping file checking
#if LIBTORRENT_VERSION_MINOR < 15 #if LIBTORRENT_VERSION_MINOR < 15
ui->checkSkipCheck->setVisible(false); ui->checkSkipCheck->setVisible(false);

21
src/torrentimportdlg.ui

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>464</width> <width>464</width>
<height>233</height> <height>236</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -20,19 +20,16 @@
<number>15</number> <number>15</number>
</property> </property>
<item> <item>
<widget class="QLabel" name="label_5"> <widget class="QLabel" name="lbl_info">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>32</horstretch>
<verstretch>0</verstretch> <verstretch>32</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="text"> <property name="text">
<string/> <string/>
</property> </property>
<property name="pixmap">
<pixmap resource="../icons.qrc">:/Icons/skin/info.png</pixmap>
</property>
</widget> </widget>
</item> </item>
<item> <item>
@ -118,16 +115,10 @@
<property name="text"> <property name="text">
<string>Import</string> <string>Import</string>
</property> </property>
<property name="icon">
<iconset resource="../icons.qrc">
<normaloff>:/Icons/oxygen/list-add.png</normaloff>:/Icons/oxygen/list-add.png</iconset>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources/>
<include location="../icons.qrc"/>
</resources>
<connections/> <connections/>
</ui> </ui>

22
src/transferlistfilterswidget.h

@ -137,11 +137,11 @@ protected:
void setItemHover(bool hover) { void setItemHover(bool hover) {
Q_ASSERT(itemHover); Q_ASSERT(itemHover);
if(hover) { if(hover) {
itemHover->setData(Qt::DecorationRole, QIcon(":/Icons/oxygen/folder-documents.png")); itemHover->setData(Qt::DecorationRole, misc::getIcon("folder-documents.png"));
itemHover->setSelected(true); itemHover->setSelected(true);
//setCurrentItem(itemHover); //setCurrentItem(itemHover);
} else { } else {
itemHover->setData(Qt::DecorationRole, QIcon(":/Icons/oxygen/folder.png")); itemHover->setData(Qt::DecorationRole, misc::getIcon("inode-directory.png"));
//itemHover->setSelected(false); //itemHover->setSelected(false);
itemHover = 0; itemHover = 0;
} }
@ -247,10 +247,10 @@ public:
// Add Label filters // Add Label filters
QListWidgetItem *allLabels = new QListWidgetItem(labelFilters); QListWidgetItem *allLabels = new QListWidgetItem(labelFilters);
allLabels->setData(Qt::DisplayRole, QVariant(tr("All labels") + " (0)")); allLabels->setData(Qt::DisplayRole, QVariant(tr("All labels") + " (0)"));
allLabels->setData(Qt::DecorationRole, QIcon(":/Icons/oxygen/folder.png")); allLabels->setData(Qt::DecorationRole, misc::getIcon("inode-directory"));
QListWidgetItem *noLabel = new QListWidgetItem(labelFilters); QListWidgetItem *noLabel = new QListWidgetItem(labelFilters);
noLabel->setData(Qt::DisplayRole, QVariant(tr("Unlabeled") + " (0)")); noLabel->setData(Qt::DisplayRole, QVariant(tr("Unlabeled") + " (0)"));
noLabel->setData(Qt::DecorationRole, QIcon(":/Icons/oxygen/folder.png")); noLabel->setData(Qt::DecorationRole, misc::getIcon("inode-directory"));
// Load settings // Load settings
loadSettings(); loadSettings();
@ -291,7 +291,7 @@ public:
qDebug("Creating label QListWidgetItem: %s", qPrintable(label)); qDebug("Creating label QListWidgetItem: %s", qPrintable(label));
QListWidgetItem *newLabel = new QListWidgetItem(); QListWidgetItem *newLabel = new QListWidgetItem();
newLabel->setText(label + " (0)"); newLabel->setText(label + " (0)");
newLabel->setData(Qt::DecorationRole, QIcon(":/Icons/oxygen/folder.png")); newLabel->setData(Qt::DecorationRole, misc::getIcon("inode-directory"));
labelFilters->addItem(newLabel); labelFilters->addItem(newLabel);
} }
} }
@ -321,7 +321,7 @@ protected slots:
if(label.isEmpty() || customLabels.contains(label)) return; if(label.isEmpty() || customLabels.contains(label)) return;
QListWidgetItem *newLabel = new QListWidgetItem(); QListWidgetItem *newLabel = new QListWidgetItem();
newLabel->setText(label + " (0)"); newLabel->setText(label + " (0)");
newLabel->setData(Qt::DecorationRole, QIcon(":/Icons/oxygen/folder.png")); newLabel->setData(Qt::DecorationRole, misc::getIcon("inode-directory"));
labelFilters->addItem(newLabel); labelFilters->addItem(newLabel);
customLabels.insert(label, 0); customLabels.insert(label, 0);
Preferences().addTorrentLabel(label); Preferences().addTorrentLabel(label);
@ -331,12 +331,12 @@ protected slots:
QMenu labelMenu(labelFilters); QMenu labelMenu(labelFilters);
QAction *removeAct = 0; QAction *removeAct = 0;
if(!labelFilters->selectedItems().empty() && labelFilters->row(labelFilters->selectedItems().first()) > 1) if(!labelFilters->selectedItems().empty() && labelFilters->row(labelFilters->selectedItems().first()) > 1)
removeAct = labelMenu.addAction(QIcon(":/Icons/oxygen/list-remove.png"), tr("Remove label")); removeAct = labelMenu.addAction(misc::getIcon("list-remove"), tr("Remove label"));
QAction *addAct = labelMenu.addAction(QIcon(":/Icons/oxygen/list-add.png"), tr("Add label...")); QAction *addAct = labelMenu.addAction(misc::getIcon("list-add"), tr("Add label..."));
labelMenu.addSeparator(); labelMenu.addSeparator();
QAction *startAct = labelMenu.addAction(QIcon(":/Icons/skin/play22.png"), tr("Resume torrents")); QAction *startAct = labelMenu.addAction(misc::getIcon("media-playback-start"), tr("Resume torrents"));
QAction *pauseAct = labelMenu.addAction(QIcon(":/Icons/skin/pause22.png"), tr("Pause torrents")); QAction *pauseAct = labelMenu.addAction(misc::getIcon("media-playback-pause"), tr("Pause torrents"));
QAction *deleteTorrentsAct = labelMenu.addAction(QIcon(":/Icons/skin/delete22.png"), tr("Delete torrents")); QAction *deleteTorrentsAct = labelMenu.addAction(misc::getIcon("edit-delete"), tr("Delete torrents"));
QAction *act = 0; QAction *act = 0;
act = labelMenu.exec(QCursor::pos()); act = labelMenu.exec(QCursor::pos());
if(act) { if(act) {

37
src/transferlistwidget.cpp

@ -597,42 +597,40 @@ void TransferListWidget::removeLabelFromRows(QString label) {
void TransferListWidget::displayListMenu(const QPoint&) { void TransferListWidget::displayListMenu(const QPoint&) {
// Create actions // Create actions
QAction actionStart(QIcon(QString::fromUtf8(":/Icons/skin/play.png")), tr("Resume", "Resume/start the torrent"), 0); QAction actionStart(misc::getIcon("media-playback-start"), tr("Resume", "Resume/start the torrent"), 0);
connect(&actionStart, SIGNAL(triggered()), this, SLOT(startSelectedTorrents())); connect(&actionStart, SIGNAL(triggered()), this, SLOT(startSelectedTorrents()));
QAction actionPause(QIcon(QString::fromUtf8(":/Icons/skin/pause.png")), tr("Pause", "Pause the torrent"), 0); QAction actionPause(misc::getIcon("media-playback-pause"), tr("Pause", "Pause the torrent"), 0);
connect(&actionPause, SIGNAL(triggered()), this, SLOT(pauseSelectedTorrents())); connect(&actionPause, SIGNAL(triggered()), this, SLOT(pauseSelectedTorrents()));
QAction actionDelete(QIcon(QString::fromUtf8(":/Icons/skin/delete.png")), tr("Delete", "Delete the torrent"), 0); QAction actionDelete(misc::getIcon("edit-delete"), tr("Delete", "Delete the torrent"), 0);
connect(&actionDelete, SIGNAL(triggered()), this, SLOT(deleteSelectedTorrents())); connect(&actionDelete, SIGNAL(triggered()), this, SLOT(deleteSelectedTorrents()));
QAction actionPreview_file(QIcon(QString::fromUtf8(":/Icons/skin/preview.png")), tr("Preview file..."), 0); QAction actionPreview_file(misc::getIcon("view-preview"), tr("Preview file..."), 0);
connect(&actionPreview_file, SIGNAL(triggered()), this, SLOT(previewSelectedTorrents())); connect(&actionPreview_file, SIGNAL(triggered()), this, SLOT(previewSelectedTorrents()));
QAction actionSet_upload_limit(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png")), tr("Limit upload rate..."), 0); QAction actionSet_upload_limit(QIcon(QString::fromUtf8(":/Icons/skin/seeding.png")), tr("Limit upload rate..."), 0);
connect(&actionSet_upload_limit, SIGNAL(triggered()), this, SLOT(setUpLimitSelectedTorrents())); connect(&actionSet_upload_limit, SIGNAL(triggered()), this, SLOT(setUpLimitSelectedTorrents()));
QAction actionSet_download_limit(QIcon(QString::fromUtf8(":/Icons/skin/download.png")), tr("Limit download rate..."), 0); QAction actionSet_download_limit(QIcon(QString::fromUtf8(":/Icons/skin/download.png")), tr("Limit download rate..."), 0);
connect(&actionSet_download_limit, SIGNAL(triggered()), this, SLOT(setDlLimitSelectedTorrents())); connect(&actionSet_download_limit, SIGNAL(triggered()), this, SLOT(setDlLimitSelectedTorrents()));
QAction actionOpen_destination_folder(QIcon(QString::fromUtf8(":/Icons/oxygen/folder.png")), tr("Open destination folder"), 0); QAction actionOpen_destination_folder(misc::getIcon("inode-directory"), tr("Open destination folder"), 0);
connect(&actionOpen_destination_folder, SIGNAL(triggered()), this, SLOT(openSelectedTorrentsFolder())); connect(&actionOpen_destination_folder, SIGNAL(triggered()), this, SLOT(openSelectedTorrentsFolder()));
//QAction actionBuy_it(QIcon(QString::fromUtf8(":/Icons/oxygen/wallet.png")), tr("Buy it"), 0); QAction actionIncreasePriority(misc::getIcon("go-up"), tr("Move up", "i.e. move up in the queue"), 0);
//connect(&actionBuy_it, SIGNAL(triggered()), this, SLOT(buySelectedTorrents()));
QAction actionIncreasePriority(QIcon(QString::fromUtf8(":/Icons/oxygen/go-up.png")), tr("Move up", "i.e. move up in the queue"), 0);
connect(&actionIncreasePriority, SIGNAL(triggered()), this, SLOT(increasePrioSelectedTorrents())); connect(&actionIncreasePriority, SIGNAL(triggered()), this, SLOT(increasePrioSelectedTorrents()));
QAction actionDecreasePriority(QIcon(QString::fromUtf8(":/Icons/oxygen/go-down.png")), tr("Move down", "i.e. Move down in the queue"), 0); QAction actionDecreasePriority(misc::getIcon("go-down"), tr("Move down", "i.e. Move down in the queue"), 0);
connect(&actionDecreasePriority, SIGNAL(triggered()), this, SLOT(decreasePrioSelectedTorrents())); connect(&actionDecreasePriority, SIGNAL(triggered()), this, SLOT(decreasePrioSelectedTorrents()));
QAction actionTopPriority(QIcon(QString::fromUtf8(":/Icons/oxygen/go-top.png")), tr("Move to top", "i.e. Move to top of the queue"), 0); QAction actionTopPriority(misc::getIcon("go-top"), tr("Move to top", "i.e. Move to top of the queue"), 0);
connect(&actionTopPriority, SIGNAL(triggered()), this, SLOT(topPrioSelectedTorrents())); connect(&actionTopPriority, SIGNAL(triggered()), this, SLOT(topPrioSelectedTorrents()));
QAction actionBottomPriority(QIcon(QString::fromUtf8(":/Icons/oxygen/go-bottom.png")), tr("Move to bottom", "i.e. Move to bottom of the queue"), 0); QAction actionBottomPriority(misc::getIcon("go-bottom"), tr("Move to bottom", "i.e. Move to bottom of the queue"), 0);
connect(&actionBottomPriority, SIGNAL(triggered()), this, SLOT(bottomPrioSelectedTorrents())); connect(&actionBottomPriority, SIGNAL(triggered()), this, SLOT(bottomPrioSelectedTorrents()));
QAction actionSetTorrentPath(QIcon(QString::fromUtf8(":/Icons/skin/folder.png")), tr("Set location..."), 0); QAction actionSetTorrentPath(misc::getIcon("inode-directory"), tr("Set location..."), 0);
connect(&actionSetTorrentPath, SIGNAL(triggered()), this, SLOT(setSelectedTorrentsLocation())); connect(&actionSetTorrentPath, SIGNAL(triggered()), this, SLOT(setSelectedTorrentsLocation()));
QAction actionForce_recheck(QIcon(QString::fromUtf8(":/Icons/oxygen/gear.png")), tr("Force recheck"), 0); QAction actionForce_recheck(misc::getIcon("document-edit-verify"), tr("Force recheck"), 0);
connect(&actionForce_recheck, SIGNAL(triggered()), this, SLOT(recheckSelectedTorrents())); connect(&actionForce_recheck, SIGNAL(triggered()), this, SLOT(recheckSelectedTorrents()));
QAction actionCopy_magnet_link(QIcon(QString::fromUtf8(":/Icons/magnet.png")), tr("Copy magnet link"), 0); QAction actionCopy_magnet_link(QIcon(":/Icons/magnet.png"), tr("Copy magnet link"), 0);
connect(&actionCopy_magnet_link, SIGNAL(triggered()), this, SLOT(copySelectedMagnetURIs())); connect(&actionCopy_magnet_link, SIGNAL(triggered()), this, SLOT(copySelectedMagnetURIs()));
#if LIBTORRENT_VERSION_MINOR > 14 #if LIBTORRENT_VERSION_MINOR > 14
QAction actionSuper_seeding_mode(tr("Super seeding mode"), 0); QAction actionSuper_seeding_mode(tr("Super seeding mode"), 0);
actionSuper_seeding_mode.setCheckable(true); actionSuper_seeding_mode.setCheckable(true);
connect(&actionSuper_seeding_mode, SIGNAL(triggered()), this, SLOT(toggleSelectedTorrentsSuperSeeding())); connect(&actionSuper_seeding_mode, SIGNAL(triggered()), this, SLOT(toggleSelectedTorrentsSuperSeeding()));
#endif #endif
QAction actionRename(QIcon(QString::fromUtf8(":/Icons/oxygen/edit_clear.png")), tr("Rename..."), 0); QAction actionRename(misc::getIcon("edit-rename"), tr("Rename..."), 0);
connect(&actionRename, SIGNAL(triggered()), this, SLOT(renameSelectedTorrent())); connect(&actionRename, SIGNAL(triggered()), this, SLOT(renameSelectedTorrent()));
QAction actionSequential_download(tr("Download in sequential order"), 0); QAction actionSequential_download(tr("Download in sequential order"), 0);
actionSequential_download.setCheckable(true); actionSequential_download.setCheckable(true);
@ -719,12 +717,12 @@ void TransferListWidget::displayListMenu(const QPoint&) {
QStringList customLabels = getCustomLabels(); QStringList customLabels = getCustomLabels();
customLabels.sort(); customLabels.sort();
QList<QAction*> labelActions; QList<QAction*> labelActions;
QMenu *labelMenu = listMenu.addMenu(QIcon(":/Icons/oxygen/feed-subscribe.png"), tr("Label")); QMenu *labelMenu = listMenu.addMenu(misc::getIcon("view-categories"), tr("Label"));
labelActions << labelMenu->addAction(QIcon(":/Icons/oxygen/list-add.png"), tr("New...", "New label...")); labelActions << labelMenu->addAction(misc::getIcon("list-add"), tr("New...", "New label..."));
labelActions << labelMenu->addAction(QIcon(":/Icons/oxygen/edit-clear.png"), tr("Reset", "Reset label")); labelActions << labelMenu->addAction(misc::getIcon("edit-clear"), tr("Reset", "Reset label"));
labelMenu->addSeparator(); labelMenu->addSeparator();
foreach(const QString &label, customLabels) { foreach(const QString &label, customLabels) {
labelActions << labelMenu->addAction(QIcon(":/Icons/oxygen/folder.png"), label); labelActions << labelMenu->addAction(misc::getIcon("inode-directory"), label);
} }
listMenu.addSeparator(); listMenu.addSeparator();
if(one_not_seed) if(one_not_seed)
@ -772,7 +770,6 @@ void TransferListWidget::displayListMenu(const QPoint&) {
listMenu.addSeparator(); listMenu.addSeparator();
if(one_has_metadata) if(one_has_metadata)
listMenu.addAction(&actionCopy_magnet_link); listMenu.addAction(&actionCopy_magnet_link);
//listMenu.addAction(&actionBuy_it);
// Call menu // Call menu
QAction *act = 0; QAction *act = 0;
act = listMenu.exec(QCursor::pos()); act = listMenu.exec(QCursor::pos());

8
src/webui/css/style.css

@ -203,10 +203,10 @@ a.propButton img {
#contextmenu li a.deleteHD { background-image:url(../images/skin/delete_perm22.png); } #contextmenu li a.deleteHD { background-image:url(../images/skin/delete_perm22.png); }
#contextmenu li a.uploadLimit { background-image:url(../images/skin/seeding.png); } #contextmenu li a.uploadLimit { background-image:url(../images/skin/seeding.png); }
#contextmenu li a.downloadLimit { background-image:url(../images/skin/download.png); } #contextmenu li a.downloadLimit { background-image:url(../images/skin/download.png); }
#contextmenu li a.prioTop { background-image:url(../images/oxygen/go-top.png); } #contextmenu li a.prioTop { background-image:url(../images/oxygen/go-top22.png); }
#contextmenu li a.prioUp { background-image:url(../images/oxygen/go-up.png); } #contextmenu li a.prioUp { background-image:url(../images/oxygen/go-up22.png); }
#contextmenu li a.prioDown { background-image:url(../images/oxygen/go-down.png); } #contextmenu li a.prioDown { background-image:url(../images/oxygen/go-down22.png); }
#contextmenu li a.prioBottom { background-image:url(../images/oxygen/go-bottom.png); } #contextmenu li a.prioBottom { background-image:url(../images/oxygen/go-bottom22.png); }
/* Sliders */ /* Sliders */

Loading…
Cancel
Save