X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmdictionary%2Fqml%2FDictManagerWidget.qml;h=a512f2a4e3353b4fe1ade3c8233cdddba8930970;hb=11ada56e37ed724c4777ad2ac555eabe19c65c12;hp=83cce2894dd4d489d81e0d7eaff5019d3fea8f2b;hpb=324ea22239273504192afe5aea525224d1ce343f;p=mdictionary diff --git a/src/mdictionary/qml/DictManagerWidget.qml b/src/mdictionary/qml/DictManagerWidget.qml index 83cce28..a512f2a 100644 --- a/src/mdictionary/qml/DictManagerWidget.qml +++ b/src/mdictionary/qml/DictManagerWidget.qml @@ -26,7 +26,25 @@ 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 } + function changeDictionaryState(nr, state) { + dictList.currentIndex = nr + dictModel.setModelProperty(dictList.currentIndex, state, "isSelected") + rectangle1.setEnableRemove(true) + rectangle1.setEnableSettings(true) + } + + function setFocus() { + dictList.setFocus() + } + + signal addButtonClicked; + signal removeButtonClicked; + signal settingsButtonClicked; + signal saveButtonClicked; + signal itemActivated(int nr); id: rectangle1 color: myPalette.base @@ -37,14 +55,39 @@ Rectangle { width: rectangle1.width // height: rectangle1.height anchors.top: parent.top + anchors.bottom: buttonsBox.top + anchors.bottomMargin: buttonsBox.height + buttonsBox.anchors.topMargin highlightResizeSpeed: 1000 + + Keys.onPressed: { + if ((event.key == Qt.Key_Return || event.key == Qt.Key_Enter) && currentIndex >= 0){ + itemActivated(currentIndex) + } + if ((event.key == Qt.Key_Delete) && currentIndex >= 0){ + removeButtonClicked() + } + if (event.key == Qt.Key_S && event.modifiers == Qt.ControlModifier){ + saveButtonClicked() + } + if (event.key == Qt.Key_T && event.modifiers == Qt.ControlModifier){ + addButtonClicked() + } + if ((event.key == Qt.Key_Space) && currentIndex >= 0){ + dictModel.setModelProperty(dictList.currentIndex, "isSelected") + } + } + + onCurrentIndexChanged: { + dictModel.itemSelected(dictList.currentIndex) + } + delegate: Component{ id: dictListDelegate Item { width: rectangle1.width height: { - if (nameText.height + 10 > logo.height) - return nameText.height + 10; + if (nameText.height + 4 > logo.height) + return nameText.height + 4; else return logo.height; } @@ -52,39 +95,23 @@ Rectangle { anchors.fill: parent onClicked: { dictList.currentIndex = number + rectangle1.setEnableRemove(true) + rectangle1.setEnableSettings(true) } onDoubleClicked: { - selectedRow(number) + rectangle1.itemActivated(dictList.currentIndex) } } Row { - //image zaznacz/odznacz anchors.fill: parent - Image { - id: checkbox -// source: "qrc:/button/checkbox.png" - height: { - var aspectRatio = sourceSize.height / sourceSize.width - return logo.width * aspectRatio - } - anchors.verticalCenter: parent.verticalCenter - width: nameText.height + 10 - 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" } - } - ] + Checkbox{ + id: check + width: nameText.height + selected: isSelected + onChanged: rectangle1.changeDictionaryState(number, selected) } + Image { id: logo source: iconPath @@ -92,13 +119,14 @@ Rectangle { var aspectRatio = sourceSize.height / sourceSize.width return logo.width * aspectRatio } + anchors.leftMargin: 5 anchors.verticalCenter: parent.verticalCenter - width: nameText.height + 10 + width: nameText.height + 4 + smooth: true } Text { id: nameText text: name - anchors.left: logo.right anchors.leftMargin: 5 anchors.verticalCenter: parent.verticalCenter } @@ -109,6 +137,63 @@ Rectangle { model: dictModel } - //buttonki + + 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: 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: 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: 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: saveButtonClicked() + } + + } }