[Libreoffice-commits] core.git: Branch 'libreoffice-6-4' - include/sfx2 xmlsecurity/source xmlsecurity/uiconfig

Miklos Vajna (via logerrit) logerrit at kemper.freedesktop.org
Tue Sep 8 10:23:55 UTC 2020


 include/sfx2/strings.hrc                               |    4 ++--
 xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx |   15 ++++++++++-----
 xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui     |    4 ++--
 3 files changed, 14 insertions(+), 9 deletions(-)

New commits:
commit 46efad443472679b93b282c8e08b807d7e8f1a78
Author:     Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Wed Sep 2 12:37:18 2020 +0200
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Sep 8 12:23:20 2020 +0200

    xmlsecurity: avoid saying OK when the signature is partial
    
    That's reserved for valid signatures (digest match, certificate
    validates and the signature covers the whole document).
    
    Also avoid "invalid" in the dialog when the digest matches and the
    signature is just incomplete.
    
    This now uses wording which is closer to Acrobat and also uses the same
    wording on the infobar and in the dialog.
    
    Change-Id: I26e4781d555b65cf29aa8df2232e286917235dc1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101926
    Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
    Tested-by: Jenkins
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102188
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/include/sfx2/strings.hrc b/include/sfx2/strings.hrc
index 7e9757e61a78..1f21f0a0f186 100644
--- a/include/sfx2/strings.hrc
+++ b/include/sfx2/strings.hrc
@@ -292,8 +292,8 @@
 #define STR_READONLY_SIGN                       NC_("STR_READONLY_SIGN", "Sign Document")
 #define STR_SIGNATURE_BROKEN                    NC_("STR_SIGNATURE_BROKEN", "This document has an invalid signature.")
 #define STR_SIGNATURE_INVALID                   NC_("STR_SIGNATURE_INVALID", "The signature was valid, but the document has been modified")
-#define STR_SIGNATURE_NOTVALIDATED              NC_("STR_SIGNATURE_NOTVALIDATED", "The signature is OK, but the certificate could not be validated.")
-#define STR_SIGNATURE_PARTIAL_OK                NC_("STR_SIGNATURE_PARTIAL_OK", "The signature is OK, but the document is only partially signed.")
+#define STR_SIGNATURE_NOTVALIDATED              NC_("STR_SIGNATURE_NOTVALIDATED", "At least one signature has problems: the certificate could not be validated.")
+#define STR_SIGNATURE_PARTIAL_OK                NC_("STR_SIGNATURE_PARTIAL_OK", "At least one signature has problems: the document is only partially signed.")
 #define STR_SIGNATURE_NOTVALIDATED_PARTIAL_OK   NC_("STR_SIGNATURE_NOTVALIDATED_PARTIAL_OK", "The certificate could not be validated and the document is only partially signed.")
 #define STR_SIGNATURE_OK                        NC_("STR_SIGNATURE_OK", "This document is digitally signed and the signature is valid.")
 #define STR_SIGNATURE_SHOW                      NC_("STR_SIGNATURE_SHOW", "Show Signatures")
diff --git a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
index ff5161fb2754..ef67c7167c04 100644
--- a/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
+++ b/xmlsecurity/source/dialogs/digitalsignaturesdialog.cxx
@@ -531,6 +531,7 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
     size_t nInfos = maSignatureManager.getCurrentSignatureInformations().size();
     size_t nValidSigs = 0, nValidCerts = 0;
     bool bAllNewSignatures = true;
+    bool bSomePartial = false;
 
     if( nInfos )
     {
@@ -607,7 +608,7 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
             {
                 if (maSignatureManager.getStore().is())
                 {
-                    // XML based.
+                    // ZIP based.
                     bSigValid = DocumentSignatureHelper::checkIfAllFilesAreSigned(
                           aElementsToBeVerified, rInfo, mode);
                 }
@@ -619,6 +620,10 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
 
                 if( bSigValid )
                     nValidSigs++;
+                else
+                {
+                    bSomePartial = true;
+                }
             }
 
             OUString sImage;
@@ -672,8 +677,8 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
 
     bool bShowInvalidState = nInfos && !bAllSigsValid;
 
-    m_xSigsInvalidImg->set_visible( bShowInvalidState );
-    m_xSigsInvalidFI->set_visible( bShowInvalidState );
+    m_xSigsInvalidImg->set_visible( bShowInvalidState && !bSomePartial);
+    m_xSigsInvalidFI->set_visible( bShowInvalidState && !bSomePartial);
 
     bool bShowNotValidatedState = nInfos && bAllSigsValid && !bAllCertsValid;
 
@@ -682,8 +687,8 @@ void DigitalSignaturesDialog::ImplFillSignaturesBox()
 
     //bAllNewSignatures is always true if we are not in document mode
     bool bShowOldSignature = nInfos && bAllSigsValid && bAllCertsValid && !bAllNewSignatures;
-    m_xSigsOldSignatureImg->set_visible(bShowOldSignature);
-    m_xSigsOldSignatureFI->set_visible(bShowOldSignature);
+    m_xSigsOldSignatureImg->set_visible(bShowOldSignature || bSomePartial);
+    m_xSigsOldSignatureFI->set_visible(bShowOldSignature || bSomePartial);
 
     SignatureHighlightHdl(*m_xSignaturesLB);
 }
diff --git a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
index d144f2d8d790..fc86ae079347 100644
--- a/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
+++ b/xmlsecurity/uiconfig/ui/digitalsignaturesdialog.ui
@@ -404,7 +404,7 @@
                     <property name="can_focus">False</property>
                     <property name="no_show_all">True</property>
                     <property name="hexpand">True</property>
-                    <property name="label" translatable="yes" context="digitalsignaturesdialog|oldsignatureft">Not all parts of the document are signed</property>
+                    <property name="label" translatable="yes" context="digitalsignaturesdialog|oldsignatureft">At least one signature has problems: the document is only partially signed.</property>
                     <property name="xalign">0</property>
                   </object>
                   <packing>
@@ -417,7 +417,7 @@
                     <property name="can_focus">False</property>
                     <property name="no_show_all">True</property>
                     <property name="hexpand">True</property>
-                    <property name="label" translatable="yes" context="digitalsignaturesdialog|notvalidatedft">Certificate could not be validated</property>
+                    <property name="label" translatable="yes" context="digitalsignaturesdialog|notvalidatedft">At least one signature has problems: the certificate could not be validated.</property>
                     <property name="xalign">0</property>
                   </object>
                   <packing>


More information about the Libreoffice-commits mailing list