mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-05 11:24:15 +00:00
Now qbt remembers the last used folder. Fixes #799697.
Conflicts: src/preferences/options.ui
This commit is contained in:
parent
4ffe100287
commit
a82ccd8e95
@ -155,6 +155,7 @@ options_imp::options_imp(QWidget *parent):
|
|||||||
connect(textSavePath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton()));
|
connect(textSavePath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton()));
|
||||||
connect(textTempPath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton()));
|
connect(textTempPath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton()));
|
||||||
connect(checkAppendLabel, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(checkAppendLabel, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
|
connect(checkLastLocation, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
connect(checkAppendqB, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(checkAppendqB, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
connect(checkPreallocateAll, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(checkPreallocateAll, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
connect(checkAdditionDialog, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
connect(checkAdditionDialog, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
|
||||||
@ -391,6 +392,7 @@ void options_imp::saveOptions(){
|
|||||||
#endif
|
#endif
|
||||||
pref.setTempPath(temp_path);
|
pref.setTempPath(temp_path);
|
||||||
pref.setAppendTorrentLabel(checkAppendLabel->isChecked());
|
pref.setAppendTorrentLabel(checkAppendLabel->isChecked());
|
||||||
|
pref.setRememberLastLocation(checkLastLocation->isChecked());
|
||||||
#if LIBTORRENT_VERSION_MINOR > 14
|
#if LIBTORRENT_VERSION_MINOR > 14
|
||||||
pref.useIncompleteFilesExtension(checkAppendqB->isChecked());
|
pref.useIncompleteFilesExtension(checkAppendqB->isChecked());
|
||||||
#endif
|
#endif
|
||||||
@ -568,6 +570,7 @@ void options_imp::loadOptions(){
|
|||||||
#endif
|
#endif
|
||||||
textTempPath->setText(temp_path);
|
textTempPath->setText(temp_path);
|
||||||
checkAppendLabel->setChecked(pref.appendTorrentLabel());
|
checkAppendLabel->setChecked(pref.appendTorrentLabel());
|
||||||
|
checkLastLocation->setChecked(pref.rememberLastLocation());
|
||||||
#if LIBTORRENT_VERSION_MINOR > 14
|
#if LIBTORRENT_VERSION_MINOR > 14
|
||||||
checkAppendqB->setChecked(pref.useIncompleteFilesExtension());
|
checkAppendqB->setChecked(pref.useIncompleteFilesExtension());
|
||||||
#endif
|
#endif
|
||||||
|
@ -229,6 +229,22 @@ public:
|
|||||||
setValue("Preferences/Downloads/AppendLabel", b);
|
setValue("Preferences/Downloads/AppendLabel", b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool rememberLastLocation() const {
|
||||||
|
return value(QString::fromUtf8("Preferences/Downloads/RememberLastLocation"), false).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setRememberLastLocation(bool b) {
|
||||||
|
setValue("Preferences/Downloads/RememberLastLocation", b);
|
||||||
|
}
|
||||||
|
|
||||||
|
QString lastLocationPath() const {
|
||||||
|
return value(QString::fromUtf8("Preferences/Downloads/LastLocationPath"), QString()).toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
void setLastLocationPath(const QString &path) {
|
||||||
|
setValue(QString::fromUtf8("Preferences/Downloads/LastLocationPath"), path);
|
||||||
|
}
|
||||||
|
|
||||||
bool preAllocateAllFiles() const {
|
bool preAllocateAllFiles() const {
|
||||||
return value(QString::fromUtf8("Preferences/Downloads/PreAllocation"), false).toBool();
|
return value(QString::fromUtf8("Preferences/Downloads/PreAllocation"), false).toBool();
|
||||||
}
|
}
|
||||||
|
@ -60,7 +60,7 @@ using namespace libtorrent;
|
|||||||
|
|
||||||
torrentAdditionDialog::torrentAdditionDialog(QWidget *parent) :
|
torrentAdditionDialog::torrentAdditionDialog(QWidget *parent) :
|
||||||
QDialog(parent), old_label(""), hidden_height(0), m_showContentList(true) {
|
QDialog(parent), old_label(""), hidden_height(0), m_showContentList(true) {
|
||||||
const Preferences pref;
|
Preferences pref;
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
setAttribute(Qt::WA_DeleteOnClose);
|
setAttribute(Qt::WA_DeleteOnClose);
|
||||||
setMinimumSize(0, 0);
|
setMinimumSize(0, 0);
|
||||||
@ -87,7 +87,18 @@ torrentAdditionDialog::torrentAdditionDialog(QWidget *parent) :
|
|||||||
// Important: as a default, it inserts at the bottom which is not desirable
|
// Important: as a default, it inserts at the bottom which is not desirable
|
||||||
savePathTxt->setInsertPolicy(QComboBox::InsertAtCurrent);
|
savePathTxt->setInsertPolicy(QComboBox::InsertAtCurrent);
|
||||||
//torrentContentList->header()->setResizeMode(0, QHeaderView::Stretch);
|
//torrentContentList->header()->setResizeMode(0, QHeaderView::Stretch);
|
||||||
defaultSavePath = pref.getSavePath();
|
QString lastLocation = pref.lastLocationPath();
|
||||||
|
//lastLocation will always have '/' as separator since it is saved in
|
||||||
|
//::on_OkButton_clicked() after the conversion is done.
|
||||||
|
if (pref.rememberLastLocation() && !lastLocation.isEmpty() && QFile(lastLocation).exists())
|
||||||
|
defaultSavePath = lastLocation;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
defaultSavePath = pref.getSavePath();
|
||||||
|
//In case of the LastLocationPath doesn't exist anymore, empty the string
|
||||||
|
pref.setLastLocationPath(QString());
|
||||||
|
}
|
||||||
|
|
||||||
appendLabelToSavePath = pref.appendTorrentLabel();
|
appendLabelToSavePath = pref.appendTorrentLabel();
|
||||||
QString display_path = defaultSavePath.replace("\\", "/");
|
QString display_path = defaultSavePath.replace("\\", "/");
|
||||||
if(!display_path.endsWith("/"))
|
if(!display_path.endsWith("/"))
|
||||||
@ -686,6 +697,12 @@ void torrentAdditionDialog::on_OkButton_clicked(){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//Save last location path
|
||||||
|
{//limit the scope of pref
|
||||||
|
Preferences pref;
|
||||||
|
if (pref.rememberLastLocation())
|
||||||
|
pref.setLastLocationPath(save_path);
|
||||||
|
}
|
||||||
// save filtered files
|
// save filtered files
|
||||||
if(!is_magnet && t->num_files() > 1)
|
if(!is_magnet && t->num_files() > 1)
|
||||||
savePiecesPriorities();
|
savePiecesPriorities();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user