aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-07-16 07:31:02 +0200
committerdec05eba <dec05eba@protonmail.com>2021-07-16 07:31:02 +0200
commitb09d1e70661226697e2441c18ea6ff59c387fb93 (patch)
tree66f75dbc0237407912c522a54c7a46f9987f4642 /src/QuickMedia.cpp
parent2167a32f3730e569a636d9b041122558aceb89f1 (diff)
Add sorting options to nyaa.si
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 252bb19..64833bd 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -2070,6 +2070,17 @@ namespace QuickMedia {
if(tabs[selected_tab].search_bar) tabs[selected_tab].search_bar->update();
+ if(tabs[selected_tab].page->needs_refresh && tab_associated_data[selected_tab].fetch_status == FetchStatus::NONE && !tab_associated_data[selected_tab].fetching_next_page_running) {
+ tabs[selected_tab].page->needs_refresh = false;
+ if(tabs[selected_tab].page->is_lazy_fetch_page()) {
+ tab_associated_data[selected_tab].lazy_fetch_finished = false;
+ tab_associated_data[selected_tab].fetched_page = 0;
+ } else if(!tabs[selected_tab].page->search_is_filter()) {
+ tab_associated_data[selected_tab].search_text_updated = true;
+ }
+ tabs[selected_tab].body->clear_items();
+ }
+
if(tabs[selected_tab].page->is_ready() && tabs[selected_tab].page->is_lazy_fetch_page() && tab_associated_data[selected_tab].fetch_status == FetchStatus::NONE && !tab_associated_data[selected_tab].lazy_fetch_finished) {
tab_associated_data[selected_tab].fetch_status = FetchStatus::LOADING;
tab_associated_data[selected_tab].fetch_type = FetchType::LAZY;
@@ -2165,7 +2176,7 @@ namespace QuickMedia {
associated_data.lazy_fetch_finished = true;
FetchResult fetch_result = associated_data.fetch_future.get();
tabs[i].body->items = std::move(fetch_result.body_items);
- if(tabs[i].search_bar) tabs[i].body->filter_search_fuzzy(tabs[i].search_bar->get_text());
+ if(tabs[i].search_bar && tabs[i].page->search_is_filter()) tabs[i].body->filter_search_fuzzy(tabs[i].search_bar->get_text());
if(tabs[i].body->attach_side == AttachSide::TOP) {
tabs[i].body->select_first_item();
}