--- a/ginebra2/ContentViews/WebView.cpp Thu Sep 23 15:32:11 2010 -0400
+++ b/ginebra2/ContentViews/WebView.cpp Fri Oct 15 17:30:59 2010 -0400
@@ -25,13 +25,21 @@
#include <QWebFrame>
#include <QWebPage>
+#include "qstmgestureevent.h"
+#include "qstmfilelogger.h"
namespace GVA {
WebView::WebView()
- : QGraphicsWebView()
+ : WebViewParent()
, m_webPage(0)
-{}
+{
+ setAttribute(Qt::WA_OpaquePaintEvent, true);
+ setResizesToContents(true);
+ setObjectName("WebView");
+ setAcceptHoverEvents(false);
+ installEventFilter(this);
+}
WebView::~WebView()
{}
@@ -56,7 +64,9 @@
if (!m_webPage)
m_webPage = createWebPage();
- QGraphicsWebView::setPage(m_webPage);
+ WebViewParent::setPage(m_webPage);
+
+ setGeometry(QRectF(pos(), m_webPage->mainFrame()->contentsSize()));
emit titleChanged(title());
emit urlChanged(url());
@@ -67,4 +77,31 @@
return reinterpret_cast<QWebPage*>(BrowserPageFactory::openBrowserPage());
}
+
+bool WebView::sceneEvent(QEvent* event)
+{
+ if (!WebViewParent::eventFilter(this, event)) {
+ return WebViewParent::sceneEvent(event);
+ }
+ return false;
+}
+
+bool WebView::eventFilter(QObject* o, QEvent* e)
+{
+ return WebViewParent::eventFilter(o, e);
+}
+
+
+bool WebView::event(QEvent * e)
+{
+ if (e->type() == QEvent::Gesture) {
+ QStm_Gesture* gesture = getQStmGesture(e);
+ if (gesture) {
+ QGraphicsObject* go = this->parentItem()->toGraphicsObject();
+ return go->event(e);
+ }
+ }
+ return WebViewParent::event(e);
+}
+
}//namespace GVA