mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-26 04:58:49 +03:00
fixed global avatar updation in the dialog
This commit is contained in:
parent
cd3f719e43
commit
2ff3c0c97e
2 changed files with 28 additions and 11 deletions
|
@ -24,6 +24,7 @@ UserProfile::UserProfile(QString roomid,
|
|||
, model(parent)
|
||||
{
|
||||
fetchDeviceList(this->userid_);
|
||||
globalAvatarUrl = "";
|
||||
|
||||
connect(cache::client(),
|
||||
&Cache::verificationStatusChanged,
|
||||
|
@ -56,16 +57,9 @@ UserProfile::UserProfile(QString roomid,
|
|||
&UserProfile::setGlobalUsername,
|
||||
Qt::QueuedConnection);
|
||||
|
||||
http::client()->get_profile(
|
||||
userid_.toStdString(),
|
||||
[this](const mtx::responses::Profile &res, mtx::http::RequestErr err) {
|
||||
if (err) {
|
||||
nhlog::net()->warn("failed to retrieve own profile info");
|
||||
return;
|
||||
if (isGlobalUserProfile()) {
|
||||
getGlobalProfileData();
|
||||
}
|
||||
|
||||
emit globalUsernameRetrieved(QString::fromStdString(res.display_name));
|
||||
});
|
||||
}
|
||||
|
||||
QHash<int, QByteArray>
|
||||
|
@ -125,7 +119,10 @@ UserProfile::displayName()
|
|||
QString
|
||||
UserProfile::avatarUrl()
|
||||
{
|
||||
return cache::avatarUrl(roomid_, userid_);
|
||||
return (isGlobalUserProfile() && globalAvatarUrl != "")
|
||||
? globalAvatarUrl
|
||||
: cache::avatarUrl(roomid_, userid_);
|
||||
;
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -353,6 +350,7 @@ UserProfile::changeAvatar()
|
|||
|
||||
isLoading_ = false;
|
||||
emit loadingChanged();
|
||||
getGlobalProfileData();
|
||||
});
|
||||
} else {
|
||||
// change room username
|
||||
|
@ -394,3 +392,20 @@ UserProfile::isLoading() const
|
|||
{
|
||||
return isLoading_;
|
||||
}
|
||||
|
||||
void
|
||||
UserProfile::getGlobalProfileData()
|
||||
{
|
||||
http::client()->get_profile(
|
||||
userid_.toStdString(),
|
||||
[this](const mtx::responses::Profile &res, mtx::http::RequestErr err) {
|
||||
if (err) {
|
||||
nhlog::net()->warn("failed to retrieve own profile info");
|
||||
return;
|
||||
}
|
||||
|
||||
emit globalUsernameRetrieved(QString::fromStdString(res.display_name));
|
||||
globalAvatarUrl = QString::fromStdString(res.avatar_url);
|
||||
emit avatarUrlChanged();
|
||||
});
|
||||
}
|
|
@ -134,10 +134,12 @@ protected slots:
|
|||
|
||||
private:
|
||||
void updateRoomMemberState(mtx::events::state::Member member);
|
||||
void getGlobalProfileData();
|
||||
|
||||
private:
|
||||
QString roomid_, userid_;
|
||||
QString globalUsername;
|
||||
QString globalAvatarUrl;
|
||||
DeviceInfoModel deviceList_;
|
||||
bool isUserVerified = false;
|
||||
bool hasMasterKey = false;
|
||||
|
|
Loading…
Reference in a new issue