Kaydet (Commit) 203d967c authored tarafından Samuel Mehrbrodt's avatar Samuel Mehrbrodt

Related tdf#83877 Select certificate ok button label doesn't match

Change the button to "Select" instead of sign when we only want to
select a certificate.

Change-Id: Ifa896e502c8680497d71912ddd1058ab0b71542b
Reviewed-on: https://gerrit.libreoffice.org/52823Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarSamuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
üst 066abd61
......@@ -119,7 +119,7 @@ IMPL_LINK_NOARG(SignSignatureLineDialog, chooseCertificate, weld::Button&, void)
Reference<XDocumentDigitalSignatures> xSigner(DocumentDigitalSignatures::createWithVersion(
comphelper::getProcessComponentContext(), "1.2"));
OUString aDescription;
Reference<XCertificate> xSignCertificate = xSigner->chooseSigningCertificate(aDescription);
Reference<XCertificate> xSignCertificate = xSigner->selectSigningCertificate(aDescription);
if (xSignCertificate.is())
{
......
......@@ -161,6 +161,13 @@ interface XDocumentDigitalSignatures : com::sun::star::uno::XInterface
*/
com::sun::star::security::XCertificate chooseSigningCertificate( [out] string Description );
/** This shows the certificate selection dialog and allows to only select the certificate
without actually signing the document.
@since LibreOffice 6.1
*/
com::sun::star::security::XCertificate selectSigningCertificate( [out] string Description );
/** This method shows the CertificateChooser dialog with all certificates, private and
other people's. Useful when choosing certificate/key for encryption
......
......@@ -52,6 +52,7 @@ struct UserData
enum class UserAction
{
Sign,
SelectSign, // Select signing certificate
Encrypt
};
......
......@@ -155,6 +155,8 @@ public:
SAL_CALL chooseCertificate(OUString& rDescription) override;
css::uno::Reference<css::security::XCertificate>
SAL_CALL chooseSigningCertificate(OUString& rDescription) override;
css::uno::Reference<css::security::XCertificate>
SAL_CALL selectSigningCertificate(OUString& rDescription) override;
css::uno::Sequence<css::uno::Reference<css::security::XCertificate>>
SAL_CALL chooseEncryptionCertificate() override;
css::uno::Reference<css::security::XCertificate> SAL_CALL chooseCertificateWithProps(
......@@ -651,6 +653,14 @@ Reference< css::security::XCertificate > DocumentDigitalSignatures::chooseSignin
return xCert;
}
Reference< css::security::XCertificate > DocumentDigitalSignatures::selectSigningCertificate(OUString& rDescription)
{
std::map<OUString, OUString> aProperties;
Reference< css::security::XCertificate > xCert = chooseCertificatesImpl( aProperties, UserAction::SelectSign )[0];
rDescription = aProperties["Description"];
return xCert;
}
css::uno::Sequence< Reference< css::security::XCertificate > > DocumentDigitalSignatures::chooseEncryptionCertificate()
{
std::map<OUString, OUString> aProperties;
......
......@@ -168,6 +168,12 @@ void CertificateChooser::ImplInitialize()
msPreferredKey = aUserOpts.GetSigningKey();
break;
case UserAction::SelectSign:
m_pFTSign->Show();
m_pOKBtn->SetText( get<FixedText>("str_selectsign")->GetText() );
msPreferredKey = aUserOpts.GetSigningKey();
break;
case UserAction::Encrypt:
m_pFTEncrypt->Show();
m_pFTDescription->Hide();
......@@ -190,7 +196,7 @@ void CertificateChooser::ImplInitialize()
uno::Sequence< uno::Reference< security::XCertificate > > xCerts;
try
{
if ( meAction == UserAction::Sign )
if ( meAction == UserAction::Sign || meAction == UserAction::SelectSign)
xCerts = secEnvironment->getPersonalCertificates();
else
xCerts = secEnvironment->getAllCertificates();
......@@ -235,7 +241,7 @@ void CertificateChooser::ImplInitialize()
// only GPG has preferred keys
if ( sIssuer == msPreferredKey )
{
if ( meAction == UserAction::Sign )
if ( meAction == UserAction::Sign || meAction == UserAction::SelectSign )
m_pCertLB->Select( pEntry );
else if ( meAction == UserAction::Encrypt &&
aUserOpts.GetEncryptToSelf() )
......
......@@ -188,6 +188,11 @@
<property name="hexpand">True</property>
<property name="label" translatable="yes" context="selectcertificatedialog|str_sign">Sign</property>
</object>
<object class="GtkLabel" id="str_selectsign">
<property name="can_focus">False</property>
<property name="hexpand">True</property>
<property name="label" translatable="yes" context="selectcertificatedialog|str_selectsign">Select</property>
</object>
<object class="GtkLabel" id="str_encrypt">
<property name="can_focus">False</property>
<property name="hexpand">True</property>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment