summaryrefslogtreecommitdiff
path: root/cui/source/dialogs/SignSignatureLineDialog.cxx
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-04-28 16:53:57 +0200
committerMichael Stahl <michael.stahl@cib.de>2020-05-15 17:56:23 +0200
commite125c6c6693d4540ab3aacb11151e05b511b8051 (patch)
treea81d88af3559f2c8da57a49bdee4ff6dfd2ba627 /cui/source/dialogs/SignSignatureLineDialog.cxx
parentbb6af185cb7a88dfc73ad067d928625f0a2ed590 (diff)
replace hard-coded "1.2" ODF version strings
Most of these are calls to DocumentDigitalSignatures::createWithVersion(), where it doesn't make a difference if "1.2" or "1.3" is passed in but maybe it will be different with "1.4". There is another ctor createDefault() which looks appropriate for non-ODF contexts and can also be used when no actual signing or verifying is done. In cases where there's an actual document its Storage has the version. Change-Id: Id636bbf965d9f96c7ed5f50774c509032525b2b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93091 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'cui/source/dialogs/SignSignatureLineDialog.cxx')
-rw-r--r--cui/source/dialogs/SignSignatureLineDialog.cxx16
1 files changed, 14 insertions, 2 deletions
diff --git a/cui/source/dialogs/SignSignatureLineDialog.cxx b/cui/source/dialogs/SignSignatureLineDialog.cxx
index 9def0559183f..10f80f72983d 100644
--- a/cui/source/dialogs/SignSignatureLineDialog.cxx
+++ b/cui/source/dialogs/SignSignatureLineDialog.cxx
@@ -18,6 +18,7 @@
#include <comphelper/graphicmimetype.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/xmlsechelper.hxx>
+#include <comphelper/storagehelper.hxx>
#include <sfx2/docfile.hxx>
#include <sfx2/docfilt.hxx>
#include <sfx2/objsh.hxx>
@@ -166,8 +167,19 @@ IMPL_LINK_NOARG(SignSignatureLineDialog, chooseCertificate, weld::Button&, void)
if (!pShell->PrepareForSigning(m_xDialog.get()))
return;
- Reference<XDocumentDigitalSignatures> xSigner(DocumentDigitalSignatures::createWithVersion(
- comphelper::getProcessComponentContext(), "1.2"));
+ Reference<XDocumentDigitalSignatures> xSigner;
+ if (pShell->GetMedium()->GetFilter()->IsAlienFormat())
+ {
+ xSigner
+ = DocumentDigitalSignatures::createDefault(comphelper::getProcessComponentContext());
+ }
+ else
+ {
+ OUString const aODFVersion(
+ comphelper::OStorageHelper::GetODFVersionFromStorage(pShell->GetStorage()));
+ xSigner = DocumentDigitalSignatures::createWithVersion(
+ comphelper::getProcessComponentContext(), aODFVersion);
+ }
xSigner->setParentWindow(m_xDialog->GetXWindow());
OUString aDescription;
CertificateKind certificateKind = CertificateKind_NONE;