Import/Export GUI

This commit is contained in:
Pavel Škoda
2020-06-23 15:35:54 +02:00
committed by Michal Horejsek
parent 1c10cc5065
commit 7e5e3d3dd4
50 changed files with 1793 additions and 692 deletions

View File

@ -26,42 +26,16 @@ Rectangle {
id: root
width: Style.main.fontSize * 2
height: metrics.height
property string selectedIDs : ""
property var colorList
color: "transparent"
DelegateModel {
id: selectedLabels
filterOnGroup: "selected"
groups: DelegateModelGroup {
id: selected
name: "selected"
includeByDefault: true
}
model : structurePM
model : colorList
delegate : Text {
text : metrics.text
font : metrics.font
color : folderColor===undefined ? "#000": folderColor
}
}
function updateFilter() {
var selected = root.selectedIDs.split(";")
var rowCount = selectedLabels.items.count
//console.log(" log ::", root.selectedIDs, rowCount, selectedLabels.model)
// filter
for (var iItem = 0; iItem < rowCount; iItem++) {
var entry = selectedLabels.items.get(iItem);
//console.log(" log filter ", iItem, rowCount, entry.model.folderId, entry.model.folderType, selected[iSel], entry.inSelected )
for (var iSel in selected) {
entry.inSelected = (
entry.model.folderType == gui.enums.folderTypeLabel &&
entry.model.folderId == selected[iSel]
)
if (entry.inSelected) break // found match, skip rest
}
color : modelData
}
}
@ -77,7 +51,7 @@ Rectangle {
Row {
anchors.left : root.left
spacing : {
var n = Math.max(2,selectedLabels.count)
var n = Math.max(2,root.colorList.length)
var tagWidth = Math.max(1.0,metrics.width)
var space = Math.min(1*Style.px, (root.width - n*tagWidth)/(n-1)) // not more than 1px
space = Math.max(space,-tagWidth) // not less than tag width
@ -88,9 +62,4 @@ Rectangle {
model: selectedLabels
}
}
Component.onCompleted: root.updateFilter()
onSelectedIDsChanged: root.updateFilter()
Connections { target: structurePM; onDataChanged:root.updateFilter() }
}