Implement an option to disable confirmation of torrent recheck

This commit is contained in:
Oleh Prypin 2015-07-08 23:29:31 +03:00
parent 647140c7c7
commit 7474c05209
4 changed files with 22 additions and 4 deletions

View file

@ -1894,6 +1894,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());

View file

@ -424,6 +424,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);

View file

@ -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);

View file

@ -478,8 +478,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;
}
foreach (BitTorrent::TorrentHandle *const torrent, getSelectedTorrents())
torrent->forceRecheck();