Avatar: Use QImage instead of QPixmap to avoid dep on QApplication.
authorKlaas Freitag <freitag@owncloud.com>
Thu, 9 Mar 2017 21:34:36 +0000 (22:34 +0100)
committerKlaas Freitag <freitag@owncloud.com>
Thu, 9 Mar 2017 21:34:36 +0000 (22:34 +0100)
That fixes the test suite.

src/gui/settingsdialog.cpp
src/libsync/account.cpp
src/libsync/account.h
src/libsync/connectionvalidator.cpp
src/libsync/connectionvalidator.h
src/libsync/networkjobs.cpp
src/libsync/networkjobs.h

index 173466a522b22b7138b9e65521e9623bc147324f..0deab3687523e7fb82cf824c303505d0e2d10c9c 100644 (file)
@@ -56,7 +56,7 @@ namespace {
 
 namespace OCC {
 
-static QIcon circleMask( const QPixmap& avatar )
+static QIcon circleMask( const QImage& avatar )
 {
     int dim = avatar.width();
 
@@ -67,7 +67,7 @@ static QIcon circleMask( const QPixmap& avatar )
     QPainterPath clip;
     clip.addEllipse(0, 0, dim, dim);
     imgPainter.setClipPath(clip);
-    imgPainter.drawPixmap(0, 0, dim, dim, avatar);
+    imgPainter.drawImage(0, 0, avatar);
     imgPainter.end();
 
     return QIcon(fixedImage);
@@ -216,7 +216,7 @@ void SettingsDialog::accountAdded(AccountState *s)
     bool brandingSingleAccount = !Theme::instance()->multiAccount();
 
     QAction *accountAction;
-    QPixmap avatar = s->account()->avatar();
+    QImage avatar = s->account()->avatar();
     const QString actionText = brandingSingleAccount ? tr("Account") : s->account()->displayName();
     if(avatar.isNull()) {
         accountAction = createColorAwareAction(QLatin1String(":/client/resources/account.png"),
@@ -251,7 +251,7 @@ void SettingsDialog::slotAccountAvatarChanged()
     if( account && _actionForAccount.contains(account)) {
         QAction *action = _actionForAccount[account];
         if( action ) {
-            QPixmap pix = account->avatar();
+            QImage pix = account->avatar();
             if( !pix.isNull() ) {
                 action->setIcon( circleMask(pix) );
             }
index ad4ca60f42f5bd48495c3fdd39e0c305c860d2e2..06634056d49df91ec2993c440907f15467a7d0e4 100644 (file)
@@ -90,13 +90,13 @@ void Account::setDavUser(const QString &newDavUser)
     _davUser = newDavUser;
 }
 
-QPixmap Account::avatar() const
+QImage Account::avatar() const
 {
-    return _avatarPixmap;
+    return _avatarImg;
 }
-void Account::setAvatar(const QPixmap& pixmap)
+void Account::setAvatar(const QImage &img)
 {
-    _avatarPixmap = pixmap;
+    _avatarImg = img;
     emit accountChangedAvatar();
 }
 
index a4894a6e944a633823e349167c389a9f5d6a5cd2..4b61efb2ee585b30fa0bd87f106f0b739de6b043 100644 (file)
@@ -80,8 +80,8 @@ public:
     QString davUser() const;
     void setDavUser(const QString &newDavUser);
 
-    QPixmap avatar() const;
-    void setAvatar(const QPixmap& pixmap);
+    QImage avatar() const;
+    void setAvatar(const QImage& img);
 
     /// The name of the account as shown in the toolbar
     QString displayName() const;
@@ -216,7 +216,7 @@ private:
     QWeakPointer<Account> _sharedThis;
     QString _id;
     QString _davUser;
-    QPixmap _avatarPixmap;
+    QImage _avatarImg;
     QMap<QString, QVariant> _settingsMap;
     QUrl _url;
     QList<QSslCertificate> _approvedCerts;
index 2a0efab2e74fa8f638e8f5cca09678e0aa0bc399..7e63bb538bf0dedab00c54ce44b51655d96a72d4 100644 (file)
@@ -256,15 +256,15 @@ void ConnectionValidator::slotUserFetched(const QVariantMap &json)
 
         AvatarJob *job = new AvatarJob(_account, this);
         job->setTimeout(20*1000);
-        QObject::connect(job, SIGNAL(avatarPixmap(QPixmap)), this, SLOT(slotAvatarPixmap(QPixmap)));
+        QObject::connect(job, SIGNAL(avatarPixmap(QImage)), this, SLOT(slotAvatarImage(QImage)));
 
         job->start();
     }
 }
 
-void ConnectionValidator::slotAvatarPixmap(const QPixmap& pixmap)
+void ConnectionValidator::slotAvatarImage(const QImage& img)
 {
-    _account->setAvatar(pixmap);
+    _account->setAvatar(img);
     reportResult(Connected);
 }
 
index f9ad88160399adf1de6ba0d8d4a61ce9915cd754..a612b61822d056d175047a7327747efb45c93c37 100644 (file)
@@ -71,7 +71,7 @@ namespace OCC {
         +-> slotUserFetched
               AvatarJob
               |
-              +-> slotAvatarPixmap --> reportResult()
+              +-> slotAvatarImage --> reportResult()
 
     \endcode
  */
@@ -122,7 +122,7 @@ protected slots:
 
     void slotCapabilitiesRecieved(const QVariantMap&);
     void slotUserFetched(const QVariantMap &);
-    void slotAvatarPixmap(const QPixmap&);
+    void slotAvatarImage(const QImage &img);
 
 private:
     void reportResult(Status status);
index 5568105d9e30c4562009b497a1d8801e499df050..f89da5e6a5ccefd0ec3369360a22da85c7e55c04 100644 (file)
@@ -608,19 +608,19 @@ bool AvatarJob::finished()
 {
     int http_result_code = reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
 
-    QPixmap avPixmap;
+    QImage avImage;
 
     if (http_result_code == 200) {
 
         QByteArray pngData = reply()->readAll();
         if( pngData.size() ) {
 
-            if( avPixmap.loadFromData(pngData) ) {
+            if( avImage.loadFromData(pngData) ) {
                 qDebug() << "Retrieved Avatar pixmap!";
             }
         }
     }
-    emit(avatarPixmap(avPixmap));
+    emit(avatarPixmap(avImage));
     return true;
 }
 
index 2493be31dabf33fbdca0197cd7150ff40876b733..6802c5d2bfc889d4983abda318e7ed1a87b79972 100644 (file)
@@ -150,7 +150,7 @@ signals:
      * @brief avatarPixmap - returns either a valid pixmap or not.
      */
 
-    void avatarPixmap(QPixmap);
+    void avatarPixmap(QImage);
 
 private slots:
     virtual bool finished() Q_DECL_OVERRIDE;