Fixed problem with connects in DictManagerWidget.cpp. Fixed: remove warnings from...
[mdictionary] / src / mdictionary / qml / DictManagerWidget.qml
index 2f7c1a0..ace01c9 100644 (file)
@@ -26,7 +26,15 @@ import Qt 4.7
 
 Rectangle {
     SystemPalette { id: myPalette; colorGroup: SystemPalette.Active }
-//    signal selectedRow(int nr)
+
+    function setEnableRemove(Boolean) { removeButton.enabled = Boolean }
+    function setEnableSettings(Boolean) { settingsButton.enabled = Boolean }
+
+    signal addButtonClicked;
+    signal removeButtonClicked;
+    signal settingsButtonClicked;
+    signal saveButtonClicked;
+    signal itemActivated(int nr);
 
     id: rectangle1
     color: myPalette.base
@@ -37,32 +45,83 @@ Rectangle {
         width: rectangle1.width
 //        height: rectangle1.height
         anchors.top: parent.top
+        anchors.bottom: buttonsBox.top
+        anchors.bottomMargin: buttonsBox.height + buttonsBox.anchors.topMargin
         highlightResizeSpeed: 1000
         delegate: Component{
             id: dictListDelegate
             Item {
                 width: rectangle1.width
-                height: typeText.height
+                height: {
+                    if (nameText.height + 4 > logo.height)
+                            return nameText.height + 4;
+                    else
+                            return logo.height;
+                }
                 MouseArea{
                     anchors.fill: parent
                     onClicked: {
-                        dictTypeList.currentIndex = number
+                        dictList.currentIndex = number
+                        rectangle1.setEnableRemove(true)
+                        rectangle1.setEnableSettings(true)
                     }
                     onDoubleClicked: {
-                        selectedRow(number)
+                        rectangle1.itemActivated(dictList.currentIndex)
                     }
                 }
                 Row {
-                    //image zaznacz/odznacz
-                    //image logo
+                    anchors.fill: parent
+                    Image {
+                        id: checkbox
+                        height: {
+                            var aspectRatio = sourceSize.height / sourceSize.width
+                            return checkbox.width * aspectRatio
+                        }
+                        anchors.verticalCenter: parent.verticalCenter
+                        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)
+                            }
+                        }
+                    }
+
                     Image {
                         id: logo
                         source: iconPath
+                        height: {
+                            var aspectRatio = sourceSize.height / sourceSize.width
+                            return logo.width * aspectRatio
+                        }
+                        anchors.leftMargin: 5
+                        anchors.verticalCenter: parent.verticalCenter
+                        width: nameText.height + 4
+                        smooth: true
                     }
                     Text {
                         id: nameText
                         text: name
-//                        width: rectangle1.width
+                        anchors.leftMargin: 5
+                        anchors.verticalCenter: parent.verticalCenter
                     }
                 }
             }
@@ -71,6 +130,64 @@ Rectangle {
         model: dictModel
     }
 
-    //buttonki
+    //buttons
+
+    Item {
+        id: buttonsBox
+        width: parent.width
+        height: 30
+        anchors.bottom: parent.bottom
+        anchors.top: dictList.bottom
+        anchors.topMargin: 8
+
+        Button {
+            id: addButton
+            width: (parent.width - 4) / 4
+            height: buttonsBox.height
+            anchors.left: buttonsBox.left
+            anchors.leftMargin: 4
+            anchors.verticalCenter: parent.verticalCenter
+            textInButton: qsTr("Add")
+            onClicked: rectangle1.addButtonClicked
+        }
+
+        Button {
+            id: removeButton
+            width: (parent.width - 4) / 4
+            height: buttonsBox.height
+            anchors.left: addButton.right
+            anchors.leftMargin: 4
+            anchors.verticalCenter: parent.verticalCenter
+            textInButton: qsTr("Remove")
+            enabled: false
+            onClicked: rectangle1.removeButtonClicked
+        }
+
+        Button {
+            id: settingsButton
+            width: (parent.width - 4) / 4
+            height: buttonsBox.height
+            anchors.left: removeButton.right
+            anchors.leftMargin: 4
+            anchors.verticalCenter: parent.verticalCenter
+            textInButton: qsTr("Settings")
+            enabled: false
+            onClicked: rectangle1.settingsButtonClicked
+        }
+
+        Button {
+            id: saveButton
+            width: (parent.width - 4) / 4
+            height: buttonsBox.height
+            anchors.left: settingsButton.right
+            anchors.leftMargin: 4
+            anchors.right: buttonsBox.right
+            anchors.rightMargin: 4
+            anchors.verticalCenter: parent.verticalCenter
+            textInButton: qsTr("Save")
+            onClicked: rectangle1.saveButtonClicked
+        }
+
+    }
 
 }