aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index f3aeda5..9bb5231 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -982,8 +982,14 @@ namespace QuickMedia {
after_submit_handler();
if(tabs[selected_tab].page->clear_search_after_submit() && tabs[selected_tab].search_bar) {
- tabs[selected_tab].search_bar->clear();
- tabs[selected_tab].search_bar->onTextUpdateCallback("");
+ if(!tabs[selected_tab].search_bar->get_text().empty()) {
+ tabs[selected_tab].search_bar->clear();
+ tabs[selected_tab].search_bar->onTextUpdateCallback("");
+ } else {
+ int selected_item_index = tabs[selected_tab].body->get_selected_item();
+ tabs[selected_tab].body->select_first_item();
+ tabs[selected_tab].body->set_selected_item(selected_item_index, false);
+ }
}
if(tabs[selected_tab].page->is_single_page()) {
@@ -1047,7 +1053,7 @@ namespace QuickMedia {
current_page = PageType::CHAT;
current_chat_room = matrix->get_room_by_id(selected_item->url);
chat_page(static_cast<MatrixChatPage*>(new_tabs[0].page.get()), current_chat_room);
- select_body_item_by_room(tabs[selected_tab].body.get(), current_chat_room);
+ //select_body_item_by_room(tabs[selected_tab].body.get(), current_chat_room);
current_chat_room = nullptr;
} else {
page_loop(new_tabs);