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: 4 additions & 0 deletions src/ui/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
add_library(ui STATIC
certificatewidget.cpp
certificatewidget.hpp
languageselect.cpp
languageselect.hpp
languageselect.ui
punycode.hpp
ui.cpp
webeiddialog.cpp
Expand All @@ -12,6 +15,7 @@ file(GLOB FONTS fonts/*.ttf)
qt_add_resources(ui resources BASE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX / FILES
../../install/appicon_128.png
dark.qss
languageselect.qss
${IMAGES}
${FONTS}
)
Expand Down
35 changes: 1 addition & 34 deletions src/ui/certificatewidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,29 +44,23 @@ 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,14 +80,6 @@ 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"));
Expand All @@ -113,7 +99,6 @@ void CertificateWidgetInfo::setCertificateInfo(const EidCertificateAndPinInfo& c
.arg(subject, issuer, effectiveDate, expiryDate, warning));
info->parentWidget()->setDisabled(certInfo.notEffective || certInfo.isExpired
|| cardCertPinInfo.pinInfo.pinIsBlocked());
warnIcon->setVisible(warning.isEmpty() && cardCertPinInfo.pinInfo.pinIsBlocked());
warn->setVisible(warning.isEmpty() && cardCertPinInfo.pinInfo.pinIsBlocked());
}

Expand All @@ -127,15 +112,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 +132,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;
};
41 changes: 4 additions & 37 deletions src/ui/dark.qss
Original file line number Diff line number Diff line change
Expand Up @@ -3,51 +3,18 @@ background-color: #232325;
color: white;
}
QPushButton {
border-color: #4E4E53;
background-color: #4E4E53;
}
QPushButton::disabled {
border-color: #27272A;
background-color: #27272A;
}
QPushButton::hover {
background-color: #76767B;
border-color: #76767B;
}
QPushButton::focus {
background-color: #76767B;
border-color: #DEDEDE;
color: #FF5C79;
border-color: #FF5C79;
}
QPushButton:default {
background-color: #113F8E;
border-color: #113F8E;
}
QPushButton:default::disabled {
background-color: #15213E;
border-color: #15213E;
}
QPushButton:default::hover {
background-color: #008EEA;
border-color: #008EEA;
}
QPushButton:default::focus {
background-color: #008EEA;
border-color: #DEDEDE;
QPushButton:hover, QPushButton:pressed {
background-color: #232325;
}
#langButton {
color: #FFFFFF;
background-image: url(:images/down_dark.svg);
}
#langButton::hover {
background-color: #4E4E53;
}
#langMenu {
border-color: #4E4E53;
background-color: #4E4E53;
}
#langMenu > QPushButton {
color: #FFFFFF;
}
CertificateButton, CertificateWidget {
border-color: #4E4E53;
}
Expand Down
Loading