{
    "version": 1,
    "supportedProjectTypes": [ ],
    "id": "R.QtQuickUi",
    "category": "R.Qt",
    "trDescription": "Creates a Qt Quick Designer UI form along with a matching QML file for implementation purposes. You can add the form and file to an existing Qt Quick Project.",
    "trDisplayName": "QtQuick UI File",
    "trDisplayCategory": "Qt",
    "iconText": "ui.qml",
    "featuresRequired": [ "QtSupport.Wizards.FeatureQtQuick.UiFiles" ],
    "enabled": "%{JS: value('Plugins').indexOf('QmlJSEditor') >= 0}",

    "options" : [
        { "key": "QmlFile", "value": "%{Class}.%{JS: Util.preferredSuffix('text/x-qml')}" },
        { "key": "UiFile", "value": "%{FormClass}.%{JS: Util.preferredSuffix('application/x-qt.ui+qml')}" }
    ],

    "pages" :
    [
        {
            "trDisplayName": "Define Class",
            "trShortTitle": "Details",
            "typeId": "Fields",
            "data" :
            [
                {
                    "name": "Class",
                    "trDisplayName": "Component name:",
                    "mandatory": true,
                    "type": "LineEdit",
                    "data": {
                        "validator": "(?:[A-Z_][a-zA-Z_0-9]*|)",
                        "fixup": "%{JS: '%{INPUT}'.charAt(0).toUpperCase() + '%{INPUT}'.slice(1) }"
                    }
                },

                {
                    "name": "Sp1",
                    "type": "Spacer",
                    "data": { "factor": 2 }
                },
                {
                    "name": "FormClass",
                    "trDisplayName": "Component form name:",
                    "mandatory": true,
                    "type": "LineEdit",
                    "data": {
                        "validator": "(?:[A-Z_][a-zA-Z_0-9]*|)",
                        "fixup": "%{JS: '%{INPUT}'.charAt(0).toUpperCase() + '%{INPUT}'.slice(1) }",
                        "trText": "%{Class}Form"
                    }
                },
                {
                    "name": "TargetPath",
                    "type": "PathChooser",
                    "trDisplayName": "Path:",
                    "mandatory": true,
                    "data":
                    {
                        "kind": "directory",
                        "basePath": "%{InitialPath}",
                        "path": "%{InitialPath}"
                    }
                }
            ]
        },
        {
            "trDisplayName": "Project Management",
            "trShortTitle": "Summary",
            "typeId": "Summary"
        }
    ],
    "generators" :
    [
        {
            "typeId": "File",
            "data": [
                {
                    "source": "file.qml.tpl",
                    "target": "%{TargetPath}/%{QmlFile}",
                    "openInEditor": true
                },
                {
                    "source": "fileForm.ui.qml.tpl",
                    "target": "%{TargetPath}/%{UiFile}",
                    "openInEditor": true
                }
            ]
        }
    ]
}
