Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions src/controller/utils/utils.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -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) \
Expand Down
52 changes: 11 additions & 41 deletions src/ui/certificatewidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,29 +44,18 @@ 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);
layout->setContentsMargins(20, 0, 20, 0);
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);
}
Expand All @@ -86,21 +75,15 @@ std::tuple<QString, QString, QString, QString> 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"));
certAndPinInfo = cardCertPinInfo;
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)"));
Expand All @@ -111,10 +94,15 @@ void CertificateWidgetInfo::setCertificateInfo(const EidCertificateAndPinInfo& c
}
info->setText(CertificateWidget::tr("<b>%1</b><br />Issuer: %2<br />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()
Expand All @@ -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<QLabel*>(object) && event->type() == QEvent::Paint) {
drawWarnIcon();
return true;
}
return QWidget::eventFilter(object, event);
}

void CertificateWidget::paintEvent(QPaintEvent* /*event*/)
{
QPainter p(this);
Expand All @@ -156,15 +135,6 @@ CertificateButton::CertificateButton(const EidCertificateAndPinInfo& cardCertPin
setCertificateInfo(cardCertPinInfo);
}

bool CertificateButton::eventFilter(QObject* object, QEvent* event)
{
if (qobject_cast<QLabel*>(object) && event->type() == QEvent::Paint) {
drawWarnIcon();
return true;
}
return QAbstractButton::eventFilter(object, event);
}

void CertificateButton::setCertificateInfo(const EidCertificateAndPinInfo& cardCertPinInfo)
{
CertificateWidgetInfo::setCertificateInfo(cardCertPinInfo);
Expand Down
4 changes: 0 additions & 4 deletions src/ui/certificatewidget.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,10 @@ class CertificateWidgetInfo
explicit CertificateWidgetInfo(QWidget* self);
Q_DISABLE_COPY_MOVE(CertificateWidgetInfo)

void drawWarnIcon();
std::tuple<QString, QString, QString, QString> certData() const;

QLabel* icon;
QLabel* info;
QLabel* warnIcon;
QLabel* warn;
EidCertificateAndPinInfo certAndPinInfo;
};
Expand All @@ -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;
};

Expand All @@ -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;
};
1 change: 0 additions & 1 deletion src/ui/dark.qss
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ background-color: #232325;
}
#langButton {
color: #FFFFFF;
background-image: url(:images/down_dark.svg);
}
#langButton::hover {
background-color: #4E4E53;
Expand Down
110 changes: 19 additions & 91 deletions src/ui/dialog.ui
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -311,20 +301,20 @@ border-radius: 4px;</string>
<item>
<layout class="QHBoxLayout" name="messageInfoLayout" stretch="0,1">
<property name="spacing">
<number>20</number>
<number>10</number>
</property>
<item alignment="Qt::AlignTop">
<widget class="QLabel" name="cardChipIcon">
<property name="minimumSize">
<size>
<width>50</width>
<height>32</height>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>50</width>
<height>32</height>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="pixmap">
Expand All @@ -349,7 +339,7 @@ border-radius: 4px;</string>
</item>
<item>
<widget class="QWidget" name="fatalError" native="true">
<layout class="QHBoxLayout" name="horizontalLayout" stretch="0,1">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>8</number>
</property>
Expand All @@ -365,13 +355,6 @@ border-radius: 4px;</string>
<property name="bottomMargin">
<number>10</number>
</property>
<item>
<widget class="QLabel" name="fatalErrorIcon">
<property name="pixmap">
<pixmap resource="web-eid-resources.qrc">:/images/fatal.svg</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="fatalErrorLabel">
<property name="focusPolicy">
Expand Down Expand Up @@ -441,14 +424,11 @@ border-radius: 4px;</string>
</widget>
</item>
<item>
<layout class="QGridLayout" name="selectCertificateLabelLayout" columnstretch="0,1">
<property name="horizontalSpacing">
<number>9</number>
</property>
<property name="verticalSpacing">
<layout class="QVBoxLayout" name="selectCertificateLabelLayout">
<property name="spacing">
<number>10</number>
</property>
<item row="0" column="0" colspan="2">
<item>
<widget class="QLabel" name="selectCertificateDescriptionLabel">
<property name="minimumSize">
<size>
Expand All @@ -470,14 +450,7 @@ border-radius: 4px;</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="selectCertificateOriginLabelIcon">
<property name="pixmap">
<pixmap resource="web-eid-resources.qrc">:/images/origin.svg</pixmap>
</property>
</widget>
</item>
<item row="1" column="1">
<item>
<widget class="QLabel" name="selectCertificateOriginLabel">
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
Expand Down Expand Up @@ -526,14 +499,11 @@ border-radius: 4px;</string>
</widget>
</item>
<item>
<layout class="QGridLayout" name="pinInputLabelLayout" columnstretch="0,1">
<property name="horizontalSpacing">
<layout class="QVBoxLayout" name="pinInputLabelLayout">
<property name="spacing">
<number>10</number>
</property>
<property name="verticalSpacing">
<number>9</number>
</property>
<item row="0" column="0" colspan="2">
<item>
<widget class="QLabel" name="pinInputDescriptionLabel">
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
Expand All @@ -546,14 +516,7 @@ border-radius: 4px;</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="pinInputOriginLabelIcon">
<property name="pixmap">
<pixmap resource="web-eid-resources.qrc">:/images/origin.svg</pixmap>
</property>
</widget>
</item>
<item row="1" column="1">
<item>
<widget class="QLabel" name="pinInputOriginLabel">
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
Expand Down Expand Up @@ -581,19 +544,6 @@ border-radius: 4px;</string>
<property name="text">
<string>Select another certificate</string>
</property>
<property name="icon">
<iconset resource="web-eid-resources.qrc">
<normaloff>:/images/left.svg</normaloff>:/images/left.svg</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
</widget>
</item>
<item row="1" column="1">
Expand Down Expand Up @@ -770,14 +720,11 @@ border-radius: 4px;</string>
</item>
<item>
<widget class="QWidget" name="aboutContent" native="true">
<layout class="QGridLayout" name="aboutContentLayout">
<property name="horizontalSpacing">
<number>10</number>
</property>
<property name="verticalSpacing">
<layout class="QVBoxLayout" name="aboutContentLayout">
<property name="spacing">
<number>20</number>
</property>
<item row="1" column="1">
<item>
<widget class="QLabel" name="aboutAlert">
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
Expand All @@ -790,7 +737,7 @@ border-radius: 4px;</string>
</property>
</widget>
</item>
<item row="0" column="1">
<item>
<widget class="QLabel" name="aboutText">
<property name="focusPolicy">
<enum>Qt::TabFocus</enum>
Expand All @@ -803,25 +750,6 @@ border-radius: 4px;</string>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="QLabel" name="aboutIcon">
<property name="minimumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="pixmap">
<pixmap resource="web-eid-resources.qrc">:/images/fatal.svg</pixmap>
</property>
</widget>
</item>
</layout>
</widget>
</item>
Expand Down
4 changes: 0 additions & 4 deletions src/ui/images/cardreader.svg

This file was deleted.

5 changes: 0 additions & 5 deletions src/ui/images/cardreader_dark.svg

This file was deleted.

3 changes: 0 additions & 3 deletions src/ui/images/down.svg

This file was deleted.

3 changes: 0 additions & 3 deletions src/ui/images/down_dark.svg

This file was deleted.

3 changes: 0 additions & 3 deletions src/ui/images/fatal.svg

This file was deleted.

3 changes: 0 additions & 3 deletions src/ui/images/fatal_dark.svg

This file was deleted.

Loading
Loading