From: Olivier Goffart Date: Thu, 13 Apr 2017 09:40:27 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/avatar_pics' X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~772 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=8cb3a77022dfc8c688e3aeaf9fb08b6ddd305521;p=nextcloud-desktop.git Merge remote-tracking branch 'origin/avatar_pics' Also fix compilation because of 22370fdbdadd06f0cacd249a8d7a32f0d3c1374e Pull request #5482 --- 8cb3a77022dfc8c688e3aeaf9fb08b6ddd305521 diff --cc src/libsync/networkjobs.cpp index 3ff312662,f89da5e6a..3d3ee170e --- a/src/libsync/networkjobs.cpp +++ b/src/libsync/networkjobs.cpp @@@ -585,6 -590,42 +586,41 @@@ bool PropfindJob::finished( /*********************************************************************************************/ + AvatarJob::AvatarJob(AccountPtr account, QObject *parent) + : AbstractNetworkJob(account, QString(), parent) + { + _avatarUrl = Utility::concatUrlPath(account->url(), QString("remote.php/dav/avatars/%1/128.png").arg(account->davUser())); + } + + void AvatarJob::start() + { + QNetworkRequest req; - setReply(davRequest("GET", _avatarUrl, req)); - setupConnections(reply()); ++ sendRequest("GET", _avatarUrl, req); + AbstractNetworkJob::start(); + } + + bool AvatarJob::finished() + { + int http_result_code = reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); + + QImage avImage; + + if (http_result_code == 200) { + + QByteArray pngData = reply()->readAll(); + if( pngData.size() ) { + + if( avImage.loadFromData(pngData) ) { + qDebug() << "Retrieved Avatar pixmap!"; + } + } + } + emit(avatarPixmap(avImage)); + return true; + } + + /*********************************************************************************************/ + ProppatchJob::ProppatchJob(AccountPtr account, const QString &path, QObject *parent) : AbstractNetworkJob(account, path, parent) {