Commit 3191aac8 authored by Tobias Hunger's avatar Tobias Hunger

JsonWizard: Replace QmlFileWizard with JsonWizards

Change-Id: If1079db1f4e3eb4fc62d0066a43aa58c072e2290
Reviewed-by: default avatarDaniel Teske <daniel.teske@digia.com>
parent a3664297
import QtQuick 1.1
Rectangle {
width: 100
height: 62
}
{
"version": 1,
"kind": "file",
"id": "Q.Qml.1",
"category": "R.Qt",
"trDescription": "Creates a QML file with boilerplate code, starting with \"import QtQuick 1.1\".",
"trDisplayName": "QML File (Qt Quick 1)",
"trDisplayCategory": "Qt",
"icon": "../../global/genericfilewizard.png",
"featuresRequired": [ "Plugin.QmlJSEditor" ],
"pages" :
[
{
"trDisplayName": "Location",
"trShortTitle": "Location",
"typeId": "File"
},
{
"trDisplayName": "Project Management",
"trShortTitle": "Summary",
"typeId": "Summary"
}
],
"generators" :
[
{
"typeId": "File",
"data":
{
"source": "file.qml",
"target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('application/x-qml')}')}",
"openInEditor": true
}
}
]
}
import QtQuick 2.0
Rectangle {
width: 100
height: 62
}
{
"version": 1,
"kind": "file",
"id": "Q.Qml.2",
"category": "R.Qt",
"trDescription": "Creates a QML file with boilerplate code, starting with \"import QtQuick 2.0\".",
"trDisplayName": "QML File (Qt Quick 2)",
"trDisplayCategory": "Qt",
"icon": "../../global/genericfilewizard.png",
"featuresRequired": [ "Plugin.QmlJSEditor" ],
"pages" :
[
{
"trDisplayName": "Location",
"trShortTitle": "Location",
"typeId": "File"
},
{
"trDisplayName": "Project Management",
"trShortTitle": "Summary",
"typeId": "Summary"
}
],
"generators" :
[
{
"typeId": "File",
"data":
{
"source": "file.qml",
"target": "%{JS: Util.fileName('%{TargetPath}', '%{JS: Util.preferredSuffix('application/x-qml')}')}",
"openInEditor": true
}
}
]
}
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, 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, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/
#include "qmlfilewizard.h"
#include "qmljseditorconstants.h"
#include <qmljstools/qmljstoolsconstants.h>
#include <QFileInfo>
#include <QTextStream>
using namespace QmlJSEditor;
QmlFileWizard::QmlFileWizard()
{
}
Core::GeneratedFiles QmlFileWizard::generateFilesFromPath(const QString &path,
const QString &name,
QString * /*errorMessage*/) const
{
const QString mimeType = QLatin1String(QmlJSTools::Constants::QML_MIMETYPE);
const QString fileName = Core::BaseFileWizardFactory::buildFileName(path, name, preferredSuffix(mimeType));
Core::GeneratedFile file(fileName);
file.setContents(fileContents(fileName));
file.setAttributes(Core::GeneratedFile::OpenEditorAttribute);
return Core::GeneratedFiles() << file;
}
QString QmlFileWizard::fileContents(const QString &) const
{
QString contents;
QTextStream str(&contents);
if (id() == QLatin1String(Constants::WIZARD_QML1FILE))
str << QLatin1String("import QtQuick 1.1\n");
else
str << QLatin1String("import QtQuick 2.0\n");
// 100:62 is the 'golden ratio'
str << QLatin1String("\n")
<< QLatin1String("Rectangle {\n")
<< QLatin1String(" width: 100\n")
<< QLatin1String(" height: 62\n")
<< QLatin1String("}\n");
return contents;
}
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, 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, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/
#ifndef QMLFILEWIZARD_H
#define QMLFILEWIZARD_H
#include <coreplugin/basefilewizardfactory.h>
namespace QmlJSEditor {
class QmlFileWizard: public Core::StandardFileWizardFactory
{
Q_OBJECT
public:
QmlFileWizard();
private:
QString fileContents(const QString &baseName) const;
Core::GeneratedFiles generateFilesFromPath(const QString &path,
const QString &fileName,
QString *errorMessage) const;
};
} // namespace QmlJSEditor
#endif // QMLFILEWIZARD_H
......@@ -10,7 +10,6 @@ HEADERS += \
qmljseditorconstants.h \
qmljseditorplugin.h \
qmlexpressionundercursor.h \
qmlfilewizard.h \
qmljshighlighter.h \
qmljshoverhandler.h \
qmljspreviewrunner.h \
......@@ -40,7 +39,6 @@ SOURCES += \
qmljseditor.cpp \
qmljseditorplugin.cpp \
qmlexpressionundercursor.cpp \
qmlfilewizard.cpp \
qmljshighlighter.cpp \
qmljshoverhandler.cpp \
qmljspreviewrunner.cpp \
......
......@@ -22,8 +22,6 @@ QtcPlugin {
"jsfilewizard.h",
"qmlexpressionundercursor.cpp",
"qmlexpressionundercursor.h",
"qmlfilewizard.cpp",
"qmlfilewizard.h",
"qmljsautocompleter.cpp",
"qmljsautocompleter.h",
"qmljscompletionassist.cpp",
......
......@@ -45,9 +45,6 @@ const char TASK_SEARCH[] = "QmlJSEditor.TaskSearch";
const char SETTINGS_CATEGORY_QML[] = "J.QtQuick";
const char SETTINGS_TR_CATEGORY_QML[] = QT_TRANSLATE_NOOP("QmlJSEditor", "Qt Quick");
const char WIZARD_QML1FILE[] = "Q.Qml.1";
const char WIZARD_QML2FILE[] = "Q.Qml.2";
const char FIND_USAGES[] = "QmlJSEditor.FindUsages";
const char RENAME_USAGES[] = "QmlJSEditor.RenameUsages";
const char RUN_SEMANTIC_SCAN[] = "QmlJSEditor.RunSemanticScan";
......
......@@ -32,7 +32,6 @@
#include "qmljseditor.h"
#include "qmljseditorconstants.h"
#include "qmljseditordocument.h"
#include "qmlfilewizard.h"
#include "jsfilewizard.h"
#include "qmljsoutline.h"
#include "qmljspreviewrunner.h"
......@@ -124,25 +123,7 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e
addAutoReleasedObject(new QmlJSEditorFactory);
IWizardFactory *wizard = new QmlFileWizard;
wizard->setWizardKind(Core::IWizardFactory::FileWizard);
wizard->setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT));
wizard->setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT));
wizard->setDescription(tr("Creates a QML file with boilerplate code, starting with \"import QtQuick 1.1\"."));
wizard->setDisplayName(tr("QML File (Qt Quick 1)"));
wizard->setId(QLatin1String(Constants::WIZARD_QML1FILE));
addAutoReleasedObject(wizard);
wizard = new QmlFileWizard;
wizard->setWizardKind(Core::IWizardFactory::FileWizard);
wizard->setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT));
wizard->setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT));
wizard->setDescription(tr("Creates a QML file with boilerplate code, starting with \"import QtQuick 2.0\"."));
wizard->setDisplayName(tr("QML File (Qt Quick 2)"));
wizard->setId(QLatin1String(Constants::WIZARD_QML2FILE));
addAutoReleasedObject(wizard);
wizard = new JsFileWizard;
IWizardFactory *wizard = new JsFileWizard;
wizard->setWizardKind(Core::IWizardFactory::FileWizard);
wizard->setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT));
wizard->setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment