Fix crash on startup when no users configured

Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
This commit is contained in:
Dominique Fuchs 2020-01-11 16:41:20 +01:00
parent 32741162d9
commit 9af7d4ad06

View file

@ -167,7 +167,17 @@ Q_INVOKABLE bool UserModel::isCurrentUserConnected()
Q_INVOKABLE QImage UserModel::currentUserAvatar() Q_INVOKABLE QImage UserModel::currentUserAvatar()
{ {
return _users[_currentUserId].avatar(); if (_users.count() >= 1) {
return _users[_currentUserId].avatar();
} else {
QImage image(128, 128, QImage::Format_ARGB32);
image.fill(Qt::GlobalColor::transparent);
QPainter painter(&image);
QSvgRenderer renderer(QString(":/client/theme/white/user.svg"));
renderer.render(&painter);
return image;
}
} }
QImage UserModel::avatarById(const int &id) QImage UserModel::avatarById(const int &id)
@ -177,17 +187,29 @@ QImage UserModel::avatarById(const int &id)
Q_INVOKABLE QString UserModel::currentUserName() Q_INVOKABLE QString UserModel::currentUserName()
{ {
return _users[_currentUserId].name(); if (_users.count() >= 1) {
return _users[_currentUserId].name();
} else {
return QString("No users");
}
} }
Q_INVOKABLE QString UserModel::currentUserServer() Q_INVOKABLE QString UserModel::currentUserServer()
{ {
return _users[_currentUserId].server(); if (_users.count() >= 1) {
return _users[_currentUserId].server();
} else {
return QString("");
}
} }
Q_INVOKABLE bool UserModel::currentServerHasTalk() Q_INVOKABLE bool UserModel::currentServerHasTalk()
{ {
return _users[_currentUserId].serverHasTalk(); if (_users.count() >= 1) {
return _users[_currentUserId].serverHasTalk();
} else {
return false;
}
} }
void UserModel::addUser(AccountStatePtr &user, const bool &isCurrent) void UserModel::addUser(AccountStatePtr &user, const bool &isCurrent)