[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/libs/webkitkde
From:       Simon Hausmann <hausmann () kde ! org>
Date:       2007-05-21 12:00:41
Message-ID: 1179748841.302916.28346.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 666966 by hausmann:

Added support for loading progress notification.


 M  +29 -0     webkitpart.cpp  
 M  +15 -0     webkitpart.h  


--- trunk/playground/libs/webkitkde/webkitpart.cpp #666965:666966
@@ -32,6 +32,18 @@
 {
     webPage = new QWebPage(parentWidget);
     setWidget(webPage);
+
+    connect(webPage, SIGNAL(loadStarted(QWebFrame *)),
+            this, SLOT(frameStarted(QWebFrame *)));
+    connect(webPage, SIGNAL(loadFinished(QWebFrame *)),
+            this, SLOT(frameFinished(QWebFrame *)));
+    connect(webPage, SIGNAL(titleChanged(const QString &)),
+            this, SIGNAL(setWindowCaption(const QString &)));
+
+    browserExtension = new WebKitBrowserExtension(this);
+
+    connect(webPage, SIGNAL(loadProgressChanged(int)),
+            browserExtension, SIGNAL(loadingProgress(int)));
 }
 
 bool WebKitPart::openUrl(const KUrl &url)
@@ -46,6 +58,18 @@
     return false;
 }
 
+void WebKitPart::frameStarted(QWebFrame *frame)
+{
+    if (frame == webPage->mainFrame())
+        emit started(0);
+}
+
+void WebKitPart::frameFinished(QWebFrame *frame)
+{
+    if (frame == webPage->mainFrame())
+        emit completed();
+}
+
 KAboutData *WebKitPart::createAboutData()
 {
     return new KAboutData("webkitpart", I18N_NOOP("Webkit HTML Component"),
@@ -54,6 +78,11 @@
                           I18N_NOOP("Copyright (c) 2007 Trolltech ASA"));
 }
 
+WebKitBrowserExtension::WebKitBrowserExtension(WebKitPart *parent)
+    : KParts::BrowserExtension(parent)
+{
+}
+
 typedef KParts::GenericFactory<WebKitPart> Factory;
 Q_EXPORT_PLUGIN(Factory);
 
--- trunk/playground/libs/webkitkde/webkitpart.h #666965:666966
@@ -23,9 +23,12 @@
 #define WEBKITPART_H
 
 #include <KDE/KParts/ReadOnlyPart>
+#include <KDE/KParts/BrowserExtension>
 
 class QWebPage;
+class QWebFrame;
 class KAboutData;
+class WebKitBrowserExtension;
 
 class WebKitPart : public KParts::ReadOnlyPart
 {
@@ -40,8 +43,20 @@
 protected:
     virtual bool openFile();
 
+private slots:
+    void frameStarted(QWebFrame *frame);
+    void frameFinished(QWebFrame *frame);
+
 private:
     QWebPage *webPage;
+    WebKitBrowserExtension *browserExtension;
 };
 
+class WebKitBrowserExtension : public KParts::BrowserExtension
+{
+    Q_OBJECT
+public:
+    WebKitBrowserExtension(WebKitPart *parent);
+};
+
 #endif // WEBKITPART_H
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic