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()
{
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)
@ -177,17 +187,29 @@ QImage UserModel::avatarById(const int &id)
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()
{
return _users[_currentUserId].server();
if (_users.count() >= 1) {
return _users[_currentUserId].server();
} else {
return QString("");
}
}
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)