diff --git a/client/DigiDoc.cpp b/client/DigiDoc.cpp index 8409b55b4..f11fea897 100644 --- a/client/DigiDoc.cpp +++ b/client/DigiDoc.cpp @@ -109,20 +109,15 @@ bool DigiDocSignature::isInvalid() const QString DigiDocSignature::lastError() const { return m_lastError; } -QString DigiDocSignature::location() const -{ - QStringList l = locations(); - l.removeAll({}); - return l.join(QStringLiteral(", ")); -} - -QStringList DigiDocSignature::locations() const +DigiDocSignature::Location DigiDocSignature::location() const { return { - from( s->city() ).trimmed(), - from( s->stateOrProvince() ).trimmed(), - from( s->postalCode() ).trimmed(), - from( s->countryName() ).trimmed()}; + from(s->city()).trimmed(), + from(s->stateOrProvince()).trimmed(), + from(s->postalCode()).trimmed(), + from(s->countryName()).trimmed(), + from(s->streetAddress()).trimmed(), + }; } QByteArray DigiDocSignature::messageImprint() const diff --git a/client/DigiDoc.h b/client/DigiDoc.h index 739deede2..1ca0df0f1 100644 --- a/client/DigiDoc.h +++ b/client/DigiDoc.h @@ -46,6 +46,14 @@ class DigiDocSignature { DigestWeak = 1 << 2 }; + struct Location + { + QString city; + QString stateOrProvince; + QString postalCode; + QString countryName; + QString streetAddress; + }; DigiDocSignature(const digidoc::Signature *signature = {}, const DigiDoc *parent = {}, bool isTimeStamped = false); QSslCertificate cert() const; @@ -53,8 +61,7 @@ class DigiDocSignature const DigiDoc *container() const; bool isInvalid() const; QString lastError() const; - QString location() const; - QStringList locations() const; + Location location() const; QByteArray messageImprint() const; QSslCertificate ocspCert() const; QDateTime ocspTime() const; diff --git a/client/PrintSheet.cpp b/client/PrintSheet.cpp index 74f2e7d19..bf2741177 100644 --- a/client/PrintSheet.cpp +++ b/client/PrintSheet.cpp @@ -162,7 +162,10 @@ PrintSheet::PrintSheet( DigiDoc *doc, QPrinter *printer ) } customText( tr("VALIDITY OF SIGNATURE"), valid ); customText( tr("ROLE / RESOLUTION"), sig.role() ); - customText( tr("PLACE OF CONFIRMATION (CITY, STATE, ZIP, COUNTRY)"), sig.location() ); + const auto l = sig.location(); + QStringList location{l.city, l.streetAddress, l.stateOrProvince, l.postalCode, l.countryName}; + location.removeAll({}); + customText(tr("PLACE OF CONFIRMATION (CITY, STREET, STATE, ZIP, COUNTRY)"), location.join(QStringLiteral(", "))); customText( tr("SERIAL NUMBER OF SIGNER CERTIFICATE"), cert.serialNumber() ); newPage( 50 ); @@ -172,10 +175,10 @@ PrintSheet::PrintSheet( DigiDoc *doc, QPrinter *printer ) int issuerHeight = drawTextRect( QRect( left, top, 200, 20 ), cert.issuerInfo( QSslCertificate::CommonName ) ); drawTextRect( QRect( left+200, top, right - left - 200, issuerHeight ), - SslCertificate::toHex(cert.authorityKeyIdentifier())); + cert.authorityKeyIdentifier().toHex(' ').toUpper()); top += 20 + issuerHeight; - customText(tr("HASH VALUE OF SIGNATURE"), SslCertificate::toHex(sig.messageImprint())); + customText(tr("HASH VALUE OF SIGNATURE"), sig.messageImprint().toHex(' ').toUpper()); top += 15; } save(); diff --git a/client/SslCertificate.cpp b/client/SslCertificate.cpp index f43e29df3..18bc7628c 100644 --- a/client/SslCertificate.cpp +++ b/client/SslCertificate.cpp @@ -281,11 +281,6 @@ QByteArray SslCertificate::subjectKeyIdentifier() const return !id ? QByteArray() : toQByteArray(id); } -QByteArray SslCertificate::toHex(const QByteArray &in, char separator) -{ - return in.toHex(separator).toUpper(); -} - QString SslCertificate::toString( const QString &format ) const { static const QRegularExpression r(QStringLiteral("[a-zA-Z]+")); diff --git a/client/SslCertificate.h b/client/SslCertificate.h index 66e87eb02..49d2c49d4 100644 --- a/client/SslCertificate.h +++ b/client/SslCertificate.h @@ -101,7 +101,6 @@ class SslCertificate: public QSslCertificate bool showCN() const; QString signatureAlgorithm() const; QByteArray subjectKeyIdentifier() const; - static QByteArray toHex(const QByteArray &in, char separator = ' '); QString toString( const QString &format ) const; CertType type() const; Validity validateOnline() const; diff --git a/client/dialogs/CertificateDetails.ui b/client/dialogs/CertificateDetails.ui index 6b43af9af..c9f0ac175 100644 --- a/client/dialogs/CertificateDetails.ui +++ b/client/dialogs/CertificateDetails.ui @@ -18,6 +18,50 @@ font-family: Roboto, Helvetica; font-size: 14px; } +QScrollBar { +border: none; +background: transparent; +} +QScrollBar:vertical { +width: 12px; +padding: 4px 4px 4px 0px; +margin: 0px; +} +QScrollBar:horizontal { +height: 10px; +padding: 0px 4px 4px 4px; +margin: 0px; +} +QScrollBar::handle:vertical { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 4px; +min-height: 16px; +} +QScrollBar::handle:horizontal { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 3px; +min-width: 16px; +} +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { +height: 0px; +border: none; +background: none; +} +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { +width: 0px; +border: none; +background: none; +} +QScrollBar::add-page, +QScrollBar::sub-page { +background: transparent; +} #CertificateDetails { background-color: #FFFFFF; border-radius: 4px; @@ -118,15 +162,25 @@ font-size: 22px; QTableWidget { background-color: #FFFFFF; } +QTableWidget::item { +padding: 0px 12px; +} QTableWidget::item:selected { -background-color: #E7EAEF; +background-color: #EAF1F8; color: #07142A; } QHeaderView::section { -border: 1px solid #E7EAEF; -border-width: 0px 0px 1px 0px; -padding: 0px 0px 8px 5px; -background-color: #FFFFFF; +border: none; +padding: 8px 12px; +background-color: #F5F5F5; +} +QHeaderView::section:first { +border-top-left-radius: 8px; +border-bottom-left-radius: 8px; +} +QHeaderView::section:last { +border-top-right-radius: 8px; +border-bottom-right-radius: 8px; } diff --git a/client/dialogs/CertificateHistory.ui b/client/dialogs/CertificateHistory.ui index f0a5650f3..3f736b81c 100644 --- a/client/dialogs/CertificateHistory.ui +++ b/client/dialogs/CertificateHistory.ui @@ -22,6 +22,50 @@ color: #07142A; font-family: Roboto, Helvetica; font-size: 14px; } +QScrollBar { +border: none; +background: transparent; +} +QScrollBar:vertical { +width: 12px; +padding: 4px 4px 4px 0px; +margin: 0px; +} +QScrollBar:horizontal { +height: 10px; +padding: 0px 4px 4px 4px; +margin: 0px; +} +QScrollBar::handle:vertical { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 4px; +min-height: 16px; +} +QScrollBar::handle:horizontal { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 3px; +min-width: 16px; +} +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { +height: 0px; +border: none; +background: none; +} +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { +width: 0px; +border: none; +background: none; +} +QScrollBar::add-page, +QScrollBar::sub-page { +background: transparent; +} #label { color: #003168; font-size: 20px; @@ -77,16 +121,27 @@ font-size: 12px; color: #07142A; background-color: #FFFFFF; } +QTreeWidget::item { +padding: 0px 12px; +} +QTreeWidget::item:selected { +background-color: #EAF1F8; +color: #07142A; +} QHeaderView::section { font-family: Roboto, Helvetica; font-size: 14px; border: none; -border-bottom: 1px solid #E7EAEF; -background-color: #FFFFFF; +padding: 8px 12px; +background-color: #F5F5F5; } -QTreeWidget::item:selected { -background-color: #E7EAEF; -color: #07142A; +QHeaderView::section:first { +border-top-left-radius: 8px; +border-bottom-left-radius: 8px; +} +QHeaderView::section:last { +border-top-right-radius: 8px; +border-bottom-right-radius: 8px; } QHeaderView::up-arrow, QHeaderView::down-arrow { @@ -94,7 +149,7 @@ QHeaderView::down-arrow { subcontrol-position: center right; height: 7px; width: 7px; - padding-right: 5px; + padding-right: 12px; } diff --git a/client/dialogs/KeyDialog.ui b/client/dialogs/KeyDialog.ui index ea07b4dd8..811b9db38 100644 --- a/client/dialogs/KeyDialog.ui +++ b/client/dialogs/KeyDialog.ui @@ -25,15 +25,53 @@ color: #07142A; font-family: Roboto, Helvetica; font-size: 14px; } -#KeyDialog { -background-color: #FFFFFF; +QScrollBar { +border: none; +background: transparent; +} +QScrollBar:vertical { +width: 12px; +padding: 4px 4px 4px 0px; +margin: 0px; +} +QScrollBar:horizontal { +height: 10px; +padding: 0px 4px 4px 4px; +margin: 0px; +} +QScrollBar::handle:vertical { +background-color: #B5BFCF; +border: none; +margin: 0px; border-radius: 4px; +min-height: 16px; } -QHeaderView::section { -border: 1px solid #E7EAEF; -border-width: 0px 0px 1px 0px; -padding: 0px 0px 8px 5px; +QScrollBar::handle:horizontal { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 3px; +min-width: 16px; +} +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { +height: 0px; +border: none; +background: none; +} +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { +width: 0px; +border: none; +background: none; +} +QScrollBar::add-page, +QScrollBar::sub-page { +background: transparent; +} +#KeyDialog { background-color: #FFFFFF; +border-radius: 4px; } QPushButton { padding: 12px 12px; @@ -85,7 +123,29 @@ background-color: #82A9D3; - QWidget { background-color: #FFFFFF; } + QTreeWidget { +background-color: #FFFFFF; +} +QTreeWidget::item { +padding: 0px 12px; +} +QTreeWidget::item:selected { +background-color: #EAF1F8; +color: #07142A; +} +QHeaderView::section { +border: none; +padding: 8px 12px; +background-color: #F5F5F5; +} +QHeaderView::section:first { +border-top-left-radius: 8px; +border-bottom-left-radius: 8px; +} +QHeaderView::section:last { +border-top-right-radius: 8px; +border-bottom-right-radius: 8px; +} QFrame::NoFrame diff --git a/client/dialogs/SettingsDialog.ui b/client/dialogs/SettingsDialog.ui index 2ba5e1862..ecfeae0af 100644 --- a/client/dialogs/SettingsDialog.ui +++ b/client/dialogs/SettingsDialog.ui @@ -31,6 +31,50 @@ color: #07142A; font-family: Roboto, Helvetica; font-size: 14px; } +QScrollBar { +border: none; +background: transparent; +} +QScrollBar:vertical { +width: 12px; +padding: 4px 4px 4px 0px; +margin: 0px; +} +QScrollBar:horizontal { +height: 10px; +padding: 0px 4px 4px 4px; +margin: 0px; +} +QScrollBar::handle:vertical { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 4px; +min-height: 16px; +} +QScrollBar::handle:horizontal { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 3px; +min-width: 16px; +} +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { +height: 0px; +border: none; +background: none; +} +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { +width: 0px; +border: none; +background: none; +} +QScrollBar::add-page, +QScrollBar::sub-page { +background: transparent; +} #lblMenuSettings, #lblGeneralLang, #lblDefaultDirectory, #lblTimeStamp, #lblMID, #lblSiVa, #pageEncryptionLabel, #pageProxyLabel { color: #003168; font-weight: 700; @@ -1555,24 +1599,6 @@ max-height: 22px; color: #07142A; background: #FFFFFF; border-bottom: 1px solid #E7EAEF; -} -QScrollBar { -width: 10px; -padding: 5px 5px 5px 0px; -margin: 2px 0px 2px 0px; -border: none; -background: #FFFFFF; -} -QScrollBar::handle:vertical { -background-color: #C4CBD8; -margin: 0px; -border-radius: 2px; -height: 145px; -} -QScrollBar::add-line:vertical, -QScrollBar::sub-line:vertical { -border: none; -background: none; } @@ -1658,24 +1684,6 @@ Additional licenses and components QTextEdit { color: #07142A; background: #FFFFFF; -} -QScrollBar { -width: 10px; -padding: 5px 5px 5px 0px; -margin: 2px 0px 2px 0px; -border: none; -background: #FFFFFF; -} -QScrollBar::handle:vertical { -background-color: #C4CBD8; -margin: 0px; -border-radius: 2px; -height: 145px; -} -QScrollBar::add-line:vertical, -QScrollBar::sub-line:vertical { -border: none; -background: none; } diff --git a/client/dialogs/SignatureDialog.cpp b/client/dialogs/SignatureDialog.cpp index 3b90f2ff9..6c42f872e 100644 --- a/client/dialogs/SignatureDialog.cpp +++ b/client/dialogs/SignatureDialog.cpp @@ -27,6 +27,7 @@ #include "effects/Overlay.h" #include +#include SignatureDialog::SignatureDialog(const DigiDocSignature &signature, QWidget *parent) : QDialog( parent ) @@ -38,11 +39,11 @@ SignatureDialog::SignatureDialog(const DigiDocSignature &signature, QWidget *par setWindowFlags(windowFlags()|Qt::FramelessWindowHint); d->showErrors->hide(); d->error->hide(); - connect(d->showErrors, &AccordionTitle::toggled, d->showRole, [this](bool open) { + connect(d->showErrors, &QCheckBox::toggled, d->showRole, [this](bool open) { d->showRole->setChecked(!open); d->error->setVisible(open && !d->showErrors->isHidden()); }); - connect(d->showRole, &AccordionTitle::toggled, d->showErrors, [this](bool open) { + connect(d->showRole, &QCheckBox::toggled, d->showErrors, [this](bool open) { d->showErrors->setChecked(!open); d->role->setVisible(open); }); @@ -119,27 +120,48 @@ SignatureDialog::SignatureDialog(const DigiDocSignature &signature, QWidget *par d->title->setText(!c.isNull() ? c.toString(c.showCN() ? QStringLiteral("CN serialNumber") : QStringLiteral("GN SN serialNumber")) : s.signedBy()); connect(d->close, &QPushButton::clicked, this, &SignatureDialog::accept); - const QStringList l = s.locations(); - d->signerCity->setText( l.value( 0 ) ); - d->signerState->setText( l.value( 1 ) ); - d->signerZip->setText( l.value( 2 ) ); - d->signerCountry->setText( l.value( 3 ) ); + const auto l = s.location(); + auto setAddress = [](QTextEdit *field, const QString &value) { + field->setPlainText(value.simplified()); + QTextFrameFormat format = field->document()->rootFrame()->frameFormat(); + format.setLeftMargin(13); + format.setTopMargin(8); + format.setRightMargin(13); + format.setBottomMargin(0); + field->document()->rootFrame()->setFrameFormat(format); + field->moveCursor(QTextCursor::Start); + }; + setAddress(d->signerCity, l.city); + setAddress(d->signerState, l.stateOrProvince); + setAddress(d->signerZip, l.postalCode); + setAddress(d->signerCountry, l.countryName); + setAddress(d->signerStreet, l.streetAddress); - d->signerRoles->setText(s.roles().join(QStringLiteral(", "))); - auto setFocus = [](QLabel *lbl, QLabel *cnt) { - lbl->setFocusPolicy(cnt->text().isEmpty() ? Qt::NoFocus : Qt::TabFocus); - cnt->setFocusPolicy(cnt->text().isEmpty() ? Qt::NoFocus : Qt::TabFocus); + const QString roles = s.roles().join(QStringLiteral(", ")); + d->signerRoles->setPlainText(roles); + QTextFrameFormat roleFormat = d->signerRoles->document()->rootFrame()->frameFormat(); + roleFormat.setLeftMargin(13); + roleFormat.setTopMargin(9); + roleFormat.setRightMargin(13); + roleFormat.setBottomMargin(9); + d->signerRoles->document()->rootFrame()->setFrameFormat(roleFormat); + auto setFocus = [](QLabel *lbl, QWidget *cnt, const QString &text) { + auto policy = text.isEmpty() ? Qt::NoFocus : Qt::TabFocus; + lbl->setFocusPolicy(policy); + cnt->setFocusPolicy(policy); }; - setFocus(d->labelCity, d->signerCity); - setFocus(d->labelState, d->signerState); - setFocus(d->labelCountry, d->signerCountry); - setFocus(d->labelZip, d->signerZip); - setFocus(d->labelRoles, d->signerRoles); + setFocus(d->labelRoles, d->signerRoles, roles); + setFocus(d->labelStreet, d->signerStreet, l.streetAddress); + setFocus(d->labelCity, d->signerCity, l.city); + setFocus(d->labelState, d->signerState, l.stateOrProvince); + setFocus(d->labelCountry, d->signerCountry, l.countryName); + setFocus(d->labelZip, d->signerZip, l.postalCode); // Certificate info QTreeWidget *t = d->signatureView; + t->header()->setFixedHeight(34); t->header()->setSectionResizeMode(0, QHeaderView::Fixed); - t->header()->resizeSection(0, 244); + t->header()->resizeSection(0, 270); auto addCert = [this](QTreeWidget *t, const QString &title, const QString &title2, const QSslCertificate &cert) { if(cert.isNull()) @@ -191,6 +213,7 @@ void SignatureDialog::addItem(QTreeWidget *view, const QString &variable, QWidge { auto *i = new QTreeWidgetItem(view); QLabel *header = itemLabel(variable, view); + header->setProperty("attributeColumn", true); view->setItemWidget(i, 0, header); view->setItemWidget(i, 1, value); view->addTopLevelItem(i); diff --git a/client/dialogs/SignatureDialog.ui b/client/dialogs/SignatureDialog.ui index f3d658bb1..fd9b2bb6d 100644 --- a/client/dialogs/SignatureDialog.ui +++ b/client/dialogs/SignatureDialog.ui @@ -9,8 +9,8 @@ 0 0 - 1090 - 816 + 1204 + 718 @@ -19,9 +19,70 @@ font-family: Roboto, Helvetica; font-size: 14px; color: #07142A; } +QCheckBox { +border-right: none; /*Workaround for right padding*/ +color: #2F70B6; +font-family: Roboto, Helvetica; +font-size: 16px; +font-weight: 700; +} +QCheckBox::indicator { +width: 24px; +height: 24px; +} +QCheckBox::indicator:checked { +image: url(:/images/accordion_arrow_down.svg); +} +QCheckBox::indicator:unchecked { +image: url(:/images/accordion_arrow_right.svg); +} +QScrollBar { +border: none; +background: transparent; +} +QScrollBar:vertical { +width: 12px; +padding: 4px 4px 4px 0px; +margin: 0px; +} +QScrollBar:horizontal { +height: 10px; +padding: 0px 4px 4px 4px; +margin: 0px; +} +QScrollBar::handle:vertical { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 4px; +min-height: 16px; +} +QScrollBar::handle:horizontal { +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 3px; +min-width: 16px; +} +QScrollBar::add-line:vertical, +QScrollBar::sub-line:vertical { +height: 0px; +border: none; +background: none; +} +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { +width: 0px; +border: none; +background: none; +} +QScrollBar::add-page, +QScrollBar::sub-page { +background: transparent; +} #SignatureDialog { background-color: #FFFFFF; -border-radius: 4px; +border-radius: 8px; } #lblSignerHeader, #lblSignatureHeader { font-size: 22px; @@ -50,7 +111,7 @@ color: #1A641B; background-color: #EAF8EA; } - + QLayout::SetFixedSize @@ -75,13 +136,13 @@ background-color: #EAF8EA; #leftPane { border-right: 1px solid #E7EAEF; } -#signerCity, #signerCountry, #signerState, #signerZip, #signerRoles { +#role > QTextEdit { font-size: 16px; color: #607496; border: 1px solid #C4CBD8; -border-radius: 4px; +border-radius: 8px; background-color: #F3F5F7; -padding: 10px 14px; +padding: 0px; } #showErrors, #showRole { border-right: none; /*Workaround for right padding*/ @@ -107,7 +168,7 @@ border-right: none; /*Workaround for right padding*/ - 506 + 554 0 @@ -155,7 +216,7 @@ border-right: none; /*Workaround for right padding*/ - + 0 @@ -178,26 +239,6 @@ border-right: none; /*Workaround for right padding*/ 0 - - QScrollBar { -width: 10px; -padding: 5px 5px 5px 0px; -margin: 2px 0px 2px 0; -border: none; -background: #FFFFFF; -} -QScrollBar::handle:vertical { -background-color: #C4CBD8; -margin: 0px; -border-radius: 2px; -height: 145px; -} -QScrollBar::add-line:vertical, -QScrollBar::sub-line:vertical { -border: none; -background: none; -} - QFrame::NoFrame @@ -207,7 +248,7 @@ background: none; - + 0 @@ -227,10 +268,7 @@ background: none; - - - 24 - + 0 @@ -243,7 +281,10 @@ background: none; 0 - + + 24 + + 6 @@ -256,27 +297,87 @@ background: none; - + + + + 0 + 60 + + 16777215 - 300 + 60 - - Qt::PlainText + + QFrame::NoFrame + + + Qt::ScrollBarAlwaysOn + + + Qt::ScrollBarAlwaysOff - + true - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + false - + + + + 6 + + + + + Street + + + + + + + + 0 + 40 + + + + + 16777215 + 40 + + + + QFrame::NoFrame + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QTextEdit::NoWrap + + + true + + + false + + + + + + 6 @@ -289,18 +390,42 @@ background: none; - - - Qt::PlainText + + + + 0 + 40 + + + + + 16777215 + 40 + + + + QFrame::NoFrame + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + QTextEdit::NoWrap + + + true + + + false - + 6 @@ -313,18 +438,42 @@ background: none; - - - Qt::PlainText + + + + 0 + 40 + + + + + 16777215 + 40 + + + + QFrame::NoFrame + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + QTextEdit::NoWrap + + + true + + + false - + 6 @@ -337,18 +486,42 @@ background: none; - - - Qt::PlainText + + + + 0 + 40 + + + + + 16777215 + 40 + + + + QFrame::NoFrame + + + Qt::ScrollBarAlwaysOff - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + Qt::ScrollBarAsNeeded + + + QTextEdit::NoWrap + + + true + + + false - + 6 @@ -361,15 +534,36 @@ background: none; - - - Qt::PlainText + + + + 0 + 40 + - + + + 16777215 + 40 + + + + QFrame::NoFrame + + + Qt::ScrollBarAlwaysOff + + + Qt::ScrollBarAsNeeded + + + QTextEdit::NoWrap + + true - - Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse + + false @@ -415,7 +609,7 @@ background: none; - 488 + 554 0 @@ -435,6 +629,10 @@ background: none; QLabel { font-size: 12px; +padding: 0px 12px; +} +QLabel[attributeColumn="true"] { +padding-left: 10px; } QPushButton { font-size: 12px; @@ -442,19 +640,30 @@ text-align: left; text-decoration: underline; color: #2F70B6; border: none; +padding: 0px 12px; } QTreeWidget { background-color: #FFFFFF; } +QTreeWidget::item { +height: 22px; +} QTreeWidget::item:selected { -background-color: #E7EAEF; +background-color: #EAF1F8; color: #07142A; } QHeaderView::section { -border: 1px solid #E7EAEF; -border-width: 0px 0px 1px 0px; -padding: 0px 0px 8px 5px; -background-color: #FFFFFF; +border: none; +padding: 8px 12px; +background-color: #F5F5F5; +} +QHeaderView::section:first { +border-top-left-radius: 8px; +border-bottom-left-radius: 8px; +} +QHeaderView::section:last { +border-top-right-radius: 8px; +border-bottom-right-radius: 8px; } @@ -497,13 +706,13 @@ background-color: #FFFFFF; 0 - 48 + 72 16777215 - 48 + 72 @@ -518,18 +727,18 @@ QPushButton { padding: 10px 12px; border: 1px solid #2F70B6; border-radius: 4px; -color: #ffffff; -background-color: #2F70B6; +color: #2F70B6; +background-color: transparent; font-size: 12px; font-weight: 700; } QPushButton:hover, QPushButton:focus { border-color: #2B66A6; -background-color: #2B66A6; +background-color: #EAF1F8; } QPushButton:pressed { border-color: #215081; -background-color: #215081; +background-color: #BFD3E8; } @@ -633,12 +842,6 @@ background-color: #215081; QLabel
widgets/Label.h
- - AccordionTitle - QCheckBox -
widgets/AccordionTitle.h
- 1 -
diff --git a/client/translations/en.ts b/client/translations/en.ts index e0ee8edf5..cce787f44 100644 --- a/client/translations/en.ts +++ b/client/translations/en.ts @@ -2073,6 +2073,10 @@ ID-Card TIME TIME + + PLACE OF CONFIRMATION (CITY, STREET, STATE, ZIP, COUNTRY) + PLACE OF CONFIRMATION (CITY, STREET, STATE, ZIP, COUNTRY) + NOTES NOTES @@ -2093,10 +2097,6 @@ ID-Card ROLE / RESOLUTION ROLE / RESOLUTION - - PLACE OF CONFIRMATION (CITY, STATE, ZIP, COUNTRY) - PLACE OF CONFIRMATION (CITY, STATE, ZIP, COUNTRY) - ISSUER OF CERTIFICATE ISSUER OF CERTIFICATE @@ -2598,6 +2598,10 @@ Additional licenses and components Role and address Role and address + + Street + Street + City City diff --git a/client/translations/et.ts b/client/translations/et.ts index b8052a14a..3c0465270 100644 --- a/client/translations/et.ts +++ b/client/translations/et.ts @@ -2073,6 +2073,10 @@ ID-kaardiga TIME AEG + + PLACE OF CONFIRMATION (CITY, STREET, STATE, ZIP, COUNTRY) + ALLKIRJASTAJA ASUKOHT (LINN, TÄNAV, MAAKOND, INDEKS, RIIK) + NOTES MÄRKUSED @@ -2093,10 +2097,6 @@ ID-kaardiga ROLE / RESOLUTION ROLL/RESOLUTSIOON - - PLACE OF CONFIRMATION (CITY, STATE, ZIP, COUNTRY) - ALLKIRJASTAJA ASUKOHT (LINN, MAAKOND, INDEKS, RIIK) - ISSUER OF CERTIFICATE SERTIFIKAADI VÄLJAANDJA NIMI @@ -2598,6 +2598,10 @@ Täiendavad litsentsid ja komponendid Role and address Roll ja aadress + + Street + Tänav + City Linn diff --git a/client/widgets/ItemList.ui b/client/widgets/ItemList.ui index b815b2252..d52670702 100644 --- a/client/widgets/ItemList.ui +++ b/client/widgets/ItemList.ui @@ -25,20 +25,49 @@ placeholder-text-color: #607496; font-size: 16px; } QScrollBar { -width: 10px; -padding: 5px 5px 5px 0px; +border: none; +background: transparent; +} +QScrollBar:vertical { +width: 12px; +padding: 4px 4px 4px 0px; +margin: 0px; +} +QScrollBar:horizontal { +height: 10px; +padding: 0px 4px 4px 4px; +margin: 0px; } QScrollBar::handle:vertical { -background-color: #C4CBD8; +background-color: #B5BFCF; +border: none; +margin: 0px; +border-radius: 4px; +min-height: 16px; +} +QScrollBar::handle:horizontal { +background-color: #B5BFCF; +border: none; margin: 0px; -border-radius: 2px; -height: 145px; +border-radius: 3px; +min-width: 16px; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { +height: 0px; border: none; background: none; } +QScrollBar::add-line:horizontal, +QScrollBar::sub-line:horizontal { +width: 0px; +border: none; +background: none; +} +QScrollBar::add-page, +QScrollBar::sub-page { +background: transparent; +} #items { background-color: #ffffff; }