diff options
Diffstat (limited to 'xmlsecurity/source/dialogs/certificatechooser.cxx')
-rw-r--r-- | xmlsecurity/source/dialogs/certificatechooser.cxx | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/xmlsecurity/source/dialogs/certificatechooser.cxx b/xmlsecurity/source/dialogs/certificatechooser.cxx index 701367474f1f..52aa7e976e75 100644 --- a/xmlsecurity/source/dialogs/certificatechooser.cxx +++ b/xmlsecurity/source/dialogs/certificatechooser.cxx @@ -36,10 +36,14 @@ using namespace css; CertificateChooser::CertificateChooser(vcl::Window* _pParent, uno::Reference<uno::XComponentContext> const & _rxCtx, - std::vector< css::uno::Reference< css::xml::crypto::XXMLSecurityContext > > const & rxSecurityContexts) + std::vector< css::uno::Reference< css::xml::crypto::XXMLSecurityContext > > const & rxSecurityContexts, + UserAction eAction) : ModalDialog(_pParent, "SelectCertificateDialog", "xmlsec/ui/selectcertificatedialog.ui"), - mvUserData() + mvUserData(), + meAction( eAction ) { + get(m_pFTSign, "sign"); + get(m_pFTEncrypt, "encrypt"); get(m_pOKBtn, "ok"); get(m_pViewBtn, "viewcert"); get(m_pDescriptionED, "description"); @@ -76,6 +80,8 @@ CertificateChooser::~CertificateChooser() void CertificateChooser::dispose() { + m_pFTSign.clear(); + m_pFTEncrypt.clear(); m_pCertLB.disposeAndClear(); m_pViewBtn.clear(); m_pOKBtn.clear(); @@ -151,6 +157,20 @@ void CertificateChooser::ImplInitialize() if ( mbInitialized ) return; + switch (meAction) + { + case UserAction::Sign: + m_pFTSign->Show(); + m_pOKBtn->SetText( get<FixedText>("str_sign")->GetText() ); + break; + + case UserAction::Encrypt: + m_pFTEncrypt->Show(); + m_pOKBtn->SetText( get<FixedText>("str_encrypt")->GetText() ); + break; + + } + for (auto &secContext : mxSecurityContexts) { if (!secContext.is()) |