diff --git a/src/utils/applicationstate.cpp b/src/utils/applicationstate.cpp index 76fc447f9..f02cd9892 100644 --- a/src/utils/applicationstate.cpp +++ b/src/utils/applicationstate.cpp @@ -1,30 +1,37 @@ /* utils/applicationstate.cpp This file is part of Kleopatra, the KDE keymanager SPDX-FileCopyrightText: 2022 g10 Code GmbH SPDX-FileContributor: Ingo Klöcker SPDX-License-Identifier: GPL-2.0-or-later */ #include #include "applicationstate.h" #include #include #include #include QString ApplicationState::lastUsedExportDirectory() { - const KConfigGroup config{KSharedConfig::openConfig(), "ExportDialog"}; - return config.readEntry("LastDirectory", QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)); + QString ret; + const KConfigGroup stateConfig{KSharedConfig::openStateConfig(), "Export"}; + ret = stateConfig.readEntry("LastDirectory"); + if (ret.isEmpty()) { + // try the normal config for backward compatibility + const KConfigGroup config{KSharedConfig::openConfig(), "ExportDialog"}; + ret = config.readEntry("LastDirectory"); + } + return ret.isEmpty() ? QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) : ret; } void ApplicationState::setLastUsedExportDirectory(const QString &path) { - KConfigGroup config{KSharedConfig::openConfig(), "ExportDialog"}; - config.writeEntry("LastDirectory", QFileInfo{path}.absolutePath()); + KConfigGroup stateConfig{KSharedConfig::openStateConfig(), "Export"}; + stateConfig.writeEntry("LastDirectory", QFileInfo{path}.absolutePath()); }