ui almost looks the same, midway between transition from old room settings to new room settings
2 files changed, 58 insertions, 0 deletions
diff --git a/src/ui/RoomSettings.cpp b/src/ui/RoomSettings.cpp
new file mode 100644
index 00000000..e8317024
--- /dev/null
+++ b/src/ui/RoomSettings.cpp
@@ -0,0 +1,33 @@
+#include "RoomSettings.h"
+
+#include <mtx/responses/common.hpp>
+#include <mtx/responses/media.hpp>
+
+#include "Cache.h"
+#include "Logging.h"
+
+RoomSettings::RoomSettings(QString roomid, QObject *parent)
+ : roomid_{std::move(roomid)}
+ , QObject(parent)
+{
+ retrieveRoomInfo();
+}
+
+QString
+RoomSettings::roomName() const
+{
+ return QString(info_.name.c_str());
+}
+
+void
+RoomSettings::retrieveRoomInfo()
+{
+ try {
+ usesEncryption_ = cache::isRoomEncrypted(roomid_.toStdString());
+ info_ = cache::singleRoomInfo(roomid_.toStdString());
+ //setAvatar();
+ } catch (const lmdb::error &) {
+ nhlog::db()->warn("failed to retrieve room info from cache: {}",
+ roomid_.toStdString());
+ }
+}
\ No newline at end of file
diff --git a/src/ui/RoomSettings.h b/src/ui/RoomSettings.h
new file mode 100644
index 00000000..98e64b74
--- /dev/null
+++ b/src/ui/RoomSettings.h
@@ -0,0 +1,25 @@
+#pragma once
+
+#include <QObject>
+#include <QString>
+
+#include "CacheStructs.h"
+
+class RoomSettings : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QString roomName READ roomName CONSTANT)
+
+public:
+ RoomSettings(QString roomid, QObject *parent = nullptr);
+
+ QString roomName() const;
+
+private:
+ void retrieveRoomInfo();
+
+private:
+ QString roomid_;
+ bool usesEncryption_ = false;
+ RoomInfo info_;
+};
\ No newline at end of file
|