diff --git a/kerfuffle/extractiondialog.cpp b/kerfuffle/extractiondialog.cpp --- a/kerfuffle/extractiondialog.cpp +++ b/kerfuffle/extractiondialog.cpp @@ -119,13 +119,15 @@ void ExtractionDialog::slotOkButtonClicked() { + const QString destinationPath = fileWidget->baseUrl().path(); + if (extractToSubfolder()) { if (subfolder().contains(QLatin1String( "/" ))) { KMessageBox::error(this, i18n("The subfolder name may not contain the character '/'.")); return; } - const QString pathWithSubfolder = fileWidget->baseUrl().path() + subfolder(); + const QString pathWithSubfolder = destinationPath + subfolder(); while (1) { if (QDir(pathWithSubfolder).exists()) { @@ -154,6 +156,16 @@ } } + //Adding new destination value to arkrc for quickExtractMenu. + KConfigGroup conf(KSharedConfig::openConfig(), "ExtractDialog"); + QStringList destHistory = conf.readPathEntry("DirHistory", QStringList()); + destHistory.prepend(destinationPath); + destHistory.removeDuplicates(); + if (destHistory.size() > 10) { + destHistory.removeLast(); + } + conf.writePathEntry ("DirHistory", destHistory); + fileWidget->slotOk(); } diff --git a/part/part.cpp b/part/part.cpp --- a/part/part.cpp +++ b/part/part.cpp @@ -400,8 +400,8 @@ menu->removeAction(menu->actions().last()); } - const KConfigGroup conf(KSharedConfig::openConfig(), "DirSelect Dialog"); - const QStringList dirHistory = conf.readPathEntry("History Items", QStringList()); + const KConfigGroup conf(KSharedConfig::openConfig(), "ExtractDialog"); + const QStringList dirHistory = conf.readPathEntry("DirHistory", QStringList()); for (int i = 0; i < qMin(10, dirHistory.size()); ++i) { const QString dir = QUrl(dirHistory.value(i)).toString(QUrl::RemoveScheme | QUrl::NormalizePathSegments | QUrl::PreferLocalFile);