← Back to team overview

ayatana-commits team mailing list archive

[Branch ~agateau/plasma-widget-message-indicator/trunk] Rev 126: More refactoring

 

------------------------------------------------------------
revno: 126
committer: Aurelien Gateau <aurelien.gateau@xxxxxxxxxxxxx>
branch nick: plasma-widget-message-indicator
timestamp: Mon 2010-03-08 14:50:54 +0100
message:
  More refactoring
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 13:41:50 +0000
+++ src/listenermodel.cpp	2010-03-08 13:50:54 +0000
@@ -40,11 +40,6 @@
 
 enum
 {
-    OutdatedKeyListRole = Qt::UserRole+1
-};
-
-enum
-{
     ActionItemType = QStandardItem::UserType,
     ServerItemType,
     IndicatorItemType
@@ -207,13 +202,24 @@
         return IndicatorItemType;
     }
 
+    QStringList outdatedKeyList() const
+    {
+        return mOutdatedKeyList;
+    }
+
+    void setOutdatedKeyList(const QStringList& list)
+    {
+        mOutdatedKeyList = list;
+    }
+
 private:
     QIndicate::Listener::Indicator* mIndicator;
+    QStringList mOutdatedKeyList;
 };
 
 
 typedef QPair<QIndicate::Listener::Server*, QIndicate::Listener::Indicator*> ServerIndicatorPair;
-typedef QHash<ServerIndicatorPair, QStandardItem*> ItemForIndicatorHash;
+typedef QHash<ServerIndicatorPair, IndicatorItem*> ItemForIndicatorHash;
 typedef QSet<QIndicate::Listener::Indicator*> IndicatorSet;
 struct ListenerModelPrivate
 {
@@ -229,14 +235,14 @@
 
     void updateIndicatorItem(QStandardItem* item)
     {
-        QStringList outdatedKeyList = item->data(OutdatedKeyListRole).toStringList();
-        item->setData(QVariant(QStringList()), OutdatedKeyListRole);
+        IndicatorItem* indicatorItem = static_cast<IndicatorItem*>(item);
+        ServerItem* serverItem = static_cast<ServerItem*>(item->parent());
+        QIndicate::Listener::Server* server = serverItem->server();
+        QIndicate::Listener::Indicator* indicator = indicatorItem->indicator();
+
+        QStringList outdatedKeyList = indicatorItem->outdatedKeyList();
+        indicatorItem->setOutdatedKeyList(QStringList());
         Q_FOREACH(const QString& key, outdatedKeyList) {
-            IndicatorItem* indicatorItem = static_cast<IndicatorItem*>(item);
-            ServerItem* serverItem = static_cast<ServerItem*>(item->parent());
-            QIndicate::Listener::Server* server = serverItem->server();
-            QIndicate::Listener::Indicator* indicator = indicatorItem->indicator();
-
             mListener->getIndicatorPropertyAsVariant(server, indicator, key,
                                                      q, SLOT(slotPropertyReceived(
                                                              QIndicate::Listener::Server*,
@@ -454,7 +460,7 @@
 void ListenerModel::slotIndicatorAdded(QIndicate::Listener::Server* server,
                                        QIndicate::Listener::Indicator* indicator)
 {
-    static QVariant outdatedKeyList = QStringList()
+    static QStringList outdatedKeyList = QStringList()
         << INDICATE_INDICATOR_MESSAGES_PROP_NAME
         << INDICATE_INDICATOR_MESSAGES_PROP_ICON
         << INDICATE_INDICATOR_MESSAGES_PROP_TIME
@@ -470,7 +476,7 @@
     }
 
     IndicatorItem* indicatorItem = new IndicatorItem(indicator);
-    indicatorItem->setData(outdatedKeyList, OutdatedKeyListRole);
+    indicatorItem->setOutdatedKeyList(outdatedKeyList);
     d->mItemForIndicator.insert(ServerIndicatorPair(server, indicator), indicatorItem);
     serverItem->appendRow(indicatorItem);
 
@@ -481,7 +487,7 @@
                                           QIndicate::Listener::Indicator* indicator,
                                           const QString& key)
 {
-    QStandardItem* item = d->mItemForIndicator.value(ServerIndicatorPair(server, indicator));
+    IndicatorItem* item = d->mItemForIndicator.value(ServerIndicatorPair(server, indicator));
     if (!item) {
         if (!d->mWaitingIndicators.contains(server)) {
             kError() << "Unknown indicator" << indicator;
@@ -489,12 +495,12 @@
         return;
     }
 
-    QStringList outdatedKeyList = item->data(OutdatedKeyListRole).toStringList();
+    QStringList outdatedKeyList = item->outdatedKeyList();
     if (outdatedKeyList.contains(key)) {
         return;
     }
     outdatedKeyList << key;
-    item->setData(QVariant(outdatedKeyList), OutdatedKeyListRole);
+    item->setOutdatedKeyList(outdatedKeyList);
     d->updateIndicatorItem(item);
 }