diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2020-06-08 01:45:24 +0200 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2020-06-08 01:59:05 +0200 |
commit | 96f4169be97715e6b6b45663492e3791ba21ae09 (patch) | |
tree | 618753677e69ac590aa2cad267dfd7d31c574bfd /src/ChatPage.cpp | |
parent | Smooth scaling for images (diff) | |
download | nheko-96f4169be97715e6b6b45663492e3791ba21ae09.tar.xz |
Show presence and set custom status messages
Diffstat (limited to 'src/ChatPage.cpp')
-rw-r--r-- | src/ChatPage.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/ChatPage.cpp b/src/ChatPage.cpp index c7f5164a..f2b8253b 100644 --- a/src/ChatPage.cpp +++ b/src/ChatPage.cpp @@ -61,6 +61,7 @@ constexpr size_t MAX_ONETIME_KEYS = 50; Q_DECLARE_METATYPE(std::optional<mtx::crypto::EncryptedFile>) Q_DECLARE_METATYPE(std::optional<RelatedInfo>) +Q_DECLARE_METATYPE(mtx::presence::PresenceState) ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) : QWidget(parent) @@ -72,6 +73,7 @@ ChatPage::ChatPage(QSharedPointer<UserSettings> userSettings, QWidget *parent) qRegisterMetaType<std::optional<mtx::crypto::EncryptedFile>>(); qRegisterMetaType<std::optional<RelatedInfo>>(); + qRegisterMetaType<mtx::presence::PresenceState>(); topLayout_ = new QHBoxLayout(this); topLayout_->setSpacing(0); @@ -1221,6 +1223,24 @@ ChatPage::sendTypingNotifications() }); } +QString +ChatPage::status() const +{ + return QString::fromStdString(cache::statusMessage(utils::localUser().toStdString())); +} + +void +ChatPage::setStatus(const QString &status) +{ + http::client()->put_presence_status( + currentPresence(), status.toStdString(), [](mtx::http::RequestErr err) { + if (err) { + nhlog::net()->warn("failed to set presence status_msg: {}", + err->matrix_error.error); + } + }); +} + void ChatPage::initialSyncHandler(const mtx::responses::Sync &res, mtx::http::RequestErr err) { |