12 changed files with 240 additions and 4 deletions
			
			
		@ -0,0 +1,79 @@ | 
				
			|||||
 | 
					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: _identityEditView | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						property PIdentityEditViewModel 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() { | 
				
			||||
 | 
							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: qsTr("Edit Identity") | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						ColumnLayout { | 
				
			||||
 | 
							id: _layout | 
				
			||||
 | 
							anchors.fill: parent | 
				
			||||
 | 
					
 | 
				
			||||
 | 
							Label { | 
				
			||||
 | 
								text: qsTr("Device Name:") | 
				
			||||
 | 
								Layout.fillWidth: true | 
				
			||||
 | 
								color: _nameEdit.focus ? _nameEdit.selectionColor : palette.text | 
				
			||||
 | 
								opacity: _nameEdit.focus ? 1 : 0.5 | 
				
			||||
 | 
							} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
							TextField { | 
				
			||||
 | 
								id: _nameEdit | 
				
			||||
 | 
								Layout.fillWidth: true | 
				
			||||
 | 
					
 | 
				
			||||
 | 
								MvvmBinding { | 
				
			||||
 | 
									viewModel: _identityEditView.viewModel | 
				
			||||
 | 
									viewModelProperty: "name" | 
				
			||||
 | 
									view: _nameEdit | 
				
			||||
 | 
									viewProperty: "text" | 
				
			||||
 | 
								} | 
				
			||||
 | 
							} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
							Label { | 
				
			||||
 | 
								id: _fpLabel | 
				
			||||
 | 
								text: qsTr("Device Fingerprint:") | 
				
			||||
 | 
								Layout.fillWidth: true | 
				
			||||
 | 
								opacity: 0.5 | 
				
			||||
 | 
								Layout.topMargin: 16 | 
				
			||||
 | 
							} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
							Label { | 
				
			||||
 | 
								text: viewModel.fingerPrint | 
				
			||||
 | 
								Layout.fillWidth: true | 
				
			||||
 | 
								wrapMode: Text.Wrap | 
				
			||||
 | 
								verticalAlignment: Qt.AlignVCenter | 
				
			||||
 | 
								font.pointSize: _fpLabel.font.pointSize * 0.8 | 
				
			||||
 | 
								Layout.topMargin: 8 | 
				
			||||
 | 
							} | 
				
			||||
 | 
						} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						standardButtons: Dialog.Save | Dialog.Cancel | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						onAccepted: viewModel.save() | 
				
			||||
 | 
					
 | 
				
			||||
 | 
						Component.onCompleted: standardButton(Dialog.Save).enabled = Qt.binding(function(){ return viewModel.valid; }) | 
				
			||||
 | 
					} | 
				
			||||
@ -0,0 +1,3 @@ | 
				
			|||||
 | 
					import de.skycoder42.QtMvvm.DataSync.Quick 1.0 as QtMvvm | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					QtMvvm.IdentityEditView {} | 
				
			||||
@ -1,5 +1,6 @@ | 
				
			|||||
<RCC> | 
					<RCC> | 
				
			||||
    <qresource prefix="/qtmvvm/views"> | 
					    <qresource prefix="/qtmvvm/views"> | 
				
			||||
        <file>DataSyncView.qml</file> | 
					        <file>DataSyncView.qml</file> | 
				
			||||
 | 
					        <file>IdentityEditView.qml</file> | 
				
			||||
    </qresource> | 
					    </qresource> | 
				
			||||
</RCC> | 
					</RCC> | 
				
			||||
 | 
				
			|||||
					Loading…
					
					
				
		Reference in new issue