JsonWizard: Replace QmlFileWizard with JsonWizards

Change-Id: If1079db1f4e3eb4fc62d0066a43aa58c072e2290
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Tobias Hunger
2014-09-30 17:33:27 +02:00
parent a366429766
commit 3191aac828
10 changed files with 87 additions and 157 deletions

View File

@@ -0,0 +1,6 @@
import QtQuick 1.1
Rectangle {
width: 100
height: 62
}

View File

@@ -0,0 +1,37 @@
{
"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
}
}
]
}

View File

@@ -0,0 +1,6 @@
import QtQuick 2.0
Rectangle {
width: 100
height: 62
}

View File

@@ -0,0 +1,37 @@
{
"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
}
}
]
}

View File

@@ -1,76 +0,0 @@
/****************************************************************************
**
** 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;
}

View File

@@ -1,54 +0,0 @@
/****************************************************************************
**
** 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

View File

@@ -10,7 +10,6 @@ HEADERS += \
qmljseditorconstants.h \ qmljseditorconstants.h \
qmljseditorplugin.h \ qmljseditorplugin.h \
qmlexpressionundercursor.h \ qmlexpressionundercursor.h \
qmlfilewizard.h \
qmljshighlighter.h \ qmljshighlighter.h \
qmljshoverhandler.h \ qmljshoverhandler.h \
qmljspreviewrunner.h \ qmljspreviewrunner.h \
@@ -40,7 +39,6 @@ SOURCES += \
qmljseditor.cpp \ qmljseditor.cpp \
qmljseditorplugin.cpp \ qmljseditorplugin.cpp \
qmlexpressionundercursor.cpp \ qmlexpressionundercursor.cpp \
qmlfilewizard.cpp \
qmljshighlighter.cpp \ qmljshighlighter.cpp \
qmljshoverhandler.cpp \ qmljshoverhandler.cpp \
qmljspreviewrunner.cpp \ qmljspreviewrunner.cpp \

View File

@@ -22,8 +22,6 @@ QtcPlugin {
"jsfilewizard.h", "jsfilewizard.h",
"qmlexpressionundercursor.cpp", "qmlexpressionundercursor.cpp",
"qmlexpressionundercursor.h", "qmlexpressionundercursor.h",
"qmlfilewizard.cpp",
"qmlfilewizard.h",
"qmljsautocompleter.cpp", "qmljsautocompleter.cpp",
"qmljsautocompleter.h", "qmljsautocompleter.h",
"qmljscompletionassist.cpp", "qmljscompletionassist.cpp",

View File

@@ -45,9 +45,6 @@ const char TASK_SEARCH[] = "QmlJSEditor.TaskSearch";
const char SETTINGS_CATEGORY_QML[] = "J.QtQuick"; const char SETTINGS_CATEGORY_QML[] = "J.QtQuick";
const char SETTINGS_TR_CATEGORY_QML[] = QT_TRANSLATE_NOOP("QmlJSEditor", "Qt Quick"); 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 FIND_USAGES[] = "QmlJSEditor.FindUsages";
const char RENAME_USAGES[] = "QmlJSEditor.RenameUsages"; const char RENAME_USAGES[] = "QmlJSEditor.RenameUsages";
const char RUN_SEMANTIC_SCAN[] = "QmlJSEditor.RunSemanticScan"; const char RUN_SEMANTIC_SCAN[] = "QmlJSEditor.RunSemanticScan";

View File

@@ -32,7 +32,6 @@
#include "qmljseditor.h" #include "qmljseditor.h"
#include "qmljseditorconstants.h" #include "qmljseditorconstants.h"
#include "qmljseditordocument.h" #include "qmljseditordocument.h"
#include "qmlfilewizard.h"
#include "jsfilewizard.h" #include "jsfilewizard.h"
#include "qmljsoutline.h" #include "qmljsoutline.h"
#include "qmljspreviewrunner.h" #include "qmljspreviewrunner.h"
@@ -124,25 +123,7 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e
addAutoReleasedObject(new QmlJSEditorFactory); addAutoReleasedObject(new QmlJSEditorFactory);
IWizardFactory *wizard = new QmlFileWizard; 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));
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;
wizard->setWizardKind(Core::IWizardFactory::FileWizard); wizard->setWizardKind(Core::IWizardFactory::FileWizard);
wizard->setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT)); wizard->setCategory(QLatin1String(Core::Constants::WIZARD_CATEGORY_QT));
wizard->setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT)); wizard->setDisplayCategory(QCoreApplication::translate("QmlJsEditor", Core::Constants::WIZARD_TR_CATEGORY_QT));