← Back to team overview

ayatana-commits team mailing list archive

[Branch ~agateau/plasma-widget-message-indicator/trunk] Rev 122: Turn ServerInfo into ServerItem

 

------------------------------------------------------------
revno: 122
committer: Aurelien Gateau <aurelien.gateau@xxxxxxxxxxxxx>
branch nick: plasma-widget-message-indicator
timestamp: Mon 2010-03-08 11:29:54 +0100
message:
  Turn ServerInfo into ServerItem
modified:
  src/listenermodel.cpp


--
lp:plasma-widget-message-indicator
https://code.launchpad.net/~agateau/plasma-widget-message-indicator/trunk

Your team ayatana-commits is subscribed to branch lp:plasma-widget-message-indicator.
To unsubscribe from this branch go to https://code.launchpad.net/~agateau/plasma-widget-message-indicator/trunk/+edit-subscription.
=== modified file 'src/listenermodel.cpp'
--- src/listenermodel.cpp	2010-03-08 10:20:45 +0000
+++ src/listenermodel.cpp	2010-03-08 10:29:54 +0000
@@ -43,20 +43,20 @@
     OutdatedKeyListRole
 };
 
-struct ServerInfo
+class ServerItem : public QStandardItem
 {
-    ServerInfo()
-    : item(0)
-    , menuImporter(0)
-    {}
-
-    ServerInfo(QStandardItem* _item)
-    : item(_item)
-    , menuImporter(0)
-    {}
-
-    QStandardItem* item;
-    DBusMenuImporter* menuImporter;
+public:
+    ServerItem()
+    : mMenuImporter(0)
+    {}
+
+    void setMenuImporter(DBusMenuImporter* importer)
+    {
+        mMenuImporter = importer;
+    }
+
+public:
+    DBusMenuImporter* mMenuImporter;
 };
 
 typedef QPair<QIndicate::Listener::Server*, QIndicate::Listener::Indicator*> ServerIndicatorPair;
@@ -71,7 +71,7 @@
     // Indicators we have received, but for which we haven't received a server
     // yet
     QHash<QIndicate::Listener::Server*, IndicatorSet> mWaitingIndicators;
-    QHash<QIndicate::Listener::Server*, ServerInfo> mServerInfoForServer;
+    QHash<QIndicate::Listener::Server*, ServerItem*> mItemForServer;
     ItemForIndicatorHash mItemForIndicator;
 
     void updateIndicatorItem(QStandardItem* item)
@@ -156,15 +156,15 @@
         return;
     }
 
-    if (d->mServerInfoForServer.contains(server)) {
+    if (d->mItemForServer.contains(server)) {
         kWarning() << "We already know about server" << server;
         return;
     }
 
-    QStandardItem* item = new QStandardItem;
+    ServerItem* item = new ServerItem;
     item->setData(QVariant::fromValue(server), ServerRole);
     item->setData(type, ServerTypeRole);
-    d->mServerInfoForServer.insert(server, ServerInfo(item));
+    d->mItemForServer.insert(server, item);
     appendRow(item);
 
     // Simulate slotIndicatorAdded for waiting indicators
@@ -192,7 +192,7 @@
         name = fileName.section('/', -1);
     }
 
-    QStandardItem* item = d->mServerInfoForServer.value(server).item;
+    QStandardItem* item = d->mItemForServer.value(server);
     Q_ASSERT(item);
     item->setText(name);
 
@@ -244,7 +244,8 @@
         return;
     }
 
-    if (!d->mServerInfoForServer.contains(server)) {
+    ServerItem* serverItem = d->mItemForServer.value(server);
+    if (!serverItem) {
         kWarning() << "No server info found for server" << server;
         return;
     }
@@ -257,7 +258,7 @@
 
     QDBusInterface* iface = new QDBusInterface(dbusName, objectPath);
     DBusMenuImporter* importer = new MyDBusMenuImporter(iface, this);
-    d->mServerInfoForServer[server].menuImporter = importer;
+    serverItem->setMenuImporter(importer);
 }
 
 void ListenerModel::slotServerRemoved(QIndicate::Listener::Server* server)
@@ -266,7 +267,7 @@
         d->mWaitingIndicators.remove(server);
         return;
     }
-    QStandardItem* item = d->mServerInfoForServer.value(server).item;
+    QStandardItem* item = d->mItemForServer.value(server);
     if (!item) {
         kWarning() << "No item found for server" << server;
         return;
@@ -278,13 +279,13 @@
     }
 
     // Delete server item
-    d->mServerInfoForServer.remove(server);
+    d->mItemForServer.remove(server);
     removeRow(item->row());
 }
 
 void ListenerModel::slotServerCountChanged(QIndicate::Listener::Server* server, int count)
 {
-    QStandardItem* item = d->mServerInfoForServer.value(server).item;
+    QStandardItem* item = d->mItemForServer.value(server);
     if (!item) {
         kWarning() << "No item found for server" << server;
         return;
@@ -303,7 +304,7 @@
         << INDICATE_INDICATOR_MESSAGES_PROP_ATTENTION
         << INDICATE_INDICATOR_MESSAGES_PROP_COUNT;
 
-    QStandardItem* serverItem = d->mServerInfoForServer.value(server).item;
+    QStandardItem* serverItem = d->mItemForServer.value(server);
     if (!serverItem) {
         kWarning() << "We received indicatorAdded() signal before serverAdded() signal!";
         d->mWaitingIndicators[server] << indicator;