#ifndef ADOPTERWINDOW_H
#define ADOPTERWINDOW_H
-#include <QMainWindow>
#include <QList>
+#include "mainbase.h"
class QWidget;
-class QToolBar;
class QAction;
class BookView;
-class QVBoxLayout;
class Progress;
class TranslucentButton;
* A toplevel window that can adopt a BookView and other children.
* On Maemo, it can also grab the volume keys.
*/
-class AdopterWindow: public QMainWindow
+class AdopterWindow: public MainBase
{
Q_OBJECT
/** Return true if the book view is currently adopted. */
bool hasBookView();
- /**
- * Add action that is visible on the tool bar.
- * @param receiver Object receiving "activated" signal.
- * @param slot Slot receiving "activated" signal.
- * @param iconName Base name of tool bar icon in resource file.
- * @param text Tool bar item text.
- * @param important On Symbian, only "important" actions are added to
- * the tool bar. All actions are added to the Options
- * menu though.
- */
- QAction *addToolBarAction(QObject *receiver, const char *slot,
- const QString &iconName, const QString &text,
- bool important = false);
-
- /** Add spacing to tool bar. */
- void addToolBarSpace();
-
- /** Show window. */
- void show();
-
/** If grab is true, volume keys will navigate the book view. */
void grabVolumeKeys(bool grab);
/** Handle settings changes. */
void onSettingsChanged(const QString &key);
-protected:
- /** Return true, if we are in portrait mode. */
- bool portrait();
+signals:
+ /** Emitted when Page Up or Volume Up pressed. */
+ void pageUp();
+
+ /** Emitted when Page Down or Volume Down pressed. */
+ void pageDown();
+protected:
/** Handle key press events. */
void keyPressEvent(QKeyEvent *event);
*/
void showEvent(QShowEvent *event);
- /** Handle resize events. */
+ /** Handle resize event: Restore reading position. */
void resizeEvent(QResizeEvent *event);
+ /** Handle close event. */
+ void closeEvent(QCloseEvent *event);
+
+ /** Handle leave event: Save reading position. */
+ void leaveEvent(QEvent *event);
+
#ifdef Q_WS_MAEMO_5
/** Actually grab the volume keys. */
void doGrabVolumeKeys(bool grab);
-#endif
+#endif // Q_WS_MAEMO_5
protected slots:
void placeDecorations();
+ void onPageDown();
+ void onPageUp();
private:
BookView *bookView; /**< Book view widget. */
bool grabbingVolumeKeys;/**< True, if volume keys should be grabbed. */
- QToolBar *toolBar; /**< Tool bar. */
Progress *progress; /**< Reading progress indicator. */
TranslucentButton *previousButton; /**< Previous page indicator. */
TranslucentButton *nextButton; /**< Next page indicator. */