diff --git a/kerfuffle/extractiondialog.cpp b/kerfuffle/extractiondialog.cpp --- a/kerfuffle/extractiondialog.cpp +++ b/kerfuffle/extractiondialog.cpp @@ -117,13 +117,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()) { @@ -152,6 +154,16 @@ } } + //Adding new destination value to arkrc for quickExtractMenu. + KConfigGroup conf(KSharedConfig::openConfig(), "ExtractDialog DirHistory"); + QStringList destHistory = conf.readPathEntry("Item", QStringList()); + destHistory.prepend(destinationPath); + destHistory.removeDuplicates(); + if (destHistory.size() > 10) { + destHistory.removeLast(); + } + conf.writePathEntry ("Item", destHistory); + fileWidget->slotOk(); } diff --git a/part/part.cpp b/part/part.cpp --- a/part/part.cpp +++ b/part/part.cpp @@ -461,9 +461,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 DirHistory"); + const QStringList dirHistory = conf.readPathEntry("Item", 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); if (QDir(dir).exists()) {