5 changed files with 104 additions and 5 deletions
			
			
		| @ -0,0 +1,92 @@ | |||
| import QtQuick 2.10 | |||
| import QtQuick.Controls 2.3 | |||
| import QtQuick.Layouts 1.3 | |||
| import QtQuick.Window 2.2 | |||
| import de.skycoder42.QtMvvm.Core 1.0 | |||
| import de.skycoder42.QtMvvm.Quick 1.0 | |||
| import de.skycoder42.QtMvvm.DataSync.Core 1.0 | |||
| 
 | |||
| Dialog { | |||
| 	id: _exportSetupView | |||
| 
 | |||
| 	property PExportSetupViewModel viewModel: null | |||
| 
 | |||
| 	property real extraHeight: 0 | |||
| 	property real baseWidth: 300 | |||
| 
 | |||
| 	x: parent ? (parent.width - width) / 2 : 0 | |||
| 	y: parent ? deltaY() : 0 | |||
| 	width: parent ? Math.min(Math.max(implicitWidth, baseWidth), parent.width - 24) : implicitWidth | |||
| 	height: parent ? Math.min(implicitHeight, parent.height - 24) : implicitWidth | |||
| 	modal: true | |||
| 	focus: true | |||
| 
 | |||
| 	function deltaY() { //TODO move to common js file? | |||
| 		var unscaled = Qt.inputMethod.keyboardRectangle.height / Screen.devicePixelRatio; | |||
| 		var availHeight = (parent.height + extraHeight) - unscaled - 24; //margins | |||
| 		var rawDelta = (Math.max(0, availHeight - height) / 2); | |||
| 		return rawDelta + 12 - extraHeight; //spacing | |||
| 	} | |||
| 
 | |||
| 	title: viewModel.label | |||
| 
 | |||
| 	ColumnLayout { | |||
| 		id: _layout | |||
| 		anchors.fill: parent | |||
| 
 | |||
| 		CheckBox { | |||
| 			id: _trustBox | |||
| 			text: qsTr("Trusted") | |||
| 			Layout.fillWidth: true | |||
| 
 | |||
| 			MvvmBinding { | |||
| 				viewModel: _exportSetupView.viewModel | |||
| 				viewModelProperty: "trusted" | |||
| 				view: _trustBox | |||
| 				viewProperty: "checked" | |||
| 			} | |||
| 		} | |||
| 
 | |||
| 		CheckBox { | |||
| 			id: _includeBox | |||
| 			text: qsTr("Include Server") | |||
| 			Layout.fillWidth: true | |||
| 
 | |||
| 			MvvmBinding { | |||
| 				viewModel: _exportSetupView.viewModel | |||
| 				viewModelProperty: "includeServer" | |||
| 				view: _includeBox | |||
| 				viewProperty: "checked" | |||
| 			} | |||
| 		} | |||
| 
 | |||
| 		Label { | |||
| 			text: qsTr("Password:") | |||
| 			Layout.fillWidth: true | |||
| 			color: _passwordEdit.focus ? _passwordEdit.selectionColor : palette.text | |||
| 			opacity: _passwordEdit.focus ? 1 : 0.5 | |||
| 			enabled: viewModel.trusted | |||
| 		} | |||
| 
 | |||
| 		TextField { | |||
| 			id: _passwordEdit | |||
| 			echoMode: TextInput.Password | |||
| 			Layout.fillWidth: true | |||
| 			enabled: viewModel.trusted | |||
| 
 | |||
| 			MvvmBinding { | |||
| 				viewModel: _exportSetupView.viewModel | |||
| 				viewModelProperty: "password" | |||
| 				view: _passwordEdit | |||
| 				viewProperty: "text" | |||
| 				type: MvvmBinding.OneWayToViewModel | |||
| 			} | |||
| 		} | |||
| 	} | |||
| 
 | |||
| 	standardButtons: Dialog.Ok | Dialog.Cancel | |||
| 
 | |||
| 	onAccepted: viewModel.completeSetup() | |||
| 
 | |||
| 	Component.onCompleted: standardButton(Dialog.Ok).enabled = Qt.binding(function(){ return viewModel.valid; }) | |||
| } | |||
| @ -0,0 +1,3 @@ | |||
| import de.skycoder42.QtMvvm.DataSync.Quick 1.0 as QtMvvm | |||
| 
 | |||
| QtMvvm.ExportSetupView {} | |||
					Loading…
					
					
				
		Reference in new issue