.
[dorian] / fullscreenwindow.h
index f7844a4..d91408c 100644 (file)
@@ -1,31 +1,49 @@
 #ifndef FULLSCREENWINDOW_H
 #define FULLSCREENWINDOW_H
 
-#include <QMainWindow>
+#include <QRect>
+#include <QObject>
 
+#include "adopterwindow.h"
+
+class QWidget;
+class QMouseEvent;
+class QResizeEvent;
 class TranslucentButton;
+class Progress;
 
-class FullScreenWindow: public QMainWindow
+/** A full screen window with a restore button. */
+class FullScreenWindow: public AdopterWindow
 {
     Q_OBJECT
+
 public:
-    explicit FullScreenWindow(QWidget *child, QWidget *parent);
-    void showFullScreen();
+    explicit FullScreenWindow(QWidget *parent);
+
+    /**
+     * Adopt children.
+     * Same as @AdopterWindow::takeChildren(), but saves prog, previous
+     * and next, before calling base class method.
+     */
+    void takeChildren(BookView *bookView, Progress *prog,
+                      TranslucentButton *previous, TranslucentButton *next);
 
 signals:
+    /** Emitted when the restore button is pressed. */
     void restore();
 
-public slots:
-
 protected:
-#ifdef Q_WS_MAEMO_5
-#   define MOUSE_ACTIVATE_EVENT mouseReleaseEvent
-#else
-#   define MOUSE_ACTIVATE_EVENT mousePressEvent
-#endif
-    virtual void MOUSE_ACTIVATE_EVENT(QMouseEvent *event);
-    virtual void resizeEvent(QResizeEvent *event);
-    QRect fullScreenZone() const;
+    /** Handle size (and orientation) change. */
+    void resizeEvent(QResizeEvent *e);
+
+    /** Handle show event. */
+    void showEvent(QShowEvent *e);
+
+protected slots:
+    /** Re-align adopted child windows. */
+    void placeChildren();
+
+private:
     TranslucentButton *restoreButton;
 };