make pop-up on Encrypt With GPG Key modal
Not setting any parent window for XDocumentDigitalSignatures causes the key selection window to be non-modal, letting the user keep editing the document without completing the encryption interaction. Change-Id: Ic7e66cb43606355beaffc720b7c23cdf4f81d934 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170630 Tested-by: Jenkins Reviewed-by: Sarper Akdemir <sarper.akdemir@allotropia.de>
This commit is contained in:
parent
f8c68d3499
commit
2648907f51
3 changed files with 13 additions and 3 deletions
|
@ -431,7 +431,12 @@ uno::Sequence< beans::NamedValue > OStorageHelper::CreatePackageEncryptionData(
|
|||
return aEncryptionData;
|
||||
}
|
||||
|
||||
uno::Sequence< beans::NamedValue > OStorageHelper::CreateGpgPackageEncryptionData()
|
||||
uno::Sequence<beans::NamedValue>
|
||||
OStorageHelper::CreateGpgPackageEncryptionData(const css::uno::Reference<css::awt::XWindow>&
|
||||
#if HAVE_FEATURE_GPGME
|
||||
xParentWindow
|
||||
#endif
|
||||
)
|
||||
{
|
||||
#if HAVE_FEATURE_GPGME
|
||||
// generate session key
|
||||
|
@ -451,6 +456,8 @@ uno::Sequence< beans::NamedValue > OStorageHelper::CreateGpgPackageEncryptionDat
|
|||
security::DocumentDigitalSignatures::createDefault(
|
||||
comphelper::getProcessComponentContext()));
|
||||
|
||||
xSigner->setParentWindow(xParentWindow);
|
||||
|
||||
// fire up certificate chooser dialog - user can multi-select!
|
||||
const uno::Sequence< uno::Reference< security::XCertificate > > xSignCertificates=
|
||||
xSigner->chooseEncryptionCertificate();
|
||||
|
|
|
@ -45,6 +45,7 @@ namespace com::sun::star {
|
|||
}
|
||||
namespace lang { class XSingleServiceFactory; }
|
||||
namespace uno { class XComponentContext; }
|
||||
namespace awt { class XWindow; }
|
||||
}
|
||||
|
||||
namespace comphelper {
|
||||
|
@ -175,7 +176,7 @@ public:
|
|||
std::u16string_view aPassword );
|
||||
|
||||
static css::uno::Sequence< css::beans::NamedValue >
|
||||
CreateGpgPackageEncryptionData();
|
||||
CreateGpgPackageEncryptionData(const css::uno::Reference<css::awt::XWindow>& xParentWindow);
|
||||
|
||||
static bool IsValidZipEntryFileName( std::u16string_view aName, bool bSlashAllowed );
|
||||
|
||||
|
|
|
@ -1584,7 +1584,9 @@ ErrCode FileDialogHelper_Impl::execute( std::vector<OUString>& rpURLList,
|
|||
try
|
||||
{
|
||||
// ask for keys
|
||||
aEncryptionData = ::comphelper::OStorageHelper::CreateGpgPackageEncryptionData();
|
||||
aEncryptionData
|
||||
= ::comphelper::OStorageHelper::CreateGpgPackageEncryptionData(
|
||||
GetFrameInterface());
|
||||
break; // user cancelled or we've some keys now
|
||||
}
|
||||
catch( const IllegalArgumentException& )
|
||||
|
|
Loading…
Reference in a new issue