Initial release.
[dorian] / model / book.h
index ded10f0..1da4209 100644 (file)
@@ -4,11 +4,13 @@
 #include <QString>
 #include <QStringList>
 #include <QHash>
-#include <QIcon>
+#include <QImage>
 #include <QMetaType>
 #include <QObject>
 #include <QTemporaryFile>
 
+class QPixmap;
+
 /** A book. */
 class Book: public QObject
 {
@@ -38,11 +40,11 @@ public:
         }
     };
 
-    /** 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();
@@ -101,6 +103,9 @@ public:
      */
     QString name();
 
+    /** Get cover image. */
+    QImage coverImage();
+
     /** Get short friendly name: title or file name. */
     QString shortName();
 
@@ -149,6 +154,12 @@ protected:
     /** 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.