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