Major changes
[quicknewsreader] / qml / QuickNewsReader / content / view / SourceConfigDialog.qml
index 72e53b3..973c906 100644 (file)
@@ -8,7 +8,7 @@ Rectangle {
     visible: false
     state: "hidden"
 
-    property string configViewComponent
+    property SourceModel configModel;
 
     //property SourceModel model;
     //property SourceConfigComponentView viewComponent;
@@ -18,9 +18,10 @@ Rectangle {
             name: "showSourceConfig"
 
             // In this state, we bring the configuration UI of the source
-            PropertyChanges { target: configDialog; color: "#d0000000" }
+            PropertyChanges { target: configDialog; color: "#80000000" }
             PropertyChanges { target: sourceConfigLoader; opacity: 1 }
-            PropertyChanges { target: sourceConfigLoader; source: configViewComponent }
+            PropertyChanges { target: sourceConfigLoader; source: configModel.settingsComponent }
+            PropertyChanges { target: configTitle; text: configModel.name + " Settings"}
 
             AnchorChanges { target: quitApplyConfigButton; anchors.left: undefined; anchors.right: configDialog.right }
             AnchorChanges { target: quitCancelConfigButton; anchors.right: undefined; anchors.left: configDialog.left }
@@ -58,10 +59,28 @@ Rectangle {
         }
     ]
 
+    Background {
+        anchors.top: parent.top
+        anchors.left: parent.left
+        anchors.right: parent.right
+        anchors.bottom: quitApplyConfigButton.top
+    }
+
+    Text {
+        id: configTitle
+        color: "white"
+        anchors.top: parent.top
+        anchors.left: parent.left
+        anchors.right: parent.right
+        horizontalAlignment: Text.AlignHCenter
+        font.pixelSize: 24
+        font.bold: true
+    }
+
     Loader {
         id: sourceConfigLoader
         opacity: 0
-        anchors.top: parent.top
+        anchors.top: configTitle.bottom
         anchors.left: parent.left
         anchors.right: parent.right
         anchors.bottom: quitApplyConfigButton.top
@@ -69,6 +88,11 @@ Rectangle {
         Behavior on opacity {
             NumberAnimation { duration: 1000; easing.type: Easing.InOutQuad }
         }
+
+        onLoaded: {
+            // fill the UI with information from the model
+            configModel.loadConfiguration(sourceConfigLoader.item)
+        }
     }
 
     FancyButton {
@@ -78,6 +102,9 @@ Rectangle {
         anchors.left: parent.right
 
         onClicked: {
+            // ask the model to store the configuration
+            configModel.storeConfiguration(sourceConfigLoader.item)
+
             // Store the configuration of this source, and disappear
             configDialog.state = "hidden"
         }