#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 *parent);
- void showFullScreen();
- void takeChild(QWidget *child);
- void leaveChild();
+
+ /**
+ * 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();
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;
- QWidget *child;
};
#endif // FULLSCREENWINDOW_H