From 9753cbd4bb02e21dfe96f7188ae74872dd059b29 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 7 Dec 2016 10:41:05 +0100 Subject: xmlsecurity DigitalSignaturesDialog: show signature type on the UI The code already knew if the signature was AdES-enabled or not, but that info wasn't available on the UI. The values are all names of standards, Andras says it's OK to have them non-translatable. (cherry picked from commit 81f7824a9839d3230b4e58424a64a393e8ee0223) Change-Id: I20baf0871fe2c84b04b7fc64014061e341744db8 Reviewed-on: https://gerrit.libreoffice.org/31724 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- .../source/dialogs/digitalsignaturesdialog.cxx | 26 +++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'xmlsecurity/source/dialogs') diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx index 382c21260319..3be036fe8637 100644 --- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx +++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx @@ -132,7 +132,7 @@ DigitalSignaturesDialog::DigitalSignaturesDialog( m_bAdESCompliant = !DocumentSignatureHelper::isODFPre_1_2(m_sODFVersion); - Size aControlSize(275, 109); + Size aControlSize(375, 109); const long nControlWidth = aControlSize.Width(); aControlSize = LogicToPixel(aControlSize, MapUnit::MapAppFont); SvSimpleTableContainer *pSignatures = get("signatures"); @@ -141,12 +141,12 @@ DigitalSignaturesDialog::DigitalSignaturesDialog( m_pSignaturesLB = VclPtr::Create(*pSignatures); // Give the first column 6 percent, try to distribute the rest equally. - static long aTabs[] = { 5, 0, 6*nControlWidth/100, 30*nControlWidth/100, 54*nControlWidth/100, 78*nControlWidth/100 }; + static long aTabs[] = { 6, 0, 6*nControlWidth/100, 25*nControlWidth/100, 44*nControlWidth/100, 62*nControlWidth/100, 81*nControlWidth/100 }; m_pSignaturesLB->SetTabs(aTabs); m_pSignaturesLB->InsertHeaderEntry("\t" + get("signed")->GetText() + "\t" + get("issued")->GetText() + "\t" + get("date")->GetText() + "\t" - + get("description")->GetText()); + + get("description")->GetText() + "\t" + get("type")->GetText()); mbVerifySignatures = true; mbSignaturesChanged = false; @@ -503,6 +503,7 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox() OUString aIssuer; OUString aDateTimeStr; OUString aDescription; + OUString aType; bool bSigValid = false; bool bCertValid = false; @@ -527,6 +528,24 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox() // String with date and time information (#i20172#) aDateTimeStr = XmlSec::GetDateTimeString( rInfo.stDateTime ); aDescription = rInfo.ouDescription; + + // Decide type string. + if (maSignatureManager.mxStore.is()) + { + // XML based: XAdES or not. + if (!rInfo.ouCertDigest.isEmpty()) + aType = "XAdES"; + else + aType = "XML-DSig"; + } + else + { + // Assume PDF: PAdES or not. + if (rInfo.bHasSigningCertificate) + aType = "PAdES"; + else + aType = "PDF"; + } } bSigValid = ( rInfo.nStatus == css::xml::crypto::SecurityOperationStatus_OPERATION_SUCCEEDED ); @@ -576,6 +595,7 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox() m_pSignaturesLB->SetEntryText( aIssuer, pEntry, 2 ); m_pSignaturesLB->SetEntryText( aDateTimeStr, pEntry, 3 ); m_pSignaturesLB->SetEntryText(aDescription, pEntry, 4); + m_pSignaturesLB->SetEntryText(aType, pEntry, 5); pEntry->SetUserData( reinterpret_cast(n) ); // missuse user data as index } } -- cgit