diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index c06b47c2..c53a7415 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -211,7 +211,7 @@ Item {
Layout.alignment: Qt.AlignHCenter
MatrixText {
- text: preview.roomName == "" ? qsTr("No preview available") : preview.roomName
+ text: !roomPreview.isFetched ? qsTr("No preview available") : preview.roomName
font.pixelSize: 24
}
@@ -252,7 +252,7 @@ Item {
Layout.rightMargin: Nheko.paddingLarge
TextArea {
- text: preview.roomName != "" ? TimelineManager.escapeEmoji(preview.roomTopic) : qsTr("This room is possibly inaccessible. If this room is private, you should remove it from the child list of this space.")
+ text: roomPreview.isFetched ? TimelineManager.escapeEmoji(preview.roomTopic) : qsTr("This room is possibly inaccessible. If this room is private, you should remove it from the child list of this space.")
wrapMode: TextEdit.WordWrap
textFormat: TextEdit.RichText
readOnly: true
diff --git a/src/timeline/RoomlistModel.cpp b/src/timeline/RoomlistModel.cpp
index 17226977..12fee262 100644
--- a/src/timeline/RoomlistModel.cpp
+++ b/src/timeline/RoomlistModel.cpp
@@ -796,11 +796,13 @@ RoomlistModel::setCurrentRoom(const QString &roomid)
p.roomName_ = QString::fromStdString(i->name);
p.roomTopic_ = QString::fromStdString(i->topic);
p.roomAvatarUrl_ = QString::fromStdString(i->avatar_url);
+ p.isFetched_ = true;
currentRoomPreview_ = std::move(p);
nhlog::ui()->debug("Switched to (preview): {}",
currentRoomPreview_->roomid_.toStdString());
} else {
p.roomid_ = roomid;
+ p.isFetched_ = false;
currentRoomPreview_ = p;
nhlog::ui()->debug("Switched to (empty): {}",
currentRoomPreview_->roomid_.toStdString());
diff --git a/src/timeline/RoomlistModel.h b/src/timeline/RoomlistModel.h
index 60d22cc0..cd1cdcaf 100644
--- a/src/timeline/RoomlistModel.h
+++ b/src/timeline/RoomlistModel.h
@@ -32,6 +32,7 @@ class RoomPreview
Q_PROPERTY(QString roomAvatarUrl READ roomAvatarUrl CONSTANT)
Q_PROPERTY(QString reason READ reason CONSTANT)
Q_PROPERTY(bool isInvite READ isInvite CONSTANT)
+ Q_PROPERTY(bool isFetched READ isFetched CONSTANT)
public:
RoomPreview() {}
@@ -42,9 +43,10 @@ public:
QString roomAvatarUrl() const { return roomAvatarUrl_; }
QString reason() const { return reason_; }
bool isInvite() const { return isInvite_; }
+ bool isFetched() const { return isFetched_; }
QString roomid_, roomName_, roomAvatarUrl_, roomTopic_, reason_;
- bool isInvite_ = false;
+ bool isInvite_ = false, isFetched_ = true;
};
class RoomlistModel final : public QAbstractListModel
|