From f02c0f64e2acf42e84eb5335dc23adec5410aca2 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@digia.com>
Date: Thu, 4 Oct 2012 14:02:41 +0200
Subject: [PATCH] Add a wizard that lets the user enter a code-snippet.

This is useful when fixing tasks that contain a code snippet.

Change-Id: Idaf523839254eed97a363501f0aba4317d216d1c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 .../templates/wizards/codesnippet/main.cpp    |  1 +
 .../templates/wizards/codesnippet/project.pro | 15 ++++
 .../templates/wizards/codesnippet/wizard.xml  | 76 +++++++++++++++++++
 3 files changed, 92 insertions(+)
 create mode 100644 share/qtcreator/templates/wizards/codesnippet/main.cpp
 create mode 100644 share/qtcreator/templates/wizards/codesnippet/project.pro
 create mode 100644 share/qtcreator/templates/wizards/codesnippet/wizard.xml

diff --git a/share/qtcreator/templates/wizards/codesnippet/main.cpp b/share/qtcreator/templates/wizards/codesnippet/main.cpp
new file mode 100644
index 00000000000..59d189b301a
--- /dev/null
+++ b/share/qtcreator/templates/wizards/codesnippet/main.cpp
@@ -0,0 +1 @@
+%CODE%
diff --git a/share/qtcreator/templates/wizards/codesnippet/project.pro b/share/qtcreator/templates/wizards/codesnippet/project.pro
new file mode 100644
index 00000000000..6652132d055
--- /dev/null
+++ b/share/qtcreator/templates/wizards/codesnippet/project.pro
@@ -0,0 +1,15 @@
+TEMPLATE = app
+@if "%TYPE%" == "core"
+QT = core
+@else
+QT = core gui
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+@endif
+@if "%CONSOLE%" == "true"
+CONFIG += console
+@endif
+@if "%APP_BUNDLE%" == "false"
+CONFIG -= app_bundle
+@endif
+
+SOURCES += main.cpp
diff --git a/share/qtcreator/templates/wizards/codesnippet/wizard.xml b/share/qtcreator/templates/wizards/codesnippet/wizard.xml
new file mode 100644
index 00000000000..7d52a0e017a
--- /dev/null
+++ b/share/qtcreator/templates/wizards/codesnippet/wizard.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/**************************************************************************
+**
+** This file is part of Qt Creator
+**
+** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies).
+**
+** Contact: http://www.qt-project.org/
+**
+**
+** GNU Lesser General Public License Usage
+**
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this file.
+** Please review the following information to ensure the GNU Lesser General
+** Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** Other Usage
+**
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**************************************************************************/
+
+Custom project wizard configuration example file. Note that by convention,
+the project file goes last.
+The "class" and "firstpage" attributes specify that it is a Qt 4 wizard and
+leave room for the Qt 4 target page.
+-->
+<wizard version="1" kind="project"
+        class="qt4project" firstpage="10"
+        id="Z.Snippet" category="H.QtProjects">
+    <description>Creates a qmake-based test project for which a code snippet can be entered.</description>
+    <displayname>Code Snippet</displayname>;
+    <displaycategory>Other Projects</displaycategory>
+    <files>
+        <file source="main.cpp" openeditor="true"/>
+        <file source="project.pro" target="%ProjectName%.pro" openproject="true"/>
+    </files>
+    <fieldpagetitle>Snippet Parameters</fieldpagetitle>
+    <fields>
+        <field name="CODE">
+            <fieldcontrol class="QTextEdit" defaulttext="int main(int argc, char *argv[]) { return 0; }"/>
+            <fielddescription>Code:</fielddescription>
+        </field>
+        <field name="TYPE">
+            <fielddescription>Type:</fielddescription>
+            <fieldcontrol class="QComboBox" defaultindex="0">
+                <comboentries>
+                   <comboentry value="core">
+                       <comboentrytext>Headless (QtCore)</comboentrytext>
+                   </comboentry>
+                   <comboentry value="gui">
+                       <comboentrytext>Gui application (QtCore, QtGui, QtWidgets)</comboentrytext>
+                   </comboentry>
+               </comboentries>
+           </fieldcontrol>
+        </field>
+        <field name="CONSOLE">
+            <fieldcontrol class="QCheckBox" defaultvalue="true"/>
+            <fielddescription>Console application</fielddescription>
+        </field>
+        <field name="APP_BUNDLE">
+            <fieldcontrol class="QCheckBox"/>
+            <fielddescription>Application bundle (Mac)</fielddescription>
+        </field>
+    </fields>
+</wizard>
-- 
GitLab