Add menu actions to set presence

This commit is contained in:
Nicolas Werner 2020-06-08 20:26:37 +02:00
parent 96f4169be9
commit f2bfa61e08
5 changed files with 76 additions and 2 deletions

View file

@ -986,6 +986,8 @@ ChatPage::startInitialSync()
mtx::http::SyncOpts opts;
opts.timeout = 0;
opts.set_presence = currentPresence();
http::client()->sync(
opts,
std::bind(
@ -996,6 +998,7 @@ void
ChatPage::trySync()
{
mtx::http::SyncOpts opts;
opts.set_presence = currentPresence();
if (!connectivityTimer_.isActive())
connectivityTimer_.start();
@ -1241,6 +1244,21 @@ ChatPage::setStatus(const QString &status)
});
}
mtx::presence::PresenceState
ChatPage::currentPresence() const
{
switch (userSettings_->presence()) {
case UserSettings::Presence::Online:
return mtx::presence::online;
case UserSettings::Presence::Unavailable:
return mtx::presence::unavailable;
case UserSettings::Presence::Offline:
return mtx::presence::offline;
default:
return mtx::presence::online;
}
}
void
ChatPage::initialSyncHandler(const mtx::responses::Sync &res, mtx::http::RequestErr err)
{