|
|
|
@ -12,19 +12,46 @@
@@ -12,19 +12,46 @@
|
|
|
|
|
|
|
|
|
|
#include "core/preferences.h" |
|
|
|
|
|
|
|
|
|
enum AdvSettingsCols {PROPERTY, VALUE}; |
|
|
|
|
enum AdvSettingsRows {DISK_CACHE, DISK_CACHE_TTL, OS_CACHE, SAVE_RESUME_DATA_INTERVAL, OUTGOING_PORT_MIN, OUTGOING_PORT_MAX, RECHECK_COMPLETED, LIST_REFRESH, RESOLVE_COUNTRIES, RESOLVE_HOSTS, MAX_HALF_OPEN, SUPER_SEEDING, NETWORK_IFACE, NETWORK_LISTEN_IPV6, NETWORK_ADDRESS, PROGRAM_NOTIFICATIONS, TRACKER_STATUS, TRACKER_PORT, |
|
|
|
|
#if defined(Q_OS_WIN) || defined(Q_OS_MAC) |
|
|
|
|
enum AdvSettingsCols |
|
|
|
|
{ |
|
|
|
|
PROPERTY, |
|
|
|
|
VALUE |
|
|
|
|
}; |
|
|
|
|
enum AdvSettingsRows |
|
|
|
|
{ |
|
|
|
|
DISK_CACHE, |
|
|
|
|
DISK_CACHE_TTL, |
|
|
|
|
OS_CACHE, |
|
|
|
|
SAVE_RESUME_DATA_INTERVAL, |
|
|
|
|
OUTGOING_PORT_MIN, |
|
|
|
|
OUTGOING_PORT_MAX, |
|
|
|
|
RECHECK_COMPLETED, |
|
|
|
|
LIST_REFRESH, |
|
|
|
|
RESOLVE_COUNTRIES, |
|
|
|
|
RESOLVE_HOSTS, |
|
|
|
|
MAX_HALF_OPEN, |
|
|
|
|
SUPER_SEEDING, |
|
|
|
|
NETWORK_IFACE, |
|
|
|
|
NETWORK_LISTEN_IPV6, |
|
|
|
|
NETWORK_ADDRESS, |
|
|
|
|
PROGRAM_NOTIFICATIONS, |
|
|
|
|
TRACKER_STATUS, |
|
|
|
|
TRACKER_PORT, |
|
|
|
|
#if defined(Q_OS_WIN) || defined(Q_OS_MAC) |
|
|
|
|
UPDATE_CHECK, |
|
|
|
|
#endif |
|
|
|
|
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) |
|
|
|
|
#endif |
|
|
|
|
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) |
|
|
|
|
USE_ICON_THEME, |
|
|
|
|
#endif |
|
|
|
|
CONFIRM_DELETE_TORRENT, CONFIRM_RECHECK_TORRENT, TRACKER_EXCHANGE, |
|
|
|
|
#endif |
|
|
|
|
CONFIRM_DELETE_TORRENT, |
|
|
|
|
CONFIRM_RECHECK_TORRENT, |
|
|
|
|
TRACKER_EXCHANGE, |
|
|
|
|
ANNOUNCE_ALL_TRACKERS, |
|
|
|
|
ROW_COUNT}; |
|
|
|
|
ROW_COUNT |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
class AdvancedSettings: public QTableWidget { |
|
|
|
|
class AdvancedSettings: public QTableWidget |
|
|
|
|
{ |
|
|
|
|
Q_OBJECT |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
@ -44,7 +71,8 @@ private:
@@ -44,7 +71,8 @@ private:
|
|
|
|
|
QLineEdit txt_network_address; |
|
|
|
|
|
|
|
|
|
public: |
|
|
|
|
AdvancedSettings(QWidget *parent=0): QTableWidget(parent) { |
|
|
|
|
AdvancedSettings(QWidget *parent=0): QTableWidget(parent) |
|
|
|
|
{ |
|
|
|
|
// Set visual appearance
|
|
|
|
|
setEditTriggers(QAbstractItemView::NoEditTriggers); |
|
|
|
|
setAlternatingRowColors(true); |
|
|
|
@ -62,11 +90,11 @@ public:
@@ -62,11 +90,11 @@ public:
|
|
|
|
|
loadAdvancedSettings(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
~AdvancedSettings() { |
|
|
|
|
} |
|
|
|
|
~AdvancedSettings() {} |
|
|
|
|
|
|
|
|
|
public slots: |
|
|
|
|
void saveAdvancedSettings() { |
|
|
|
|
void saveAdvancedSettings() |
|
|
|
|
{ |
|
|
|
|
Preferences* const pref = Preferences::instance(); |
|
|
|
|
// Disk write cache
|
|
|
|
|
pref->setDiskCacheSize(spin_cache.value()); |
|
|
|
@ -94,7 +122,8 @@ public slots:
@@ -94,7 +122,8 @@ public slots:
|
|
|
|
|
// All interfaces (default)
|
|
|
|
|
pref->setNetworkInterface(QString::null); |
|
|
|
|
pref->setNetworkInterfaceName(QString::null); |
|
|
|
|
} else { |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
pref->setNetworkInterface(combo_iface.itemData(combo_iface.currentIndex()).toString()); |
|
|
|
|
pref->setNetworkInterfaceName(combo_iface.currentText()); |
|
|
|
|
} |
|
|
|
@ -129,7 +158,8 @@ signals:
@@ -129,7 +158,8 @@ signals:
|
|
|
|
|
void settingsChanged(); |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
void setRow(int row, const QString &property, QSpinBox* editor) { |
|
|
|
|
void setRow(int row, const QString &property, QSpinBox* editor) |
|
|
|
|
{ |
|
|
|
|
setItem(row, PROPERTY, new QTableWidgetItem(property)); |
|
|
|
|
bool ok; Q_UNUSED(ok); |
|
|
|
|
ok = connect(editor, SIGNAL(valueChanged(int)), SIGNAL(settingsChanged())); |
|
|
|
@ -137,7 +167,8 @@ private:
@@ -137,7 +167,8 @@ private:
|
|
|
|
|
setCellWidget(row, VALUE, editor); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void setRow(int row, const QString &property, QComboBox* editor) { |
|
|
|
|
void setRow(int row, const QString &property, QComboBox* editor) |
|
|
|
|
{ |
|
|
|
|
setItem(row, PROPERTY, new QTableWidgetItem(property)); |
|
|
|
|
bool ok; Q_UNUSED(ok); |
|
|
|
|
ok = connect(editor, SIGNAL(currentIndexChanged(int)), SIGNAL(settingsChanged())); |
|
|
|
@ -145,7 +176,8 @@ private:
@@ -145,7 +176,8 @@ private:
|
|
|
|
|
setCellWidget(row, VALUE, editor); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void setRow(int row, const QString &property, QCheckBox* editor) { |
|
|
|
|
void setRow(int row, const QString &property, QCheckBox* editor) |
|
|
|
|
{ |
|
|
|
|
setItem(row, PROPERTY, new QTableWidgetItem(property)); |
|
|
|
|
bool ok; Q_UNUSED(ok); |
|
|
|
|
ok = connect(editor, SIGNAL(stateChanged(int)), SIGNAL(settingsChanged())); |
|
|
|
@ -153,7 +185,8 @@ private:
@@ -153,7 +185,8 @@ private:
|
|
|
|
|
setCellWidget(row, VALUE, editor); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void setRow(int row, const QString &property, QLineEdit* editor) { |
|
|
|
|
void setRow(int row, const QString &property, QLineEdit* editor) |
|
|
|
|
{ |
|
|
|
|
setItem(row, PROPERTY, new QTableWidgetItem(property)); |
|
|
|
|
bool ok; Q_UNUSED(ok); |
|
|
|
|
ok = connect(editor, SIGNAL(textChanged(QString)), SIGNAL(settingsChanged())); |
|
|
|
@ -293,7 +326,6 @@ private slots:
@@ -293,7 +326,6 @@ private slots:
|
|
|
|
|
cb_announce_all_trackers.setChecked(pref->announceToAllTrackers()); |
|
|
|
|
setRow(ANNOUNCE_ALL_TRACKERS, tr("Always announce to all trackers"), &cb_announce_all_trackers); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
#endif // ADVANCEDSETTINGS_H
|
|
|
|
|