Update from old repository.
[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 signals:
26     void chapterLoaded(int index);
27
28 public slots:
29     void goPrevious();
30     void goNext();
31     void onLoadFinished(bool ok);
32     void onSettingsChanged(const QString &key);
33
34 protected:
35     virtual void paintEvent(QPaintEvent *e);
36     virtual void mousePressEvent(QMouseEvent *e);
37
38 private:
39     void loadContent(int index);
40     void addNavigationBar();
41     void extractIcons();
42     void removeIcons();
43     QString tmpPath();
44
45     int contentIndex;
46     Book *mBook;
47     bool restore;
48     qreal restorePos;
49     QImage bookmarkImage;
50     bool loadFinished;
51 };
52
53 #endif // BOOKVIEW_H