diff options
Diffstat (limited to 'languages/cpp/qtbuildconfig.h')
-rw-r--r-- | languages/cpp/qtbuildconfig.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/languages/cpp/qtbuildconfig.h b/languages/cpp/qtbuildconfig.h new file mode 100644 index 00000000..080cf2c1 --- /dev/null +++ b/languages/cpp/qtbuildconfig.h @@ -0,0 +1,90 @@ +/* + Copyright (C) 2005 by Tobias Erbsland <te@profzone.ch> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + version 2, License as published by the Free Software Foundation. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ +#ifndef QTBUILDCONFIG_H +#define QTBUILDCONFIG_H + +#include <qobject.h> +#include <qstringlist.h> + +class CppSupportPart; +class QDomDocument; + +/** + @brief The QtBuildConfig class stores all parameters related to the used Qt library + + @author Tobias Erbsland <te@profzone.ch> +*/ +class QtBuildConfig : public QObject +{ + Q_OBJECT + +public: + QtBuildConfig( CppSupportPart* part, QDomDocument* dom ); + virtual ~QtBuildConfig(); + + inline bool isUsed() const { return m_used; } + inline int version() const { return m_version; } + inline int includeStyle() const { return m_includeStyle; } + inline const QString& root() const { return m_root; } + inline const QString& qmakePath() const { return m_qmakePath; } + inline const QString& designerPath() const { return m_designerPath; } + inline const QStringList& designerPluginPaths() const { return m_designerPluginPaths; } + inline const QString& designerIntegration() const { return m_designerIntegration; } + + void setUsed( bool used ); + void setVersion( int version ); + void setIncludeStyle( int style ); + void setRoot( const QString& root ); + void setDesignerPath( const QString& path ); + void setDesignerPluginPaths( const QStringList& pfx ); + void setQMakePath( const QString& path ); + void setDesignerIntegration( const QString& designerIntegration ); + void init(); + +public slots: + void store(); + +signals: + void stored(); + +private: + + bool isValidQtDir( const QString& ) const; + void findQtDir(); + QString findExecutable( const QString& ) const; + void buildBinDirs( QStringList& ) const; + bool isExecutable( const QString& ) const; + + CppSupportPart* m_part; ///< The cpp support part + QDomDocument* m_dom; ///< The project configuration + + bool m_used; ///< Flag if qt is used in this project. + int m_version; ///< The major version of the qt library (3 or 4) + int m_includeStyle; ///< The type of include style used (qt 3 or 4) + QString m_root; ///< The root directory of the used qt installation for Qt3 + QString m_designerPath; ///< The path including the binary name of Qt Designer + QString m_qmakePath; ///< The path including the binary name of QMake + QStringList m_designerPluginPaths; ///< The Prefix for Designer + QString m_designerIntegration; ///< The type of designer used, kdevdesigner or qt designer + + static const QString m_configRoot; ///< The root path of the configuration +}; + +#endif + +// kate: indent-mode csands; tab-width 4; space-indent off; |