Commit a6f37349 authored by Méven Car's avatar Méven Car
Browse files

Make avatar icon dpr aware aka HiDPI rendered

Test Plan: Locally tested under Wayland : couldn't make a screenshot because of

Reviewers: #plasma, ngraham

Reviewed By: ngraham

Subscribers: crossi, plasma-devel

Tags: #plasma

Differential Revision:
parent 66cdd068
......@@ -47,6 +47,10 @@ AccountInfo::AccountInfo(AccountModel* model, QWidget* parent, Qt::WindowFlags f
// ensure avatar user icon use correct device pixel ratio
const qreal dpr = qApp->devicePixelRatio();
connect(m_info->username, &QLineEdit::textEdited, this, &AccountInfo::hasChanged);
connect(m_info->realName, &QLineEdit::textEdited, this, &AccountInfo::hasChanged);
connect(m_info->email, &QLineEdit::textEdited, this, &AccountInfo::hasChanged);
......@@ -149,7 +149,9 @@ QVariant AccountModel::data(const QModelIndex& index, int role) const
if (!file.exists()) {
return QIcon::fromTheme(QStringLiteral("user-identity")).pixmap(size, size);
return QPixmap(file.fileName()).scaled(size, size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
auto pixMap = QPixmap(file.fileName()).scaled(static_cast<int>(size * m_dpr), static_cast<int>(size * m_dpr), Qt::KeepAspectRatio, Qt::SmoothTransformation);
return pixMap;
case AccountModel::RealName:
return acc->realName();
......@@ -539,4 +541,8 @@ QDebug operator<<(QDebug debug, AccountModel::Role role)
return debug;
void AccountModel::setDpr(qreal dpr) {
m_dpr = dpr;
......@@ -65,6 +65,7 @@ class AccountModel : public QAbstractListModel
bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()) override;
bool removeAccountKeepingFiles(int row, bool keepFile = false);
void setDpr(qreal dpr);
QVariant newUserData(int role) const;
bool newUserSetData(const QModelIndex& index, const QVariant& value, int roleInt);
......@@ -91,6 +92,7 @@ class AccountModel : public QAbstractListModel
QHash<QString, bool> m_loggedAccounts;
KEMailSettings m_kEmailSettings;
AutomaticLoginSettings m_autoLoginSettings;
qreal m_dpr = 1;
QDebug operator<<(QDebug debug, AccountModel::Role role);
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment