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
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: 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
+ Checkbox{
+ id: check
+ width: nameText.height
+ selected: isSelected
+ onChanged: rectangle1.changeDictionaryState(number, selected)
+ }
+
+
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
}
}
}
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: 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()
+ }
+
+ }
}