Extract YACReaderNavigationController::exitSearchMode()

This commit is contained in:
Igor Kushnir 2021-02-12 19:51:24 +02:00 committed by Luis Ángel San Martín
parent 3a60d89f06
commit 40ca07f8f8
3 changed files with 20 additions and 14 deletions

View File

@ -2726,3 +2726,12 @@ void LibraryWindow::updateComicsView(quint64 libraryId, const ComicDB &comic)
comicsViewsManager->updateCurrentComicView();
}
}
bool LibraryWindow::exitSearchMode()
{
if (status != LibraryWindow::Searching)
return false;
searchEdit->clearText();
clearSearchFilter();
return true;
}

View File

@ -424,6 +424,10 @@ public slots:
void afterLaunchTasks();
private:
//! @brief Exits search mode if it is active.
//! @return true If the search mode was active when this function was called.
bool exitSearchMode();
// fullscreen mode in Windows for preventing this bug: QTBUG-41309 https://bugreports.qt.io/browse/QTBUG-41309
Qt::WindowFlags previousWindowFlags;
QPoint previousPos;

View File

@ -34,10 +34,8 @@ void YACReaderNavigationController::selectedFolder(const QModelIndex &mi)
// update history
libraryWindow->historyController->updateHistory(YACReaderLibrarySourceContainer(modelIndex, YACReaderLibrarySourceContainer::Folder));
if (libraryWindow->status == LibraryWindow::Searching) {
// when a folder is selected the search mode has to be reset
libraryWindow->searchEdit->clearText();
libraryWindow->clearSearchFilter();
if (libraryWindow->exitSearchMode()) {
libraryWindow->foldersView->scrollTo(mi, QAbstractItemView::PositionAtTop);
libraryWindow->foldersView->setCurrentIndex(mi);
}
@ -182,10 +180,9 @@ void YACReaderNavigationController::selectedList(const QModelIndex &mi)
// update history
libraryWindow->historyController->updateHistory(YACReaderLibrarySourceContainer(modelIndex, YACReaderLibrarySourceContainer::List));
if (libraryWindow->status == LibraryWindow::Searching) {
// when a list is selected the search mode has to be reset
libraryWindow->searchEdit->clearText();
libraryWindow->clearSearchFilter();
if (libraryWindow->exitSearchMode()) {
libraryWindow->listsView->scrollTo(mi, QAbstractItemView::PositionAtTop);
libraryWindow->listsView->setCurrentIndex(mi);
}
@ -212,12 +209,8 @@ void YACReaderNavigationController::reselectCurrentSource()
void YACReaderNavigationController::selectedIndexFromHistory(const YACReaderLibrarySourceContainer &sourceContainer)
{
// TODO NO searching allowed, just disable backward/forward actions in searching mode
if (libraryWindow->status == LibraryWindow::Searching) {
// when a folder is selected the search mode has to be reset
libraryWindow->searchEdit->clearText();
libraryWindow->clearSearchFilter();
}
// when a folder or a list is selected the search mode has to be reset
libraryWindow->exitSearchMode();
loadIndexFromHistory(sourceContainer);
libraryWindow->setToolbarTitle(sourceContainer.getSourceModelIndex());
}