mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-23 03:18:49 +03:00
fix avatar update on timeline sync
This commit is contained in:
parent
a7d7d18e92
commit
f044e2d2a1
7 changed files with 13 additions and 9 deletions
|
@ -175,7 +175,7 @@ Page {
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
Connections {
|
||||||
target: TimelineManager
|
target: TimelineManager.timeline
|
||||||
onOpenRoomSettingsDialog: {
|
onOpenRoomSettingsDialog: {
|
||||||
var roomSettings = roomSettingsComponent.createObject(timelineRoot, {
|
var roomSettings = roomSettingsComponent.createObject(timelineRoot, {
|
||||||
"roomSettings": settings
|
"roomSettings": settings
|
||||||
|
|
|
@ -807,6 +807,14 @@ TimelineModel::openUserProfile(QString userid, bool global)
|
||||||
emit openProfile(userProfile);
|
emit openProfile(userProfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
TimelineModel::openRoomSettings(QString roomid)
|
||||||
|
{
|
||||||
|
RoomSettings *settings = new RoomSettings(roomid, this);
|
||||||
|
connect(this, &TimelineModel::roomAvatarUrlChanged, settings, &RoomSettings::avatarChanged);
|
||||||
|
openRoomSettingsDialog(settings);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
TimelineModel::replyAction(QString id)
|
TimelineModel::replyAction(QString id)
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include "EventStore.h"
|
#include "EventStore.h"
|
||||||
#include "InputBar.h"
|
#include "InputBar.h"
|
||||||
#include "ui/UserProfile.h"
|
#include "ui/UserProfile.h"
|
||||||
|
#include "ui/RoomSettings.h"
|
||||||
|
|
||||||
namespace mtx::http {
|
namespace mtx::http {
|
||||||
using RequestErr = const std::optional<mtx::http::ClientError> &;
|
using RequestErr = const std::optional<mtx::http::ClientError> &;
|
||||||
|
@ -213,6 +214,7 @@ public:
|
||||||
Q_INVOKABLE void viewRawMessage(QString id) const;
|
Q_INVOKABLE void viewRawMessage(QString id) const;
|
||||||
Q_INVOKABLE void viewDecryptedRawMessage(QString id) const;
|
Q_INVOKABLE void viewDecryptedRawMessage(QString id) const;
|
||||||
Q_INVOKABLE void openUserProfile(QString userid, bool global = false);
|
Q_INVOKABLE void openUserProfile(QString userid, bool global = false);
|
||||||
|
Q_INVOKABLE void openRoomSettings(QString roomid);
|
||||||
Q_INVOKABLE void replyAction(QString id);
|
Q_INVOKABLE void replyAction(QString id);
|
||||||
Q_INVOKABLE void readReceiptsAction(QString id) const;
|
Q_INVOKABLE void readReceiptsAction(QString id) const;
|
||||||
Q_INVOKABLE void redactEvent(QString id);
|
Q_INVOKABLE void redactEvent(QString id);
|
||||||
|
@ -296,6 +298,7 @@ signals:
|
||||||
void newCallEvent(const mtx::events::collections::TimelineEvents &event);
|
void newCallEvent(const mtx::events::collections::TimelineEvents &event);
|
||||||
|
|
||||||
void openProfile(UserProfile *profile);
|
void openProfile(UserProfile *profile);
|
||||||
|
void openRoomSettingsDialog(RoomSettings *settings);
|
||||||
|
|
||||||
void newMessageToSend(mtx::events::collections::TimelineEvents event);
|
void newMessageToSend(mtx::events::collections::TimelineEvents event);
|
||||||
void addPendingMessageToStore(mtx::events::collections::TimelineEvents event);
|
void addPendingMessageToStore(mtx::events::collections::TimelineEvents event);
|
||||||
|
|
|
@ -399,9 +399,7 @@ void
|
||||||
TimelineViewManager::openRoomSettings()
|
TimelineViewManager::openRoomSettings()
|
||||||
{
|
{
|
||||||
MainWindow::instance()->openRoomSettings(timeline_->roomId());
|
MainWindow::instance()->openRoomSettings(timeline_->roomId());
|
||||||
|
timeline_->openRoomSettings(timeline_->roomId());
|
||||||
RoomSettings *settings = new RoomSettings(timeline_->roomId(), this);
|
|
||||||
emit openRoomSettingsDialog(settings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include "emoji/EmojiModel.h"
|
#include "emoji/EmojiModel.h"
|
||||||
#include "emoji/Provider.h"
|
#include "emoji/Provider.h"
|
||||||
#include "dialogs/RoomSettingsOld.h"
|
#include "dialogs/RoomSettingsOld.h"
|
||||||
#include "ui/RoomSettings.h"
|
|
||||||
|
|
||||||
class MxcImageProvider;
|
class MxcImageProvider;
|
||||||
class BlurhashProvider;
|
class BlurhashProvider;
|
||||||
|
@ -89,7 +88,6 @@ signals:
|
||||||
void showRoomList();
|
void showRoomList();
|
||||||
void narrowViewChanged();
|
void narrowViewChanged();
|
||||||
void focusChanged();
|
void focusChanged();
|
||||||
void openRoomSettingsDialog(RoomSettings *settings);
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids);
|
void updateReadReceipts(const QString &room_id, const std::vector<QString> &event_ids);
|
||||||
|
|
|
@ -395,7 +395,6 @@ RoomSettings::updateAvatar()
|
||||||
// be queued back into the UI thread through this proxy object.
|
// be queued back into the UI thread through this proxy object.
|
||||||
auto proxy = std::make_shared<ThreadProxy>();
|
auto proxy = std::make_shared<ThreadProxy>();
|
||||||
connect(proxy.get(), &ThreadProxy::error, this, &RoomSettings::displayError);
|
connect(proxy.get(), &ThreadProxy::error, this, &RoomSettings::displayError);
|
||||||
connect(proxy.get(), &ThreadProxy::avatarChanged, this, &RoomSettings::avatarChanged);
|
|
||||||
connect(proxy.get(), &ThreadProxy::stopLoading, this, &RoomSettings::stopLoading);
|
connect(proxy.get(), &ThreadProxy::stopLoading, this, &RoomSettings::stopLoading);
|
||||||
|
|
||||||
const auto bin = file.peek(file.size());
|
const auto bin = file.peek(file.size());
|
||||||
|
@ -445,7 +444,6 @@ RoomSettings::updateAvatar()
|
||||||
}
|
}
|
||||||
|
|
||||||
emit proxy->stopLoading();
|
emit proxy->stopLoading();
|
||||||
emit proxy->avatarChanged();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
|
@ -15,7 +15,6 @@ class ThreadProxy : public QObject
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void error(const QString &msg);
|
void error(const QString &msg);
|
||||||
void avatarChanged();
|
|
||||||
void nameEventSent(const QString &);
|
void nameEventSent(const QString &);
|
||||||
void topicEventSent();
|
void topicEventSent();
|
||||||
void stopLoading();
|
void stopLoading();
|
||||||
|
|
Loading…
Reference in a new issue