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

List:       kfm-devel
Subject:    Re: (not) Adding a statusbar widget
From:       Koos Vriezen <koos.vriezen () xs4all ! nl>
Date:       2005-06-02 19:50:15
Message-ID: 20050602195015.GB83498 () xs4all ! nl
[Download RAW message or body]

On Thu, Jun 02, 2005 at 08:59:49PM +0200, Koos Vriezen wrote:
> Anyhow, it works :-).  Commit it?

Well almost everything but the kjas part :-(. Context idea sucks I'm
afraid. So updated for each applet an icon ..

> Koos

["kparts_statusbarext2.diff" (text/plain)]

Index: khtml_part.cpp
===================================================================
--- khtml_part.cpp	(revision 421260)
+++ khtml_part.cpp	(working copy)
@@ -4393,6 +4403,9 @@
     if (::qt_cast<KHTMLPart*>(part)) {
       static_cast<KHTMLPart*>(part)->d->m_frame = child;
     } else if (child->m_frame) {
+      KParts::StatusBarExtension *sb = \
KParts::StatusBarExtension::childObject(part); +      if (sb)
+          sb->setStatusBar( d->m_statusBarExtension->statusBar() );
       child->m_liveconnect = KParts::LiveConnectExtension::childObject(part);
       if (child->m_liveconnect)
         connect(child->m_liveconnect, SIGNAL(partEvent(const unsigned long, const \
QString &, const KParts::LiveConnectExtension::ArgList &)), child, \
SLOT(liveConnectEvent(const unsigned long, const QString&, const \
                KParts::LiveConnectExtension::ArgList &)));
Index: java/kjavaappletcontext.cpp
===================================================================
--- java/kjavaappletcontext.cpp	(revision 421260)
+++ java/kjavaappletcontext.cpp	(working copy)
@@ -26,6 +26,7 @@
 #include <klocale.h>
 #include <kmessagebox.h>
 #include <kdebug.h>
+#include <kparts/statusbarextension.h>
 #include <qmap.h>
 #include <qguardedptr.h>
 #include <qstringlist.h>
Index: java/kjavaappletviewer.cpp
===================================================================
--- java/kjavaappletviewer.cpp	(revision 421260)
+++ java/kjavaappletviewer.cpp	(working copy)
@@ -27,11 +27,14 @@
 #include <qpair.h>
 #include <qtimer.h>
 #include <qguardedptr.h>
+#include <qlabel.h>
 
 #include <klibloader.h>
 #include <kaboutdata.h>
 #include <kstaticdeleter.h>
 #include <klocale.h>
+#include <kstatusbar.h>
+#include <kiconloader.h>
 #include <kapplication.h>
 #include <kdebug.h>
 #include <kconfig.h>
@@ -198,6 +201,8 @@
  : KParts::ReadOnlyPart (parent, name),
    m_browserextension (new KJavaAppletViewerBrowserExtension (this)),
    m_liveconnect (new KJavaAppletViewerLiveConnectExtension (this)),
+   m_statusbar (new KParts::StatusBarExtension (this)),
+   m_statusbar_icon (0L),
    m_closed (true)
 {
     if (!serverMaintainer) {
@@ -352,6 +357,8 @@
 KJavaAppletViewer::~KJavaAppletViewer () {
     m_view = 0L;
     serverMaintainer->releaseContext (parent(), baseurl);
+    if (m_statusbar_icon)
+        m_statusbar->removeStatusBarItem (m_statusbar_icon);
 }
 
 bool KJavaAppletViewer::openURL (const KURL & url) {
@@ -371,6 +378,14 @@
         AppletParameterDialog (w).exec ();
         applet->setSize (w->sizeHint());
     }
+    if (!m_statusbar_icon) {
+        KStatusBar *sb = m_statusbar->statusBar();
+        if (sb) {
+            m_statusbar_icon = new QLabel (sb);
+            m_statusbar_icon->setPixmap (SmallIcon (QString ("source_java")));
+            m_statusbar->addStatusBarItem (m_statusbar_icon, 0, false);
+        }
+    }
     // delay showApplet if size is unknown and m_view not shown
     if (applet->size().width() > 0 || m_view->isVisible())
         w->showApplet ();
Index: java/kjavaappletviewer.h
===================================================================
--- java/kjavaappletviewer.h	(revision 421260)
+++ java/kjavaappletviewer.h	(working copy)
@@ -25,6 +25,7 @@
 
 #include <kparts/part.h>
 #include <kparts/browserextension.h>
+#include <kparts/statusbarextension.h>
 #include <kparts/factory.h>
 #include <kdialogbase.h>
 #include <kurl.h>
@@ -35,6 +36,7 @@
 #include "kjavaappletwidget.h"
 
 class QTable;
+class QLabel;
 class KJavaProcess;
 class KJavaAppletViewer;
 class KAboutData;
@@ -109,6 +111,8 @@
     KJavaProcess * process;
     KJavaAppletViewerBrowserExtension * m_browserextension;
     KJavaAppletViewerLiveConnectExtension * m_liveconnect;
+    KParts::StatusBarExtension * m_statusbar;
+    QGuardedPtr <QLabel> m_statusbar_icon;
     QString baseurl;
     bool m_closed;
 };



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

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