features of DictManagerWidget restored in qml version.
[mdictionary] / src / mdictionary / qml / DictManagerWidget.qml
index ace01c9..df43918 100644 (file)
@@ -29,6 +29,12 @@ Rectangle {
 
     function setEnableRemove(Boolean) { removeButton.enabled = Boolean }
     function setEnableSettings(Boolean) { settingsButton.enabled = Boolean }
+    function changeDictionaryState(nr, state) {
+        dictList.currentIndex = nr
+        dictModel.setModelProperty(dictList.currentIndex, state, "isSelected")
+        rectangle1.setEnableRemove(true)
+        rectangle1.setEnableSettings(true)
+    }
 
     signal addButtonClicked;
     signal removeButtonClicked;
@@ -64,6 +70,7 @@ Rectangle {
                         dictList.currentIndex = number
                         rectangle1.setEnableRemove(true)
                         rectangle1.setEnableSettings(true)
+                        dictModel.itemSelected(dictList.currentIndex)
                     }
                     onDoubleClicked: {
                         rectangle1.itemActivated(dictList.currentIndex)
@@ -71,40 +78,14 @@ Rectangle {
                 }
                 Row {
                     anchors.fill: parent
-                    Image {
-                        id: checkbox
-                        height: {
-                            var aspectRatio = sourceSize.height / sourceSize.width
-                            return checkbox.width * aspectRatio
-                        }
-                        anchors.verticalCenter: parent.verticalCenter
+                    Checkbox{
+                        id: check
                         width: nameText.height
-                        smooth: true
-                        states: [
-                            State {
-                                name: "checked";
-                                when: (isSelected == true);
-
-                                PropertyChanges { target: checkbox; source: "qrc:/button/checkboxChecked.png" }
-                            },
-                            State {
-                                name: "unchecked";
-                                when: (isSelected == false);
-
-                                PropertyChanges { target: checkbox; source: "qrc:/button/checkbox.png" }
-                            }
-                        ]
-                        MouseArea{
-                            anchors.fill: parent
-                            onClicked: {
-                                dictList.currentIndex = number
-                                dictModel.setModelProperty(dictList.currentIndex, !isSelected, "isSelected")
-                                rectangle1.setEnableRemove(true)
-                                rectangle1.setEnableSettings(true)
-                            }
-                        }
+                        selected: isSelected
+                        onChanged: rectangle1.changeDictionaryState(number, selected)
                     }
 
+
                     Image {
                         id: logo
                         source: iconPath
@@ -148,7 +129,7 @@ Rectangle {
             anchors.leftMargin: 4
             anchors.verticalCenter: parent.verticalCenter
             textInButton: qsTr("Add")
-            onClicked: rectangle1.addButtonClicked
+            onClicked: addButtonClicked();
         }
 
         Button {
@@ -160,7 +141,7 @@ Rectangle {
             anchors.verticalCenter: parent.verticalCenter
             textInButton: qsTr("Remove")
             enabled: false
-            onClicked: rectangle1.removeButtonClicked
+            onClicked: removeButtonClicked();
         }
 
         Button {
@@ -172,7 +153,7 @@ Rectangle {
             anchors.verticalCenter: parent.verticalCenter
             textInButton: qsTr("Settings")
             enabled: false
-            onClicked: rectangle1.settingsButtonClicked
+            onClicked: settingsButtonClicked();
         }
 
         Button {
@@ -185,7 +166,7 @@ Rectangle {
             anchors.rightMargin: 4
             anchors.verticalCenter: parent.verticalCenter
             textInButton: qsTr("Save")
-            onClicked: rectangle1.saveButtonClicked
+            onClicked: saveButtonClicked()
         }
 
     }