Initial import.
[dorian] / bookview.h
1 #ifndef BOOKVIEW_H
2 #define BOOKVIEW_H
3
4 #include <QWebView>
5 #include <QString>
6 #include <QStringList>
7 #include <QHash>
8 #include <QImage>
9
10 #include "book.h"
11
12 class BookView: public QWebView
13 {
14     Q_OBJECT
15
16 public:
17     explicit BookView(QWidget *parent = 0);
18     virtual ~BookView();
19     void setBook(Book *book);
20     Book *book();
21     void goToBookmark(const Book::Bookmark &bookmark);
22     void addBookmark();
23     void setLastBookmark();
24
25 public slots:
26     void goPrevious();
27     void goNext();
28     void onLoadFinished(bool ok);
29     void onSettingsChanged(const QString &key);
30
31 protected:
32     virtual void paintEvent(QPaintEvent *e);
33     virtual void mousePressEvent(QMouseEvent *e);
34
35 private:
36     void loadContent(int index);
37     void addNavigationBar();
38     void extractIcons();
39     void removeIcons();
40     QString tmpPath();
41
42     int contentIndex;
43     Book *mBook;
44     bool restore;
45     qreal restorePos;
46     QImage bookmarkImage;
47     bool loadFinished;
48 };
49
50 #endif // BOOKVIEW_H