Add online status indicator.

Attempt to resync as soon as system goes online. #145
This commit is contained in:
Black Hat
2019-07-06 10:24:47 +08:00
parent 3501f964b5
commit 81fe2919ed
5 changed files with 52 additions and 5 deletions

View File

@@ -41,6 +41,9 @@ Controller::Controller(QObject* parent) : QObject(parent) {
Connection::setRoomType<SpectralRoom>();
Connection::setUserType<SpectralUser>();
connect(&m_ncm, &QNetworkConfigurationManager::onlineStateChanged, this,
&Controller::isOnlineChanged);
QTimer::singleShot(0, this, SLOT(invokeLogin()));
}
@@ -134,6 +137,14 @@ void Controller::addConnection(Connection* c) {
c->saveState();
});
connect(c, &Connection::loggedOut, this, [=] { dropConnection(c); });
connect(&m_ncm, &QNetworkConfigurationManager::onlineStateChanged,
[=](bool status) {
if (!status)
return;
c->stopSync();
c->sync(30000);
});
using namespace QMatrixClient;