diff --git a/src/core/preferences.cpp b/src/core/preferences.cpp index d976e7bb9..561462b71 100644 --- a/src/core/preferences.cpp +++ b/src/core/preferences.cpp @@ -1891,6 +1891,16 @@ void Preferences::setConfirmTorrentDeletion(bool enabled) setValue("Preferences/Advanced/confirmTorrentDeletion", enabled); } +bool Preferences::confirmTorrentRecheck() const +{ + return value("Preferences/Advanced/confirmTorrentRecheck", true).toBool(); +} + +void Preferences::setConfirmTorrentRecheck(bool enabled) +{ + setValue("Preferences/Advanced/confirmTorrentRecheck", enabled); +} + TrayIcon::Style Preferences::trayIconStyle() const { return TrayIcon::Style(value("Preferences/Advanced/TrayIconStyle", TrayIcon::NORMAL).toInt()); diff --git a/src/core/preferences.h b/src/core/preferences.h index 7aaf64870..a7f2f655e 100644 --- a/src/core/preferences.h +++ b/src/core/preferences.h @@ -426,6 +426,8 @@ public: #endif bool confirmTorrentDeletion() const; void setConfirmTorrentDeletion(bool enabled); + bool confirmTorrentRecheck() const; + void setConfirmTorrentRecheck(bool enabled); TrayIcon::Style trayIconStyle() const; void setTrayIconStyle(TrayIcon::Style style); diff --git a/src/gui/advancedsettings.h b/src/gui/advancedsettings.h index 289091163..66a61c9a3 100644 --- a/src/gui/advancedsettings.h +++ b/src/gui/advancedsettings.h @@ -20,7 +20,7 @@ enum AdvSettingsRows {DISK_CACHE, DISK_CACHE_TTL, OS_CACHE, SAVE_RESUME_DATA_INT #if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) USE_ICON_THEME, #endif - CONFIRM_DELETE_TORRENT, TRACKER_EXCHANGE, + CONFIRM_DELETE_TORRENT, CONFIRM_RECHECK_TORRENT, TRACKER_EXCHANGE, ANNOUNCE_ALL_TRACKERS, ROW_COUNT}; @@ -31,7 +31,7 @@ private: QSpinBox spin_cache, spin_save_resume_data_interval, outgoing_ports_min, outgoing_ports_max, spin_list_refresh, spin_maxhalfopen, spin_tracker_port; QCheckBox cb_os_cache, cb_ignore_limits_lan, cb_recheck_completed, cb_resolve_countries, cb_resolve_hosts, cb_super_seeding, cb_program_notifications, cb_tracker_status, cb_confirm_torrent_deletion, - cb_enable_tracker_ext, cb_listen_ipv6; + cb_confirm_torrent_recheck, cb_enable_tracker_ext, cb_listen_ipv6; QComboBox combo_iface; QSpinBox spin_cache_ttl; #if defined(Q_OS_WIN) || defined(Q_OS_MAC) @@ -121,6 +121,7 @@ public slots: pref->useSystemIconTheme(cb_use_icon_theme.isChecked()); #endif pref->setConfirmTorrentDeletion(cb_confirm_torrent_deletion.isChecked()); + pref->setConfirmTorrentRecheck(cb_confirm_torrent_recheck.isChecked()); // Tracker exchange pref->setTrackerExchangeEnabled(cb_enable_tracker_ext.isChecked()); pref->setAnnounceToAllTrackers(cb_announce_all_trackers.isChecked()); @@ -287,6 +288,9 @@ private slots: // Torrent deletion confirmation cb_confirm_torrent_deletion.setChecked(pref->confirmTorrentDeletion()); setRow(CONFIRM_DELETE_TORRENT, tr("Confirm torrent deletion"), &cb_confirm_torrent_deletion); + // Torrent recheck confirmation + cb_confirm_torrent_recheck.setChecked(pref->confirmTorrentRecheck()); + setRow(CONFIRM_RECHECK_TORRENT, tr("Confirm torrent recheck"), &cb_confirm_torrent_recheck); // Tracker exchange cb_enable_tracker_ext.setChecked(pref->trackerExchangeEnabled()); setRow(TRACKER_EXCHANGE, tr("Exchange trackers with other peers"), &cb_enable_tracker_ext); diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index c1dcd4ee7..f1aa75f6f 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -572,9 +572,10 @@ void TransferListWidget::setMaxRatioSelectedTorrents() void TransferListWidget::recheckSelectedTorrents() { - QMessageBox::StandardButton ret = QMessageBox::question(this, tr("Recheck confirmation"), tr("Are you sure you want to recheck the selected torrent(s)?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); - if (ret != QMessageBox::Yes) - return; + if (Preferences::instance()->confirmTorrentRecheck()) { + QMessageBox::StandardButton ret = QMessageBox::question(this, tr("Recheck confirmation"), tr("Are you sure you want to recheck the selected torrent(s)?"), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + if (ret != QMessageBox::Yes) return; + } const QStringList hashes = getSelectedTorrentsHashes(); foreach (const QString &hash, hashes) BTSession->recheckTorrent(hash);