summaryrefslogtreecommitdiffstats
path: root/languages/cpp/pcsimporter/qt4importer/tdevqt4importer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'languages/cpp/pcsimporter/qt4importer/tdevqt4importer.cpp')
-rw-r--r--languages/cpp/pcsimporter/qt4importer/tdevqt4importer.cpp107
1 files changed, 107 insertions, 0 deletions
diff --git a/languages/cpp/pcsimporter/qt4importer/tdevqt4importer.cpp b/languages/cpp/pcsimporter/qt4importer/tdevqt4importer.cpp
new file mode 100644
index 00000000..fefa57ee
--- /dev/null
+++ b/languages/cpp/pcsimporter/qt4importer/tdevqt4importer.cpp
@@ -0,0 +1,107 @@
+/***************************************************************************
+ * Copyright (C) 2003 by Roberto Raggi *
+ * roberto@kdevelop.org *
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#include "tdevqt4importer.h"
+#include "tdevqt4importer.moc"
+#include "settingsdialog.h"
+
+#include <kgenericfactory.h>
+#include <tdetempfile.h>
+#include <kprocess.h>
+#include <kdebug.h>
+
+#include <tqtextstream.h>
+#include <tqlabel.h>
+#include <tqdir.h>
+
+K_EXPORT_COMPONENT_FACTORY( libtdevqt4importer, KGenericFactory<TDevQt4Importer>( "tdevqt4importer" ) )
+
+TDevQt4Importer::TDevQt4Importer( TQObject * parent, const char * name, const TQStringList& )
+ : TDevPCSImporter( parent, name )
+{
+ m_qtfile = 0;
+}
+
+TDevQt4Importer::~TDevQt4Importer()
+{
+ if (m_qtfile)
+ delete m_qtfile;
+
+ m_qtfile = 0;
+}
+
+TQStringList TDevQt4Importer::fileList()
+{
+ if( !m_settings )
+ return TQStringList();
+
+ if (m_qtfile)
+ delete m_qtfile;
+
+ KTempFile ifile;
+ TQTextStream &is = *ifile.textStream();
+
+ is << "#include <TQtCore/tqobjectdefs.h>\n"
+ << "#undef slots\n#undef signals\n#undef slots\n#undef signals"
+ << "#define slots slots\n"
+ << "#define signals signals\n"
+ << "#include <TQtCore/TQtCore>\n"
+ << "#include <TQtGui/TQtGui>\n"
+ << "#include <TQtNetwork/TQtNetwork>\n"
+ << "#include <TQtXml/TQtXml>\n"
+ << "#include <TQt3Support/TQt3Support>\n"
+ << "#include <TQtSql/TQtSql>\n"
+ << "#include <TQtTest/TQtTest>\n"
+ << "#include <TQtOpenGL/TQtOpenGL>\n";
+
+
+
+ TDEProcess proc;
+ proc << "cpp" << "-nostdinc" << "-xc++";
+
+ m_qtfile = new KTempFile();
+
+ // include paths
+ TQStringList paths = includePaths();
+ for (TQStringList::Iterator it = paths.begin(); it != paths.end(); ++it)
+ proc << "-I" << *it;
+
+ ifile.close();
+
+ TQString o;
+ o += "-o";
+ o += m_qtfile->name();
+
+ proc << ifile.name() << o;
+ proc.start(TDEProcess::Block);
+
+ return m_qtfile->name();
+}
+
+TQStringList TDevQt4Importer::includePaths()
+{
+ if( !m_settings || !m_qtfile)
+ return TQStringList();
+
+ TQStringList includePaths;
+ includePaths.push_back( m_settings->qtDir() );
+ includePaths.push_back( m_settings->qtDir() + "/TQt" );
+
+ /// @todo add mkspec
+ return includePaths;
+}
+
+TQWidget * TDevQt4Importer::createSettingsPage( TQWidget * parent, const char * name )
+{
+ m_settings = new SettingsDialog( parent, name );
+ return m_settings;
+}
+