[SCM] ktp-contact-applet packaging branch, master, updated. debian/15.12.1-1-966-gde83ac5

Maximiliano Curia maxy at moszumanska.debian.org
Sat May 28 00:10:53 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-desktop-applets.git;a=commitdiff;h=1cb2cbc

The following commit has been merged in the master branch:
commit 1cb2cbc2bd01dcad0422f8f5a721162c0664c262
Author: Abner Silva <abner.silva at kdemail.net>
Date:   Wed Aug 5 15:20:52 2009 +0000

    Global presence engine implemented.
    - Updating popup icon.
    - Listening for accounts changes (status and msgs).
    - Reflecting global changes on accounts (status and msgs).
    - Removed useless methods.
    - Still need some love.
    
    svn path=/trunk/playground/base/plasma/applets/presence/; revision=1007348
---
 presence/src/presence.cpp | 93 +++++++++++++++--------------------------------
 presence/src/presence.h   |  2 -
 2 files changed, 30 insertions(+), 65 deletions(-)

diff --git a/presence/src/presence.cpp b/presence/src/presence.cpp
index b338061..6de5028 100644
--- a/presence/src/presence.cpp
+++ b/presence/src/presence.cpp
@@ -196,6 +196,10 @@ void PresenceApplet::dataUpdated(const QString &source,
         // Set the presence and presence msg
         account->setPresence(data["PresenceType"].toString(),
                 data["PresenceStatusMessage"].toString());
+
+        // Everytime data is updated it's also needed to update
+        // the global presence.
+        updateMasterPresence();
     }
 }
 
@@ -208,39 +212,14 @@ void PresenceApplet::dataUpdated(const QString &source,
  */
 void PresenceApplet::updateMasterPresence()
 {
-/*    // Get data we can use to iterate over the contents of the accounts model.
-    int rowCount = m_accountsModel->rowCount();
-
-    // First we workout the overall presence message.
-    QStringList statusMessages;
-    for (int i = 0; i < rowCount; ++i) {
-        statusMessages <<
-            m_accountsModel->data(m_accountsModel->index(i, 3)).toString();
-    }
-
-    bool statusMessagesAllTheSame = true;
-    QString previousStatusMessage = statusMessages.at(0);
-    foreach (const QString &statusMessage, statusMessages) {
-        if (statusMessage == previousStatusMessage) {
-            continue;
-        } else {
-            statusMessagesAllTheSame = false;
-            break;
-        }
-    }
-
-    if (statusMessagesAllTheSame) {
-        setMasterStatusMessage(previousStatusMessage);
-    }
-    else {
-        setMasterStatusMessage(QString());
-    }
+    QString accountMessage;
+    bool sameMessage = false;
 
     // Next, we work out the overall presence status.
     int accountsOffline = 0;
     int accountsAvailable = 0;
     int accountsAway = 0;
-    int accountsExtendedAway = 0;
+    //int accountsExtendedAway = 0;
     int accountsHidden = 0;
     int accountsBusy = 0;
 
@@ -252,10 +231,9 @@ void PresenceApplet::updateMasterPresence()
 
     // Iterate over all the accounts in the model, and total up how many are
     // in each type of presence state.
-    for (int i = 0; i < rowCount; i++)
+    foreach (AccountWidget *account, m_accounts.values())
     {
-        QString status_type =
-            m_accountsModel->data(m_accountsModel->index(i, 1)).toString();
+        QString status_type = account->presenceStatus();
 
         if ((status_type == "offline") || (status_type == "unknown") ||
             (status_type == "error") || (status_type == "unset")) {
@@ -274,12 +252,12 @@ void PresenceApplet::updateMasterPresence()
             okExtendedAway = false;
             okBusy = false;
         }
-        else if (status_type == "xa") {
+/*        else if (status_type == "xa") {
             accountsExtendedAway++;
             okOffline = false;
             okHidden = false;
             okBusy = false;
-        } else if (status_type == "invisible") {
+        }*/ else if (status_type == "invisible") {
             accountsHidden++;
             okOffline = false;
             okExtendedAway = false;
@@ -292,50 +270,39 @@ void PresenceApplet::updateMasterPresence()
             okExtendedAway = false;
             okAway = false;
         }
+
+        sameMessage = (accountMessage == account->presenceMessage());
+        accountMessage = account->presenceMessage();
     }
 
     // Chose a master presence state from this.
     // FIXME: What should be the logic for choosing a master presence state?
     //        Should this be user customisable?
     //        Currently follows the kopete approach.
+    QString popupIcon;
     if (okOffline == true) {
-        m_icon->setIcon(KIcon("user-offline"));
+        m_global->setPresenceStatus("offline");
+        popupIcon = "user-offline";
     } else if(okHidden == true) {
-        m_icon->setIcon(KIcon("user-invisible"));
+        m_global->setPresenceStatus("invisible");
+        popupIcon = "user-invisible";
     } else if(okBusy == true) {
-        m_icon->setIcon(KIcon("user-busy"));
-    } else if(okExtendedAway == true) {
-        m_icon->setIcon(KIcon("user-away-extended"));
+        m_global->setPresenceStatus("busy");
+        popupIcon = "user-busy";
+//    } else if(okExtendedAway == true) {
+//        m_globalWidget->setPresenceStatus("offline");
     } else if(okAway == true) {
-        m_icon->setIcon(KIcon("user-away"));
+        m_global->setPresenceStatus("away");
+        popupIcon = "user-away";
     } else {
-        m_icon->setIcon(KIcon("user-online"));
+        m_global->setPresenceStatus("available");
+        popupIcon = "user-online";
     }
 
-    // call the method to update the masterPresenceIcon
-    setPopupIcon(m_icon->icon());
-    updateMasterIcon();*/
-}
-
-void PresenceApplet::updateMasterIcon()
-{
-    // The icon has been changed. We must update the pixmap of the icon for
-    // display in the main widget.
-/*    if (m_masterIconLabel) {
-        m_masterIconLabel->setPixmap(m_icon->icon().pixmap(QSize(32, 32)));
-    }*/
-}
-
-void PresenceApplet::setMasterStatusMessage(const QString & message)
-{
-    Q_UNUSED(message);
-/*    // If m_masterStatusMessageLabel points to a valid QLabel, update it
-    if (m_masterStatusMessageLabel) {
-        m_masterStatusMessageLabel->setText(message);
-    }
+    setPopupIcon(popupIcon);
 
-    // Store the master presence message as a member var
-    m_masterStatusMessage = message;*/
+    if (sameMessage)
+        m_global->setPresenceMessage(accountMessage);
 }
 
 void PresenceApplet::onPresenceChanged(const QString &presence,
diff --git a/presence/src/presence.h b/presence/src/presence.h
index c002a58..1929879 100644
--- a/presence/src/presence.h
+++ b/presence/src/presence.h
@@ -64,8 +64,6 @@ protected:
     void initExtenderItem(Plasma::ExtenderItem *item);
 
 private:
-    void updateMasterIcon();
-    void setMasterStatusMessage(const QString &message);
     void updateMasterPresence();
     void updateSize();
     void setSourcePresence(const QString &id, const QString &status,

-- 
ktp-contact-applet packaging



More information about the pkg-kde-commits mailing list