moment/src/qml/Chat/RoomSidePane/MembersView.qml
2019-07-07 05:25:03 -04:00

61 lines
1.6 KiB
QML

import QtQuick 2.7
import QtQuick.Layouts 1.3
import SortFilterProxyModel 0.2
import "../../Base"
HColumnLayout {
property bool collapsed: false
property int normalSpacing: collapsed ? 0 : 8
Behavior on normalSpacing { HNumberAnimation {} }
HListView {
id: memberList
spacing: normalSpacing
topMargin: normalSpacing
bottomMargin: normalSpacing
Layout.leftMargin: normalSpacing
Layout.rightMargin: normalSpacing
model: HListModel {
sourceModel: chatPage.roomInfo.members
proxyRoles: ExpressionRole {
name: "displayName"
expression: users.getUser(userId).displayName || userId
}
sorters: StringSorter {
roleName: "displayName"
}
}
delegate: MemberDelegate {}
Layout.fillWidth: true
Layout.fillHeight: true
}
HTextField {
id: filterField
placeholderText: qsTr("Filter members")
backgroundColor: theme.sidePane.filterRooms.background
// Without this, if the user types in the field, changes of room, then
// comes back, the field will be empty but the filter still applied.
//Component.onCompleted:
//text = Backend.clients.get(chatPage.userId).getMemberFilter(
//chatPage.category, chatPage.roomId
//)
//onTextChanged: Backend.clients.get(chatPage.userId).setMemberFilter(
//chatPage.category, chatPage.roomId, text
//)
Layout.fillWidth: true
Layout.preferredHeight: theme.bottomElementsHeight
}
}