File indexing completed on 2024-05-12 05:13:31

0001 /*
0002    SPDX-FileCopyrightText: 2013-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #pragma once
0007 #include "grantleethemeeditor_export.h"
0008 #include <QString>
0009 #include <QStringList>
0010 
0011 namespace GrantleeThemeEditor
0012 {
0013 class GRANTLEETHEMEEDITOR_EXPORT ThemeSession
0014 {
0015 public:
0016     ThemeSession(const QString &projectDirectory, const QString &themeTypeName);
0017     ~ThemeSession();
0018     [[nodiscard]] bool loadSession(const QString &session);
0019     void writeSession(const QString &directory = QString());
0020 
0021     [[nodiscard]] QString projectDirectory() const;
0022 
0023     void addExtraPage(const QString &filename);
0024     [[nodiscard]] QStringList extraPages() const;
0025 
0026     void setMainPageFileName(const QString &filename);
0027     [[nodiscard]] QString mainPageFileName() const;
0028 
0029 private:
0030     QString mProjectDirectory;
0031     QString mMainPageFileName;
0032     QStringList mExtraPage;
0033     const QString mThemeTypeName;
0034     const int mVersion = 1;
0035 };
0036 }