File indexing completed on 2024-04-28 04:38:24

0001 /*
0002     SPDX-FileCopyrightText: 2010 Andreas Pakulat <apaku@gmx.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-or-later
0005 */
0006 
0007 #ifndef CUSTOMBUILDSYSTEMCONFIGWIDGET_H
0008 #define CUSTOMBUILDSYSTEMCONFIGWIDGET_H
0009 
0010 #include <QWidget>
0011 #include "custombuildsystemconfig.h"
0012 #include "custombuildjob.h"
0013 
0014 class KConfig;
0015 class KConfigGroup;
0016 
0017 namespace KDevelop
0018 {
0019 class IProject;
0020 }
0021 
0022 namespace Ui
0023 {
0024 class CustomBuildSystemConfigWidget;
0025 }
0026 
0027 class CustomBuildSystemConfigWidget : public QWidget
0028 {
0029 Q_OBJECT
0030 public:
0031     explicit CustomBuildSystemConfigWidget( QWidget* parent );
0032     void loadFrom( KConfig* );
0033     void saveTo( KConfig*, KDevelop::IProject* project );
0034     void loadDefaults();
0035 Q_SIGNALS:
0036     void changed();
0037 private Q_SLOTS:
0038     void configChanged();
0039     void changeCurrentConfig(int);
0040     void renameCurrentConfig(const QString& name);
0041     void addConfig();
0042     void removeConfig();
0043     void verify();
0044 private:
0045     void saveConfig( KConfigGroup& grp, const CustomBuildSystemConfig& c, int index );
0046     Ui::CustomBuildSystemConfigWidget* ui;
0047     QVector<CustomBuildSystemConfig> configs;
0048 };
0049 
0050 #endif