From 78574aaf0283609efc6b6a2d26c2b34d89ce2105 Mon Sep 17 00:00:00 2001 From: luisangelsm Date: Thu, 9 Apr 2026 17:05:36 +0200 Subject: [PATCH] Fix reloading current folder content Going from empty to content or content to empty was broken and the state was never updated until the folder was reselected. --- .../yacreader_content_views_manager.cpp | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/YACReaderLibrary/yacreader_content_views_manager.cpp b/YACReaderLibrary/yacreader_content_views_manager.cpp index 0d505a8d..45ccfee8 100644 --- a/YACReaderLibrary/yacreader_content_views_manager.cpp +++ b/YACReaderLibrary/yacreader_content_views_manager.cpp @@ -12,7 +12,9 @@ #include "library_window.h" #include "no_search_results_widget.h" #include "options_dialog.h" +#include "reading_list_model.h" #include "yacreader_options_dialog.h" +#include "yacreader_reading_lists_view.h" #include "yacreader_sidebar.h" //-- @@ -72,27 +74,24 @@ QWidget *YACReaderContentViewsManager::containerWidget() void YACReaderContentViewsManager::updateCurrentContentView() { - libraryWindow->comicsModel->reload(); + if (libraryWindow->status == LibraryWindow::Searching) { + auto currentWidget = comicsViewStack->currentWidget(); - if (comicsViewStack->currentWidget() == folderContentView && libraryWindow->comicsModel->rowCount() > 0) { - comicsView->reloadContent(); - showComicsView(); + libraryWindow->comicsModel->reload(); + + if (currentWidget == comicsView) { + comicsView->reloadContent(); + } return; } - if (comicsViewStack->currentWidget() == comicsView && libraryWindow->comicsModel->rowCount() == 0) { - showFolderContentView(); - folderContentView->reloadContent(); + if (!libraryWindow->listsView->selectionModel()->selectedRows().isEmpty()) { + auto currentListIndex = libraryWindow->listsModelProxy->mapToSource(libraryWindow->listsView->currentIndex()); + libraryWindow->navigationController->loadListInfo(currentListIndex); return; } - if (comicsViewStack->currentWidget() == comicsView) { - comicsView->reloadContent(); - } - - if (comicsViewStack->currentWidget() == folderContentView) { - folderContentView->reloadContent(); - } + libraryWindow->navigationController->loadFolderInfo(libraryWindow->getCurrentFolderIndex()); } void YACReaderContentViewsManager::updateCurrentComicView()