From 5b8efd7e587e521e40f32f7357a359b3aea1215d Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Mon, 31 Aug 2026 09:29:20 +0300 Subject: [PATCH] Update layout to new UI guidelines WE2-996 Signed-off-by: Raul Metsma --- src/ui/certificatewidget.cpp | 9 ++++---- src/ui/certificatewidget.hpp | 2 +- src/ui/dialog.ui | 41 ++++++++++++++++++------------------ src/ui/languageselect.ui | 8 +++---- src/ui/webeiddialog.cpp | 29 ++++++++++++++++++++++--- 5 files changed, 57 insertions(+), 32 deletions(-) diff --git a/src/ui/certificatewidget.cpp b/src/ui/certificatewidget.cpp index a5d514a3..c5a6c935 100644 --- a/src/ui/certificatewidget.cpp +++ b/src/ui/certificatewidget.cpp @@ -33,7 +33,7 @@ // We use two separate widgets, CertificateWidget and CertificateButton, for accessibility, to // support screen readers. -CertificateWidgetInfo::CertificateWidgetInfo(QWidget* self) : +CertificateWidgetInfo::CertificateWidgetInfo(QWidget* self, int contentMargin) : icon(new QLabel(self)), info(new QLabel(self)), issuer(new QLabel(self)), status(new QLabel(self)) { @@ -47,7 +47,7 @@ CertificateWidgetInfo::CertificateWidgetInfo(QWidget* self) : status->setTextFormat(Qt::PlainText); status->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); auto* layout = new QGridLayout(self); - layout->setContentsMargins(16, 16, 16, 16); + layout->setContentsMargins(contentMargin, contentMargin, contentMargin, contentMargin); layout->setHorizontalSpacing(16); layout->setVerticalSpacing(2); layout->addWidget(icon, 0, 0, 3, 1, Qt::AlignVCenter); @@ -103,7 +103,8 @@ void CertificateWidgetInfo::languageChange() setCertificateInfo(certAndPinInfo); } -CertificateWidget::CertificateWidget(QWidget* parent) : QWidget(parent), CertificateWidgetInfo(this) +CertificateWidget::CertificateWidget(QWidget* parent) : + QWidget(parent), CertificateWidgetInfo(this, 0) { info->setFocusPolicy(Qt::TabFocus); } @@ -119,7 +120,7 @@ void CertificateWidget::paintEvent(QPaintEvent* /*event*/) CertificateButton::CertificateButton(const EidCertificateAndPinInfo& cardCertPinInfo, QWidget* parent) : - QAbstractButton(parent), CertificateWidgetInfo(this) + QAbstractButton(parent), CertificateWidgetInfo(this, 16) { setCheckable(true); setAutoExclusive(true); diff --git a/src/ui/certificatewidget.hpp b/src/ui/certificatewidget.hpp index 06fdfa29..890e4127 100644 --- a/src/ui/certificatewidget.hpp +++ b/src/ui/certificatewidget.hpp @@ -38,7 +38,7 @@ class CertificateWidgetInfo void languageChange(); protected: - explicit CertificateWidgetInfo(QWidget* self); + CertificateWidgetInfo(QWidget* self, int contentMargin); Q_DISABLE_COPY_MOVE(CertificateWidgetInfo) std::tuple certData() const; diff --git a/src/ui/dialog.ui b/src/ui/dialog.ui index fc413623..b720d8ce 100644 --- a/src/ui/dialog.ui +++ b/src/ui/dialog.ui @@ -6,13 +6,13 @@ 0 0 - 550 + 500 512 - 550 + 500 0 @@ -70,11 +70,11 @@ padding: 8px; CertificateButton, CertificateWidget { border: 1px solid transparent; border-radius: 4px; -min-height: 70px; } CertificateButton { background-color: white; border-color: #E7EAEF; +min-height: 70px; } CertificateButton:disabled { background-color: #F3F5F7; @@ -132,7 +132,7 @@ border-radius: 2px; } #waitingPageTitleLabel, #messagePageTitleLabel, #selectCertificatePageTitleLabel, #pinInputPageTitleLabel, #aboutPageLabel { color: #003168; -font-size: 32px; +font-size: 20px; font-weight: bold; } #selectCertificateDescriptionLabel, #pinInputDescriptionLabel { @@ -196,6 +196,7 @@ background-color: transparent; font-family: Roboto, Helvetica; font-size: 14px; font-weight: 400; +padding: 0px; } @@ -280,19 +281,19 @@ font-weight: 400; - 30 + 40 - 20 + 40 - 25 + 32 - 20 + 40 - 20 + 32 @@ -302,7 +303,7 @@ font-weight: 400; - 20 + 40 0 @@ -373,7 +374,7 @@ font-weight: 400; - 20 + 40 0 @@ -403,7 +404,7 @@ font-weight: 400; - 10 + 16 @@ -501,7 +502,7 @@ font-weight: 400; - 20 + 40 0 @@ -528,14 +529,14 @@ font-weight: 400; - 10 + 8 0 - 60 + 0 @@ -567,7 +568,7 @@ font-weight: 400; - 6 + 16 @@ -576,7 +577,7 @@ font-weight: 400; - 20 + 40 0 @@ -603,7 +604,7 @@ font-weight: 400; - 10 + 8 @@ -666,7 +667,7 @@ font-weight: 400; - 6 + 8 @@ -853,7 +854,7 @@ font-weight: 400; - 6 + 8 diff --git a/src/ui/languageselect.ui b/src/ui/languageselect.ui index 0fc85350..a89866ce 100644 --- a/src/ui/languageselect.ui +++ b/src/ui/languageselect.ui @@ -9,7 +9,7 @@ 0 0 - 616 + 576 444 @@ -72,13 +72,13 @@ background-color: #215081; QLayout::SetFixedSize - 40 + 32 32 - 40 + 32 32 @@ -93,7 +93,7 @@ background-color: #215081; - 536 + 512 0 diff --git a/src/ui/webeiddialog.cpp b/src/ui/webeiddialog.cpp index 18b6451e..6c839dc0 100644 --- a/src/ui/webeiddialog.cpp +++ b/src/ui/webeiddialog.cpp @@ -457,11 +457,34 @@ bool WebEidDialog::event(QEvent* event) emit languageChange(); resizeHeight(); break; - case QEvent::Resize: + case QEvent::Resize: { ui->dialogContent->layout()->activate(); - ui->langButton->move(width() - ui->langButton->width() - 20, - ui->pageStack->mapTo(this, QPoint(0, 0)).y() - 20); + QWidget* title = nullptr; + switch (Page(ui->pageStack->currentIndex())) { + case Page::WAITING: + title = ui->waitingPageTitleLabel; + break; + case Page::ALERT: + title = ui->messagePageTitleLabel; + break; + case Page::SELECT_CERTIFICATE: + title = ui->selectCertificatePageTitleLabel; + break; + case Page::PIN_INPUT: + title = ui->pinInputPageTitleLabel; + break; + case Page::ABOUT: + title = ui->aboutPageLabel; + break; + } + if (title) { + const QPoint titlePosition = title->mapTo(this, QPoint(0, 0)); + ui->langButton->move(width() - ui->langButton->width() - 40, + titlePosition.y() + + (title->height() - ui->langButton->height()) / 2); + } break; + } default: break; }