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
		title: qsTr("New Project");

		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()
		}
	}
}