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

List:       kde-commits
Subject:    KDE/kdebase/nsplugins/viewer
From:       David Faure <faure () kde ! org>
Date:       2006-06-30 18:29:37
Message-ID: 1151692177.750468.22920.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 556578 by dfaure:

Finish the port to dbus, and port a q3dict to qmap


 M  +11 -18    nsplugin.cpp  
 M  +2 -3      nsplugin.h  


--- trunk/KDE/kdebase/nsplugins/viewer/nsplugin.cpp #556577:556578
@@ -1210,15 +1210,9 @@
    (void) new ViewerAdaptor( this );
    QDBus::sessionBus().registerObject( "/Viewer", this );
 
-    _classes.setAutoDelete( true );
-
-#warning TODO DBus
-#if 0
-    connect(KApplication::dcopClient(),
-            SIGNAL(applicationRemoved(const QByteArray&)),
-            this,
-            SLOT(appUnregistered(const QByteArray&)));
-#endif
+    QObject::connect(QDBus::sessionBus().busService(),
+                     SIGNAL(NameLost(const QString&)),
+                     this, SLOT(appUnregistered(const QString&)));
 }
 
 
@@ -1228,18 +1222,17 @@
 }
 
 
-void NSPluginViewer::appUnregistered(const QByteArray& id) {
+void NSPluginViewer::appUnregistered(const QString& id) {
    if (id.isEmpty()) {
       return;
    }
 
-   Q3DictIterator<NSPluginClass> it(_classes);
-   NSPluginClass *c;
-   while ( (c = it.current()) ) {
-      QString key = it.currentKey();
-      ++it;
-      if (c->app() == id) {
-         _classes.remove(key);
+   QMap<QString, NSPluginClass*>::iterator it = _classes.begin();
+   const QMap<QString, NSPluginClass*>::iterator end = _classes.end();
+   for ( ; it != end; ++it )
+   {
+      if (it.value()->app() == id) {
+         it = _classes.erase(it);
       }
    }
 
@@ -1262,7 +1255,7 @@
    kDebug(1431) << "NSPluginViewer::NewClass( " << plugin << ")" << endl;
 
    // search existing class
-   NSPluginClass *cls = _classes[ plugin ];
+   NSPluginClass *cls = _classes.value( plugin );
    if ( !cls ) {
        // create new class
        cls = new NSPluginClass( plugin, this );
--- trunk/KDE/kdebase/nsplugins/viewer/nsplugin.h #556577:556578
@@ -30,7 +30,6 @@
 #include <QString>
 #include <QStringList>
 #include <q3ptrqueue.h>
-#include <q3dict.h>
 #include <QMap>
 #include <q3intdict.h>
 #include <QPointer>
@@ -320,10 +319,10 @@
    QString newClass( const QString& plugin, const QString& senderId );
 
 private Q_SLOTS:
-   void appUnregistered(const QByteArray& id);
+   void appUnregistered(const QString& id);
 
 private:
-   Q3Dict<NSPluginClass> _classes;
+   QMap<QString, NSPluginClass *> _classes;
 };
 
 
[prev in list] [next in list] [prev in thread] [next in thread] 

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