filter/source/pdf/impdialog.cxx |   10 ++++++----
 filter/source/pdf/impdialog.hxx |    3 ++-
 2 files changed, 8 insertions(+), 5 deletions(-)

New commits:
commit 07a06e40400f3713619cb456d62d4bb952e85436
Author:     Heiko Tietze <heiko.tie...@documentfoundation.org>
AuthorDate: Fri Jul 21 11:47:45 2023 +0200
Commit:     Heiko Tietze <heiko.tie...@documentfoundation.org>
CommitDate: Thu Oct 5 13:10:15 2023 +0200

    Resolves tdf#156337 - Keep warning label enabled on PDF security tab
    
    Change-Id: Ifea77294825b987e4277e146cc34af120e38c8c3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154712
    Tested-by: Jenkins
    Reviewed-by: Heiko Tietze <heiko.tie...@documentfoundation.org>

diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index a036d432e3c3..c7149b0ca534 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -936,7 +936,7 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, 
TogglePDFVersionOrUniversalAccessibilityHa
     // set the security page status (and its controls as well)
     ImpPDFTabSecurityPage* pSecPage = mpParent ? mpParent->getSecurityPage() : 
nullptr;
     if (pSecPage)
-        pSecPage->ImplPDFASecurityControl(!bIsPDFA);
+        pSecPage->ImplPDFASecurityControl();
 
     mxCbTaggedPDF->set_sensitive(
         !bIsPDFA && !bIsPDFUA && !IsReadOnlyProperty("UseTaggedPDF"));
@@ -1315,6 +1315,7 @@ 
ImpPDFTabSecurityPage::ImpPDFTabSecurityPage(weld::Container* pPage, weld::Dialo
     , mxCbEnableCopy(m_xBuilder->weld_check_button("enablecopy"))
     , mxCbEnableAccessibility(m_xBuilder->weld_check_button("enablea11y"))
     , mxPasswordTitle(m_xBuilder->weld_label("setpasswordstitle"))
+    , mxPermissionTitle(m_xBuilder->weld_label("label2"))
 {
     msStrSetPwd = mxPasswordTitle->get_label();
     mxPbSetPwd->connect_clicked(LINK(this, ImpPDFTabSecurityPage, 
ClickmaPbSetPwdHdl));
@@ -1411,7 +1412,7 @@ void ImpPDFTabSecurityPage::SetFilterConfigItem( const  
ImpPDFTabDialog* pParent
     ImpPDFTabGeneralPage* pGeneralPage = pParent->getGeneralPage();
 
     if (pGeneralPage)
-        ImplPDFASecurityControl(!pGeneralPage->IsPdfaSelected());
+        ImplPDFASecurityControl();
 }
 
 IMPL_LINK_NOARG(ImpPDFTabSecurityPage, ClickmaPbSetPwdHdl, weld::Button&, void)
@@ -1479,6 +1480,8 @@ void ImpPDFTabSecurityPage::enablePermissionControls()
     {
         mxCbEnableAccessibility->set_active(true);
     }
+    mxPermissionTitle->set_sensitive(!bIsPDFASel);
+    mxPbSetPwd->set_sensitive(!bIsPDFASel);
     mxCbEnableAccessibility->set_sensitive(!bIsPDFUASel);
     if (bIsPDFASel)
     {
@@ -1532,9 +1535,8 @@ void ImpPDFTabSecurityPage::enablePermissionControls()
 
 // This tab page is under control of the PDF/A-1a checkbox:
 // TODO: implement a method to do it.
-void ImpPDFTabSecurityPage::ImplPDFASecurityControl( bool bEnableSecurity )
+void ImpPDFTabSecurityPage::ImplPDFASecurityControl()
 {
-    m_xContainer->set_sensitive(bEnableSecurity);
     // after enable, check the status of control as if the dialog was 
initialized
     enablePermissionControls();
 }
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 7a8985ebc807..8cbfc0af987f 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -355,6 +355,7 @@ class ImpPDFTabSecurityPage : public SfxTabPage
     std::unique_ptr<weld::CheckButton> mxCbEnableCopy;
     std::unique_ptr<weld::CheckButton> mxCbEnableAccessibility;
     std::unique_ptr<weld::Label> mxPasswordTitle;
+    std::unique_ptr<weld::Label> mxPermissionTitle;
 
     std::shared_ptr< SfxPasswordDialog > mpPasswordDialog;
     std::shared_ptr< weld::MessageDialog > mpUnsupportedMsgDialog;
@@ -371,7 +372,7 @@ public:
 
     void                        GetFilterConfigItem( ImpPDFTabDialog* 
paParent);
     void                        SetFilterConfigItem( const ImpPDFTabDialog* 
paParent );
-    void                        ImplPDFASecurityControl( bool bEnableSecurity 
);
+    void                        ImplPDFASecurityControl();
     bool                        hasPassword() const { return 
mbHaveOwnerPassword || mbHaveUserPassword; }
 };
 

Reply via email to