From 1365f3cb492c788e1ae3a3927e9fb00dcf7f9033 Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Sun, 27 Sep 2026 21:38:50 +0200 Subject: [PATCH] [Avatar] Cap user avatar upload resolution at 1024x1024 (#7353) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Avatar] Cap user avatar upload resolution at 1024x1024 * Remove stylesheet. --------- Co-authored-by: Lukas BrĂ¼bach --- .../src/interface/widgets/dialogs/dlg_edit_avatar.cpp | 8 ++++++++ .../src/interface/widgets/dialogs/dlg_edit_avatar.h | 3 ++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp b/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp index b5710b208..120e20f3e 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.cpp @@ -19,6 +19,9 @@ DlgEditAvatar::DlgEditAvatar(QWidget *parent) : QDialog(parent), image() textLabel = new QLabel(tr("To change your avatar, choose a new image.\nTo remove your current avatar, confirm " "without choosing a new image.")); + hintLabel = new QLabel( + tr("Images are automatically downscaled to at most %1x%1 pixels.").arg(QString::number(MAX_AVATAR_DIMENSION))); + browseButton = new QPushButton(tr("Browse...")); connect(browseButton, &QPushButton::clicked, this, &DlgEditAvatar::actBrowse); @@ -26,6 +29,7 @@ DlgEditAvatar::DlgEditAvatar(QWidget *parent) : QDialog(parent), image() grid->addWidget(imageLabel, 0, 0, 1, 2); grid->addWidget(textLabel, 1, 0); grid->addWidget(browseButton, 1, 1); + grid->addWidget(hintLabel, 2, 0, 1, 2); auto *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); connect(buttonBox, &QDialogButtonBox::accepted, this, &DlgEditAvatar::actOk); @@ -72,6 +76,10 @@ QByteArray DlgEditAvatar::getImage() return QByteArray(); } + if (image.width() > MAX_AVATAR_DIMENSION || image.height() > MAX_AVATAR_DIMENSION) { + image = image.scaled(MAX_AVATAR_DIMENSION, MAX_AVATAR_DIMENSION, Qt::KeepAspectRatio, Qt::SmoothTransformation); + } + for (;;) { QByteArray ba; QBuffer buffer(&ba); diff --git a/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.h b/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.h index d635ac2a8..9ac774b24 100644 --- a/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.h +++ b/cockatrice/src/interface/widgets/dialogs/dlg_edit_avatar.h @@ -29,8 +29,9 @@ private slots: void actBrowse(); private: + static constexpr int MAX_AVATAR_DIMENSION = 1024; QImage image; - QLabel *textLabel, *imageLabel; + QLabel *textLabel, *imageLabel, *hintLabel; QPushButton *browseButton; };