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

0001 /************************************************************************
0002  *                                                                      *
0003  * Copyright 2010 Andreas Pakulat <apaku@gmx.de>                        *
0004  *                                                                      *
0005  * This program is free software; you can redistribute it and/or modify *
0006  * it under the terms of the GNU General Public License as published by *
0007  * the Free Software Foundation; either version 2 or version 3 of the   *
0008  * License, or (at your option) any later version.                      *
0009  *                                                                      *
0010  * This program is distributed in the hope that it will be useful, but  *
0011  * WITHOUT ANY WARRANTY; without even the implied warranty of           *
0012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU     *
0013  * General Public License for more details.                             *
0014  *                                                                      *
0015  * You should have received a copy of the GNU General Public License    *
0016  * along with this program; if not, see <http://www.gnu.org/licenses/>. *
0017  ************************************************************************/
0018 
0019 #ifndef KCM_DEFINESANDINCLUDESCONFIGPAGE_H
0020 #define KCM_DEFINESANDINCLUDESCONFIGPAGE_H
0021 
0022 #include <project/projectconfigpage.h>
0023 
0024 #include "customdefinesandincludes.h"
0025 
0026 class DefinesAndIncludesConfigPage : public ProjectConfigPage<CustomDefinesAndIncludes>
0027 {
0028     Q_OBJECT
0029 public:
0030     DefinesAndIncludesConfigPage(KDevelop::IPlugin* plugin, const KDevelop::ProjectConfigOptions& options, QWidget* parent);
0031     ~DefinesAndIncludesConfigPage() override;
0032 
0033     QString name() const override;
0034     QString fullName() const override;
0035     QIcon icon() const override;
0036 
0037     void apply() override;
0038     void reset() override;
0039 private:
0040     class ProjectPathsWidget* configWidget;
0041     void loadFrom( KConfig* cfg );
0042     void saveTo( KConfig* cfg, KDevelop::IProject* );
0043 };
0044 
0045 #endif