From 4162d42d5e94f1ac61b486a255e893e5bd9bc52d Mon Sep 17 00:00:00 2001 From: Raul Metsma Date: Mon, 26 May 2025 21:37:30 +0300 Subject: [PATCH] Update icons WE2-993 Signed-off-by: Raul Metsma --- src/controller/utils/utils.hpp | 4 +- src/ui/certificatewidget.cpp | 52 +++----------- src/ui/certificatewidget.hpp | 4 -- src/ui/dark.qss | 1 - src/ui/dialog.ui | 110 +++++------------------------ src/ui/images/cardreader.svg | 4 -- src/ui/images/cardreader_dark.svg | 5 -- src/ui/images/down.svg | 3 - src/ui/images/down_dark.svg | 3 - src/ui/images/fatal.svg | 3 - src/ui/images/fatal_dark.svg | 3 - src/ui/images/id-card-err.svg | 3 + src/ui/images/id-card-err_dark.svg | 3 + src/ui/images/id-card.svg | 13 +--- src/ui/images/id-card_dark.svg | 13 +--- src/ui/images/lang.svg | 3 + src/ui/images/lang_dark.svg | 3 + src/ui/images/left.svg | 3 - src/ui/images/no-id-card.svg | 5 -- src/ui/images/no-id-card_dark.svg | 5 -- src/ui/images/origin.svg | 7 -- src/ui/images/origin_dark.svg | 7 -- src/ui/images/wait.svg | 10 +-- src/ui/images/wait_dark.svg | 5 ++ src/ui/languageselect.cpp | 1 + src/ui/languageselect.ui | 3 + src/ui/webeiddialog.cpp | 70 +++++++++--------- 27 files changed, 101 insertions(+), 245 deletions(-) delete mode 100644 src/ui/images/cardreader.svg delete mode 100644 src/ui/images/cardreader_dark.svg delete mode 100644 src/ui/images/down.svg delete mode 100644 src/ui/images/down_dark.svg delete mode 100644 src/ui/images/fatal.svg delete mode 100644 src/ui/images/fatal_dark.svg create mode 100644 src/ui/images/id-card-err.svg create mode 100644 src/ui/images/id-card-err_dark.svg create mode 100644 src/ui/images/lang.svg create mode 100644 src/ui/images/lang_dark.svg delete mode 100644 src/ui/images/left.svg delete mode 100644 src/ui/images/no-id-card.svg delete mode 100644 src/ui/images/no-id-card_dark.svg delete mode 100644 src/ui/images/origin.svg delete mode 100644 src/ui/images/origin_dark.svg create mode 100644 src/ui/images/wait_dark.svg diff --git a/src/controller/utils/utils.hpp b/src/controller/utils/utils.hpp index 04c399b2..1bbd9ccf 100644 --- a/src/controller/utils/utils.hpp +++ b/src/controller/utils/utils.hpp @@ -26,9 +26,7 @@ #define REQUIRE_NOT_EMPTY_CONTAINS_NON_NULL_PTRS(vec) \ if (vec.empty()) { \ - throw std::logic_error(std::string(#vec) + " is empty in " \ - + pcsc_cpp::removeAbsolutePathPrefix(__FILE__) + ':' \ - + std::to_string(__LINE__) + ':' + __func__); \ + THROW(std::logic_error, #vec " is empty"); \ } \ for (const auto& ptr : vec) { \ REQUIRE_NON_NULL(ptr) \ diff --git a/src/ui/certificatewidget.cpp b/src/ui/certificatewidget.cpp index 9699ef16..48a05fe6 100644 --- a/src/ui/certificatewidget.cpp +++ b/src/ui/certificatewidget.cpp @@ -44,18 +44,9 @@ inline QString displayInRed(const QString& text) // support screen readers. CertificateWidgetInfo::CertificateWidgetInfo(QWidget* self) : - icon(new QLabel(self)), info(new QLabel(self)), warnIcon(new QLabel(self)), + icon(new QLabel(self)), info(new QLabel(self)), warn(new QLabel(CertificateWidget::tr("Pin locked"), self)) { - if (Application::isDarkTheme()) { - icon->setPixmap(QStringLiteral(":/images/id-card_dark.svg")); - warnIcon->setPixmap(QStringLiteral(":/images/fatal_dark.svg")); - } else { - icon->setPixmap(QStringLiteral(":/images/id-card.svg")); - warnIcon->setPixmap(QStringLiteral(":/images/fatal.svg")); - } - warnIcon->hide(); - warnIcon->installEventFilter(self); warn->setObjectName(QStringLiteral("warn")); warn->hide(); auto* layout = new QHBoxLayout(self); @@ -63,10 +54,8 @@ CertificateWidgetInfo::CertificateWidgetInfo(QWidget* self) : layout->setSpacing(10); layout->addWidget(icon); layout->addWidget(info, 1); - layout->addWidget(warnIcon); auto* warnLayout = new QHBoxLayout; warnLayout->setSpacing(6); - warnLayout->addWidget(warnIcon); warnLayout->addWidget(warn); layout->addItem(warnLayout); } @@ -86,14 +75,6 @@ std::tuple CertificateWidgetInfo::certData() certAndPinInfo.certificate.expiryDate().date().toString(Qt::ISODate)}; } -void CertificateWidgetInfo::drawWarnIcon() -{ - QPainter p(warnIcon); - QRect cr = warnIcon->contentsRect(); - cr.adjust(warnIcon->margin(), warnIcon->margin(), -warnIcon->margin(), -warnIcon->margin()); - warnIcon->style()->drawItemPixmap(&p, cr, Qt::AlignCenter, warnIcon->pixmap()); -} - void CertificateWidgetInfo::setCertificateInfo(const EidCertificateAndPinInfo& cardCertPinInfo) { warn->setText(CertificateWidget::tr("Pin locked")); @@ -101,6 +82,8 @@ void CertificateWidgetInfo::setCertificateInfo(const EidCertificateAndPinInfo& c const auto& certInfo = cardCertPinInfo.certInfo; QString warning; auto [subject, issuer, effectiveDate, expiryDate] = certData(); + bool isError = + certInfo.notEffective || certInfo.isExpired || cardCertPinInfo.pinInfo.pinIsBlocked(); if (certInfo.notEffective) { effectiveDate = displayInRed(effectiveDate); warning = displayInRed(CertificateWidget::tr(" (Not effective)")); @@ -111,10 +94,15 @@ void CertificateWidgetInfo::setCertificateInfo(const EidCertificateAndPinInfo& c } info->setText(CertificateWidget::tr("%1
Issuer: %2
Valid: %3 to %4%5") .arg(subject, issuer, effectiveDate, expiryDate, warning)); - info->parentWidget()->setDisabled(certInfo.notEffective || certInfo.isExpired - || cardCertPinInfo.pinInfo.pinIsBlocked()); - warnIcon->setVisible(warning.isEmpty() && cardCertPinInfo.pinInfo.pinIsBlocked()); + info->parentWidget()->setDisabled(isError); warn->setVisible(warning.isEmpty() && cardCertPinInfo.pinInfo.pinIsBlocked()); + if (isError) { + icon->setPixmap(Application::isDarkTheme() ? QStringLiteral(":/images/id-card-err_dark.svg") + : QStringLiteral(":/images/id-card-err.svg")); + } else { + icon->setPixmap(Application::isDarkTheme() ? QStringLiteral(":/images/id-card_dark.svg") + : QStringLiteral(":/images/id-card.svg")); + } } void CertificateWidgetInfo::languageChange() @@ -127,15 +115,6 @@ CertificateWidget::CertificateWidget(QWidget* parent) : QWidget(parent), Certifi info->setFocusPolicy(Qt::TabFocus); } -bool CertificateWidget::eventFilter(QObject* object, QEvent* event) -{ - if (qobject_cast(object) && event->type() == QEvent::Paint) { - drawWarnIcon(); - return true; - } - return QWidget::eventFilter(object, event); -} - void CertificateWidget::paintEvent(QPaintEvent* /*event*/) { QPainter p(this); @@ -156,15 +135,6 @@ CertificateButton::CertificateButton(const EidCertificateAndPinInfo& cardCertPin setCertificateInfo(cardCertPinInfo); } -bool CertificateButton::eventFilter(QObject* object, QEvent* event) -{ - if (qobject_cast(object) && event->type() == QEvent::Paint) { - drawWarnIcon(); - return true; - } - return QAbstractButton::eventFilter(object, event); -} - void CertificateButton::setCertificateInfo(const EidCertificateAndPinInfo& cardCertPinInfo) { CertificateWidgetInfo::setCertificateInfo(cardCertPinInfo); diff --git a/src/ui/certificatewidget.hpp b/src/ui/certificatewidget.hpp index 906f81d6..f7b0257c 100644 --- a/src/ui/certificatewidget.hpp +++ b/src/ui/certificatewidget.hpp @@ -41,12 +41,10 @@ class CertificateWidgetInfo explicit CertificateWidgetInfo(QWidget* self); Q_DISABLE_COPY_MOVE(CertificateWidgetInfo) - void drawWarnIcon(); std::tuple certData() const; QLabel* icon; QLabel* info; - QLabel* warnIcon; QLabel* warn; EidCertificateAndPinInfo certAndPinInfo; }; @@ -59,7 +57,6 @@ class CertificateWidget final : public QWidget, public CertificateWidgetInfo explicit CertificateWidget(QWidget* parent); private: - bool eventFilter(QObject* object, QEvent* event) final; void paintEvent(QPaintEvent* event) final; }; @@ -71,7 +68,6 @@ class CertificateButton final : public QAbstractButton, public CertificateWidget CertificateButton(const EidCertificateAndPinInfo& certAndPinInfo, QWidget* parent); private: - bool eventFilter(QObject* object, QEvent* event) final; void setCertificateInfo(const EidCertificateAndPinInfo& certAndPinInfo) final; void paintEvent(QPaintEvent* event) final; }; diff --git a/src/ui/dark.qss b/src/ui/dark.qss index fda55a34..5eb1a4a3 100644 --- a/src/ui/dark.qss +++ b/src/ui/dark.qss @@ -11,7 +11,6 @@ background-color: #232325; } #langButton { color: #FFFFFF; -background-image: url(:images/down_dark.svg); } #langButton::hover { background-color: #4E4E53; diff --git a/src/ui/dialog.ui b/src/ui/dialog.ui index b7e27342..6ee05a17 100644 --- a/src/ui/dialog.ui +++ b/src/ui/dialog.ui @@ -58,19 +58,9 @@ background-color: #215081; color: #003168; border: 0px; border-radius: 3px; -max-height: 22px; max-width: 55px; -padding-left: 0px; -padding-right: 0px; font-size: 14px; -text-align: left; -background-position: right; -background-repeat: no-repeat; -background-origin: content; -background-image: url(:images/down.svg); -} -#langButton::hover { -background-color: #EFEFEF; +padding: 8px; } CertificateButton, CertificateWidget { border: 1px solid rgba(0,49,104,0.1); @@ -311,20 +301,20 @@ border-radius: 4px; - 20 + 10 - 50 - 32 + 24 + 24 - 50 - 32 + 24 + 24 @@ -349,7 +339,7 @@ border-radius: 4px; - + 8 @@ -365,13 +355,6 @@ border-radius: 4px; 10 - - - - :/images/fatal.svg - - - @@ -441,14 +424,11 @@ border-radius: 4px; - - - 9 - - + + 10 - + @@ -470,14 +450,7 @@ border-radius: 4px; - - - - :/images/origin.svg - - - - + Qt::TabFocus @@ -526,14 +499,11 @@ border-radius: 4px; - - + + 10 - - 9 - - + Qt::TabFocus @@ -546,14 +516,7 @@ border-radius: 4px; - - - - :/images/origin.svg - - - - + Qt::TabFocus @@ -581,19 +544,6 @@ border-radius: 4px; Select another certificate - - - :/images/left.svg:/images/left.svg - - - - 24 - 24 - - - - Qt::ToolButtonTextBesideIcon - @@ -770,14 +720,11 @@ border-radius: 4px; - - - 10 - - + + 20 - + Qt::TabFocus @@ -790,7 +737,7 @@ border-radius: 4px; - + Qt::TabFocus @@ -803,25 +750,6 @@ border-radius: 4px; - - - - - 24 - 24 - - - - - 24 - 24 - - - - :/images/fatal.svg - - - diff --git a/src/ui/images/cardreader.svg b/src/ui/images/cardreader.svg deleted file mode 100644 index 98152825..00000000 --- a/src/ui/images/cardreader.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/src/ui/images/cardreader_dark.svg b/src/ui/images/cardreader_dark.svg deleted file mode 100644 index 8ae67c2b..00000000 --- a/src/ui/images/cardreader_dark.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/ui/images/down.svg b/src/ui/images/down.svg deleted file mode 100644 index b7d64ba7..00000000 --- a/src/ui/images/down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/ui/images/down_dark.svg b/src/ui/images/down_dark.svg deleted file mode 100644 index a7b51e7e..00000000 --- a/src/ui/images/down_dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/ui/images/fatal.svg b/src/ui/images/fatal.svg deleted file mode 100644 index be1109f7..00000000 --- a/src/ui/images/fatal.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/ui/images/fatal_dark.svg b/src/ui/images/fatal_dark.svg deleted file mode 100644 index 16d8f1df..00000000 --- a/src/ui/images/fatal_dark.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/ui/images/id-card-err.svg b/src/ui/images/id-card-err.svg new file mode 100644 index 00000000..1c197f52 --- /dev/null +++ b/src/ui/images/id-card-err.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/ui/images/id-card-err_dark.svg b/src/ui/images/id-card-err_dark.svg new file mode 100644 index 00000000..26361c91 --- /dev/null +++ b/src/ui/images/id-card-err_dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/ui/images/id-card.svg b/src/ui/images/id-card.svg index 56a43e00..8724fb35 100644 --- a/src/ui/images/id-card.svg +++ b/src/ui/images/id-card.svg @@ -1,10 +1,3 @@ - - - - - - - - - - + + + \ No newline at end of file diff --git a/src/ui/images/id-card_dark.svg b/src/ui/images/id-card_dark.svg index 6693a86c..04cb4416 100644 --- a/src/ui/images/id-card_dark.svg +++ b/src/ui/images/id-card_dark.svg @@ -1,10 +1,3 @@ - - - - - - - - - - + + + \ No newline at end of file diff --git a/src/ui/images/lang.svg b/src/ui/images/lang.svg new file mode 100644 index 00000000..2bbe4f86 --- /dev/null +++ b/src/ui/images/lang.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/ui/images/lang_dark.svg b/src/ui/images/lang_dark.svg new file mode 100644 index 00000000..6d8b5f3e --- /dev/null +++ b/src/ui/images/lang_dark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/ui/images/left.svg b/src/ui/images/left.svg deleted file mode 100644 index 7cef74e2..00000000 --- a/src/ui/images/left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/ui/images/no-id-card.svg b/src/ui/images/no-id-card.svg deleted file mode 100644 index e1237f6e..00000000 --- a/src/ui/images/no-id-card.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/ui/images/no-id-card_dark.svg b/src/ui/images/no-id-card_dark.svg deleted file mode 100644 index 25f69f22..00000000 --- a/src/ui/images/no-id-card_dark.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/ui/images/origin.svg b/src/ui/images/origin.svg deleted file mode 100644 index 8ddab408..00000000 --- a/src/ui/images/origin.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/ui/images/origin_dark.svg b/src/ui/images/origin_dark.svg deleted file mode 100644 index 661085f9..00000000 --- a/src/ui/images/origin_dark.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/ui/images/wait.svg b/src/ui/images/wait.svg index 216d4dd9..11a3f4a2 100644 --- a/src/ui/images/wait.svg +++ b/src/ui/images/wait.svg @@ -1,5 +1,5 @@ - - - - - + + + + + \ No newline at end of file diff --git a/src/ui/images/wait_dark.svg b/src/ui/images/wait_dark.svg new file mode 100644 index 00000000..5fffdcbc --- /dev/null +++ b/src/ui/images/wait_dark.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/ui/languageselect.cpp b/src/ui/languageselect.cpp index db3aecef..3e46170c 100644 --- a/src/ui/languageselect.cpp +++ b/src/ui/languageselect.cpp @@ -33,6 +33,7 @@ LanguageSelect::LanguageSelect(QWidget* parent) : QDialog(parent), ui(std::make_unique()) { ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); if (Application::isDarkTheme()) { if (QFile f(QStringLiteral(":dark-languageselect.qss")); f.open(QFile::ReadOnly | QFile::Text)) { diff --git a/src/ui/languageselect.ui b/src/ui/languageselect.ui index 492ffd25..0fc85350 100644 --- a/src/ui/languageselect.ui +++ b/src/ui/languageselect.ui @@ -2,6 +2,9 @@ LanguageSelect + + Qt::WindowModal + 0 diff --git a/src/ui/webeiddialog.cpp b/src/ui/webeiddialog.cpp index 9fdf1f84..d945ef0c 100644 --- a/src/ui/webeiddialog.cpp +++ b/src/ui/webeiddialog.cpp @@ -48,6 +48,11 @@ constexpr inline QLatin1String operator"" _L1(const char* str, size_t size) noex { return QLatin1String(str, int(size)); } + +inline QString operator""_s(const char16_t* str, size_t size) noexcept +{ + return QString(QStringPrivate(nullptr, const_cast(str), qsizetype(size))); +} #else using namespace Qt::Literals::StringLiterals; #endif @@ -70,14 +75,9 @@ WebEidDialog::WebEidDialog(QWidget* parent) : WebEidUI(parent), ui(new Private) ui->setupUi(this); ui->lockedWarning->hide(); if (Application::isDarkTheme()) { - QFile f(QStringLiteral(":dark.qss")); - if (f.open(QFile::ReadOnly | QFile::Text)) { + if (QFile f(u":dark.qss"_s); f.open(QFile::ReadOnly | QFile::Text)) { setStyleSheet(styleSheet() + QTextStream(&f).readAll()); - ui->selectCertificateOriginLabelIcon->setPixmap(pixmap("origin"_L1)); - ui->pinInputOriginLabelIcon->setPixmap(pixmap("origin"_L1)); - ui->cardChipIcon->setPixmap(pixmap("no-id-card"_L1)); - ui->fatalErrorIcon->setPixmap(pixmap("fatal"_L1)); - ui->aboutIcon->setPixmap(pixmap("fatal"_L1)); + ui->cardChipIcon->setPixmap(pixmap("id-card-err"_L1)); } } setWindowFlag(Qt::CustomizeWindowHint); @@ -91,14 +91,21 @@ WebEidDialog::WebEidDialog(QWidget* parent) : WebEidUI(parent), ui(new Private) ui->langButton->setObjectName("langButton"); ui->langButton->setText(tr("EN", "Active language")); ui->langButton->setAccessibleName(tr("English", "Active language accessible")); - connect(ui->langButton, &QToolButton::clicked, this, [this] { LanguageSelect(this).exec(); }); + ui->langButton->setIcon(pixmap("lang"_L1)); + ui->langButton->setIconSize(QSize(20, 20)); + ui->langButton->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + ui->langButton->setCursor(QCursor(Qt::PointingHandCursor)); + ui->langButton->setLayoutDirection(Qt::RightToLeft); + connect(ui->langButton, &QToolButton::clicked, this, + [this] { (new LanguageSelect(this))->open(); }); ui->pinInput->setAttribute(Qt::WA_MacShowFocusRect, false); auto pinInputFont = ui->pinInput->font(); pinInputFont.setLetterSpacing(QFont::AbsoluteSpacing, 2); ui->pinInput->setFont(pinInputFont); - ui->waitingSpinner->load(QStringLiteral(":/images/wait.svg")); + ui->waitingSpinner->load(Application::isDarkTheme() ? u":/images/wait_dark.svg"_s + : u":/images/wait.svg"_s); ui->selectionGroup = new QButtonGroup(this); ui->fatalError->hide(); @@ -289,7 +296,7 @@ void WebEidDialog::onMultipleCertificatesReady( qobject_cast(ui->selectionGroup->checkedButton())) { emit accepted(button->certificateInfo()); } else { - emit failure(QStringLiteral("CertificateButton not found")); + emit failure(u"CertificateButton not found"_s); } }); ui->pageStack->setCurrentIndex(int(Page::SELECT_CERTIFICATE)); @@ -310,14 +317,13 @@ void WebEidDialog::onMultipleCertificatesReady( qobject_cast(ui->selectionGroup->checkedButton())) { onSingleCertificateReady(origin, button->certificateInfo()); } else { - emit failure(QStringLiteral("CertificateButton not found")); + emit failure(u"CertificateButton not found"_s); } }); ui->pageStack->setCurrentIndex(int(Page::SELECT_CERTIFICATE)); break; default: - emit failure(QStringLiteral("Command %1 not allowed here") - .arg(QString::fromStdString(currentCommand))); + emit failure("Command %1 not allowed here"_L1.arg(QString::fromStdString(currentCommand))); } } @@ -373,7 +379,7 @@ void WebEidDialog::onSingleCertificateReady(const QUrl& origin, : QT_TR_NOOP("Enter PIN2 for signing")); break; default: - emit failure(QStringLiteral("Only SELECT_CERTIFICATE, AUTHENTICATE or SIGN allowed")); + emit failure(u"Only SELECT_CERTIFICATE, AUTHENTICATE or SIGN allowed"_s); return; } @@ -486,7 +492,7 @@ void WebEidDialog::onRetryImpl(Text text) { setTrText(ui->connectCardLabel, std::forward(text)); setTrText(ui->messagePageTitleLabel, QT_TR_NOOP("Operation failed")); - ui->cardChipIcon->setPixmap(pixmap("no-id-card"_L1)); + ui->cardChipIcon->setPixmap(pixmap("id-card-err"_L1)); setupOK(&WebEidDialog::retry, QT_TR_NOOP("Try again"), true); ui->pageStack->setCurrentIndex(int(Page::ALERT)); } @@ -684,8 +690,8 @@ void WebEidDialog::resizeHeight() QPixmap WebEidDialog::pixmap(QLatin1String name) { - return {QStringLiteral(":/images/%1%2.svg") - .arg(name, Application::isDarkTheme() ? "_dark"_L1 : QLatin1String())}; + return {":/images/%1%2.svg"_L1.arg(name, + Application::isDarkTheme() ? "_dark"_L1 : QLatin1String())}; } constexpr std::tuple @@ -696,73 +702,73 @@ WebEidDialog::retriableErrorToTextTitleAndIcon(const RetriableError error) noexc return { QT_TR_NOOP("The smart card service required to use the ID-card is not running. Please " "start the smart card service and try again."), - QT_TR_NOOP("Launch the Smart Card service"), "cardreader"_L1}; + QT_TR_NOOP("Launch the Smart Card service"), "id-card-err"_L1}; case RetriableError::NO_SMART_CARD_READERS_FOUND: return {QT_TR_NOOP("Card reader not connected. Please connect the card reader to " "the computer."), - QT_TR_NOOP("Connect the card reader"), "cardreader"_L1}; + QT_TR_NOOP("Connect the card reader"), "id-card-err"_L1}; case RetriableError::NO_SMART_CARDS_FOUND: case RetriableError::PKCS11_TOKEN_NOT_PRESENT: return {QT_TR_NOOP("ID-card not found. Please insert the ID-card into the reader."), - QT_TR_NOOP("Insert the ID-card"), "no-id-card"_L1}; + QT_TR_NOOP("Insert the ID-card"), "id-card-err"_L1}; case RetriableError::SMART_CARD_WAS_REMOVED: case RetriableError::PKCS11_TOKEN_REMOVED: return {QT_TR_NOOP( "The ID-card was removed from the reader. Please insert the ID-card into the " "reader."), - QT_TR_NOOP("Insert the ID-card"), "no-id-card"_L1}; + QT_TR_NOOP("Insert the ID-card"), "id-card-err"_L1}; case RetriableError::SMART_CARD_TRANSACTION_FAILED: return { QT_TR_NOOP( "Operation failed. Make sure that the ID-card and the card reader are connected " "correctly."), - QT_TR_NOOP("Check the ID-card and the reader connection"), "no-id-card"_L1}; + QT_TR_NOOP("Check the ID-card and the reader connection"), "id-card-err"_L1}; case RetriableError::FAILED_TO_COMMUNICATE_WITH_CARD_OR_READER: return { QT_TR_NOOP( "Connection to the ID-card or reader failed. Make sure that the ID-card and the " "card reader are connected correctly."), - QT_TR_NOOP("Check the ID-card and the reader connection"), "no-id-card"_L1}; + QT_TR_NOOP("Check the ID-card and the reader connection"), "id-card-err"_L1}; case RetriableError::SMART_CARD_CHANGE_REQUIRED: return { QT_TR_NOOP( "The desired operation cannot be performed with the inserted ID-card. Make sure " "that the ID-card is supported by the Web eID application."), - QT_TR_NOOP("Operation not supported"), "no-id-card"_L1}; + QT_TR_NOOP("Operation not supported"), "id-card-err"_L1}; case RetriableError::SMART_CARD_COMMAND_ERROR: return {QT_TR_NOOP("Error communicating with the card."), QT_TR_NOOP("Operation failed"), - "no-id-card"_L1}; + "id-card-err"_L1}; case RetriableError::PKCS11_ERROR: return {QT_TR_NOOP("Card driver error. Please try again."), QT_TR_NOOP("Card driver error"), - "no-id-card"_L1}; + "id-card-err"_L1}; case RetriableError::SCARD_ERROR: return {QT_TR_NOOP( "An error occurred in the Smart Card service required to use the ID-card. Make " "sure that the ID-card and the card reader are connected correctly or relaunch " "the Smart Card service."), - QT_TR_NOOP("Operation failed"), "no-id-card"_L1}; + QT_TR_NOOP("Operation failed"), "id-card-err"_L1}; case RetriableError::UNSUPPORTED_CARD: return { QT_TR_NOOP( "The card in the reader is not supported. Make sure that the entered ID-card is " "supported by the Web eID application."), - QT_TR_NOOP("Operation not supported"), "no-id-card"_L1}; + QT_TR_NOOP("Operation not supported"), "id-card-err"_L1}; case RetriableError::NO_VALID_CERTIFICATE_AVAILABLE: return {QT_TR_NOOP( "The inserted ID-card does not contain a certificate for the requested " "operation. Please insert an ID-card that supports the requested operation."), - QT_TR_NOOP("Operation not supported"), "no-id-card"_L1}; + QT_TR_NOOP("Operation not supported"), "id-card-err"_L1}; case RetriableError::PIN_VERIFY_DISABLED: return { @@ -771,11 +777,11 @@ WebEidDialog::retriableErrorToTextTitleAndIcon(const RetriableError error) noexc "used. Read more here."), - QT_TR_NOOP("Card driver error"), "cardreader"_L1}; + QT_TR_NOOP("Card driver error"), "id-card-err"_L1}; case RetriableError::UNKNOWN_ERROR: - return {QT_TR_NOOP("Unknown error"), QT_TR_NOOP("Unknown error"), "no-id-card"_L1}; + return {QT_TR_NOOP("Unknown error"), QT_TR_NOOP("Unknown error"), "id-card-err"_L1}; } - return {QT_TR_NOOP("Unknown error"), QT_TR_NOOP("Unknown error"), "no-id-card"_L1}; + return {QT_TR_NOOP("Unknown error"), QT_TR_NOOP("Unknown error"), "id-card-err"_L1}; }