[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