Add PlaceholderMessage when room list is empty

This commit is contained in:
Carl Schwan
2020-11-15 21:31:06 +00:00
parent 36f33c3f9b
commit bd853800a6
3 changed files with 16 additions and 1 deletions

View File

@@ -21,6 +21,7 @@ Kirigami.ScrollablePage {
property var roomListModel property var roomListModel
property var enteredRoom property var enteredRoom
required property var activeConnection
signal enterRoom(var room) signal enterRoom(var room)
signal leaveRoom(var room) signal leaveRoom(var room)
@@ -36,6 +37,18 @@ Kirigami.ScrollablePage {
} }
ListView { ListView {
id: listView
Kirigami.PlaceholderMessage {
anchors.centerIn: parent
width: parent.width - (Kirigami.Units.largeSpacing * 4)
visible: listView.count == 0
text: i18n("You didn't join any room yet.")
helpfulAction: Kirigami.Action {
icon.name: "list-add"
text: i18n("Explore rooms")
onTriggered: pageStack.layers.push("qrc:/imports/NeoChat/Page/JoinRoomPage.qml", {"connection": activeConnection})
}
}
model: SortFilterRoomListModel { model: SortFilterRoomListModel {
id: sortFilterRoomListModel id: sortFilterRoomListModel
sourceModel: roomListModel sourceModel: roomListModel

View File

@@ -69,6 +69,7 @@ Kirigami.ApplicationWindow {
RoomListPage { RoomListPage {
id: roomList id: roomList
roomListModel: spectralRoomListModel roomListModel: spectralRoomListModel
activeConnection: Controller.activeConnection
} }
} }
@@ -79,7 +80,7 @@ Kirigami.ApplicationWindow {
if (Controller.accountCount === 0) { if (Controller.accountCount === 0) {
pageStack.replace("qrc:/imports/NeoChat/Page/LoginPage.qml", {}); pageStack.replace("qrc:/imports/NeoChat/Page/LoginPage.qml", {});
} else { } else {
pageStack.replace(roomListComponent); pageStack.replace(roomListComponent, {'activeConnection': Controller.activeConnection});
} }
} }

View File

@@ -46,6 +46,7 @@ if(ANDROID)
"media-playback-start" "media-playback-start"
"go-up" "go-up"
"go-down" "go-down"
"list-add"
) )
else() else()
target_link_libraries(neochat PRIVATE Qt5::Widgets ${QTKEYCHAIN_LIBRARIES}) target_link_libraries(neochat PRIVATE Qt5::Widgets ${QTKEYCHAIN_LIBRARIES})