File indexing completed on 2024-06-02 05:24:47
0001 /* utils/applicationstate.cpp 0002 0003 This file is part of Kleopatra, the KDE keymanager 0004 SPDX-FileCopyrightText: 2022 g10 Code GmbH 0005 SPDX-FileContributor: Ingo Klöcker <dev@ingo-kloecker.de> 0006 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #include <config-kleopatra.h> 0011 0012 #include "applicationstate.h" 0013 0014 #include <KConfigGroup> 0015 #include <KSharedConfig> 0016 0017 #include <QFileInfo> 0018 #include <QStandardPaths> 0019 0020 QString ApplicationState::lastUsedExportDirectory() 0021 { 0022 QString ret; 0023 const KConfigGroup stateConfig{KSharedConfig::openStateConfig(), QLatin1StringView("Export")}; 0024 ret = stateConfig.readEntry("LastDirectory"); 0025 if (ret.isEmpty()) { 0026 // try the normal config for backward compatibility 0027 const KConfigGroup config{KSharedConfig::openConfig(), QLatin1StringView("ExportDialog")}; 0028 ret = config.readEntry("LastDirectory"); 0029 } 0030 return ret.isEmpty() ? QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) : ret; 0031 } 0032 0033 void ApplicationState::setLastUsedExportDirectory(const QString &path) 0034 { 0035 const QFileInfo fi{path}; 0036 KConfigGroup stateConfig{KSharedConfig::openStateConfig(), QLatin1StringView("Export")}; 0037 stateConfig.writeEntry("LastDirectory", fi.isDir() ? fi.absoluteFilePath() : fi.absolutePath()); 0038 }