[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [lightdm/v0.1] greeter: Fix broken face icons
From: Aurélien Gâteau <aurelien.gateau () canonical ! com>
Date: 2012-04-23 9:21:23
Message-ID: 20120423092123.ABAE9A60A9 () git ! kde ! org
[Download RAW message or body]
Git commit afa38205e8f9d2175e12dd209c190c27f3c424fa by Aurélien Gâteau.
Committed on 23/04/2012 at 11:17.
Pushed by gateau into branch 'v0.1'.
Fix broken face icons
Since liblightdm-qt-1.2.1, UsersModel returns the face as a QIcon.
M +11 -3 greeter/faceimageprovider.cpp
http://commits.kde.org/lightdm/afa38205e8f9d2175e12dd209c190c27f3c424fa
diff --git a/greeter/faceimageprovider.cpp b/greeter/faceimageprovider.cpp
index 7ac7994..343b181 100644
--- a/greeter/faceimageprovider.cpp
+++ b/greeter/faceimageprovider.cpp
@@ -23,6 +23,7 @@ along with LightDM-KDE. If not, see <http://www.gnu.org/licenses/>.
#include <KDebug>
#include <KIconLoader>
+#include <QIcon>
#include <QPixmap>
FaceImageProvider::FaceImageProvider(QAbstractItemModel* model)
@@ -46,11 +47,18 @@ QPixmap FaceImageProvider::requestPixmap(const QString& id, QSize* size, const Q
kWarning() << "Couldn't find user" << id << "in UsersModel";
return QPixmap();
}
- QPixmap pix = userIndex.data(Qt::DecorationRole).value<QPixmap>();
+
+ // Get user face pixmap
+ QPixmap pix;
+ int extent = requestedSize.isValid() ? requestedSize.width() : 0;
+ QIcon icon = userIndex.data(Qt::DecorationRole).value<QIcon>();
+ if (!icon.isNull()) {
+ pix = icon.pixmap(extent);
+ }
if (pix.isNull()) {
- int iconSize = requestedSize.isValid() ? requestedSize.width() : 0;
- pix = DesktopIcon("user-identity", iconSize);
+ pix = DesktopIcon("user-identity", extent);
}
+
if (size) {
*size = pix.size();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic