summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--resources/qml/TimelineView.qml4
-rw-r--r--src/timeline/RoomlistModel.cpp2
-rw-r--r--src/timeline/RoomlistModel.h4
3 files changed, 7 insertions, 3 deletions
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