Skip to content

Commit 4e1ec6c

Browse files
sync: from linuxdeepin/dtkdeclarative
Synchronize source files from linuxdeepin/dtkdeclarative. Source-pull-request: linuxdeepin/dtkdeclarative#477
1 parent f565dd9 commit 4e1ec6c

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

qt6/src/qml/SortFilterModel.qml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ DelegateModel {
1313
property alias visibleGroup: visibleItems
1414

1515
function update() {
16-
if (items.count > 0) {
17-
items.setGroups(0, items.count, "items");
18-
}
1916

2017
// Step 1: Filter items
2118
var visible = [];
19+
var unVisible = []
2220
for (var i = 0; i < items.count; ++i) {
2321
var item = items.get(i);
2422
if (filterAcceptsItem(item.model)) {
2523
visible.push(item);
24+
} else {
25+
unVisible.push(item);
2626
}
2727
}
2828

@@ -34,9 +34,13 @@ DelegateModel {
3434
}
3535

3636
// Step 3: Add all items to the visible group:
37+
for (i = 0; i < unVisible.length; ++i) {
38+
items.removeGroups(unVisible[i], 1, "visible")
39+
}
40+
3741
for (i = 0; i < visible.length; ++i) {
3842
item = visible[i];
39-
item.inVisible = true;
43+
items.addGroups(visible[i], 1, "visible")
4044
if (item.visibleIndex !== i) {
4145
visibleItems.move(item.visibleIndex, i, 1);
4246
}

0 commit comments

Comments
 (0)