summaryrefslogtreecommitdiffstats
path: root/languages/cpp/app_templates/qmakeapp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit114a878c64ce6f8223cfd22d76a20eb16d177e5e (patch)
treeacaf47eb0fa12142d3896416a69e74cbf5a72242 /languages/cpp/app_templates/qmakeapp
downloadtdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.tar.gz
tdevelop-114a878c64ce6f8223cfd22d76a20eb16d177e5e.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'languages/cpp/app_templates/qmakeapp')
-rw-r--r--languages/cpp/app_templates/qmakeapp/.kdev_ignore0
-rw-r--r--languages/cpp/app_templates/qmakeapp/Makefile.am18
-rw-r--r--languages/cpp/app_templates/qmakeapp/fileopen.xpm22
-rw-r--r--languages/cpp/app_templates/qmakeapp/fileprint.xpm24
-rw-r--r--languages/cpp/app_templates/qmakeapp/filesave.xpm22
-rw-r--r--languages/cpp/app_templates/qmakeapp/main.cpp13
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp11
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp.cpp283
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp.h39
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp.kdevelop112
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp.kdevtemplate182
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp.pngbin0 -> 5034 bytes
-rw-r--r--languages/cpp/app_templates/qmakeapp/qmakeapp.pro6
-rw-r--r--languages/cpp/app_templates/qmakeapp/src.pro10
14 files changed, 742 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/qmakeapp/.kdev_ignore b/languages/cpp/app_templates/qmakeapp/.kdev_ignore
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/.kdev_ignore
diff --git a/languages/cpp/app_templates/qmakeapp/Makefile.am b/languages/cpp/app_templates/qmakeapp/Makefile.am
new file mode 100644
index 00000000..c70050fa
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/Makefile.am
@@ -0,0 +1,18 @@
+dataFiles = main.cpp qmakeapp.cpp qmakeapp.h qmakeapp.png qmakeapp.kdevelop \
+ qmakeapp.pro src.pro filesave.xpm fileopen.xpm fileprint.xpm
+
+templateName = qmakeapp
+
+### no need to change below:
+template_DATA = $(templateName).kdevtemplate
+templatedir = ${appwizarddatadir}/templates
+
+appwizarddatadir = ${kde_datadir}/kdevappwizard
+$(templateName).tar.gz: ${dataFiles}
+ $(TAR) -cf $(templateName).tar -C $(srcdir) ${dataFiles}
+ $(GZIP_COMMAND) -f9 $(templateName).tar
+
+archivedir = ${appwizarddatadir}
+archive_DATA = $(templateName).tar.gz ${templateName}.png
+
+CLEANFILES = *.tar.gz \ No newline at end of file
diff --git a/languages/cpp/app_templates/qmakeapp/fileopen.xpm b/languages/cpp/app_templates/qmakeapp/fileopen.xpm
new file mode 100644
index 00000000..880417ee
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/fileopen.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static const char *fileopen[] = {
+" 16 13 5 1",
+". c #040404",
+"# c #808304",
+"a c None",
+"b c #f3f704",
+"c c #f3f7f3",
+"aaaaaaaaa...aaaa",
+"aaaaaaaa.aaa.a.a",
+"aaaaaaaaaaaaa..a",
+"a...aaaaaaaa...a",
+".bcb.......aaaaa",
+".cbcbcbcbc.aaaaa",
+".bcbcbcbcb.aaaaa",
+".cbcb...........",
+".bcb.#########.a",
+".cb.#########.aa",
+".b.#########.aaa",
+"..#########.aaaa",
+"...........aaaaa"
+};
diff --git a/languages/cpp/app_templates/qmakeapp/fileprint.xpm b/languages/cpp/app_templates/qmakeapp/fileprint.xpm
new file mode 100644
index 00000000..6ada912f
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/fileprint.xpm
@@ -0,0 +1,24 @@
+/* XPM */
+static const char *fileprint[] = {
+" 16 14 6 1",
+". c #000000",
+"# c #848284",
+"a c #c6c3c6",
+"b c #ffff00",
+"c c #ffffff",
+"d c None",
+"ddddd.........dd",
+"dddd.cccccccc.dd",
+"dddd.c.....c.ddd",
+"ddd.cccccccc.ddd",
+"ddd.c.....c....d",
+"dd.cccccccc.a.a.",
+"d..........a.a..",
+".aaaaaaaaaa.a.a.",
+".............aa.",
+".aaaaaa###aa.a.d",
+".aaaaaabbbaa...d",
+".............a.d",
+"d.aaaaaaaaa.a.dd",
+"dd...........ddd"
+};
diff --git a/languages/cpp/app_templates/qmakeapp/filesave.xpm b/languages/cpp/app_templates/qmakeapp/filesave.xpm
new file mode 100644
index 00000000..bd6870f4
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/filesave.xpm
@@ -0,0 +1,22 @@
+/* XPM */
+static const char *filesave[] = {
+" 14 14 4 1",
+". c #040404",
+"# c #808304",
+"a c #bfc2bf",
+"b c None",
+"..............",
+".#.aaaaaaaa.a.",
+".#.aaaaaaaa...",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".##........##.",
+".############.",
+".##.........#.",
+".##......aa.#.",
+".##......aa.#.",
+".##......aa.#.",
+"b............."
+};
diff --git a/languages/cpp/app_templates/qmakeapp/main.cpp b/languages/cpp/app_templates/qmakeapp/main.cpp
new file mode 100644
index 00000000..bd26f19a
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/main.cpp
@@ -0,0 +1,13 @@
+%{CPP_TEMPLATE}
+
+#include <qapplication.h>
+#include "%{APPNAMELC}.h"
+
+int main( int argc, char ** argv ) {
+ QApplication a( argc, argv );
+ %{APPNAME} * mw = new %{APPNAME}();
+ mw->setCaption( "%{APPNAME}" );
+ mw->show();
+ a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) );
+ return a.exec();
+}
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp b/languages/cpp/app_templates/qmakeapp/qmakeapp
new file mode 100644
index 00000000..51d73e69
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp
@@ -0,0 +1,11 @@
+# QMake application
+[General]
+Name=Application
+Name[fr]=Une Application Qt / QMake
+Icon=qmakeapp.png
+Category=C++/QMake project
+Category[fr]=C++/QMake
+Comment=Generate a QMake/Qt based application (crossplatform compatible)
+Comment[fr]=Gnre une application base sur Qt / QMake. Ce programme est multi platte-forme.
+FileTemplates=h,CStyle,cpp,CStyle
+ShowFilesAfterGeneration=src/APPNAMELC.cpp
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp.cpp b/languages/cpp/app_templates/qmakeapp/qmakeapp.cpp
new file mode 100644
index 00000000..841f88d4
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp.cpp
@@ -0,0 +1,283 @@
+%{CPP_TEMPLATE}
+
+#include "%{APPNAMELC}.h"
+
+#include <qimage.h>
+#include <qpixmap.h>
+#include <qtoolbar.h>
+#include <qtoolbutton.h>
+#include <qpopupmenu.h>
+#include <qmenubar.h>
+#include <qtextedit.h>
+#include <qfile.h>
+#include <qfiledialog.h>
+#include <qstatusbar.h>
+#include <qmessagebox.h>
+#include <qprinter.h>
+#include <qapplication.h>
+#include <qaccel.h>
+#include <qtextstream.h>
+#include <qpainter.h>
+#include <qpaintdevicemetrics.h>
+#include <qwhatsthis.h>
+
+#include "filesave.xpm"
+#include "fileopen.xpm"
+#include "fileprint.xpm"
+
+%{APPNAME}::%{APPNAME}()
+ : QMainWindow( 0, "%{APPNAME}", WDestructiveClose )
+{
+ printer = new QPrinter;
+ QPixmap openIcon, saveIcon, printIcon;
+
+ QToolBar * fileTools = new QToolBar( this, "file operations" );
+ fileTools->setLabel( tr("File Operations") );
+
+ openIcon = QPixmap( fileopen );
+ QToolButton * fileOpen
+ = new QToolButton( openIcon, tr("Open File"), QString::null,
+ this, SLOT(choose()), fileTools, "open file" );
+
+ saveIcon = QPixmap( filesave );
+ QToolButton * fileSave
+ = new QToolButton( saveIcon, tr("Save File"), QString::null,
+ this, SLOT(save()), fileTools, "save file" );
+
+ printIcon = QPixmap( fileprint );
+ QToolButton * filePrint
+ = new QToolButton( printIcon, tr("Print File"), QString::null,
+ this, SLOT(print()), fileTools, "print file" );
+
+
+ (void)QWhatsThis::whatsThisButton( fileTools );
+
+ QString fileOpenText = tr("<p><img source=\"fileopen\"> "
+ "Click this button to open a <em>new file</em>. <br>"
+ "You can also select the <b>Open</b> command "
+ "from the <b>File</b> menu.</p>");
+
+ QWhatsThis::add( fileOpen, fileOpenText );
+
+ QMimeSourceFactory::defaultFactory()->setPixmap( "fileopen", openIcon );
+
+ QString fileSaveText = tr("<p>Click this button to save the file you "
+ "are editing. You will be prompted for a file name.\n"
+ "You can also select the <b>Save</b> command "
+ "from the <b>File</b> menu.</p>");
+
+ QWhatsThis::add( fileSave, fileSaveText );
+
+ QString filePrintText = tr("Click this button to print the file you "
+ "are editing.\n You can also select the Print "
+ "command from the File menu.");
+
+ QWhatsThis::add( filePrint, filePrintText );
+
+
+ QPopupMenu * file = new QPopupMenu( this );
+ menuBar()->insertItem( tr("&File"), file );
+
+
+ file->insertItem( tr("&New"), this, SLOT(newDoc()), CTRL+Key_N );
+
+ int id;
+ id = file->insertItem( openIcon, tr("&Open..."),
+ this, SLOT(choose()), CTRL+Key_O );
+ file->setWhatsThis( id, fileOpenText );
+
+ id = file->insertItem( saveIcon, tr("&Save"),
+ this, SLOT(save()), CTRL+Key_S );
+ file->setWhatsThis( id, fileSaveText );
+
+ id = file->insertItem( tr("Save &As..."), this, SLOT(saveAs()) );
+ file->setWhatsThis( id, fileSaveText );
+
+ file->insertSeparator();
+
+ id = file->insertItem( printIcon, tr("&Print..."),
+ this, SLOT(print()), CTRL+Key_P );
+ file->setWhatsThis( id, filePrintText );
+
+ file->insertSeparator();
+
+ file->insertItem( tr("&Close"), this, SLOT(close()), CTRL+Key_W );
+
+ file->insertItem( tr("&Quit"), qApp, SLOT( closeAllWindows() ), CTRL+Key_Q );
+
+ menuBar()->insertSeparator();
+
+ QPopupMenu * help = new QPopupMenu( this );
+ menuBar()->insertItem( tr("&Help"), help );
+
+ help->insertItem( tr("&About"), this, SLOT(about()), Key_F1 );
+ help->insertItem( tr("About &Qt"), this, SLOT(aboutQt()) );
+ help->insertSeparator();
+ help->insertItem( tr("What's &This"), this, SLOT(whatsThis()), SHIFT+Key_F1 );
+
+ e = new QTextEdit( this, "editor" );
+ e->setFocus();
+ setCentralWidget( e );
+ statusBar()->message( tr("Ready"), 2000 );
+
+ resize( 450, 600 );
+}
+
+
+%{APPNAME}::~%{APPNAME}()
+{
+ delete printer;
+}
+
+
+
+void %{APPNAME}::newDoc()
+{
+ %{APPNAME} *ed = new %{APPNAME};
+ ed->setCaption(tr("Qt Example - Application"));
+ ed->show();
+}
+
+void %{APPNAME}::choose()
+{
+ QString fn = QFileDialog::getOpenFileName( QString::null, QString::null,
+ this);
+ if ( !fn.isEmpty() )
+ load( fn );
+ else
+ statusBar()->message( tr("Loading aborted"), 2000 );
+}
+
+
+void %{APPNAME}::load( const QString &fileName )
+{
+ QFile f( fileName );
+ if ( !f.open( IO_ReadOnly ) )
+ return;
+
+ QTextStream ts( &f );
+ e->setText( ts.read() );
+ e->setModified( FALSE );
+ setCaption( fileName );
+ statusBar()->message( tr("Loaded document %1").arg(fileName), 2000 );
+}
+
+
+void %{APPNAME}::save()
+{
+ if ( filename.isEmpty() ) {
+ saveAs();
+ return;
+ }
+
+ QString text = e->text();
+ QFile f( filename );
+ if ( !f.open( IO_WriteOnly ) ) {
+ statusBar()->message( tr("Could not write to %1").arg(filename),
+ 2000 );
+ return;
+ }
+
+ QTextStream t( &f );
+ t << text;
+ f.close();
+
+ e->setModified( FALSE );
+
+ setCaption( filename );
+
+ statusBar()->message( tr( "File %1 saved" ).arg( filename ), 2000 );
+}
+
+
+void %{APPNAME}::saveAs()
+{
+ QString fn = QFileDialog::getSaveFileName( QString::null, QString::null,
+ this );
+ if ( !fn.isEmpty() ) {
+ filename = fn;
+ save();
+ } else {
+ statusBar()->message( tr("Saving aborted"), 2000 );
+ }
+}
+
+
+void %{APPNAME}::print()
+{
+ // ###### Rewrite to use QSimpleRichText to print here as well
+ const int Margin = 10;
+ int pageNo = 1;
+
+ if ( printer->setup(this) ) { // printer dialog
+ statusBar()->message( tr("Printing...") );
+ QPainter p;
+ if( !p.begin( printer ) ) // paint on printer
+ return;
+
+ p.setFont( e->font() );
+ int yPos = 0; // y-position for each line
+ QFontMetrics fm = p.fontMetrics();
+ QPaintDeviceMetrics metrics( printer ); // need width/height
+ // of printer surface
+ for( int i = 0 ; i < e->lines() ; i++ ) {
+ if ( Margin + yPos > metrics.height() - Margin ) {
+ QString msg( "Printing (page " );
+ msg += QString::number( ++pageNo );
+ msg += ")...";
+ statusBar()->message( msg );
+ printer->newPage(); // no more room on this page
+ yPos = 0; // back to top of page
+ }
+ p.drawText( Margin, Margin + yPos,
+ metrics.width(), fm.lineSpacing(),
+ ExpandTabs | DontClip,
+ e->text( i ) );
+ yPos = yPos + fm.lineSpacing();
+ }
+ p.end(); // send job to printer
+ statusBar()->message( tr("Printing completed"), 2000 );
+ } else {
+ statusBar()->message( tr("Printing aborted"), 2000 );
+ }
+}
+
+void %{APPNAME}::closeEvent( QCloseEvent* ce )
+{
+ if ( !e->isModified() ) {
+ ce->accept();
+ return;
+ }
+
+ switch( QMessageBox::information( this, tr("Qt Application Example"),
+ tr("Do you want to save the changes"
+ " to the document?"),
+ tr("Yes"), tr("No"), tr("Cancel"),
+ 0, 1 ) ) {
+ case 0:
+ save();
+ ce->accept();
+ break;
+ case 1:
+ ce->accept();
+ break;
+ case 2:
+ default: // just for sanity
+ ce->ignore();
+ break;
+ }
+}
+
+
+void %{APPNAME}::about()
+{
+ QMessageBox::about( this, tr("Qt Application Example"),
+ tr("This example demonstrates simple use of "
+ "QMainWindow,\nQMenuBar and QToolBar."));
+}
+
+
+void %{APPNAME}::aboutQt()
+{
+ QMessageBox::aboutQt( this, tr("Qt Application Example") );
+}
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp.h b/languages/cpp/app_templates/qmakeapp/qmakeapp.h
new file mode 100644
index 00000000..2d372da9
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp.h
@@ -0,0 +1,39 @@
+%{H_TEMPLATE}
+
+#ifndef %{APPNAMEUC}_H
+#define %{APPNAMEUC}_H
+
+#include <qmainwindow.h>
+
+class QTextEdit;
+
+class %{APPNAME}: public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ %{APPNAME}();
+ ~%{APPNAME}();
+
+protected:
+ void closeEvent( QCloseEvent* );
+
+private slots:
+ void newDoc();
+ void choose();
+ void load( const QString &fileName );
+ void save();
+ void saveAs();
+ void print();
+
+ void about();
+ void aboutQt();
+
+private:
+ QPrinter *printer;
+ QTextEdit *e;
+ QString filename;
+};
+
+
+#endif
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp.kdevelop b/languages/cpp/app_templates/qmakeapp/qmakeapp.kdevelop
new file mode 100644
index 00000000..ef24a34b
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp.kdevelop
@@ -0,0 +1,112 @@
+<?xml version="1.0"?>
+<kdevelop>
+ <general>
+ <author>%{AUTHOR}</author>
+ <email>%{EMAIL}</email>
+ <version>%{VERSION}</version>
+ <projectmanagement>KDevTrollProject</projectmanagement>
+ <primarylanguage>C++</primarylanguage>
+ <keywords>
+ <keyword>Qt</keyword>
+ </keywords>
+ </general>
+ <kdevfileview>
+ <groups>
+ <group pattern="*.cpp;*.cxx;*.h" name="Sources" />
+ <group pattern="*.ui" name="User Interface" />
+ <group pattern="*.png" name="Icons" />
+ <group pattern="*" name="Others" />
+ </groups>
+ <tree>
+ <hidenonprojectfiles>false</hidenonprojectfiles>
+ <hidepatterns>*.o,*.lo,CVS</hidepatterns>
+ </tree>
+ </kdevfileview>
+ <kdevcppsupport>
+ <qt>
+ <used>true</used>
+ <version>3</version>
+ <includestyle>3</includestyle>
+ <designerintegration>EmbeddedKDevDesigner</designerintegration>
+ <root>%{QTDIR}</root>
+ <qmake>%{QMAKE}</qmake>
+ </qt>
+ </kdevcppsupport>
+ <kdevdoctreeview>
+ <ignoretocs>
+ <toc>bash</toc>
+ <toc>bash_bugs</toc>
+ <toc>clanlib</toc>
+ <toc>fortran_bugs_gcc</toc>
+ <toc>gnome1</toc>
+ <toc>gnustep</toc>
+ <toc>gtk</toc>
+ <toc>gtk_bugs</toc>
+ <toc>haskell</toc>
+ <toc>haskell_bugs_ghc</toc>
+ <toc>java_bugs_gcc</toc>
+ <toc>java_bugs_sun</toc>
+ <toc>kde2book</toc>
+ <toc>opengl</toc>
+ <toc>pascal_bugs_fp</toc>
+ <toc>php</toc>
+ <toc>php_bugs</toc>
+ <toc>perl</toc>
+ <toc>perl_bugs</toc>
+ <toc>python</toc>
+ <toc>python_bugs</toc>
+ <toc>qt-kdev3</toc>
+ <toc>ruby</toc>
+ <toc>ruby_bugs</toc>
+ <toc>sdl</toc>
+ <toc>stl</toc>
+ <toc>sw</toc>
+ <toc>w3c-dom-level2-html</toc>
+ <toc>w3c-svg</toc>
+ <toc>w3c-uaag10</toc>
+ <toc>wxwidgets_bugs</toc>
+ </ignoretocs>
+ <ignoredoxygen>
+ <toc>KDE Libraries (Doxygen)</toc>
+ </ignoredoxygen>
+ </kdevdoctreeview>
+ <kdevdebugger>
+ <general>
+ <dbgshell/>
+ <breakpoints/>
+ <programargs></programargs>
+ <gdbpath>/usr/bin/gdb</gdbpath>
+ <breakonloadinglibs>true</breakonloadinglibs>
+ <separatetty>false</separatetty>
+ <floatingtoolbar>false</floatingtoolbar>
+ </general>
+ <display>
+ <staticmembers>false</staticmembers>
+ <demanglenames>true</demanglenames>
+ </display>
+ <breakpoints/>
+ </kdevdebugger>
+ <kdevtrollproject>
+ <run>
+ <mainprogram>./bin/%{APPNAMELC}</mainprogram>
+ <programargs/>
+ </run>
+ </kdevtrollproject>
+ <workspace>
+ <openfiles/>
+ </workspace>
+ <kdevfilecreate>
+ <useglobaltypes>
+ <type ext="ui" />
+ <type ext="cpp" />
+ <type ext="h" />
+ <type ext="ts" />
+ </useglobaltypes>
+ </kdevfilecreate>
+ <kdevdocumentation>
+ <projectdoc>
+ <docsystem>Doxygen Documentation Collection</docsystem>
+ <docurl>%{APPNAMELC}.tag</docurl>
+ </projectdoc>
+ </kdevdocumentation>
+</kdevelop>
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp.kdevtemplate b/languages/cpp/app_templates/qmakeapp/qmakeapp.kdevtemplate
new file mode 100644
index 00000000..2fab0758
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp.kdevtemplate
@@ -0,0 +1,182 @@
+# KDE Config File
+[General]
+Name=Qt3 Application
+Name[br]=Meziant Qt3
+Name[ca]=Aplicació Qt3
+Name[da]=Qt3-Program
+Name[de]=Qt3-Anwendung
+Name[el]=Εφαρμογή Qt3
+Name[es]=Aplicación Qt3
+Name[et]=Qt3 rakendus
+Name[fr]=Application Qt3
+Name[hu]=Qt3-alapú alkalmazások
+Name[it]=Applicazione Qt3
+Name[ja]=Qt3 アプリケーション
+Name[nds]=Qt3-Programm
+Name[nl]=Qt3-toepassing
+Name[pl]=Program Qt3
+Name[pt]=Aplicação do Qt3
+Name[pt_BR]=Aplicação do Qt3
+Name[ru]=Приложение Qt 3
+Name[sk]=Qt3 aplikácia
+Name[sr]=Qt3 програм
+Name[sr@Latn]=Qt3 program
+Name[sv]=Qt3-program
+Name[zh_TW]=Qt3 應用程式
+Icon=qmakeapp.png
+Category=C++/QMake project
+Category[fr]=C++/QMake
+Comment=Generate a QMake/Qt3 based application (crossplatform compatible)
+Comment[ca]=Genera una aplicació basada en QMake/Qt3 (multi plataforma)
+Comment[da]=Generér et QMake/Qt3 baseret program (krydsplatform kompatibel)
+Comment[de]=Erstellt eine auf QMake/Qt3 basierende Anwendung (plattformunabhängig)
+Comment[el]=Δημιουργία μια εφαρμογής βασισμένης στα QMake/Qt3 (συμβατή με πολλαπλές πλατφόρμες)
+Comment[es]=Genera una aplicación basada en QMake/Qt3 (con compatibilidad multiplataforma)
+Comment[et]=Rakenduse loomine QMake'i/Qt3 põhjal (multiplatvormne)
+Comment[fr]=Génère une application basée sur QMake / Qt3 (compatible multi-plateforme)
+Comment[hu]=Létrehoz egy QMake/Qt3-alapú, keresztfordításra is alkalmas alkalmazást
+Comment[it]=Genera un'applicazione basata su QMake/Qt3 (compatibile multipiattaforma)
+Comment[ja]=QMake/Qt3 ベースのアプリケーションを作成 (クロスプラットフォーム)
+Comment[nds]=Stellt en op QMake/Qt3 opbuut Programm op (över Bedriefümgeven weg kompatibel)
+Comment[nl]=Genereert een Qmake/Qt3-gebaseerde toepassing (crossplatform compatible)
+Comment[pl]=Generuje program używający QMake i Qt3 (wieloplatformowy)
+Comment[pt]=Gera uma aplicação baseada no QMake/Qt3 (compatível com várias plataformas)
+Comment[pt_BR]=Gera uma aplicação baseada no QMake/Qt3 (compatível com várias plataformas)
+Comment[ru]=Создание использующее QMake кроссплатформенное приложение Qt 3
+Comment[sk]=Vygeneruje aplikáciu založenú na QMake/Qt3 (multiplatformovo kompatibilnú)
+Comment[sr]=Прави програм на основи QMake/Qt3 (прекоплатформски компатибилан)
+Comment[sr@Latn]=Pravi program na osnovi QMake/Qt3 (prekoplatformski kompatibilan)
+Comment[sv]=Skapar ett Qmake/Qt3-baserat program (fungerar på andra plattformar)
+Comment[zh_TW]=產生一個 QMake/Qt3 為基礎的應用程式(跨平台相容)
+FileTemplates=h,CStyle,cpp,CStyle
+ShowFilesAfterGeneration=%{dest}/src/%{APPNAMELC}.cpp
+Archive=qmakeapp.tar.gz
+
+[FILE1]
+Type=install
+Source=%{src}/qmakeapp.kdevelop
+Dest=%{dest}/%{APPNAMELC}.kdevelop
+
+[FILE2]
+Type=install
+Source=%{src}/qmakeapp.pro
+Dest=%{dest}/%{APPNAMELC}.pro
+
+[MkDir1]
+Type=mkdir
+Dir=%{dest}/src
+
+[FILE3]
+Type=install
+Source=%{src}/src.pro
+Dest=%{dest}/src/src.pro
+
+[FILE4]
+Type=install
+Source=%{src}/main.cpp
+Dest=%{dest}/src/main.cpp
+
+[FILE5]
+Type=install
+Source=%{src}/qmakeapp.cpp
+Dest=%{dest}/src/%{APPNAMELC}.cpp
+
+[FILE6]
+Type=install
+Source=%{src}/qmakeapp.h
+Dest=%{dest}/src/%{APPNAMELC}.h
+
+[FILE7]
+Type=install
+Source=%{src}/fileopen.xpm
+Dest=%{dest}/src/fileopen.xpm
+
+[FILE8]
+Type=install
+Source=%{src}/filesave.xpm
+Dest=%{dest}/src/filesave.xpm
+
+[FILE9]
+Type=install
+Source=%{src}/fileprint.xpm
+Dest=%{dest}/src/fileprint.xpm
+
+[MSG]
+Type=message
+Comment=A Qt3/Qmake based application was created in %{dest}
+Comment[ca]=Una aplicació basada en Qt3/Qmake ha estat creada en %{dest}
+Comment[da]=Et Qt3/Qmake baseret program blev oprettet i %{dest}
+Comment[de]=Eine auf QMake/Qt3 basierende Anwendung wurde in %{dest} erstellt.
+Comment[el]=Μια εφαρμογή βασισμένη στα Qt3/Qmake δημιουργήθηκε στο %{dest}
+Comment[es]=Una aplicación basada en Qt3/Qmake ha sido creada en %{dest}
+Comment[et]=Rakendus QMake'i põhjal loodi asukohta %{dest}
+Comment[fr]=Une application basée sur Qt3 / Qmake a été créée dans %{dest}
+Comment[hu]=Létrejött egy Qt3/Qmake-alapú alkalmazás itt: %{dest}
+Comment[it]=È stata creata un'applicazione basata su Qt3/Qmake in %{dest}
+Comment[ja]=Qt3/QMake ベースのアプリケーションを %{dest} に作成しました
+Comment[nds]=In %{dest} wöör en op Qt3/Qmake opbuut Programm opstellt
+Comment[nl]=Een Qt3/Qmake-gebaseerde toepassing is aangemaakt in %{dest}
+Comment[pl]=Program używający QMake i Qt3 został utworzony w %{dest}
+Comment[pt]=Foi criada uma aplicação baseada no Qt3/Qmake em %{dest}
+Comment[pt_BR]=Foi criada uma aplicação baseada no Qt3/Qmake em %{dest}
+Comment[ru]=Использующее QMake приложение Qt 3 создано в %{dest}
+Comment[sk]=Aplikácia založená na Qt3/Qmake bola vytvorená v %{dest}
+Comment[sr]=Програм на основи Qt3/Qmake направљен је у %{dest}
+Comment[sr@Latn]=Program na osnovi Qt3/Qmake napravljen je u %{dest}
+Comment[sv]=Ett Qmake/Qt3-baserat program skapades i %{dest}
+Comment[zh_TW]=一個 QMake/Qt3 為基礎的應用程式已建立於 %{dest}
+
+[QTDIR]
+Type=value
+ValueType=QString
+Value=QTDIR
+Comment=Directory where Qt3 is installed.
+Comment[ca]=Directori a on està instal·lat Qt3.
+Comment[da]=Katalog hvor Qt3 er installeret.
+Comment[de]=Qt3-Verzeichnis
+Comment[el]=Κατάλογος εγκατάστασης του Qt3.
+Comment[es]=Carpeta donde se ha instalado Qt3.
+Comment[et]=Kataloog, kuhu on paigaldatud Qt3.
+Comment[fr]=Dossier où Qt3 est installé.
+Comment[hu]=A Qt3 telepítési könyvtára
+Comment[it]=Cartella in cui è installato Qt3.
+Comment[ja]=Qt3 がインストールされているディレクトリ
+Comment[nds]=Orner, woneem Qt3 installeert is.
+Comment[nl]=Map waarin Qt3 is geïnstalleerd.
+Comment[pl]=Katalog, w którym zainstalowane jest Qt3.
+Comment[pt]=A pasta onde está instalado o Qt3.
+Comment[pt_BR]=A pasta onde está instalado o Qt3.
+Comment[ru]=Каталог с установленным Qt 3
+Comment[sk]=Priečinok kde je nainštalované Qt3.
+Comment[sr]=Директоријум у коме је Qt3 инсталиран.
+Comment[sr@Latn]=Direktorijum u kome je Qt3 instaliran.
+Comment[sv]=Katalog där Qt3 är installerat.
+Comment[zh_TW]=Qt3 的安裝目錄
+Default=
+[QMAKE]
+Type=value
+ValueType=QString
+Value=QMAKE
+Comment=Absolute Path for QMake (Qt3).
+Comment[ca]=Ruta absoluta per a QMake (Qt3).
+Comment[da]=Absolut søgesti til QMake (Qt3).
+Comment[de]=Absoluter Pfad für QMake (Qt3).
+Comment[el]=Απόλυτη διαδρομή για το QMake (Qt3).
+Comment[es]=Ruta completa para QMake (Qt3).
+Comment[et]=QMake'i (Qt3) absoluutne asukoht.
+Comment[fr]=Chemin absolu pour QMake (Qt3).
+Comment[hu]=A QMake (Qt3) teljes elérési útja.
+Comment[it]=Percorso assoluto per QMake (Qt3).
+Comment[ja]= QMake (Qt3) の絶対パス
+Comment[nds]=Afsluut Padd för QMake (Qt3)
+Comment[nl]=Absoluut pad naar QMake (Qt3)
+Comment[pl]=Ścieżka bezwzględna do QMake (Qt3).
+Comment[pt]=Localização Absoluta do QMake (Qt3).
+Comment[pt_BR]=Localização Absoluta do QMake (Qt3).
+Comment[ru]=Абсолютный путь к QMake (Qt 3)
+Comment[sk]=Absolútna cesta ku QMake (Qt3).
+Comment[sr]=Апсолутна путања до QMake-ва (Qt3).
+Comment[sr@Latn]=Apsolutna putanja do QMake-va (Qt3).
+Comment[sv]=Absolut sökväg till Qmake (Qt3).
+Comment[zh_TW]=QMake (Qt3) 的絕對路徑
+Default=
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp.png b/languages/cpp/app_templates/qmakeapp/qmakeapp.png
new file mode 100644
index 00000000..dda0a10b
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp.png
Binary files differ
diff --git a/languages/cpp/app_templates/qmakeapp/qmakeapp.pro b/languages/cpp/app_templates/qmakeapp/qmakeapp.pro
new file mode 100644
index 00000000..20f1cba4
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/qmakeapp.pro
@@ -0,0 +1,6 @@
+SUBDIRS += src
+TEMPLATE = subdirs
+CONFIG += release \
+ warn_on \
+ qt \
+ thread
diff --git a/languages/cpp/app_templates/qmakeapp/src.pro b/languages/cpp/app_templates/qmakeapp/src.pro
new file mode 100644
index 00000000..d72522f9
--- /dev/null
+++ b/languages/cpp/app_templates/qmakeapp/src.pro
@@ -0,0 +1,10 @@
+SOURCES += %{APPNAMELC}.cpp \
+ main.cpp
+HEADERS += %{APPNAMELC}.h
+TEMPLATE = app
+CONFIG += release \
+ warn_on \
+ thread \
+ qt
+TARGET = %{APPNAMELC}
+DESTDIR = ../bin