File indexing completed on 2024-04-28 04:39:10

0001 /*
0002     SPDX-FileCopyrightText: 2007 Andreas Pakulat <apaku@gmx.de>
0003     SPDX-FileCopyrightText: 2014 Kevin Funk <kfunk@kde.org>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef QMAKEBUILDERPREFERENCES_H
0009 #define QMAKEBUILDERPREFERENCES_H
0010 
0011 #include <project/projectconfigpage.h>
0012 
0013 class QWidget;
0014 class QMakeBuildDirChooser;
0015 namespace Ui {
0016     class QMakeConfig;
0017     class QMakeBuildDirChooser;
0018 }
0019 
0020 /**
0021  * @author Andreas Pakulat <apaku@gmx.de>
0022  */
0023 class QMakeBuilderPreferences : public KDevelop::ConfigPage
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     explicit QMakeBuilderPreferences(KDevelop::IPlugin* plugin, const KDevelop::ProjectConfigOptions& options, QWidget* parent = nullptr);
0029     ~QMakeBuilderPreferences() override;
0030 
0031 public Q_SLOTS:
0032     void apply() override;
0033     void reset() override;
0034     QString name() const override;
0035 
0036     void loadOtherConfig(const QString &config);
0037     void addBuildConfig();
0038     void removeBuildConfig();
0039     void validate();
0040 
0041 private:
0042     KDevelop::IProject* m_project;
0043 
0044     Ui::QMakeConfig* m_prefsUi;
0045     QMakeBuildDirChooser* m_chooserUi;
0046 };
0047 
0048 #endif