Implement avatars in qml timeline
3 files changed, 9 insertions, 0 deletions
diff --git a/src/timeline2/TimelineModel.cpp b/src/timeline2/TimelineModel.cpp
index 28820205..310494b4 100644
--- a/src/timeline2/TimelineModel.cpp
+++ b/src/timeline2/TimelineModel.cpp
@@ -326,6 +326,12 @@ TimelineModel::displayName(QString id) const
}
QString
+TimelineModel::avatarUrl(QString id) const
+{
+ return Cache::avatarUrl(room_id_, id);
+}
+
+QString
TimelineModel::formatDateSeparator(QDate date) const
{
auto now = QDateTime::currentDateTime();
diff --git a/src/timeline2/TimelineModel.h b/src/timeline2/TimelineModel.h
index e37c6542..954da5eb 100644
--- a/src/timeline2/TimelineModel.h
+++ b/src/timeline2/TimelineModel.h
@@ -90,6 +90,7 @@ public:
Q_INVOKABLE QColor userColor(QString id, QColor background);
Q_INVOKABLE QString displayName(QString id) const;
+ Q_INVOKABLE QString avatarUrl(QString id) const;
Q_INVOKABLE QString formatDateSeparator(QDate date) const;
Q_INVOKABLE QString escapeEmoji(QString str) const;
diff --git a/src/timeline2/TimelineViewManager.cpp b/src/timeline2/TimelineViewManager.cpp
index 0e0e74e4..eb9bea54 100644
--- a/src/timeline2/TimelineViewManager.cpp
+++ b/src/timeline2/TimelineViewManager.cpp
@@ -4,6 +4,7 @@
#include <QQmlContext>
#include "Logging.h"
+#include "MxcImageProvider.h"
TimelineViewManager::TimelineViewManager(QWidget *parent)
{
@@ -18,6 +19,7 @@ TimelineViewManager::TimelineViewManager(QWidget *parent)
container = QWidget::createWindowContainer(view, parent);
container->setMinimumSize(200, 200);
view->rootContext()->setContextProperty("timelineManager", this);
+ view->engine()->addImageProvider("MxcImage", new MxcImageProvider());
view->setSource(QUrl("qrc:///qml/TimelineView.qml"));
}
|