diff -r 6aeb7a756187 -r 3c88a81ff781 ginebra2/ContentViews/WebView.cpp --- 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 #include +#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(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