File indexing completed on 2024-05-12 03:54:30

0001 /*
0002     This file is part of KDE.
0003 
0004     SPDX-FileCopyrightText: 2003 Cornelius Schumacher <schumacher@kde.org>
0005     SPDX-FileCopyrightText: 2003 Waldo Bastian <bastian@kde.org>
0006     SPDX-FileCopyrightText: 2003 Zack Rusin <zack@kde.org>
0007     SPDX-FileCopyrightText: 2006 Michaƫl Larouche <michael.larouche@kdemail.net>
0008     SPDX-FileCopyrightText: 2008 Allen Winter <winter@kde.org>
0009     SPDX-FileCopyrightText: 2020 Tomaz Cananbrava <tcanabrava@kde.org>
0010 
0011     SPDX-License-Identifier: LGPL-2.0-or-later
0012 */
0013 
0014 #ifndef KCONFIGXTPARAMETERS_H
0015 #define KCONFIGXTPARAMETERS_H
0016 
0017 #include <QSettings>
0018 #include <QString>
0019 #include <QStringList>
0020 
0021 /**
0022    Configuration Compiler Configuration
0023 */
0024 class KConfigParameters
0025 {
0026 public:
0027     KConfigParameters(const QString &codegenFilename);
0028 
0029 public:
0030     enum TranslationSystem {
0031         QtTranslation,
0032         KdeTranslation,
0033     };
0034 
0035     // These are read from the .kcfgc configuration file
0036     QString nameSpace; // The namespace for the class to be generated
0037     QString className; // The class name to be generated
0038     QString inherits; // The class the generated class inherits (if empty, from KConfigSkeleton)
0039     QString visibility;
0040     bool parentInConstructor; // The class has the optional parent parameter in its constructor
0041     bool forceStringFilename;
0042     bool singleton; // The class will be a singleton
0043     bool staticAccessors; // provide or not static accessors
0044     bool customAddons;
0045     QString memberVariables;
0046     QStringList headerIncludes;
0047     QStringList sourceIncludes;
0048     QStringList mutators;
0049     QStringList defaultGetters;
0050     QStringList notifiers;
0051     QString qCategoryLoggingName;
0052     QString headerExtension;
0053     bool allMutators;
0054     bool setUserTexts;
0055     bool allDefaultGetters;
0056     bool dpointer;
0057     bool globalEnums;
0058     bool useEnumTypes;
0059     bool itemAccessors;
0060     bool allNotifiers;
0061     TranslationSystem translationSystem;
0062     QString translationDomain;
0063     bool generateProperties;
0064     QString baseName;
0065 };
0066 
0067 #endif