+ void keyPressEvent(QKeyEvent *e) {
+ int x, y, w, h;
+
+ switch(e->key()) {
+ case Qt::Key_Down:
+ y = m_widget->y() - 50;
+ h = (m_widget->size() - size()).height();
+ m_widget->setY(y < -h ? -h : y);
+ break;
+
+ case Qt::Key_Up:
+ y = m_widget->y() + 50;
+ m_widget->setY(y > 0 ? 0 : y);
+ break;
+
+ case Qt::Key_Right:
+ x = m_widget->x() - 50;
+ w = (m_widget->size() - size()).width();
+ m_widget->setX(x < -w ? -w : x);
+ break;
+
+ case Qt::Key_Left:
+ x = m_widget->x() + 50;
+ m_widget->setX(x > 0 ? 0 : x);
+ break;
+
+ case Qt::Key_F7:
+ if(qgraphicsitem_cast<QGraphicsWebView *>(m_widget)) {
+ QGraphicsWebView *wv = (QGraphicsWebView *)m_widget;
+ wv->setZoomFactor(wv->zoomFactor() * 1.25);
+ resizeWebViewToFrame();
+ }
+ break;
+
+ case Qt::Key_F8:
+ if(qgraphicsitem_cast<QGraphicsWebView *>(m_widget)) {
+ QGraphicsWebView *wv = (QGraphicsWebView *)m_widget;
+ wv->setZoomFactor(wv->zoomFactor() / 1.25);
+ resizeWebViewToFrame();
+ }
+ break;
+ }
+ }
+