- ScrollArea(QWidget *parent):
- QScrollArea(parent)
- {
- message.setParent(this);
- message.setVisible(false);
- message.setAlignment(Qt::AlignCenter);
- message.setWordWrap(true);
+ explicit ScrollArea(QWidget *parent):
+ QScrollArea(parent),
+ message(this),
+ fullscreen_exit_button(parent) //owned by parent!
+ {
+ message.setVisible(false);
+ message.setAlignment(Qt::AlignCenter);
+ message.setWordWrap(true);
+
+ QPalette pal = message.palette();
+ QColor backgroundColor = pal.color(backgroundRole());
+ backgroundColor.setAlpha(128);
+ pal.setColor(backgroundRole(), backgroundColor);
+ message.setPalette(pal);
+ message.setAutoFillBackground(true);
+
+ message_timer.setSingleShot(true);
+ message_timer.setInterval(4000);
+ connect(&message_timer, SIGNAL(timeout()),
+ &message, SLOT(hide()));
+
+ connect(&fullscreen_exit_button, SIGNAL(clicked()),
+ this, SIGNAL(fullscreenButtonClicked()));
+
+ button_reenable_timer.setSingleShot(true);
+ button_reenable_timer.setInterval(500);
+ connect(&button_reenable_timer, SIGNAL(timeout()),
+ &fullscreen_exit_button, SLOT(reenable()));
+
+#ifdef Q_WS_MAEMO_5
+ // disable overshooting because it somehow causes repaint events for the whole widget (slow)
+ QAbstractKineticScroller *scroller = property("kineticScroller").value<QAbstractKineticScroller *>();
+ if (scroller)
+ scroller->setOvershootPolicy(QAbstractKineticScroller::OvershootAlwaysOff);
+#endif
+ }