#include <QString>
#include <QStringList>
#include <QHash>
-#include <QIcon>
+#include <QImage>
#include <QMetaType>
#include <QObject>
#include <QTemporaryFile>
+#include <QDateTime>
+
+class QPixmap;
/** A book. */
class Book: public QObject
qreal pos;
QString note;
bool operator<(const Bookmark &other) const {
- return (part == other.part)? (pos < other.pos): (part < other.part);
+ return (part == other.part)? (pos<other.pos): (part<other.part);
}
};
- /** Construct a book from an EPUB file in path. */
- Book(const QString &path, QObject *parent = 0);
+ /** Construct a book from an EPUB file. */
+ Book(const QString &fileName, QObject *parent = 0);
- /** Default constructor. */
- Book();
+ /** Destructor. */
+ ~Book();
/** Load book meta-data from persistent storage. */
void load();
bool clearDir(const QString &directory);
/** Set last bookmark. */
- void setLastBookmark(int part, qreal position);
+ void setLastBookmark(int part, qreal position, bool fast = false);
/** Get last bookmark. */
Bookmark lastBookmark();
/** Add bookmark. */
void addBookmark(int part, qreal position, const QString ¬e);
+ /** Change a given bookmark's note text */
+ void setBookmarkNote(int index, const QString ¬e);
+
/** Delete bookmark. */
void deleteBookmark(int index);
*/
QString name();
+ /** Get cover image. */
+ QImage coverImage();
+
/** Get short friendly name: title or file name. */
QString shortName();
QString rights; //< Rights.
QString tocPath; //< Path to toc NCX file.
QString coverPath; //< Path to cover HTML file.
- QStringList chapters; //< Main navigation items from EPUB.
+ QStringList chapters; //< Main navigation items.
qint64 size; //< Size of all parts.
+ QDateTime dateAdded; //< Date book added to library.
+ QDateTime dateOpened; //< Date book was last read.
signals:
/** Emitted if @see open() succeeds. */
/** Get location of OPS file in EPUB archive. */
QString opsPath();
+ /** Make a cover image from a file. */
+ QImage makeCover(const QString &fileName);
+
+ /** Make a cover image from an pixmap. */
+ QImage makeCover(const QPixmap &pixmap);
+
QString mPath; //< Path to EPUB file.
Bookmark mLastBookmark; //< Last position read.
QList<Bookmark> mBookmarks; //< List of bookmarks.