File indexing completed on 2025-02-02 05:08:36
0001 /* 0002 SPDX-FileCopyrightText: 2010-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 #include "libaccountwizard_export.h" 0009 #include "setupobject.h" 0010 #include <QList> 0011 class KConfig; 0012 0013 struct Config { 0014 QString group; 0015 QString key; 0016 QString value; 0017 bool obscure; 0018 }; 0019 0020 class LIBACCOUNTWIZARD_EXPORT ConfigFile : public SetupObject 0021 { 0022 Q_OBJECT 0023 public: 0024 explicit ConfigFile(const QString &configName, QObject *parent = nullptr); 0025 ~ConfigFile() override; 0026 void create() override; 0027 void destroy() override; 0028 void edit(); 0029 public Q_SLOTS: 0030 Q_SCRIPTABLE void write(); 0031 Q_SCRIPTABLE void setName(const QString &name); 0032 Q_SCRIPTABLE void setConfig(const QString &group, const QString &key, const QString &value); 0033 Q_SCRIPTABLE void setPassword(const QString &group, const QString &key, const QString &value); 0034 Q_SCRIPTABLE void setEditMode(const bool editMode); 0035 Q_SCRIPTABLE void setEditName(const QString &name); 0036 0037 private: 0038 QList<Config> m_configData; 0039 QString m_name; 0040 KConfig *const m_config; 0041 QString m_editName; 0042 bool m_editMode = false; 0043 };