Hidden events: Some cleanup
This commit is contained in:
parent
49b313e3b8
commit
72cfb06208
@ -45,7 +45,7 @@ ApplicationWindow {
|
|||||||
return qsTr("These events will be be <b>shown</b> in %1:").arg(roomSettings.roomName);
|
return qsTr("These events will be be <b>shown</b> in %1:").arg(roomSettings.roomName);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return qsTr("These events will be be <b>shown</b>:");
|
return qsTr("These events will be be <b>shown</b> in all rooms:");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.2)
|
font.pixelSize: Math.floor(fontMetrics.font.pixelSize * 1.2)
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
#include <QMimeDatabase>
|
#include <QMimeDatabase>
|
||||||
#include <QStandardPaths>
|
#include <QStandardPaths>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <algorithm>
|
|
||||||
#include <mtx/events/event_type.hpp>
|
#include <mtx/events/event_type.hpp>
|
||||||
#include <mtx/events/nheko_extensions/hidden_events.hpp>
|
#include <mtx/events/nheko_extensions/hidden_events.hpp>
|
||||||
#include <mtx/responses/common.hpp>
|
#include <mtx/responses/common.hpp>
|
||||||
@ -230,7 +229,6 @@ RoomSettings::RoomSettings(QString roomid, QObject *parent)
|
|||||||
}
|
}
|
||||||
emit accessJoinRulesChanged();
|
emit accessJoinRulesChanged();
|
||||||
|
|
||||||
// Get room's hidden events and store it in member variable.
|
|
||||||
if (auto hiddenEvents = cache::client()->getAccountData(
|
if (auto hiddenEvents = cache::client()->getAccountData(
|
||||||
mtx::events::EventType::NhekoHiddenEvents, roomid_.toStdString())) {
|
mtx::events::EventType::NhekoHiddenEvents, roomid_.toStdString())) {
|
||||||
if (auto tmp = std::get_if<mtx::events::EphemeralEvent<
|
if (auto tmp = std::get_if<mtx::events::EphemeralEvent<
|
||||||
@ -310,12 +308,6 @@ RoomSettings::accessJoinRules()
|
|||||||
return accessRules_;
|
return accessRules_;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
|
||||||
RoomSettings::eventHidden(const QString event) const
|
|
||||||
{
|
|
||||||
return hiddenEvents_.contains(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
RoomSettings::enableEncryption()
|
RoomSettings::enableEncryption()
|
||||||
{
|
{
|
||||||
@ -426,34 +418,6 @@ RoomSettings::openEditModal()
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
RoomSettings::saveHiddenEventsSettings(const QSet<QString> &events, const QString &roomId)
|
|
||||||
{
|
|
||||||
mtx::events::account_data::nheko_extensions::HiddenEvents hiddenEvents;
|
|
||||||
hiddenEvents.hidden_event_types = {
|
|
||||||
EventType::Reaction, EventType::CallCandidates, EventType::Unsupported};
|
|
||||||
for (const auto &event : events) {
|
|
||||||
hiddenEvents.hidden_event_types.emplace_back(
|
|
||||||
mtx::events::getEventType(event.toStdString()));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!roomId.isEmpty()) {
|
|
||||||
const auto rid = roomId.toStdString();
|
|
||||||
http::client()->put_room_account_data(rid, hiddenEvents, [&rid](mtx::http::RequestErr e) {
|
|
||||||
if (e) {
|
|
||||||
nhlog::net()->error(
|
|
||||||
"Failed to update room account data with hidden events in {}: {}", rid, *e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
http::client()->put_account_data(hiddenEvents, [](mtx::http::RequestErr e) {
|
|
||||||
if (e) {
|
|
||||||
nhlog::net()->error("Failed to update account data with hidden events: {}", *e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
RoomSettings::changeNotifications(int currentIndex)
|
RoomSettings::changeNotifications(int currentIndex)
|
||||||
{
|
{
|
||||||
@ -685,3 +649,36 @@ RoomSettings::updateAvatar()
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
RoomSettings::saveHiddenEventsSettings(const QSet<QString> &events, const QString &roomId)
|
||||||
|
{
|
||||||
|
account_data::nheko_extensions::HiddenEvents hiddenEvents;
|
||||||
|
hiddenEvents.hidden_event_types = {
|
||||||
|
EventType::Reaction, EventType::CallCandidates, EventType::Unsupported};
|
||||||
|
for (const auto &event : events) {
|
||||||
|
hiddenEvents.hidden_event_types.emplace_back(getEventType(event.toStdString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!roomId.isEmpty()) {
|
||||||
|
const auto rid = roomId.toStdString();
|
||||||
|
http::client()->put_room_account_data(rid, hiddenEvents, [&rid](mtx::http::RequestErr e) {
|
||||||
|
if (e) {
|
||||||
|
nhlog::net()->error(
|
||||||
|
"Failed to update room account data with hidden events in {}: {}", rid, *e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
http::client()->put_account_data(hiddenEvents, [](mtx::http::RequestErr e) {
|
||||||
|
if (e) {
|
||||||
|
nhlog::net()->error("Failed to update account data with hidden events: {}", *e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
RoomSettings::eventHidden(const QString event) const
|
||||||
|
{
|
||||||
|
return hiddenEvents_.contains(event);
|
||||||
|
}
|
||||||
|
@ -109,10 +109,10 @@ public:
|
|||||||
Q_INVOKABLE void enableEncryption();
|
Q_INVOKABLE void enableEncryption();
|
||||||
Q_INVOKABLE void updateAvatar();
|
Q_INVOKABLE void updateAvatar();
|
||||||
Q_INVOKABLE void openEditModal();
|
Q_INVOKABLE void openEditModal();
|
||||||
Q_INVOKABLE void
|
|
||||||
saveHiddenEventsSettings(const QSet<QString> &events, const QString &roomId = {});
|
|
||||||
Q_INVOKABLE void changeAccessRules(int index);
|
Q_INVOKABLE void changeAccessRules(int index);
|
||||||
Q_INVOKABLE void changeNotifications(int currentIndex);
|
Q_INVOKABLE void changeNotifications(int currentIndex);
|
||||||
|
Q_INVOKABLE void
|
||||||
|
saveHiddenEventsSettings(const QSet<QString> &events, const QString &roomId = {});
|
||||||
Q_INVOKABLE bool eventHidden(QString event) const;
|
Q_INVOKABLE bool eventHidden(QString event) const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
Loading…
Reference in New Issue
Block a user