diff --git a/app/fileoperations.cpp b/app/fileoperations.cpp --- a/app/fileoperations.cpp +++ b/app/fileoperations.cpp @@ -94,12 +94,15 @@ dialog.setOption(QFileDialog::ShowDirsOnly, true); } - dialog.setDirectoryUrl(contextManager->targetUrl().adjusted(QUrl::RemoveFilename)); + dialog.setDirectoryUrl(contextManager->targetUrl()); if (!dialog.exec()) { return; } QUrl destUrl = dialog.selectedUrls().first(); + if (numberOfImages == 1) { + destUrl = destUrl.adjusted(QUrl::RemoveFilename|QUrl::StripTrailingSlash); + } contextManager->setTargetUrl(destUrl); KIO::CopyJob* job = 0; diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp --- a/app/mainwindow.cpp +++ b/app/mainwindow.cpp @@ -1436,6 +1436,7 @@ d->mStartMainPage->loadConfig(); d->mViewMainPage->loadConfig(); d->mBrowseMainPage->loadConfig(); + d->mContextManager->loadConfig(); d->mShowStatusBarAction->setChecked(GwenviewConfig::statusBarIsVisible()); toggleStatusBar(); @@ -1447,6 +1448,7 @@ GwenviewConfig::setStatusBarIsVisible(d->mShowStatusBarAction->isChecked()); d->mViewMainPage->saveConfig(); d->mBrowseMainPage->saveConfig(); + d->mContextManager->saveConfig(); } void MainWindow::print() diff --git a/lib/contextmanager.h b/lib/contextmanager.h --- a/lib/contextmanager.h +++ b/lib/contextmanager.h @@ -51,6 +51,9 @@ ~ContextManager(); + void loadConfig(); + void saveConfig() const; + QUrl currentUrl() const; void setCurrentDirUrl(const QUrl&); diff --git a/lib/contextmanager.cpp b/lib/contextmanager.cpp --- a/lib/contextmanager.cpp +++ b/lib/contextmanager.cpp @@ -34,6 +34,7 @@ // Local #include #include +#include #include namespace Gwenview @@ -134,6 +135,16 @@ delete d; } +void ContextManager::loadConfig() +{ + setTargetUrl(QUrl(GwenviewConfig::lastTargetDir())); +} + +void ContextManager::saveConfig() const +{ + GwenviewConfig::setLastTargetDir(targetUrl().toString()); +} + QItemSelectionModel* ContextManager::selectionModel() const { return d->mSelectionModel; diff --git a/lib/gwenviewconfig.kcfg b/lib/gwenviewconfig.kcfg --- a/lib/gwenviewconfig.kcfg +++ b/lib/gwenviewconfig.kcfg @@ -45,6 +45,12 @@ true + + + QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation)).toString() + + +