From 4bfbca75d817da36c6ef01bf22dda5781a7327d8 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Sat, 21 Nov 2020 21:32:40 +0100 Subject: [PATCH] Add action to search in room directory when search is empty in roomlist --- imports/NeoChat/Page/JoinRoomPage.qml | 6 +----- imports/NeoChat/Page/RoomListPage.qml | 6 +++--- src/CMakeLists.txt | 1 + src/publicroomlistmodel.cpp | 3 --- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/imports/NeoChat/Page/JoinRoomPage.qml b/imports/NeoChat/Page/JoinRoomPage.qml index b33754654..dcd875f24 100644 --- a/imports/NeoChat/Page/JoinRoomPage.qml +++ b/imports/NeoChat/Page/JoinRoomPage.qml @@ -20,7 +20,7 @@ Kirigami.ScrollablePage { id: root property var connection - property string keyword + property alias keyword: identifierField.text property string server signal joinRoom(string room) @@ -40,10 +40,6 @@ Kirigami.ScrollablePage { id: identifierField placeholderText: i18n("Find a room...") - - onEditingFinished: { - keyword = text - } } Button { diff --git a/imports/NeoChat/Page/RoomListPage.qml b/imports/NeoChat/Page/RoomListPage.qml index b96fabda8..e739d4b9b 100644 --- a/imports/NeoChat/Page/RoomListPage.qml +++ b/imports/NeoChat/Page/RoomListPage.qml @@ -44,9 +44,9 @@ Kirigami.ScrollablePage { visible: listView.count == 0 text: sortFilterRoomListModel.filterText.length > 0 ? i18n("No room found.") : 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}) + icon.name: sortFilterRoomListModel.filterText.length > 0 ? "search" : "list-add" + text: sortFilterRoomListModel.filterText.length > 0 ? i18n("Search in room directory") : i18n("Explore rooms") + onTriggered: pageStack.layers.push("qrc:/imports/NeoChat/Page/JoinRoomPage.qml", {"connection": activeConnection, "keyword": sortFilterRoomListModel.filterText}) } } model: SortFilterRoomListModel { diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 630c4fc8d..cddcdb54f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -53,6 +53,7 @@ if(ANDROID) "configure" "rating" "rating-unrated" + "search" ) else() target_link_libraries(neochat PRIVATE Qt5::Widgets ${QTKEYCHAIN_LIBRARIES}) diff --git a/src/publicroomlistmodel.cpp b/src/publicroomlistmodel.cpp index 6aa08d74d..22bf2ca55 100644 --- a/src/publicroomlistmodel.cpp +++ b/src/publicroomlistmodel.cpp @@ -111,9 +111,6 @@ void PublicRoomListModel::next(int count) return; } - if (!hasMore()) - return; - job = m_connection->callApi(m_server, count, nextBatch, QueryPublicRoomsJob::Filter {m_keyword}); connect(job, &BaseJob::finished, this, [=] {