summaryrefslogtreecommitdiffstats
path: root/fbreader/src/libraryTree/BookNode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fbreader/src/libraryTree/BookNode.cpp')
-rw-r--r--fbreader/src/libraryTree/BookNode.cpp116
1 files changed, 0 insertions, 116 deletions
diff --git a/fbreader/src/libraryTree/BookNode.cpp b/fbreader/src/libraryTree/BookNode.cpp
deleted file mode 100644
index 0df43e5..0000000
--- a/fbreader/src/libraryTree/BookNode.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2009-2012 Geometer Plus <contact@geometerplus.com>
- *
- * 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 <ZLResource.h>
-#include <ZLImage.h>
-
-#include "LibraryNodes.h"
-
-#include "../library/Book.h"
-#include "../library/Author.h"
-#include "../library/Tag.h"
-#include "../libraryActions/LibraryBookActions.h"
-
-#include "../fbreader/FBReader.h"
-#include "../formats/FormatPlugin.h"
-
-const ZLTypeId BookNode::TYPE_ID(FBReaderNode::TYPE_ID);
-
-const ZLTypeId &BookNode::typeId() const {
- return TYPE_ID;
-}
-
-const ZLResource &BookNode::resource() const {
- return ZLResource::resource("libraryView")["bookNode"];
-}
-
-BookNode::BookNode(AuthorNode *parent, shared_ptr<Book> book) : FBReaderNode(parent), myBook(book) {
-}
-
-BookNode::BookNode(SeriesNode *parent, shared_ptr<Book> book) : FBReaderNode(parent), myBook(book) {
-}
-
-BookNode::BookNode(TagNode *parent, std::size_t atPosition, shared_ptr<Book> book) : FBReaderNode(parent, atPosition), myBook(book) {
-}
-
-void BookNode::init() {
- registerAction(new BookReadAction(myBook));
- registerAction(new BookEditInfoAction(myBook));
- registerAction(new BookRemoveAction(myBook));
-}
-
-shared_ptr<Book> BookNode::book() const {
- return myBook;
-}
-
-std::string BookNode::title() const {
- return myBook->title();
-}
-
-std::string BookNode::summary() const {
- FBReaderNode *parent = (FBReaderNode*)this->parent();
- while (!parent->isInstanceOf(AuthorNode::TYPE_ID) &&
- !parent->isInstanceOf(TagNode::TYPE_ID)) {
- parent = (FBReaderNode*)parent->parent();
- }
- if (parent->isInstanceOf(AuthorNode::TYPE_ID)) {
- const TagList &tags = myBook->tags();
- if (tags.empty()) {
- return std::string();
- } else {
- std::string tagsText;
- for (TagList::const_iterator it = tags.begin(); it != tags.end(); ++it) {
- if (!tagsText.empty()) {
- tagsText += ", ";
- }
- tagsText += (*it)->name();
- }
- return tagsText;
- }
- } else {
- const AuthorList &authors = myBook->authors();
- if (authors.empty()) {
- return ZLResource::resource("libraryView")["authorNode"]["unknownAuthor"].value();
- } else {
- std::string authorsText;
- for (AuthorList::const_iterator it = authors.begin(); it != authors.end(); ++it) {
- if (!authorsText.empty()) {
- authorsText += ", ";
- }
- authorsText += (*it)->name();
- }
- return authorsText;
- }
- }
-}
-
-bool BookNode::highlighted() const {
- return myBook->file() == FBReader::Instance().currentBook()->file();
-}
-
-shared_ptr<const ZLImage> BookNode::extractCoverImage() const {
- shared_ptr<FormatPlugin> plugin = PluginCollection::Instance().plugin(*myBook);
- if (!plugin.isNull()) {
- shared_ptr<const ZLImage> cover = plugin->coverImage(myBook->file());
- if (!cover.isNull()) {
- return cover;
- }
- }
- return defaultCoverImage("booktree-book.png");
-}