summaryrefslogtreecommitdiffstats
path: root/buildtools/qmake/trollprojectpart.h
diff options
context:
space:
mode:
Diffstat (limited to 'buildtools/qmake/trollprojectpart.h')
-rw-r--r--buildtools/qmake/trollprojectpart.h105
1 files changed, 105 insertions, 0 deletions
diff --git a/buildtools/qmake/trollprojectpart.h b/buildtools/qmake/trollprojectpart.h
new file mode 100644
index 00000000..3e571e85
--- /dev/null
+++ b/buildtools/qmake/trollprojectpart.h
@@ -0,0 +1,105 @@
+/***************************************************************************
+ * Copyright (C) 2003 by Thomas Hasart *
+ * thasart@gmx.de *
+ * Copyright (C) 2001-2002 by Bernd Gehrmann *
+ * bernd@kdevelop.org *
+ * Copyright (C) 2002 by Jakob Simon-Gaarde *
+ * jakob@jsg.dk *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+
+#ifndef _TROLLPROJECTPART_H_
+#define _TROLLPROJECTPART_H_
+
+#include <qdict.h>
+#include <qguardedptr.h>
+#include <qmap.h>
+#include <qdatetime.h>
+
+#include "kdevbuildtool.h"
+
+class KDialogBase;
+class TrollProjectWidget;
+class KDirWatch;
+class QMakeDefaultOpts;
+
+class TrollProjectPart : public KDevBuildTool
+{
+ Q_OBJECT
+
+public:
+ TrollProjectPart( QObject *parent, const char *name, const QStringList &args );
+ ~TrollProjectPart();
+
+ bool isTMakeProject() const { return m_tmakeProject; }
+ bool isQt4Project() const;
+ bool isDirty();
+ KDirWatch* dirWatch();
+ virtual Options options() const;
+ QStringList distFiles() const;
+ inline QString qmakePath() const { return DomUtil::readEntry(*projectDom(), "/kdevcppsupport/qt/qmake", "");; }
+
+protected:
+ virtual void openProject(const QString &dirName, const QString &projectName);
+ virtual void closeProject();
+
+ virtual QString projectDirectory() const;
+ virtual QString projectName() const;
+ virtual QString mainProgram() const;
+ virtual QString activeDirectory() const;
+ virtual QStringList allFiles() const;
+ virtual void addFile(const QString &fileName);
+ virtual void addFiles ( const QStringList &fileList );
+ virtual void removeFile(const QString &fileName);
+ virtual void removeFiles ( const QStringList &fileList );
+ virtual QString buildDirectory() const;
+ virtual QString runDirectory() const;
+ virtual QString debugArguments() const;
+ virtual QString runArguments() const;
+ virtual DomUtil::PairList runEnvironmentVars() const;
+
+private slots:
+ void projectConfigWidget(KDialogBase *dlg);
+ void slotBuild();
+// void slotClean();
+// void slotExecute();
+ void slotCommandFinished( const QString& command );
+ void slotBuildAndExecuteProject();
+ void slotBuildAndExecuteTarget();
+
+private:
+// void startMakeCommand(const QString &dir, const QString &target);
+ void startQMakeCommand(const QString &dir, bool recursive = false );
+// void execute(const QString &directory, const QString &command);
+ void queueCmd(const QString &dir, const QString &cmd);
+ QString makeEnvironment();
+
+ QString findQtDir();
+ QString findExecutable( const QString& path ) const;
+ void buildBinDirs( QStringList& ) const;
+ bool isValidQtDir( const QString& path ) const;
+ bool isExecutable( const QString& path ) const;
+
+ QGuardedPtr<TrollProjectWidget> m_widget;
+ QString m_projectName;
+ bool m_tmakeProject;
+
+ QMap<QString, QDateTime> m_timestamp;
+ bool m_executeProjectAfterBuild;
+ bool m_executeTargetAfterBuild;
+ QString m_buildCommand;
+
+ KDirWatch* m_dirWatch;
+
+ friend class TrollProjectWidget;
+ friend class ProjectRunOptionsDlg;
+ friend class QMakeDefaultOpts;
+};
+
+#endif
+