소스 검색

Style fixing

Denis V. Dedkov 7 년 전
부모
커밋
773ad2a91d
5개의 변경된 파일62개의 추가작업 그리고 23개의 파일을 삭제
  1. 29 22
      SettingsForm.qml
  2. 24 0
      SubtitledItemDelegate.qml
  3. 7 0
      main.qml
  4. 1 0
      qml.qrc
  5. 1 1
      qtquickcontrols2.conf

+ 29 - 22
SettingsForm.qml

@@ -11,8 +11,8 @@ Page {
 
         ListElement {
             name: "serviceUrl"
-            title: qsTr("nooLite service URL:")
-            inputHint: Qt.ImhUrlCharactersOnly
+            title: qsTr("nooLite service URL")
+            inputMethodHint: Qt.ImhUrlCharactersOnly
         }
     }
 
@@ -20,36 +20,43 @@ Page {
         model: settingsModel
 
         anchors.fill: parent
-        anchors.margins: 8
-
-        delegate: Item {
-            id: settingsItem
 
+        delegate: SubtitledItemDelegate {
             width: parent.width
-            height: childrenRect.height
+            text: model.title
+            subtitle: settings[model.name]
 
-            Label {
-                id: titleLabel
+            onClicked: inputDialog.open()
 
-                anchors.left: settingsItem.left
-                anchors.verticalCenter: valueField.verticalCenter
+            Dialog {
+                id: inputDialog
 
-                text: model.title
-            }
+                x: (parent.width - width) / 2
+                y: (parent.height - height) / 2
+                parent: ApplicationWindow.overlay
 
-            TextField {
-                id: valueField
+                focus: true
+                modal: true
+                title: model.title
+                standardButtons: Dialog.Ok | Dialog.Cancel
 
-                anchors.right: settingsItem.right
-                anchors.left: titleLabel.right
-                anchors.leftMargin: 10
+                Column {
+                    spacing: 20
+                    anchors.fill: parent
 
-                inputMethodHints: model.inputHint
+                    TextField {
+                        id: textField
 
-                text: settings[model.name]
+                        width: parent.width
+                        focus: true
+                        inputMethodHints: Qt.ImhNoAutoUppercase | model.inputMethodHint
+                        placeholderText: model.title
+                        text: settings[model.name]
+                    }
+                }
 
-                onTextChanged: {
-                    settings[model.name] = text
+                onAccepted: {
+                    settings[model.name] = textField.text
                 }
             }
         }

+ 24 - 0
SubtitledItemDelegate.qml

@@ -0,0 +1,24 @@
+import QtQuick 2.0
+import QtQuick.Controls 2.2
+
+ItemDelegate {
+    id: root
+
+    property string subtitle: ""
+
+    contentItem: Column {
+        Label {
+            id: titleLabel
+
+            width: parent.width
+            text: root.text
+        }
+
+        Label {
+            width: parent.width
+            font.pixelSize: titleLabel.font.pixelSize - 2
+            text: root.subtitle ? root.subtitle : qsTr("undefined")
+            opacity: 0.8
+        }
+    }
+}

+ 7 - 0
main.qml

@@ -74,4 +74,11 @@ ApplicationWindow {
         initialItem: "HomeForm.qml"
         anchors.fill: parent
     }
+
+    onClosing: {
+        if (stackView.depth > 1) {
+            close.accepted = false
+            stackView.pop()
+        }
+    }
 }

+ 1 - 0
qml.qrc

@@ -5,5 +5,6 @@
         <file>HomeForm.qml</file>
         <file>SettingsForm.qml</file>
         <file>MenuBackButton.qml</file>
+        <file>SubtitledItemDelegate.qml</file>
     </qresource>
 </RCC>

+ 1 - 1
qtquickcontrols2.conf

@@ -8,6 +8,6 @@ Style=Material
 [Material]
 Theme=Dark
 Primary=#3C3C3C
-;Accent=Steel
+Accent=BlueGrey
 ;Foreground=Brown
 ;Background=Steel