Room filtering.

This commit is contained in:
Black Hat
2018-09-22 22:28:47 +08:00
parent 04d4854352
commit 7c833ce764
5 changed files with 98 additions and 27 deletions

View File

@@ -14,6 +14,7 @@ import "qrc:/js/util.js" as Util
Item {
property alias listModel: roomListProxyModel.sourceModel
property int filter: 0
property var enteredRoom: null
Label {
@@ -51,11 +52,25 @@ Item {
SortFilterProxyModel {
id: roomListProxyModel
filters: RegExpFilter {
roleName: "name"
pattern: searchField.text
caseSensitivity: Qt.CaseInsensitive
}
filters: [
RegExpFilter {
roleName: "name"
pattern: searchField.text
caseSensitivity: Qt.CaseInsensitive
},
ExpressionFilter {
enabled: filter === 1
expression: unreadCount > 0
},
ExpressionFilter {
enabled: filter === 2
expression: category === 1 || category === 2 || category === 4
},
ExpressionFilter {
enabled: filter === 3
expression: category === 3 || category === 5
}
]
proxyRoles: ExpressionRole {
name: "display"
expression: {
@@ -72,11 +87,9 @@ Item {
sorters: [
RoleSorter { roleName: "category" },
RoleSorter {
enabled: MSettings.rearrangeByActivity
roleName: "lastActiveTime"
sortOrder: Qt.DescendingOrder
},
StringSorter { roleName: "name" }
}
]
}