diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp index 42bcc6e8a..e15466fbf 100644 --- a/src/base/bittorrent/session.cpp +++ b/src/base/bittorrent/session.cpp @@ -98,10 +98,10 @@ const QString KEY_DEFAULTSAVEPATH = SETTINGS_KEY("DefaultSavePath"); const QString KEY_TEMPPATH = SETTINGS_KEY("TempPath"); const QString KEY_SUBCATEGORIESENABLED = SETTINGS_KEY("SubcategoriesEnabled"); const QString KEY_TEMPPATHENABLED = SETTINGS_KEY("TempPathEnabled"); -const QString KEY_DISABLEASMBYDEFAULT = SETTINGS_KEY("DisableASMByDefault"); -const QString KEY_DISABLEASMONCATEGORYCHANGED = SETTINGS_KEY("DisableASMTriggers/CategoryChanged"); -const QString KEY_DISABLEASMONDEFAULTSAVEPATHCHANGED = SETTINGS_KEY("DisableASMTriggers/DefaultSavePathChanged"); -const QString KEY_DISABLEASMONCATEGORYSAVEPATHCHANGED = SETTINGS_KEY("DisableASMTriggers/CategorySavePathChanged"); +const QString KEY_DISABLE_AUTOTMM_BYDEFAULT = SETTINGS_KEY("DisableAutoTMMByDefault"); +const QString KEY_DISABLE_AUTOTMM_ONCATEGORYCHANGED = SETTINGS_KEY("DisableAutoTMMTriggers/CategoryChanged"); +const QString KEY_DISABLE_AUTOTMM_ONDEFAULTSAVEPATHCHANGED = SETTINGS_KEY("DisableAutoTMMTriggers/DefaultSavePathChanged"); +const QString KEY_DISABLE_AUTOTMM_ONCATEGORYSAVEPATHCHANGED = SETTINGS_KEY("DisableAutoTMMTriggers/CategorySavePathChanged"); const QString KEY_ADDTORRENTPAUSED = SETTINGS_KEY("AddTorrentPaused"); namespace @@ -422,10 +422,10 @@ bool Session::editCategory(const QString &name, const QString &savePath) if (categorySavePath(name) == savePath) return false; m_categories[name] = savePath; - if (isDisableASMWhenCategorySavePathChanged()) { + if (isDisableAutoTMMWhenCategorySavePathChanged()) { foreach (TorrentHandle *const torrent, torrents()) if (torrent->category() == name) - torrent->setASMEnabled(false); + torrent->setAutoTMMEnabled(false); } else { foreach (TorrentHandle *const torrent, torrents()) @@ -491,44 +491,44 @@ void Session::setSubcategoriesEnabled(bool value) emit subcategoriesSupportChanged(); } -bool Session::isASMDisabledByDefault() const +bool Session::isAutoTMMDisabledByDefault() const { - return m_settings->loadValue(KEY_DISABLEASMBYDEFAULT, true).toBool(); + return m_settings->loadValue(KEY_DISABLE_AUTOTMM_BYDEFAULT, true).toBool(); } -void Session::setASMDisabledByDefault(bool value) +void Session::setAutoTMMDisabledByDefault(bool value) { - m_settings->storeValue(KEY_DISABLEASMBYDEFAULT, value); + m_settings->storeValue(KEY_DISABLE_AUTOTMM_BYDEFAULT, value); } -bool Session::isDisableASMWhenCategoryChanged() const +bool Session::isDisableAutoTMMWhenCategoryChanged() const { - return m_settings->loadValue(KEY_DISABLEASMONCATEGORYCHANGED, false).toBool(); + return m_settings->loadValue(KEY_DISABLE_AUTOTMM_ONCATEGORYCHANGED, false).toBool(); } -void Session::setDisableASMWhenCategoryChanged(bool value) +void Session::setDisableAutoTMMWhenCategoryChanged(bool value) { - m_settings->storeValue(KEY_DISABLEASMONCATEGORYCHANGED, value); + m_settings->storeValue(KEY_DISABLE_AUTOTMM_ONCATEGORYCHANGED, value); } -bool Session::isDisableASMWhenDefaultSavePathChanged() const +bool Session::isDisableAutoTMMWhenDefaultSavePathChanged() const { - return m_settings->loadValue(KEY_DISABLEASMONDEFAULTSAVEPATHCHANGED, true).toBool(); + return m_settings->loadValue(KEY_DISABLE_AUTOTMM_ONDEFAULTSAVEPATHCHANGED, true).toBool(); } -void Session::setDisableASMWhenDefaultSavePathChanged(bool value) +void Session::setDisableAutoTMMWhenDefaultSavePathChanged(bool value) { - m_settings->storeValue(KEY_DISABLEASMONDEFAULTSAVEPATHCHANGED, value); + m_settings->storeValue(KEY_DISABLE_AUTOTMM_ONDEFAULTSAVEPATHCHANGED, value); } -bool Session::isDisableASMWhenCategorySavePathChanged() const +bool Session::isDisableAutoTMMWhenCategorySavePathChanged() const { - return m_settings->loadValue(KEY_DISABLEASMONCATEGORYSAVEPATHCHANGED, true).toBool(); + return m_settings->loadValue(KEY_DISABLE_AUTOTMM_ONCATEGORYSAVEPATHCHANGED, true).toBool(); } -void Session::setDisableASMWhenCategorySavePathChanged(bool value) +void Session::setDisableAutoTMMWhenCategorySavePathChanged(bool value) { - m_settings->storeValue(KEY_DISABLEASMONCATEGORYSAVEPATHCHANGED, value); + m_settings->storeValue(KEY_DISABLE_AUTOTMM_ONCATEGORYSAVEPATHCHANGED, value); } bool Session::isAddTorrentPaused() const @@ -1259,7 +1259,7 @@ bool Session::addTorrent_impl(AddTorrentData addData, const MagnetUri &magnetUri { addData.savePath = normalizeSavePath( addData.savePath, - ((!addData.resumed && isASMDisabledByDefault()) ? m_defaultSavePath : "")); + ((!addData.resumed && isAutoTMMDisabledByDefault()) ? m_defaultSavePath : "")); if (!addData.category.isEmpty()) { if (!m_categories.contains(addData.category) && !addCategory(addData.category)) { @@ -1274,9 +1274,9 @@ bool Session::addTorrent_impl(AddTorrentData addData, const MagnetUri &magnetUri std::vector filePriorities; QString savePath; - if (addData.savePath.isEmpty()) // using Advanced mode + if (addData.savePath.isEmpty()) // using Automatic mode savePath = categorySavePath(addData.category); - else // using Simple mode + else // using Manual mode savePath = addData.savePath; bool fromMagnetUri = magnetUri.isValid(); @@ -1679,9 +1679,9 @@ void Session::setDefaultSavePath(QString path) m_defaultSavePath = path; m_settings->storeValue(KEY_DEFAULTSAVEPATH, m_defaultSavePath); - if (isDisableASMWhenDefaultSavePathChanged()) + if (isDisableAutoTMMWhenDefaultSavePathChanged()) foreach (TorrentHandle *const torrent, torrents()) - torrent->setASMEnabled(false); + torrent->setAutoTMMEnabled(false); else foreach (TorrentHandle *const torrent, torrents()) torrent->handleCategorySavePathChanged(); diff --git a/src/base/bittorrent/session.h b/src/base/bittorrent/session.h index d5d79f018..38cf8b98e 100644 --- a/src/base/bittorrent/session.h +++ b/src/base/bittorrent/session.h @@ -199,25 +199,25 @@ namespace BitTorrent bool isSubcategoriesEnabled() const; void setSubcategoriesEnabled(bool value); - // Advanced Saving Management subsystem (ASM) + // Torrent Management Mode subsystem (TMM) // - // Each torrent can be either in Simple mode or in Advanced mode - // In Simple mode torrent has explicit save path - // In Advanced Mode torrent has implicit save path (based on Default - // save path and Category save path) - // In Advanced Mode torrent save path can be changed in following cases: + // Each torrent can be either in Manual mode or in Automatic mode + // In Manual Mode various torrent properties are set explicitly(eg save path) + // In Automatic Mode various torrent properties are set implicitly(eg save path) + // based on the associated category. + // In Automatic Mode torrent save path can be changed in following cases: // 1. Default save path changed // 2. Torrent category save path changed // 3. Torrent category changed // (unless otherwise is specified) - bool isASMDisabledByDefault() const; - void setASMDisabledByDefault(bool value); - bool isDisableASMWhenCategoryChanged() const; - void setDisableASMWhenCategoryChanged(bool value); - bool isDisableASMWhenDefaultSavePathChanged() const; - void setDisableASMWhenDefaultSavePathChanged(bool value); - bool isDisableASMWhenCategorySavePathChanged() const; - void setDisableASMWhenCategorySavePathChanged(bool value); + bool isAutoTMMDisabledByDefault() const; + void setAutoTMMDisabledByDefault(bool value); + bool isDisableAutoTMMWhenCategoryChanged() const; + void setDisableAutoTMMWhenCategoryChanged(bool value); + bool isDisableAutoTMMWhenDefaultSavePathChanged() const; + void setDisableAutoTMMWhenDefaultSavePathChanged(bool value); + bool isDisableAutoTMMWhenCategorySavePathChanged() const; + void setDisableAutoTMMWhenCategorySavePathChanged(bool value); bool isAddTorrentPaused() const; void setAddTorrentPaused(bool value); diff --git a/src/base/bittorrent/torrenthandle.cpp b/src/base/bittorrent/torrenthandle.cpp index 6978f5817..f8211278b 100644 --- a/src/base/bittorrent/torrenthandle.cpp +++ b/src/base/bittorrent/torrenthandle.cpp @@ -199,7 +199,7 @@ TorrentHandle::TorrentHandle(Session *session, const libtorrent::torrent_handle , m_nativeHandle(nativeHandle) , m_state(TorrentState::Unknown) , m_renameCount(0) - , m_useASM(data.savePath.isEmpty()) + , m_useAutoTMM(data.savePath.isEmpty()) , m_name(data.name) , m_savePath(Utils::Fs::toNativePath(data.savePath)) , m_category(data.category) @@ -210,7 +210,7 @@ TorrentHandle::TorrentHandle(Session *session, const libtorrent::torrent_handle , m_pauseAfterRecheck(false) , m_needSaveResumeData(false) { - if (m_useASM) + if (m_useAutoTMM) m_savePath = Utils::Fs::toNativePath(m_session->categorySavePath(m_category)); updateStatus(); @@ -326,19 +326,19 @@ QString TorrentHandle::contentPath(bool actual) const return rootPath(actual); } -bool TorrentHandle::isASMEnabled() const +bool TorrentHandle::isAutoTMMEnabled() const { - return m_useASM; + return m_useAutoTMM; } -void TorrentHandle::setASMEnabled(bool enabled) +void TorrentHandle::setAutoTMMEnabled(bool enabled) { - if (m_useASM == enabled) return; + if (m_useAutoTMM == enabled) return; - m_useASM = enabled; + m_useAutoTMM = enabled; m_session->handleTorrentSavingModeChanged(this); - if (m_useASM) + if (m_useAutoTMM) move_impl(m_session->categorySavePath(m_category)); } @@ -1150,11 +1150,11 @@ bool TorrentHandle::setCategory(const QString &category) m_needSaveResumeData = true; m_session->handleTorrentCategoryChanged(this, oldCategory); - if (m_useASM) { - if (!m_session->isDisableASMWhenCategoryChanged()) + if (m_useAutoTMM) { + if (!m_session->isDisableAutoTMMWhenCategoryChanged()) move_impl(m_session->categorySavePath(m_category)); else - setASMEnabled(false); + setAutoTMMEnabled(false); } } @@ -1163,7 +1163,7 @@ bool TorrentHandle::setCategory(const QString &category) void TorrentHandle::move(QString path) { - m_useASM = false; + m_useAutoTMM = false; m_session->handleTorrentSavingModeChanged(this); path = Utils::Fs::fromNativePath(path.trimmed()); @@ -1531,7 +1531,7 @@ void TorrentHandle::handleSaveResumeDataAlert(libtorrent::save_resume_data_alert resumeData["qBt-paused"] = isPaused(); resumeData["qBt-forced"] = isForced(); } - resumeData["qBt-savePath"] = m_useASM ? "" : Utils::String::toStdString(m_savePath); + resumeData["qBt-savePath"] = m_useAutoTMM ? "" : Utils::String::toStdString(m_savePath); resumeData["qBt-ratioLimit"] = Utils::String::toStdString(QString::number(m_ratioLimit)); resumeData["qBt-category"] = Utils::String::toStdString(m_category); resumeData["qBt-name"] = Utils::String::toStdString(m_name); @@ -1656,7 +1656,7 @@ void TorrentHandle::handleTempPathChanged() void TorrentHandle::handleCategorySavePathChanged() { - if (m_useASM) + if (m_useAutoTMM) move_impl(m_session->categorySavePath(m_category)); } diff --git a/src/base/bittorrent/torrenthandle.h b/src/base/bittorrent/torrenthandle.h index 27cdb8336..e2c3f1e5e 100644 --- a/src/base/bittorrent/torrenthandle.h +++ b/src/base/bittorrent/torrenthandle.h @@ -229,8 +229,8 @@ namespace BitTorrent QString rootPath(bool actual = false) const; QString contentPath(bool actual = false) const; - bool isASMEnabled() const; - void setASMEnabled(bool enabled); + bool isAutoTMMEnabled() const; + void setAutoTMMEnabled(bool enabled); QString category() const; bool belongsToCategory(const QString &category) const; bool setCategory(const QString &category); @@ -412,7 +412,7 @@ namespace BitTorrent QQueue m_moveFinishedTriggers; int m_renameCount; - bool m_useASM; + bool m_useAutoTMM; // Persistent data QString m_name; diff --git a/src/gui/addnewtorrentdialog.cpp b/src/gui/addnewtorrentdialog.cpp index 345ac7581..f065fd961 100644 --- a/src/gui/addnewtorrentdialog.cpp +++ b/src/gui/addnewtorrentdialog.cpp @@ -89,7 +89,9 @@ AddNewTorrentDialog::AddNewTorrentDialog(QWidget *parent) auto session = BitTorrent::Session::instance(); ui->startTorrentCheckBox->setChecked(!session->isAddTorrentPaused()); - (session->isASMDisabledByDefault() ? ui->simpleModeRadioButton : ui->advancedModeRadioButton)->setChecked(true); + ui->comboTTM->blockSignals(true); //the TreeView size isn't correct if the slot does it job at this point + ui->comboTTM->setCurrentIndex(!session->isAutoTMMDisabledByDefault()); + ui->comboTTM->blockSignals(false); populateSavePathComboBox(); connect(ui->savePathComboBox, SIGNAL(currentIndexChanged(int)), SLOT(onSavePathChanged(int))); connect(ui->browseButton, SIGNAL(clicked()), SLOT(browseButton_clicked())); @@ -249,6 +251,7 @@ bool AddNewTorrentDialog::loadTorrent(const QString &torrentPath) ui->lblhash->setText(m_hash); setupTreeview(); + TMMChanged(ui->comboTTM->currentIndex()); return true; } @@ -287,6 +290,7 @@ bool AddNewTorrentDialog::loadMagnet(const BitTorrent::MagnetUri &magnetUri) setWindowTitle(torrent_name.isEmpty() ? tr("Magnet link") : torrent_name); setupTreeview(); + TMMChanged(ui->comboTTM->currentIndex()); // Set dialog position setdialogPosition(); @@ -402,7 +406,7 @@ void AddNewTorrentDialog::categoryChanged(int index) { Q_UNUSED(index); - if (ui->advancedModeRadioButton->isChecked()) { + if (ui->comboTTM->currentIndex() == 1) { QString savePath = BitTorrent::Session::instance()->categorySavePath(ui->categoryComboBox->currentText()); ui->savePathComboBox->setItemText(0, Utils::Fs::toNativePath(savePath)); ui->savePathComboBox->setItemData(0, savePath); @@ -638,7 +642,7 @@ void AddNewTorrentDialog::accept() params.addPaused = !ui->startTorrentCheckBox->isChecked(); QString savePath = ui->savePathComboBox->itemData(ui->savePathComboBox->currentIndex()).toString(); - if (ui->simpleModeRadioButton->isChecked()) { + if (ui->comboTTM->currentIndex() != 1) { // 0 is Manual mode and 1 is Automatic mode. Handle all non 1 values as manual mode. params.savePath = savePath; saveSavePathHistory(); if (ui->defaultSavePathCheckBox->isChecked()) @@ -686,6 +690,7 @@ void AddNewTorrentDialog::updateMetadata(const BitTorrent::TorrentInfo &info) // Update UI setupTreeview(); + TMMChanged(ui->comboTTM->currentIndex()); setMetadataProgressIndicator(false, tr("Metadata retrieval complete")); } @@ -770,25 +775,25 @@ void AddNewTorrentDialog::handleDownloadFinished(const QString &url, const QStri this->deleteLater(); } -void AddNewTorrentDialog::savingModeChanged(bool enabled) +void AddNewTorrentDialog::TMMChanged(int index) { - if (!enabled) return; - - if (ui->simpleModeRadioButton->isChecked()) { + if (index != 1) { // 0 is Manual mode and 1 is Automatic mode. Handle all non 1 values as manual mode. populateSavePathComboBox(); - ui->savePathComboBox->setEnabled(true); - ui->browseButton->setEnabled(true); + ui->groupBoxSavePath->setEnabled(true); ui->savePathComboBox->blockSignals(false); ui->savePathComboBox->setCurrentIndex(m_oldIndex < ui->savePathComboBox->count() ? m_oldIndex : ui->savePathComboBox->count() - 1); + ui->adv_button->setEnabled(true); } else { + ui->groupBoxSavePath->setEnabled(false); ui->savePathComboBox->blockSignals(true); ui->savePathComboBox->clear(); QString savePath = BitTorrent::Session::instance()->categorySavePath(ui->categoryComboBox->currentText()); ui->savePathComboBox->addItem(Utils::Fs::toNativePath(savePath), savePath); - ui->savePathComboBox->setEnabled(false); - ui->browseButton->setEnabled(false); ui->defaultSavePathCheckBox->setVisible(false); + ui->adv_button->setChecked(true); + ui->adv_button->setEnabled(false); + showAdvancedSettings(true); } } diff --git a/src/gui/addnewtorrentdialog.h b/src/gui/addnewtorrentdialog.h index e7bf345c3..20938896b 100644 --- a/src/gui/addnewtorrentdialog.h +++ b/src/gui/addnewtorrentdialog.h @@ -79,7 +79,7 @@ private slots: void handleDownloadFailed(const QString &url, const QString &reason); void handleRedirectedToMagnet(const QString &url, const QString &magnetUri); void handleDownloadFinished(const QString &url, const QString &filePath); - void savingModeChanged(bool enabled); + void TMMChanged(int index); void categoryChanged(int index); void doNotDeleteTorrentClicked(bool checked); diff --git a/src/gui/addnewtorrentdialog.ui b/src/gui/addnewtorrentdialog.ui index 778703d9f..e214b2aa6 100644 --- a/src/gui/addnewtorrentdialog.ui +++ b/src/gui/addnewtorrentdialog.ui @@ -12,55 +12,52 @@ - + + + + + Torrent Management Mode: + + + + + + + Automatic mode means that various torrent properties(eg save path) will be decided by the associated category + + + + Manual + + + + + Automatic + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Save at - - - - 20 - - - - - Saving Management: - - - - - - - Simple - - - true - - - - - - - Advanced - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - @@ -400,8 +397,6 @@ - simpleModeRadioButton - advancedModeRadioButton savePathComboBox browseButton defaultSavePathCheckBox @@ -449,50 +444,34 @@ - simpleModeRadioButton - toggled(bool) - AddNewTorrentDialog - savingModeChanged(bool) - - - 154 - 39 - - - 122 - 6 - - - - - advancedModeRadioButton - toggled(bool) + categoryComboBox + currentIndexChanged(int) AddNewTorrentDialog - savingModeChanged(bool) + categoryChanged(int) - 218 - 44 + 337 + 205 - 209 - 7 + 403 + 160 - categoryComboBox + comboTTM currentIndexChanged(int) AddNewTorrentDialog - categoryChanged(int) + TMMChanged(int) - 337 - 205 + 200 + 19 - 403 - 160 + 206 + 294 @@ -500,5 +479,6 @@ savingModeChanged(bool) categoryChanged(int) + TMMChanged(int) diff --git a/src/gui/options.ui b/src/gui/options.ui index c0823dd11..52f6e5de1 100644 --- a/src/gui/options.ui +++ b/src/gui/options.ui @@ -797,7 +797,7 @@ - Default Saving Mode: + Default Torrent Management Mode: @@ -856,7 +856,7 @@ - Switch torrent to Simple Mode + Switch torrent to Manual Mode @@ -897,7 +897,7 @@ - Switch affected torrents to Simple Mode + Switch affected torrents to Manual Mode @@ -938,7 +938,7 @@ - Switch affected torrents to Simple Mode + Switch affected torrents to Manual Mode @@ -1306,10 +1306,6 @@ - gridLayoutWidget - label_2 - checkSmtpSSL - groupMailNotifAuth diff --git a/src/gui/options_imp.cpp b/src/gui/options_imp.cpp index a8b722470..084c1683d 100644 --- a/src/gui/options_imp.cpp +++ b/src/gui/options_imp.cpp @@ -496,10 +496,10 @@ void options_imp::saveOptions() // Downloads preferences session->setDefaultSavePath(Utils::Fs::expandPathAbs(textSavePath->text())); session->setSubcategoriesEnabled(checkUseSubcategories->isChecked()); - session->setASMDisabledByDefault(comboSavingMode->currentIndex() == 0); - session->setDisableASMWhenCategoryChanged(comboTorrentCategoryChanged->currentIndex() == 1); - session->setDisableASMWhenCategorySavePathChanged(comboCategoryChanged->currentIndex() == 1); - session->setDisableASMWhenDefaultSavePathChanged(comboCategoryDefaultPathChanged->currentIndex() == 1); + session->setAutoTMMDisabledByDefault(comboSavingMode->currentIndex() == 0); + session->setDisableAutoTMMWhenCategoryChanged(comboTorrentCategoryChanged->currentIndex() == 1); + session->setDisableAutoTMMWhenCategorySavePathChanged(comboCategoryChanged->currentIndex() == 1); + session->setDisableAutoTMMWhenDefaultSavePathChanged(comboCategoryDefaultPathChanged->currentIndex() == 1); session->setTempPathEnabled(checkTempFolder->isChecked()); session->setTempPath(Utils::Fs::expandPathAbs(textTempPath->text())); pref->useIncompleteFilesExtension(checkAppendqB->isChecked()); @@ -710,10 +710,10 @@ void options_imp::loadOptions() textSavePath->setText(Utils::Fs::toNativePath(session->defaultSavePath())); checkUseSubcategories->setChecked(session->isSubcategoriesEnabled()); - comboSavingMode->setCurrentIndex(!session->isASMDisabledByDefault()); - comboTorrentCategoryChanged->setCurrentIndex(session->isDisableASMWhenCategoryChanged()); - comboCategoryChanged->setCurrentIndex(session->isDisableASMWhenCategorySavePathChanged()); - comboCategoryDefaultPathChanged->setCurrentIndex(session->isDisableASMWhenDefaultSavePathChanged()); + comboSavingMode->setCurrentIndex(!session->isAutoTMMDisabledByDefault()); + comboTorrentCategoryChanged->setCurrentIndex(session->isDisableAutoTMMWhenCategoryChanged()); + comboCategoryChanged->setCurrentIndex(session->isDisableAutoTMMWhenCategorySavePathChanged()); + comboCategoryDefaultPathChanged->setCurrentIndex(session->isDisableAutoTMMWhenDefaultSavePathChanged()); checkTempFolder->setChecked(session->isTempPathEnabled()); textTempPath->setEnabled(checkTempFolder->isChecked()); browseTempDirButton->setEnabled(checkTempFolder->isChecked()); diff --git a/src/gui/transferlistwidget.cpp b/src/gui/transferlistwidget.cpp index c7e25409e..25b1e5932 100644 --- a/src/gui/transferlistwidget.cpp +++ b/src/gui/transferlistwidget.cpp @@ -566,10 +566,10 @@ void TransferListWidget::toggleSelectedFirstLastPiecePrio() const torrent->toggleFirstLastPiecePriority(); } -void TransferListWidget::setSelectedASMEnabled(bool enabled) const +void TransferListWidget::setSelectedAutoTMMEnabled(bool enabled) const { foreach (BitTorrent::TorrentHandle *const torrent, getSelectedTorrents()) - torrent->setASMEnabled(enabled); + torrent->setAutoTMMEnabled(enabled); } void TransferListWidget::askNewCategoryForSelection() @@ -672,9 +672,10 @@ void TransferListWidget::displayListMenu(const QPoint&) QAction actionFirstLastPiece_prio(tr("Download first and last pieces first"), 0); actionFirstLastPiece_prio.setCheckable(true); connect(&actionFirstLastPiece_prio, SIGNAL(triggered()), this, SLOT(toggleSelectedFirstLastPiecePrio())); - QAction actionEnableASM(tr("Enable Advanced Saving Management"), 0); - actionEnableASM.setCheckable(true); - connect(&actionEnableASM, SIGNAL(triggered(bool)), this, SLOT(setSelectedASMEnabled(bool))); + QAction actionAutoTMM(tr("Automatic Torrent Management"), 0); + actionAutoTMM.setCheckable(true); + actionAutoTMM.setToolTip(tr("Automatic mode means that various torrent properties(eg save path) will be decided by the associated category")); + connect(&actionAutoTMM, SIGNAL(triggered(bool)), this, SLOT(setSelectedAutoTMMEnabled(bool))); // End of actions // Enable/disable pause/start action given the DL state @@ -685,8 +686,8 @@ void TransferListWidget::displayListMenu(const QPoint&) bool sequential_download_mode = false, prioritize_first_last = false; bool one_has_metadata = false, one_not_seed = false; bool allSameCategory = true; - bool allSameASM = true; - bool firstASM = false; + bool allSameAutoTMM = true; + bool firstAutoTMM = false; QString firstCategory; bool first = true; @@ -704,9 +705,9 @@ void TransferListWidget::displayListMenu(const QPoint&) allSameCategory = false; if (first) - firstASM = torrent->isASMEnabled(); - if (firstASM != torrent->isASMEnabled()) - allSameASM = false; + firstAutoTMM = torrent->isAutoTMMEnabled(); + if (firstAutoTMM != torrent->isAutoTMMEnabled()) + allSameAutoTMM = false; if (torrent->hasMetadata()) one_has_metadata = true; @@ -750,7 +751,7 @@ void TransferListWidget::displayListMenu(const QPoint&) if (one_has_metadata && one_not_seed && !all_same_sequential_download_mode && !all_same_prio_firstlast && !all_same_super_seeding && !allSameCategory - && needs_start && needs_force && needs_pause && needs_preview && !allSameASM) { + && needs_start && needs_force && needs_pause && needs_preview && !allSameAutoTMM) { break; } } @@ -786,9 +787,9 @@ void TransferListWidget::displayListMenu(const QPoint&) categoryActions << cat; } - if (allSameASM) { - actionEnableASM.setChecked(firstASM); - listMenu.addAction(&actionEnableASM); + if (allSameAutoTMM) { + actionAutoTMM.setChecked(firstAutoTMM); + listMenu.addAction(&actionAutoTMM); } listMenu.addSeparator(); diff --git a/src/gui/transferlistwidget.h b/src/gui/transferlistwidget.h index ac0e167c1..0f001141b 100644 --- a/src/gui/transferlistwidget.h +++ b/src/gui/transferlistwidget.h @@ -105,7 +105,7 @@ protected slots: void toggleSelectedTorrentsSuperSeeding() const; void toggleSelectedTorrentsSequentialDownload() const; void toggleSelectedFirstLastPiecePrio() const; - void setSelectedASMEnabled(bool enabled) const; + void setSelectedAutoTMMEnabled(bool enabled) const; void askNewCategoryForSelection(); void saveSettings();