[SCM] ktp-common-internals packaging branch, master, updated. debian/15.12.1-2-1839-gf0635e9

Maximiliano Curia maxy at moszumanska.debian.org
Mon May 9 09:06:28 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-common-internals.git;a=commitdiff;h=baf35cc

The following commit has been merged in the master branch:
commit baf35cca3abcdcb33f8af93b95f0cd5a60c83115
Author: Alin M Elena <alinm.elena at gmail.com>
Date:   Sat Mar 2 18:54:55 2013 +0000

    added caching for transformed avatars
    REVIEW: 109240
    BUG: 315969
---
 KTp/contact.cpp | 12 ++++++++++--
 KTp/contact.h   |  1 +
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/KTp/contact.cpp b/KTp/contact.cpp
index 8a0982d..0bc891d 100644
--- a/KTp/contact.cpp
+++ b/KTp/contact.cpp
@@ -25,6 +25,7 @@
 
 #include <QBitmap>
 #include <QPixmap>
+#include <QPixmapCache>
 
 #include <KIconLoader>
 
@@ -102,15 +103,18 @@ QStringList KTp::Contact::clientTypes() const
 
 QPixmap KTp::Contact::avatarPixmap()
 {
-    QString file = avatarData().fileName;
     QPixmap avatar;
+    QString file = avatarData().fileName;
     if (file.isEmpty()) {
         avatar = KIconLoader::global()->loadIcon(QLatin1String("im-user"), KIconLoader::NoGroup, 96);
     } else {
         avatar.load(file);
     }
     if (presence().type() == Tp::ConnectionPresenceTypeOffline) {
-        avatarToGray(avatar);
+        if (!QPixmapCache::find(keyCache(),avatar)){
+            avatarToGray(avatar);
+            QPixmapCache::insert(keyCache(), avatar);
+        }
     }
     return avatar;
 }
@@ -129,4 +133,8 @@ void KTp::Contact::avatarToGray(QPixmap &avatar)
     avatar.setMask(alphaMask);
 }
 
+QString KTp::Contact::keyCache() const
+{
+    return avatarToken()+QLatin1String("-offline");
+}
 
diff --git a/KTp/contact.h b/KTp/contact.h
index 0986f42..da4f895 100644
--- a/KTp/contact.h
+++ b/KTp/contact.h
@@ -52,6 +52,7 @@ Q_SIGNALS:
 
 private:
     void avatarToGray(QPixmap &avatar);
+    QString keyCache() const;
 
 };
 

-- 
ktp-common-internals packaging



More information about the pkg-kde-commits mailing list