Use of system icon theme can now be disabled

This commit is contained in:
Christophe Dumez
2011-01-01 13:05:28 +00:00
parent 5dfca9c685
commit 83ff66e0b1
27 changed files with 329 additions and 151 deletions

View File

@@ -14,6 +14,9 @@ enum AdvSettingsCols {PROPERTY, VALUE};
enum AdvSettingsRows {DISK_CACHE, OUTGOING_PORT_MIN, OUTGOING_PORT_MAX, IGNORE_LIMIT_LAN, COUNT_OVERHEAD, RECHECK_COMPLETED, LIST_REFRESH, RESOLVE_COUNTRIES, RESOLVE_HOSTS, MAX_HALF_OPEN, SUPER_SEEDING, NETWORK_IFACE, PROGRAM_NOTIFICATIONS, TRACKER_STATUS, TRACKER_PORT,
#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
UPDATE_CHECK,
#endif
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
USE_ICON_THEME,
#endif
ROW_COUNT };
@@ -27,6 +30,9 @@ private:
#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
QCheckBox *cb_update_check;
#endif
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
QCheckBox *cb_use_icon_theme;
#endif
public:
AdvancedSettings(QWidget *parent=0): QTableWidget(parent) {
@@ -63,6 +69,9 @@ public:
delete cb_tracker_status;
#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
delete cb_update_check;
#endif
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
delete cb_use_icon_theme;
#endif
}
@@ -105,6 +114,10 @@ public slots:
pref.setTrackerPort(spin_tracker_port->value());
#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
pref.setUpdateCheckEnabled(cb_update_check->isChecked());
#endif
// Icon theme
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
pref.useSystemIconTheme(cb_use_icon_theme->isChecked());
#endif
}
@@ -234,6 +247,13 @@ protected slots:
connect(cb_update_check, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged()));
cb_update_check->setChecked(pref.isUpdateCheckEnabled());
setCellWidget(UPDATE_CHECK, VALUE, cb_update_check);
#endif
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
setItem(USE_ICON_THEME, PROPERTY, new QTableWidgetItem(tr("Use system icon theme")));
cb_use_icon_theme = new QCheckBox();
connect(cb_use_icon_theme, SIGNAL(toggled(bool)), this, SLOT(emitSettingsChanged()));
cb_use_icon_theme->setChecked(pref.useSystemIconTheme());
setCellWidget(USE_ICON_THEME, VALUE, cb_use_icon_theme);
#endif
}

View File

@@ -50,6 +50,7 @@
#include "scannedfoldersmodel.h"
#include "qinisettings.h"
#include "qbtsession.h"
#include "iconprovider.h"
using namespace libtorrent;
@@ -61,14 +62,14 @@ options_imp::options_imp(QWidget *parent):
setAttribute(Qt::WA_DeleteOnClose);
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"));
IpFilterRefreshBtn->setIcon(misc::getIcon("view-refresh"));
tabSelection->item(TAB_UI)->setIcon(IconProvider::instance()->getIcon("preferences-desktop"));
tabSelection->item(TAB_BITTORRENT)->setIcon(IconProvider::instance()->getIcon("preferences-system-network"));
tabSelection->item(TAB_CONNECTION)->setIcon(IconProvider::instance()->getIcon("network-wired"));
tabSelection->item(TAB_DOWNLOADS)->setIcon(IconProvider::instance()->getIcon("download"));
tabSelection->item(TAB_SPEED)->setIcon(IconProvider::instance()->getIcon("chronometer"));
tabSelection->item(TAB_WEBUI)->setIcon(IconProvider::instance()->getIcon("network-server"));
tabSelection->item(TAB_ADVANCED)->setIcon(IconProvider::instance()->getIcon("preferences-other"));
IpFilterRefreshBtn->setIcon(IconProvider::instance()->getIcon("view-refresh"));
hsplitter->setCollapsible(0, false);
hsplitter->setCollapsible(1, false);

View File

@@ -856,6 +856,16 @@ public:
}
#endif
#if defined(Q_WS_X11) && (QT_VERSION >= QT_VERSION_CHECK(4,6,0))
bool useSystemIconTheme() const {
return value(QString::fromUtf8("Preferences/Advanced/useSystemIconTheme"), true).toBool();
}
void useSystemIconTheme(bool enabled) {
setValue(QString::fromUtf8("Preferences/Advanced/useSystemIconTheme"), enabled);
}
#endif
QStringList getTorrentLabels() const {
return value("TransferListFilters/customLabels").toStringList();
}