ginebra2/PageSnippet.cpp
changeset 6 1c3b8676e58c
parent 5 0f2326c2a325
child 15 73c48011b8c7
--- a/ginebra2/PageSnippet.cpp	Wed Jun 23 17:59:43 2010 +0300
+++ b/ginebra2/PageSnippet.cpp	Tue Jul 06 14:03:49 2010 +0300
@@ -22,7 +22,7 @@
 #include "PageSnippet.h"
 #include "PageItem.h"
 #include "Utilities.h"
-#include "ObjectCharm.h"
+#include "ExternalEventCharm.h"
 
 #include <QGraphicsWebView>
 #include <QVariant>
@@ -47,32 +47,38 @@
 
 PageSnippet::PageSnippet(const QString & elementId, ChromeWidget * chrome,
                          QGraphicsWidget * widget, const QWebElement & element)
-  : ChromeSnippet(elementId, chrome, widget, element)
+  : ChromeSnippet(elementId, chrome, widget, element),
+    m_externalEventCharm(0)
 {
 }
 
-void PageSnippet::setWidget(QGraphicsWidget * widget) {
-    ChromeSnippet::setWidget(widget);
-    ExternalEventCharm *charm = new ExternalEventCharm(widget);  // auto deleted
-    safe_connect(charm, SIGNAL(externalMouseEvent(int, const QString &, const QString &)),
-                 this, SIGNAL(externalMouseEvent(int, const QString &, const QString &)));
+PageSnippet::~PageSnippet() {
+    delete m_externalEventCharm;
+}
+
+PageSnippet * PageSnippet::instance(const QString& elementId, ChromeWidget * chrome, const QWebElement & element)
+{
+    PageSnippet* that = new PageSnippet(elementId, chrome, 0, element);
+    that->setChromeWidget( new PageItem( that, chrome ) );
+    return that;
+}
+
+void PageSnippet::setChromeWidget(QGraphicsWidget * widget) {
+    ChromeSnippet::setChromeWidget(widget);
+    m_externalEventCharm = new ExternalEventCharm(widget);
+    safe_connect(m_externalEventCharm, SIGNAL(externalMouseEvent(QEvent*, const QString &, const QString &)),
+                 this, SIGNAL(externalMouseEvent(QEvent*, const QString &, const QString &)));
 }
 
 void PageSnippet::setVisible(bool visiblity, bool animate) {
-    qDebug() << "PageSnippet::setVisible: " << visiblity;
     ChromeSnippet::setVisible(visiblity, animate);
 }
 
-void PageSnippet::onLoadFinished(bool ok) {  // slot
-    qDebug() << "PageSnippet::onLoadFinished: " << ok;
-}
-
 QString PageSnippet::url() const {
     return constPageItem()->url();
 }
 
 void PageSnippet::setUrl(const QString &url) {
-    qDebug() << "PageSnippet::setUrl: " << url;
     pageItem()->setUrl(url);
 }