From a17fc0ef2dcc81f843c79ddfdb4dc71d0f9281b3 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Sat, 6 Mar 2021 20:19:43 +0400 Subject: [PATCH] Library::getBooksByTitleOrDescription() --- include/library.h | 4 ++++ src/library.cpp | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/library.h b/include/library.h index 4a859086d..c09a77551 100644 --- a/include/library.h +++ b/include/library.h @@ -292,7 +292,11 @@ class Library friend class OPDSDumper; friend class libXMLDumper; + +private: // functions + BookIdCollection getBooksByTitleOrDescription(const Filter& filter); }; + } #endif diff --git a/src/library.cpp b/src/library.cpp index 920d93eda..7d428f570 100644 --- a/src/library.cpp +++ b/src/library.cpp @@ -232,7 +232,7 @@ Library::BookIdCollection Library::filter(const std::string& search) } -Library::BookIdCollection Library::filter(const Filter& filter) +Library::BookIdCollection Library::getBooksByTitleOrDescription(const Filter& filter) { BookIdCollection bookIds; for(auto& pair:m_books) { @@ -240,9 +240,13 @@ Library::BookIdCollection Library::filter(const Filter& filter) bookIds.push_back(pair.first); } } + return bookIds; +} +Library::BookIdCollection Library::filter(const Filter& filter) +{ BookIdCollection result; - for(auto id : bookIds) { + for(auto id : getBooksByTitleOrDescription(filter)) { if(filter.acceptByNonQueryCriteria(m_books[id])) { result.push_back(id); }