aboutsummaryrefslogtreecommitdiff
path: root/lib/connection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/connection.cpp')
-rw-r--r--lib/connection.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/lib/connection.cpp b/lib/connection.cpp
index 26c33767..52609370 100644
--- a/lib/connection.cpp
+++ b/lib/connection.cpp
@@ -94,6 +94,7 @@ class Connection::Private
bool cacheState = true;
bool cacheToBinary = SettingsGroup("libqmatrixclient")
.value("cache_type").toString() != "json";
+ bool lazyLoading;
void connectWithToken(const QString& user, const QString& accessToken,
const QString& deviceId);
@@ -287,11 +288,11 @@ void Connection::sync(int timeout)
if (d->syncJob)
return;
- // Raw string: http://en.cppreference.com/w/cpp/language/string_literal
- const auto filter =
- QStringLiteral(R"({"room": { "timeline": { "limit": 100 } } })");
+ Filter filter;
+ filter.room->timeline->limit = 100;
+ filter.room->state->lazyLoadMembers = d->lazyLoading;
auto job = d->syncJob = callApi<SyncJob>(BackgroundRequest,
- d->data->lastEvent(), filter, timeout);
+ d->data->lastEvent(), filter, timeout);
connect( job, &SyncJob::success, this, [this, job] {
onSyncSuccess(job->takeData());
d->syncJob = nullptr;
@@ -1181,6 +1182,20 @@ void Connection::setCacheState(bool newValue)
}
}
+bool QMatrixClient::Connection::lazyLoading() const
+{
+ return d->lazyLoading;
+}
+
+void QMatrixClient::Connection::setLazyLoading(bool newValue)
+{
+ if (d->lazyLoading != newValue)
+ {
+ d->lazyLoading = newValue;
+ emit lazyLoadingChanged();
+ }
+}
+
void Connection::getTurnServers()
{
auto job = callApi<GetTurnServerJob>();