mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-22 11:00:48 +03:00
Retrieve the current room state from cache when the edit modal opens
This commit is contained in:
parent
d88dee3185
commit
9eb1c496a0
2 changed files with 16 additions and 8 deletions
|
@ -93,6 +93,8 @@ private:
|
|||
|
||||
void setAvatar(const QImage &img) { avatarImg_ = img; }
|
||||
void setupEditButton();
|
||||
//! Retrieve the current room information from cache.
|
||||
void retrieveRoomInfo();
|
||||
|
||||
//! Whether the user would be able to change the name or the topic of the room.
|
||||
bool hasEditRights_ = true;
|
||||
|
|
|
@ -182,14 +182,7 @@ RoomSettings::RoomSettings(const QString &room_id, QWidget *parent)
|
|||
, room_id_{std::move(room_id)}
|
||||
{
|
||||
setMaximumWidth(420);
|
||||
|
||||
try {
|
||||
info_ = cache::client()->singleRoomInfo(room_id_.toStdString());
|
||||
|
||||
setAvatar(QImage::fromData(cache::client()->image(info_.avatar_url)));
|
||||
} catch (const lmdb::error &e) {
|
||||
qWarning() << "failed to retrieve room info from cache" << room_id;
|
||||
}
|
||||
retrieveRoomInfo();
|
||||
|
||||
constexpr int SettingsMargin = 2;
|
||||
|
||||
|
@ -299,6 +292,8 @@ RoomSettings::setupEditButton()
|
|||
editFieldsBtn_->setIconSize(QSize(iconSize, iconSize));
|
||||
|
||||
connect(editFieldsBtn_, &QPushButton::clicked, this, [this]() {
|
||||
retrieveRoomInfo();
|
||||
|
||||
auto modal = new EditModal(room_id_, this->parentWidget());
|
||||
modal->setFields(QString::fromStdString(info_.name),
|
||||
QString::fromStdString(info_.topic));
|
||||
|
@ -311,6 +306,17 @@ RoomSettings::setupEditButton()
|
|||
editLayout_->addWidget(editFieldsBtn_, 0, Qt::AlignRight | Qt::AlignTop);
|
||||
}
|
||||
|
||||
void
|
||||
RoomSettings::retrieveRoomInfo()
|
||||
{
|
||||
try {
|
||||
info_ = cache::client()->singleRoomInfo(room_id_.toStdString());
|
||||
setAvatar(QImage::fromData(cache::client()->image(info_.avatar_url)));
|
||||
} catch (const lmdb::error &e) {
|
||||
qWarning() << "failed to retrieve room info from cache" << room_id_;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
RoomSettings::saveSettings()
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue