diff options
author | Michele Calgaro <[email protected]> | 2024-06-07 23:30:05 +0900 |
---|---|---|
committer | Michele Calgaro <[email protected]> | 2024-06-07 23:30:05 +0900 |
commit | 17b259df9cb6b28779d4881b2b6c805ee2e48eea (patch) | |
tree | 5ed61937459cb7081089111b0242c01ec178f1f3 /fbreader/src/network/litres/LitResBookshelfItem.cpp | |
parent | 1cba8bce178eb2d6719c6f7f21e2c9352c5513a6 (diff) | |
download | tde-ebook-reader-17b259df9cb6b28779d4881b2b6c805ee2e48eea.tar.gz tde-ebook-reader-17b259df9cb6b28779d4881b2b6c805ee2e48eea.zip |
Rename to tde-ebook-reader
Signed-off-by: Michele Calgaro <[email protected]>
Diffstat (limited to 'fbreader/src/network/litres/LitResBookshelfItem.cpp')
-rw-r--r-- | fbreader/src/network/litres/LitResBookshelfItem.cpp | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/fbreader/src/network/litres/LitResBookshelfItem.cpp b/fbreader/src/network/litres/LitResBookshelfItem.cpp deleted file mode 100644 index be931fe..0000000 --- a/fbreader/src/network/litres/LitResBookshelfItem.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (C) 2009-2012 Geometer Plus <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301, USA. - */ - -#include <algorithm> - -#include <ZLNetworkRequest.h> -#include <ZLExecutionUtil.h> - -#include "LitResBookshelfItem.h" -#include "../authentication/litres/LitResAuthenticationManager.h" - -#include "../NetworkLink.h" -#include "../NetworkComparators.h" -#include "../NetworkErrors.h" - -#include "SortedCatalogItem.h" - -LitResBookshelfItem::LitResBookshelfItem( - const NetworkLink &link, - const std::string &title, - const std::string &summary, - const UrlInfoCollection &urlByType, - AccessibilityType accessibility -) : NetworkCatalogItem( - link, - title, - summary, - urlByType, - accessibility -) { - myForceReload = false; -} - -void LitResBookshelfItem::onDisplayItem() { - myForceReload = false; -} - -class LitResBookshelfItemLoaderScope : public ZLUserData { -public: - LitResBookshelfItemLoaderScope(NetworkItem::List &children) : Children(children) {} - NetworkItem::List &Children; - shared_ptr<ZLNetworkRequest::Listener> listener; -}; - - -std::string LitResBookshelfItem::loadChildren(NetworkItem::List &children, shared_ptr<ZLNetworkRequest::Listener> listener) { - LitResAuthenticationManager &mgr = (LitResAuthenticationManager&)*Link.authenticationManager(); - if (mgr.isAuthorised().Status == B3_FALSE) { - listener->finished(NetworkErrors::errorMessage(NetworkErrors::ERROR_AUTHENTICATION_FAILED)); - return NetworkErrors::errorMessage(NetworkErrors::ERROR_AUTHENTICATION_FAILED); - } - - LitResBookshelfItemLoaderScope *scope = new LitResBookshelfItemLoaderScope(children); - scope->listener = listener; - - shared_ptr<ZLUserDataHolder> scopeData = new ZLUserDataHolder; - scopeData->addUserData("scope", scope); - if (myForceReload) { - mgr.reloadPurchasedBooks(ZLExecutionUtil::createListener(scopeData, this, &LitResBookshelfItem::onReloaded)); - return std::string(); - } - onReloaded(*scopeData, std::string()); - return std::string(); -} - -void LitResBookshelfItem::onReloaded(ZLUserDataHolder &data, const std::string &error) { - LitResBookshelfItemLoaderScope &scope = static_cast<LitResBookshelfItemLoaderScope&>(*data.getUserData("scope")); - LitResAuthenticationManager &mgr = static_cast<LitResAuthenticationManager&>(*Link.authenticationManager()); - myForceReload = true; - NetworkItem::List tmpChildren; - mgr.collectPurchasedBooks(tmpChildren); - std::sort(tmpChildren.begin(), tmpChildren.end(), NetworkBookItemComparator()); - - - NetworkItem::List &children = scope.Children; - - if (tmpChildren.size() <= 5) { - children.assign(tmpChildren.begin(), tmpChildren.end()); - std::sort(children.begin(), children.end(), NetworkBookItemComparator()); - } else { - children.push_back(SortedCatalogItem::create(*this, "byDate", tmpChildren, FLAG_SHOW_AUTHOR)); - children.push_back(SortedCatalogItem::create(*this, "byAuthor", tmpChildren, FLAG_GROUP_BY_AUTHOR, NetworkBookItemComparator())); - children.push_back(SortedCatalogItem::create(*this, "byTitle", tmpChildren, FLAG_SHOW_AUTHOR, NetworkBookItemByTitleComparator())); - SortedCatalogItem* bySeries = SortedCatalogItem::create(*this, "bySeries", tmpChildren, FLAG_SHOW_AUTHOR | FLAG_GROUP_BY_SERIES, - NetworkBookItemBySeriesComparator(), SortedCatalogItem::BySeriesFilter()); - - if (!bySeries->isEmpty()) { - children.push_back(bySeries); - } else { - delete bySeries; - } - } - - scope.listener->finished(error); -} |