Remove ImageItem, Paintable and use unified image provider.

This commit is contained in:
Black Hat
2018-12-03 19:55:42 +08:00
parent 641c82beb7
commit 8959be2cb8
29 changed files with 125 additions and 324 deletions

View File

@@ -72,8 +72,8 @@ QVariant UserListModel::data(const QModelIndex& index, int role) const {
if (role == UserIDRole) {
return user->id();
}
if (role == PaintableRole) {
return QVariant::fromValue((static_cast<SpectralUser*>(user))->paintable());
if (role == AvatarRole) {
return user->avatarUrl();
}
return QVariant();
@@ -115,7 +115,7 @@ void UserListModel::refresh(QMatrixClient::User* user, QVector<int> roles) {
void UserListModel::avatarChanged(QMatrixClient::User* user,
const QMatrixClient::Room* context) {
if (context == m_currentRoom) refresh(user, {PaintableRole});
if (context == m_currentRoom) refresh(user, {AvatarRole});
}
int UserListModel::findUserPos(User* user) const {
@@ -130,6 +130,6 @@ QHash<int, QByteArray> UserListModel::roleNames() const {
QHash<int, QByteArray> roles;
roles[NameRole] = "name";
roles[UserIDRole] = "userId";
roles[PaintableRole] = "paintable";
roles[AvatarRole] = "avatar";
return roles;
}