You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
2.2 KiB
122 lines
2.2 KiB
import QtQuick 2.2
|
|
import QtQuick.Controls 1.1
|
|
import QtQuick.Layouts 1.1
|
|
import QtQuick.Dialogs 1.2
|
|
import QtQuick.Window 2.0
|
|
import QtQuick.Dialogs 1.1
|
|
|
|
Item
|
|
{
|
|
property alias projectTitle: titleField.text
|
|
readonly property string projectPath: "file://" + pathField.text
|
|
property alias pathFieldText: pathField.text
|
|
signal accepted
|
|
function open() {
|
|
newProjectWin.visible = true;
|
|
titleField.focus = true;
|
|
}
|
|
|
|
function close() {
|
|
newProjectWin.visible = false;
|
|
}
|
|
|
|
function acceptAndClose() {
|
|
close();
|
|
accepted();
|
|
}
|
|
|
|
Dialog {
|
|
id: newProjectWin
|
|
modality: Qt.ApplicationModal
|
|
|
|
width: 640
|
|
height: 120
|
|
|
|
visible: false
|
|
|
|
contentItem: Rectangle {
|
|
anchors.fill: parent
|
|
GridLayout
|
|
{
|
|
id: dialogContent
|
|
columns: 2
|
|
anchors.fill: parent
|
|
anchors.margins: 10
|
|
rowSpacing: 10
|
|
columnSpacing: 10
|
|
|
|
Label {
|
|
text: qsTr("Title")
|
|
}
|
|
TextField {
|
|
id: titleField
|
|
focus: true
|
|
Layout.fillWidth: true
|
|
Keys.onReturnPressed: {
|
|
if (okButton.enabled)
|
|
acceptAndClose();
|
|
}
|
|
}
|
|
|
|
Label {
|
|
text: qsTr("Path")
|
|
}
|
|
RowLayout {
|
|
TextField {
|
|
id: pathField
|
|
Layout.fillWidth: true
|
|
Keys.onReturnPressed: {
|
|
if (okButton.enabled)
|
|
acceptAndClose();
|
|
}
|
|
}
|
|
Button {
|
|
text: qsTr("Browse")
|
|
onClicked:
|
|
{
|
|
newProjectWin.close()
|
|
createProjectFileDialog.open()
|
|
}
|
|
}
|
|
}
|
|
|
|
RowLayout
|
|
{
|
|
anchors.bottom: parent.bottom
|
|
anchors.right: parent.right;
|
|
|
|
Button {
|
|
id: okButton;
|
|
enabled: titleField.text != "" && pathField.text != ""
|
|
text: qsTr("OK");
|
|
onClicked: {
|
|
acceptAndClose();
|
|
}
|
|
}
|
|
Button {
|
|
text: qsTr("Cancel");
|
|
onClicked: close();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Component.onCompleted: pathField.text = fileIo.homePath
|
|
|
|
}
|
|
|
|
FileDialog {
|
|
id: createProjectFileDialog
|
|
visible: false
|
|
title: qsTr("Please choose a path for the project")
|
|
selectFolder: true
|
|
onAccepted: {
|
|
var u = createProjectFileDialog.fileUrl.toString();
|
|
if (u.indexOf("file://") == 0)
|
|
u = u.substring(7, u.length)
|
|
if (Qt.platform.os == "windows" && u.indexOf("/") == 0)
|
|
u = u.substring(1, u.length);
|
|
pathField.text = u;
|
|
newProjectWin.open()
|
|
}
|
|
}
|
|
}
|
|
|