summaryrefslogtreecommitdiff
path: root/filter/source/pdf/impdialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/pdf/impdialog.cxx')
-rw-r--r--filter/source/pdf/impdialog.cxx1009
1 files changed, 630 insertions, 379 deletions
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index 050c1aa4d5cc..06909a34a128 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -24,11 +24,13 @@
#include <vcl/svapp.hxx>
#include <vcl/weld.hxx>
#include <sfx2/passwd.hxx>
-#include <unotools/resmgr.hxx>
-#include <tools/diagnose_ex.h>
+#include <comphelper/diagnose_ex.hxx>
#include <sfx2/objsh.hxx>
-#include <svx/AccessibilityCheckDialog.hxx>
+#include <svl/stritem.hxx>
+#include <sfx2/dispatch.hxx>
+#include <sfx2/sfxsids.hrc>
+#include <comphelper/lok.hxx>
#include <comphelper/propertyvalue.hxx>
#include <comphelper/sequence.hxx>
#include <comphelper/storagehelper.hxx>
@@ -42,11 +44,6 @@
#include <com/sun/star/beans/XMaterialHolder.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
-static OUString PDFFilterResId(const char* pId)
-{
- return Translate::get(pId, Translate::Create("flt"));
-}
-
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -54,11 +51,10 @@ using namespace ::com::sun::star::uno;
Please note: the default used here are the same as per specification,
They should be the same in PDFFilter::implExport and in PDFExport::PDFExport
*/
-ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue >& rFilterData,
+ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, const Sequence< PropertyValue >& rFilterData,
const Reference< XComponent >& rxDoc)
- : SfxTabDialogController(pParent, "filter/ui/pdfoptionsdialog.ui", "PdfOptionsDialog"),
+ : SfxTabDialogController(pParent, u"filter/ui/pdfoptionsdialog.ui"_ustr, u"PdfOptionsDialog"_ustr),
mrDoc(rxDoc),
- mpParent(pParent),
maConfigItem( u"Office.Common/Filter/PDF/Export/", &rFilterData ),
maConfigI18N( u"Office.Common/I18N/CTL/" ),
mbIsPresentation( false ),
@@ -74,6 +70,7 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
mbUseTaggedPDF( false ),
mbUseTaggedPDFUserSelection( false ),
mbExportNotes( true ),
+ mbExportNotesInMargin( false ),
mbViewPDF( false ),
mbUseReferenceXObject( false ),
mbExportNotesPages( false ),
@@ -98,7 +95,7 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
mbOpenInFullScreenMode( false ),
mbDisplayPDFDocumentTitle( false ),
mnMagnification( 0 ),
- mnInitialView( 0 ),
+ mnInitialView( 1 ),
mnZoom( 0 ),
mnInitialPage( 1 ),
mnPageLayout( 0 ),
@@ -111,8 +108,10 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
mbCanCopyOrExtract( false ),
mbCanExtractForAccessibility( true ),
- mbIsRangeChecked( false ),
+ mbIsPageRangeChecked( false ),
msPageRange( ' ' ),
+ mbIsSheetRangeChecked( false ),
+ msSheetRange( ' ' ),
mbSelectionIsChecked( false ),
mbExportRelativeFsysLinks( false ),
@@ -165,11 +164,11 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
Reference< XServiceInfo > xInfo( rxDoc, UNO_QUERY );
if ( xInfo.is() )
{
- if ( xInfo->supportsService( "com.sun.star.presentation.PresentationDocument" ) )
+ if ( xInfo->supportsService( u"com.sun.star.presentation.PresentationDocument"_ustr ) )
mbIsPresentation = true;
- if ( xInfo->supportsService( "com.sun.star.sheet.SpreadsheetDocument" ) )
+ if ( xInfo->supportsService( u"com.sun.star.sheet.SpreadsheetDocument"_ustr ) )
mbIsSpreadsheet = true;
- if ( xInfo->supportsService( "com.sun.star.text.GenericTextDocument" ) )
+ if ( xInfo->supportsService( u"com.sun.star.text.GenericTextDocument"_ustr ) )
mbIsWriter = true;
}
}
@@ -178,92 +177,99 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
}
// get the CTL (Complex Text Layout) from general options, returns sal_True if we have a CTL font on our hands.
- mbUseCTLFont = maConfigI18N.ReadBool( "CTLFont", false );
+ mbUseCTLFont = maConfigI18N.ReadBool( u"CTLFont"_ustr, false );
- mbUseLosslessCompression = maConfigItem.ReadBool( "UseLosslessCompression", false );
- mnQuality = maConfigItem.ReadInt32( "Quality", 90 );
- mbReduceImageResolution = maConfigItem.ReadBool( "ReduceImageResolution", false );
- mnMaxImageResolution = maConfigItem.ReadInt32( "MaxImageResolution", 300 );
+ mbUseLosslessCompression = maConfigItem.ReadBool( u"UseLosslessCompression"_ustr, false );
+ mnQuality = maConfigItem.ReadInt32( u"Quality"_ustr, 90 );
+ mbReduceImageResolution = maConfigItem.ReadBool( u"ReduceImageResolution"_ustr, false );
+ mnMaxImageResolution = maConfigItem.ReadInt32( u"MaxImageResolution"_ustr, 300 );
// this is always the user selection, independent from the PDF/A forced selection
- mbUseTaggedPDF = maConfigItem.ReadBool( "UseTaggedPDF", false );
+ mbUseTaggedPDF = maConfigItem.ReadBool( u"UseTaggedPDF"_ustr, false );
mbUseTaggedPDFUserSelection = mbUseTaggedPDF;
- mnPDFTypeSelection = maConfigItem.ReadInt32( "SelectPdfVersion", 0 );
- mbPDFUACompliance = maConfigItem.ReadBool("PDFUACompliance", false);
+ mnPDFTypeSelection = maConfigItem.ReadInt32( u"SelectPdfVersion"_ustr, 0 );
+ mbPDFUACompliance = maConfigItem.ReadBool(u"PDFUACompliance"_ustr, false);
if ( mbIsPresentation )
{
- mbExportNotesPages = maConfigItem.ReadBool( "ExportNotesPages", false );
- mbExportOnlyNotesPages = maConfigItem.ReadBool( "ExportOnlyNotesPages", false );
+ mbExportNotesPages = maConfigItem.ReadBool( u"ExportNotesPages"_ustr, false );
+ mbExportOnlyNotesPages = maConfigItem.ReadBool( u"ExportOnlyNotesPages"_ustr, false );
}
- mbExportNotes = maConfigItem.ReadBool( "ExportNotes", false );
- mbViewPDF = maConfigItem.ReadBool( "ViewPDFAfterExport", false );
+ mbExportNotes = maConfigItem.ReadBool( u"ExportNotes"_ustr, false );
+ if (mbIsWriter)
+ mbExportNotesInMargin = maConfigItem.ReadBool( u"ExportNotesInMargin"_ustr, false );
+ mbViewPDF = maConfigItem.ReadBool( u"ViewPDFAfterExport"_ustr, false );
- mbExportBookmarks = maConfigItem.ReadBool( "ExportBookmarks", true );
+ mbExportBookmarks = maConfigItem.ReadBool( u"ExportBookmarks"_ustr, true );
+ mbExportBookmarksUserSelection = mbExportBookmarks;
if ( mbIsPresentation )
- mbExportHiddenSlides = maConfigItem.ReadBool( "ExportHiddenSlides", false );
+ mbExportHiddenSlides = maConfigItem.ReadBool( u"ExportHiddenSlides"_ustr, false );
if ( mbIsSpreadsheet )
- mbSinglePageSheets = maConfigItem.ReadBool( "SinglePageSheets", false );
- mnOpenBookmarkLevels = maConfigItem.ReadInt32( "OpenBookmarkLevels", -1 );
- mbUseTransitionEffects = maConfigItem.ReadBool( "UseTransitionEffects", true );
- mbIsSkipEmptyPages = maConfigItem.ReadBool( "IsSkipEmptyPages", false );
- mbIsExportPlaceholders = maConfigItem.ReadBool( "ExportPlaceholders", false );
- mbAddStream = maConfigItem.ReadBool( "IsAddStream", false );
-
- mbExportFormFields = maConfigItem.ReadBool( "ExportFormFields", true );
- mnFormsType = maConfigItem.ReadInt32( "FormsType", 0 );
+ mbSinglePageSheets = maConfigItem.ReadBool( u"SinglePageSheets"_ustr, false );
+ mnOpenBookmarkLevels = maConfigItem.ReadInt32( u"OpenBookmarkLevels"_ustr, -1 );
+ mbUseTransitionEffects = maConfigItem.ReadBool( u"UseTransitionEffects"_ustr, true );
+ mbIsSkipEmptyPages = maConfigItem.ReadBool( u"IsSkipEmptyPages"_ustr, false );
+ mbIsExportPlaceholders = maConfigItem.ReadBool( u"ExportPlaceholders"_ustr, false );
+ mbAddStream = maConfigItem.ReadBool( u"IsAddStream"_ustr, false );
+
+ mbExportFormFields = maConfigItem.ReadBool( u"ExportFormFields"_ustr, true );
+ mnFormsType = maConfigItem.ReadInt32( u"FormsType"_ustr, 0 );
if ( ( mnFormsType < 0 ) || ( mnFormsType > 3 ) )
mnFormsType = 0;
- mbAllowDuplicateFieldNames = maConfigItem.ReadBool( "AllowDuplicateFieldNames", false );
+ mbAllowDuplicateFieldNames = maConfigItem.ReadBool( u"AllowDuplicateFieldNames"_ustr, false );
// prepare values for the Viewer tab page
- mbHideViewerToolbar = maConfigItem.ReadBool( "HideViewerToolbar", false );
- mbHideViewerMenubar = maConfigItem.ReadBool( "HideViewerMenubar", false );
- mbHideViewerWindowControls = maConfigItem.ReadBool( "HideViewerWindowControls", false );
- mbResizeWinToInit = maConfigItem.ReadBool( "ResizeWindowToInitialPage", false );
- mbCenterWindow = maConfigItem.ReadBool( "CenterWindow", false );
- mbOpenInFullScreenMode = maConfigItem.ReadBool( "OpenInFullScreenMode", false );
- mbDisplayPDFDocumentTitle = maConfigItem.ReadBool( "DisplayPDFDocumentTitle", true );
-
- mnInitialView = maConfigItem.ReadInt32( "InitialView", 0 );
- mnMagnification = maConfigItem.ReadInt32( "Magnification", 0 );
- mnZoom = maConfigItem.ReadInt32( "Zoom", 100 );
- mnPageLayout = maConfigItem.ReadInt32( "PageLayout", 0 );
- mbFirstPageLeft = maConfigItem.ReadBool( "FirstPageOnLeft", false );
- mnInitialPage = maConfigItem.ReadInt32( "InitialPage", 1 );
+ mbHideViewerToolbar = maConfigItem.ReadBool( u"HideViewerToolbar"_ustr, false );
+ mbHideViewerMenubar = maConfigItem.ReadBool( u"HideViewerMenubar"_ustr, false );
+ mbHideViewerWindowControls = maConfigItem.ReadBool( u"HideViewerWindowControls"_ustr, false );
+ mbResizeWinToInit = maConfigItem.ReadBool( u"ResizeWindowToInitialPage"_ustr, false );
+ mbCenterWindow = maConfigItem.ReadBool( u"CenterWindow"_ustr, false );
+ mbOpenInFullScreenMode = maConfigItem.ReadBool( u"OpenInFullScreenMode"_ustr, false );
+ mbDisplayPDFDocumentTitle = maConfigItem.ReadBool( u"DisplayPDFDocumentTitle"_ustr, true );
+
+ mnInitialView = maConfigItem.ReadInt32( u"InitialView"_ustr, 0 );
+ mnInitialViewUserSelection = mnInitialView;
+ mnMagnification = maConfigItem.ReadInt32( u"Magnification"_ustr, 0 );
+ mnZoom = maConfigItem.ReadInt32( u"Zoom"_ustr, 100 );
+ mnPageLayout = maConfigItem.ReadInt32( u"PageLayout"_ustr, 0 );
+ mbFirstPageLeft = maConfigItem.ReadBool( u"FirstPageOnLeft"_ustr, false );
+ mnInitialPage = maConfigItem.ReadInt32( u"InitialPage"_ustr, 1 );
if( mnInitialPage < 1 )
mnInitialPage = 1;
// prepare values for the security tab page
- mnPrint = maConfigItem.ReadInt32( "Printing", 2 );
- mnChangesAllowed = maConfigItem.ReadInt32( "Changes", 4 );
- mbCanCopyOrExtract = maConfigItem.ReadBool( "EnableCopyingOfContent", true );
- mbCanExtractForAccessibility = maConfigItem.ReadBool( "EnableTextAccessForAccessibilityTools", true );
+ mnPrint = maConfigItem.ReadInt32( u"Printing"_ustr, 2 );
+ mnChangesAllowed = maConfigItem.ReadInt32( u"Changes"_ustr, 4 );
+ mbCanCopyOrExtract = maConfigItem.ReadBool( u"EnableCopyingOfContent"_ustr, true );
+ mbCanExtractForAccessibility = maConfigItem.ReadBool( u"EnableTextAccessForAccessibilityTools"_ustr, true );
// prepare values for relative links
- mbExportRelativeFsysLinks = maConfigItem.ReadBool( "ExportLinksRelativeFsys", false );
+ mbExportRelativeFsysLinks = maConfigItem.ReadBool( u"ExportLinksRelativeFsys"_ustr, false );
- mnViewPDFMode = maConfigItem.ReadInt32( "PDFViewSelection", 0 );
+ mnViewPDFMode = maConfigItem.ReadInt32( u"PDFViewSelection"_ustr, 0 );
- mbConvertOOoTargets = maConfigItem.ReadBool( "ConvertOOoTargetToPDFTarget", false );
- mbExportBmkToPDFDestination = maConfigItem.ReadBool( "ExportBookmarksToPDFDestination", false );
+ mbConvertOOoTargets = maConfigItem.ReadBool( u"ConvertOOoTargetToPDFTarget"_ustr, false );
+ mbExportBmkToPDFDestination = maConfigItem.ReadBool( u"ExportBookmarksToPDFDestination"_ustr, false );
// prepare values for digital signatures
- mbSignPDF = maConfigItem.ReadBool( "SignPDF", false );
+ mbSignPDF = maConfigItem.ReadBool( u"SignPDF"_ustr, false );
// queue the tab pages for later creation (created when first shown)
- AddTabPage("general", ImpPDFTabGeneralPage::Create, nullptr );
- AddTabPage("digitalsignatures", ImpPDFTabSigningPage::Create, nullptr);
- AddTabPage("security", ImpPDFTabSecurityPage::Create, nullptr);
- AddTabPage("links", ImpPDFTabLinksPage::Create, nullptr);
- AddTabPage("userinterface", ImpPDFTabViewerPage::Create, nullptr);
- AddTabPage("initialview", ImpPDFTabOpnFtrPage::Create, nullptr);
+ AddTabPage(u"general"_ustr, ImpPDFTabGeneralPage::Create, nullptr );
+ if (comphelper::LibreOfficeKit::isActive())
+ m_xTabCtrl->remove_page(u"digitalsignatures"_ustr);
+ else
+ AddTabPage(u"digitalsignatures"_ustr, ImpPDFTabSigningPage::Create, nullptr);
+ AddTabPage(u"security"_ustr, ImpPDFTabSecurityPage::Create, nullptr);
+ AddTabPage(u"links"_ustr, ImpPDFTabLinksPage::Create, nullptr);
+ AddTabPage(u"userinterface"_ustr, ImpPDFTabViewerPage::Create, nullptr);
+ AddTabPage(u"initialview"_ustr, ImpPDFTabOpnFtrPage::Create, nullptr);
- SetCurPageId("general");
+ SetCurPageId(u"general"_ustr);
// get the string property value (from sfx2/source/dialog/mailmodel.cxx) to overwrite the text for the Ok button
- OUString sOkButtonText = maConfigItem.ReadString( "_OkButtonString", OUString() );
+ OUString sOkButtonText = maConfigItem.ReadString( u"_OkButtonString"_ustr, OUString() );
// change text on the Ok button: get the relevant string from resources, update it on the button
// according to the exported pdf file destination: send as e-mail or write to file?
@@ -271,6 +277,7 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
GetOKButton().set_label(sOkButtonText);
GetCancelButton().connect_clicked(LINK(this, ImpPDFTabDialog, CancelHdl));
+ GetOKButton().connect_clicked(LINK(this, ImpPDFTabDialog, OkHdl));
// remove the reset button, not needed in this tabbed dialog
RemoveResetButton();
@@ -278,7 +285,7 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
ImpPDFTabSecurityPage* ImpPDFTabDialog::getSecurityPage() const
{
- SfxTabPage* pSecurityPage = GetTabPage("security");
+ SfxTabPage* pSecurityPage = GetTabPage(u"security");
if (pSecurityPage)
{
return static_cast<ImpPDFTabSecurityPage*>(pSecurityPage);
@@ -286,10 +293,19 @@ ImpPDFTabSecurityPage* ImpPDFTabDialog::getSecurityPage() const
return nullptr;
}
+ImpPDFTabOpnFtrPage * ImpPDFTabDialog::getOpenPage() const
+{
+ SfxTabPage* pOpenPage = GetTabPage(u"initialview");
+ if (pOpenPage)
+ {
+ return static_cast<ImpPDFTabOpnFtrPage*>(pOpenPage);
+ }
+ return nullptr;
+}
ImpPDFTabLinksPage* ImpPDFTabDialog::getLinksPage() const
{
- SfxTabPage* pLinksPage = GetTabPage("links");
+ SfxTabPage* pLinksPage = GetTabPage(u"links");
if (pLinksPage)
{
return static_cast<ImpPDFTabLinksPage*>(pLinksPage);
@@ -300,7 +316,7 @@ ImpPDFTabLinksPage* ImpPDFTabDialog::getLinksPage() const
ImpPDFTabGeneralPage* ImpPDFTabDialog::getGeneralPage() const
{
- SfxTabPage* pGeneralPage = GetTabPage("general");
+ SfxTabPage* pGeneralPage = GetTabPage(u"general");
if (pGeneralPage)
{
return static_cast<ImpPDFTabGeneralPage*>(pGeneralPage);
@@ -313,13 +329,67 @@ IMPL_LINK_NOARG(ImpPDFTabDialog, CancelHdl, weld::Button&, void)
m_xDialog->response(RET_CANCEL);
}
+IMPL_LINK_NOARG(ImpPDFTabDialog, OkHdl, weld::Button&, void)
+{
+ if (getGeneralPage()->IsPdfUaSelected())
+ {
+ SfxObjectShell* pShell = SfxObjectShell::GetShellFromComponent(mrDoc);
+ if (pShell)
+ {
+ sfx::AccessibilityIssueCollection aCollection = pShell->runAccessibilityCheck();
+ auto aIssues = aCollection.getIssues();
+ int nIssueCount(aIssues.size());
+ if (!aIssues.empty())
+ {
+ OUString aMessage(FilterResId(STR_WARN_PDFUA_ISSUES, nIssueCount));
+ aMessage = aMessage.replaceFirst("%1", OUString::number(nIssueCount));
+
+ std::unique_ptr<weld::MessageDialog> xPDFUADialog(Application::CreateMessageDialog(
+ getGeneralPage()->GetFrameWeld(), VclMessageType::Warning,
+ VclButtonsType::Cancel, aMessage));
+ xPDFUADialog->add_button(FilterResId(STR_PDFUA_INVESTIGATE, nIssueCount), RET_NO);
+ xPDFUADialog->add_button(FilterResId(STR_PDFUA_IGNORE), RET_YES);
+ xPDFUADialog->set_default_response(RET_YES);
+
+ int ret = xPDFUADialog->run();
+ if (ret == RET_YES)
+ m_xDialog->response(RET_OK);
+ else if (ret == RET_NO)
+ {
+ m_xDialog->response(RET_CANCEL);
+ // Show accessibility check Sidebar deck
+ SfxDispatcher* pDispatcher = pShell->GetDispatcher();
+ if (pDispatcher)
+ {
+ const SfxStringItem sDeckName(SID_SIDEBAR_DECK, u"A11yCheckDeck"_ustr);
+ pDispatcher->ExecuteList(SID_SIDEBAR_DECK, SfxCallMode::RECORD,
+ { &sDeckName });
+ }
+ }
+ }
+ else
+ {
+ m_xDialog->response(RET_OK);
+ }
+ }
+ else
+ {
+ m_xDialog->response(RET_OK);
+ }
+ }
+ else
+ {
+ m_xDialog->response(RET_OK);
+ }
+}
+
ImpPDFTabDialog::~ImpPDFTabDialog()
{
maConfigItem.WriteModifiedConfig();
maConfigI18N.WriteModifiedConfig();
}
-void ImpPDFTabDialog::PageCreated(const OString& rId, SfxTabPage& rPage)
+void ImpPDFTabDialog::PageCreated(const OUString& rId, SfxTabPage& rPage)
{
if (rId == "general")
static_cast<ImpPDFTabGeneralPage&>(rPage).SetFilterConfigItem(this);
@@ -345,181 +415,169 @@ void ImpPDFTabDialog::PageCreated(const OString& rId, SfxTabPage& rPage)
}
}
-short ImpPDFTabDialog::Ok( )
-{
- // here the whole mechanism of the base class is not used
- // when Ok is hit, the user means 'convert to PDF', so simply close with ok
-
- if (getGeneralPage()->IsPdfUaSelected())
- {
- SfxObjectShell* pShell = SfxObjectShell::GetShellFromComponent(mrDoc);
- if (pShell)
- {
- sfx::AccessibilityIssueCollection aCollection = pShell->runAccessibilityCheck();
- if (!aCollection.getIssues().empty())
- {
- svx::AccessibilityCheckDialog aDialog(mpParent, aCollection);
- return aDialog.run();
- }
- }
- }
- return RET_OK;
-}
-
Sequence< PropertyValue > ImpPDFTabDialog::GetFilterData()
{
// updating the FilterData sequence and storing FilterData to configuration
- if (ImpPDFTabGeneralPage* pPage = static_cast<ImpPDFTabGeneralPage*>(GetTabPage("general")))
+ if (ImpPDFTabGeneralPage* pPage = static_cast<ImpPDFTabGeneralPage*>(GetTabPage(u"general")))
pPage->GetFilterConfigItem(this);
- if (ImpPDFTabViewerPage* pPage = static_cast<ImpPDFTabViewerPage*>(GetTabPage("userinterface")))
+ if (ImpPDFTabViewerPage* pPage = static_cast<ImpPDFTabViewerPage*>(GetTabPage(u"userinterface")))
pPage->GetFilterConfigItem(this);
- if (ImpPDFTabOpnFtrPage* pPage = static_cast<ImpPDFTabOpnFtrPage*>(GetTabPage("initialview")))
+ if (ImpPDFTabOpnFtrPage* pPage = static_cast<ImpPDFTabOpnFtrPage*>(GetTabPage(u"initialview")))
pPage->GetFilterConfigItem(this);
- if (ImpPDFTabLinksPage* pPage = static_cast<ImpPDFTabLinksPage*>(GetTabPage("links")))
+ if (ImpPDFTabLinksPage* pPage = static_cast<ImpPDFTabLinksPage*>(GetTabPage(u"links")))
pPage->GetFilterConfigItem(this);
- if (ImpPDFTabSecurityPage* pPage = static_cast<ImpPDFTabSecurityPage*>( GetTabPage("security")))
+ if (ImpPDFTabSecurityPage* pPage = static_cast<ImpPDFTabSecurityPage*>( GetTabPage(u"security")))
pPage->GetFilterConfigItem(this);
- if (ImpPDFTabSigningPage* pPage = static_cast<ImpPDFTabSigningPage*>(GetTabPage("digitalsignatures")))
+ if (ImpPDFTabSigningPage* pPage = static_cast<ImpPDFTabSigningPage*>(GetTabPage(u"digitalsignatures")))
pPage->GetFilterConfigItem(this);
// prepare the items to be returned
- maConfigItem.WriteBool( "UseLosslessCompression", mbUseLosslessCompression );
- maConfigItem.WriteInt32("Quality", mnQuality );
- maConfigItem.WriteBool( "ReduceImageResolution", mbReduceImageResolution );
- maConfigItem.WriteInt32("MaxImageResolution", mnMaxImageResolution );
+ maConfigItem.WriteBool( u"UseLosslessCompression"_ustr, mbUseLosslessCompression );
+ maConfigItem.WriteInt32(u"Quality"_ustr, mnQuality );
+ maConfigItem.WriteBool( u"ReduceImageResolution"_ustr, mbReduceImageResolution );
+ maConfigItem.WriteInt32(u"MaxImageResolution"_ustr, mnMaxImageResolution );
// always write the user selection, never the overridden value
const bool bIsPDFUA = mbPDFUACompliance;
const bool bIsPDFA = (1 == mnPDFTypeSelection) || (2 == mnPDFTypeSelection) || (3 == mnPDFTypeSelection);
const bool bUserSelectionTags = bIsPDFA || bIsPDFUA;
- maConfigItem.WriteBool("UseTaggedPDF", bUserSelectionTags ? mbUseTaggedPDFUserSelection : mbUseTaggedPDF);
- maConfigItem.WriteInt32("SelectPdfVersion", mnPDFTypeSelection );
- maConfigItem.WriteBool("PDFUACompliance", mbPDFUACompliance);
+ maConfigItem.WriteBool(u"UseTaggedPDF"_ustr, bUserSelectionTags ? mbUseTaggedPDFUserSelection : mbUseTaggedPDF);
+ maConfigItem.WriteInt32(u"SelectPdfVersion"_ustr, mnPDFTypeSelection );
+ maConfigItem.WriteBool(u"PDFUACompliance"_ustr, mbPDFUACompliance);
if ( mbIsPresentation )
{
- maConfigItem.WriteBool( "ExportNotesPages", mbExportNotesPages );
- maConfigItem.WriteBool( "ExportOnlyNotesPages", mbExportOnlyNotesPages );
+ maConfigItem.WriteBool( u"ExportNotesPages"_ustr, mbExportNotesPages );
+ maConfigItem.WriteBool( u"ExportOnlyNotesPages"_ustr, mbExportOnlyNotesPages );
}
- maConfigItem.WriteBool( "ExportNotes", mbExportNotes );
- maConfigItem.WriteBool( "ViewPDFAfterExport", mbViewPDF );
+ maConfigItem.WriteBool( u"ExportNotes"_ustr, mbExportNotes );
+ if (mbIsWriter)
+ maConfigItem.WriteBool( u"ExportNotesInMargin"_ustr, mbExportNotesInMargin );
+ maConfigItem.WriteBool( u"ViewPDFAfterExport"_ustr, mbViewPDF );
- maConfigItem.WriteBool( "ExportBookmarks", mbExportBookmarks );
+ maConfigItem.WriteBool( u"ExportBookmarks"_ustr, mbExportBookmarks );
if ( mbIsPresentation )
- maConfigItem.WriteBool( "ExportHiddenSlides", mbExportHiddenSlides );
+ maConfigItem.WriteBool( u"ExportHiddenSlides"_ustr, mbExportHiddenSlides );
if ( mbIsSpreadsheet )
- maConfigItem.WriteBool( "SinglePageSheets", mbSinglePageSheets );
- maConfigItem.WriteBool( "UseTransitionEffects", mbUseTransitionEffects );
- maConfigItem.WriteBool( "IsSkipEmptyPages", mbIsSkipEmptyPages );
- maConfigItem.WriteBool( "ExportPlaceholders", mbIsExportPlaceholders );
- maConfigItem.WriteBool( "IsAddStream", mbAddStream );
+ maConfigItem.WriteBool( u"SinglePageSheets"_ustr, mbSinglePageSheets );
+ maConfigItem.WriteBool( u"UseTransitionEffects"_ustr, mbUseTransitionEffects );
+ maConfigItem.WriteBool( u"IsSkipEmptyPages"_ustr, mbIsSkipEmptyPages );
+ maConfigItem.WriteBool( u"ExportPlaceholders"_ustr, mbIsExportPlaceholders );
+ maConfigItem.WriteBool( u"IsAddStream"_ustr, mbAddStream );
/*
* FIXME: the entries are only implicitly defined by the resource file. Should there
* ever be an additional form submit format this could get invalid.
*/
- maConfigItem.WriteInt32( "FormsType", mnFormsType );
- maConfigItem.WriteBool( "ExportFormFields", mbExportFormFields );
- maConfigItem.WriteBool( "AllowDuplicateFieldNames", mbAllowDuplicateFieldNames );
-
- maConfigItem.WriteBool( "HideViewerToolbar", mbHideViewerToolbar );
- maConfigItem.WriteBool( "HideViewerMenubar", mbHideViewerMenubar );
- maConfigItem.WriteBool( "HideViewerWindowControls", mbHideViewerWindowControls );
- maConfigItem.WriteBool( "ResizeWindowToInitialPage", mbResizeWinToInit );
- maConfigItem.WriteBool( "CenterWindow", mbCenterWindow );
- maConfigItem.WriteBool( "OpenInFullScreenMode", mbOpenInFullScreenMode );
- maConfigItem.WriteBool( "DisplayPDFDocumentTitle", mbDisplayPDFDocumentTitle );
- maConfigItem.WriteInt32( "InitialView", mnInitialView );
- maConfigItem.WriteInt32( "Magnification", mnMagnification);
- maConfigItem.WriteInt32( "Zoom", mnZoom );
- maConfigItem.WriteInt32( "InitialPage", mnInitialPage );
- maConfigItem.WriteInt32( "PageLayout", mnPageLayout );
- maConfigItem.WriteBool( "FirstPageOnLeft", mbFirstPageLeft );
- maConfigItem.WriteInt32( "OpenBookmarkLevels", mnOpenBookmarkLevels );
-
- maConfigItem.WriteBool( "ExportLinksRelativeFsys", mbExportRelativeFsysLinks );
- maConfigItem.WriteInt32("PDFViewSelection", mnViewPDFMode );
- maConfigItem.WriteBool( "ConvertOOoTargetToPDFTarget", mbConvertOOoTargets );
- maConfigItem.WriteBool( "ExportBookmarksToPDFDestination", mbExportBmkToPDFDestination );
-
- maConfigItem.WriteBool( "SignPDF", mbSignPDF );
-
- maConfigItem.WriteInt32( "Printing", mnPrint );
- maConfigItem.WriteInt32( "Changes", mnChangesAllowed );
- maConfigItem.WriteBool( "EnableCopyingOfContent", mbCanCopyOrExtract );
- maConfigItem.WriteBool( "EnableTextAccessForAccessibilityTools", mbCanExtractForAccessibility );
-
- std::vector<beans::PropertyValue> aRet;
-
- aRet.push_back(comphelper::makePropertyValue("Watermark", maWatermarkText));
- aRet.push_back(comphelper::makePropertyValue("EncryptFile", mbEncrypt));
- aRet.push_back(comphelper::makePropertyValue("PreparedPasswords", mxPreparedPasswords));
- aRet.push_back(comphelper::makePropertyValue("RestrictPermissions", mbRestrictPermissions));
- aRet.push_back(comphelper::makePropertyValue("PreparedPermissionPassword", maPreparedOwnerPassword));
- if( mbIsRangeChecked )
- aRet.push_back(comphelper::makePropertyValue("PageRange", msPageRange));
+ maConfigItem.WriteInt32( u"FormsType"_ustr, mnFormsType );
+ maConfigItem.WriteBool( u"ExportFormFields"_ustr, mbExportFormFields );
+ maConfigItem.WriteBool( u"AllowDuplicateFieldNames"_ustr, mbAllowDuplicateFieldNames );
+
+ maConfigItem.WriteBool( u"HideViewerToolbar"_ustr, mbHideViewerToolbar );
+ maConfigItem.WriteBool( u"HideViewerMenubar"_ustr, mbHideViewerMenubar );
+ maConfigItem.WriteBool( u"HideViewerWindowControls"_ustr, mbHideViewerWindowControls );
+ maConfigItem.WriteBool( u"ResizeWindowToInitialPage"_ustr, mbResizeWinToInit );
+ maConfigItem.WriteBool( u"CenterWindow"_ustr, mbCenterWindow );
+ maConfigItem.WriteBool( u"OpenInFullScreenMode"_ustr, mbOpenInFullScreenMode );
+ maConfigItem.WriteBool( u"DisplayPDFDocumentTitle"_ustr, mbDisplayPDFDocumentTitle );
+ maConfigItem.WriteInt32( u"InitialView"_ustr, mnInitialView );
+ maConfigItem.WriteInt32( u"Magnification"_ustr, mnMagnification);
+ maConfigItem.WriteInt32( u"Zoom"_ustr, mnZoom );
+ maConfigItem.WriteInt32( u"InitialPage"_ustr, mnInitialPage );
+ maConfigItem.WriteInt32( u"PageLayout"_ustr, mnPageLayout );
+ maConfigItem.WriteBool( u"FirstPageOnLeft"_ustr, mbFirstPageLeft );
+ maConfigItem.WriteInt32( u"OpenBookmarkLevels"_ustr, mnOpenBookmarkLevels );
+
+ maConfigItem.WriteBool( u"ExportLinksRelativeFsys"_ustr, mbExportRelativeFsysLinks );
+ maConfigItem.WriteInt32(u"PDFViewSelection"_ustr, mnViewPDFMode );
+ maConfigItem.WriteBool( u"ConvertOOoTargetToPDFTarget"_ustr, mbConvertOOoTargets );
+ maConfigItem.WriteBool( u"ExportBookmarksToPDFDestination"_ustr, mbExportBmkToPDFDestination );
+
+ maConfigItem.WriteBool( u"SignPDF"_ustr, mbSignPDF );
+
+ maConfigItem.WriteInt32( u"Printing"_ustr, mnPrint );
+ maConfigItem.WriteInt32( u"Changes"_ustr, mnChangesAllowed );
+ maConfigItem.WriteBool( u"EnableCopyingOfContent"_ustr, mbCanCopyOrExtract );
+ maConfigItem.WriteBool( u"EnableTextAccessForAccessibilityTools"_ustr, mbCanExtractForAccessibility );
+
+ std::vector<beans::PropertyValue> aRet
+ {
+ comphelper::makePropertyValue(u"Watermark"_ustr, maWatermarkText),
+ comphelper::makePropertyValue(u"EncryptFile"_ustr, mbEncrypt),
+ comphelper::makePropertyValue(u"PreparedPasswords"_ustr, mxPreparedPasswords),
+ comphelper::makePropertyValue(u"RestrictPermissions"_ustr, mbRestrictPermissions),
+ comphelper::makePropertyValue(u"PreparedPermissionPassword"_ustr, maPreparedOwnerPassword)
+ };
+ if( mbIsPageRangeChecked )
+ aRet.push_back(comphelper::makePropertyValue(u"PageRange"_ustr, msPageRange));
+ if( mbIsSheetRangeChecked )
+ aRet.push_back(comphelper::makePropertyValue(u"SheetRange"_ustr, msSheetRange));
else if( mbSelectionIsChecked )
- aRet.push_back(comphelper::makePropertyValue("Selection", maSelection));
+ aRet.push_back(comphelper::makePropertyValue(u"Selection"_ustr, maSelection));
- aRet.push_back(comphelper::makePropertyValue("SignatureLocation", msSignLocation));
- aRet.push_back(comphelper::makePropertyValue("SignatureReason", msSignReason));
- aRet.push_back(comphelper::makePropertyValue("SignatureContactInfo", msSignContact));
- aRet.push_back(comphelper::makePropertyValue("SignaturePassword", msSignPassword));
- aRet.push_back(comphelper::makePropertyValue("SignatureCertificate", maSignCertificate));
- aRet.push_back(comphelper::makePropertyValue("SignatureTSA", msSignTSA));
- aRet.push_back(comphelper::makePropertyValue("UseReferenceXObject", mbUseReferenceXObject));
+ aRet.push_back(comphelper::makePropertyValue(u"SignatureLocation"_ustr, msSignLocation));
+ aRet.push_back(comphelper::makePropertyValue(u"SignatureReason"_ustr, msSignReason));
+ aRet.push_back(comphelper::makePropertyValue(u"SignatureContactInfo"_ustr, msSignContact));
+ aRet.push_back(comphelper::makePropertyValue(u"SignaturePassword"_ustr, msSignPassword));
+ aRet.push_back(comphelper::makePropertyValue(u"SignatureCertificate"_ustr, maSignCertificate));
+ aRet.push_back(comphelper::makePropertyValue(u"SignatureTSA"_ustr, msSignTSA));
+ aRet.push_back(comphelper::makePropertyValue(u"UseReferenceXObject"_ustr, mbUseReferenceXObject));
return comphelper::concatSequences(maConfigItem.GetFilterData(), comphelper::containerToSequence(aRet));
}
ImpPDFTabGeneralPage::ImpPDFTabGeneralPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet)
- : SfxTabPage(pPage, pController, "filter/ui/pdfgeneralpage.ui", "PdfGeneralPage", &rCoreSet)
+ : SfxTabPage(pPage, pController, u"filter/ui/pdfgeneralpage.ui"_ustr, u"PdfGeneralPage"_ustr, &rCoreSet)
, mbUseTaggedPDFUserSelection(false)
, mbIsPresentation(false)
, mbIsSpreadsheet(false)
, mbIsWriter(false)
, mpParent(nullptr)
- , mxRbAll(m_xBuilder->weld_radio_button("all"))
- , mxRbRange(m_xBuilder->weld_radio_button("range"))
- , mxRbSelection(m_xBuilder->weld_radio_button("selection"))
- , mxEdPages(m_xBuilder->weld_entry("pages"))
- , mxSelectedSheets(m_xBuilder->weld_label("selectedsheets"))
- , mxRbLosslessCompression(m_xBuilder->weld_radio_button("losslesscompress"))
- , mxRbJPEGCompression(m_xBuilder->weld_radio_button("jpegcompress"))
- , mxQualityFrame(m_xBuilder->weld_widget("qualityframe"))
- , mxNfQuality(m_xBuilder->weld_metric_spin_button("quality", FieldUnit::PERCENT))
- , mxCbReduceImageResolution(m_xBuilder->weld_check_button("reduceresolution"))
- , mxCoReduceImageResolution(m_xBuilder->weld_combo_box("resolution"))
- , mxCbPDFA(m_xBuilder->weld_check_button("pdfa"))
- , mxCbPDFUA(m_xBuilder->weld_check_button("pdfua"))
- , mxRbPDFAVersion(m_xBuilder->weld_combo_box("pdfaversion"))
- , mxCbTaggedPDF(m_xBuilder->weld_check_button("tagged"))
- , mxCbExportFormFields(m_xBuilder->weld_check_button("forms"))
- , mxFormsFrame(m_xBuilder->weld_widget("formsframe"))
- , mxLbFormsFormat(m_xBuilder->weld_combo_box("format"))
- , mxCbAllowDuplicateFieldNames(m_xBuilder->weld_check_button("allowdups"))
- , mxCbExportBookmarks(m_xBuilder->weld_check_button("bookmarks"))
- , mxCbExportHiddenSlides(m_xBuilder->weld_check_button("hiddenpages"))
- , mxCbSinglePageSheets(m_xBuilder->weld_check_button("singlepagesheets"))
- , mxCbExportNotes(m_xBuilder->weld_check_button("comments"))
- , mxCbViewPDF(m_xBuilder->weld_check_button("viewpdf"))
- , mxCbUseReferenceXObject(m_xBuilder->weld_check_button("usereferencexobject"))
- , mxCbExportNotesPages(m_xBuilder->weld_check_button("notes"))
- , mxCbExportOnlyNotesPages(m_xBuilder->weld_check_button("onlynotes"))
- , mxCbExportEmptyPages(m_xBuilder->weld_check_button("emptypages"))
- , mxCbExportPlaceholders(m_xBuilder->weld_check_button("exportplaceholders"))
- , mxCbAddStream(m_xBuilder->weld_check_button("embed"))
- , mxCbWatermark(m_xBuilder->weld_check_button("watermark"))
- , mxFtWatermark(m_xBuilder->weld_label("watermarklabel"))
- , mxEdWatermark(m_xBuilder->weld_entry("watermarkentry"))
- , mxSlidesFt(m_xBuilder->weld_label("slides"))
- , mxSheetsFt(m_xBuilder->weld_label("selectedsheets"))
+ , mxRbAll(m_xBuilder->weld_radio_button(u"all"_ustr))
+ , mxRbPageRange(m_xBuilder->weld_radio_button(u"pagerange"_ustr))
+ , mxRbSheetRange(m_xBuilder->weld_radio_button(u"sheetrange"_ustr))
+ , mxRbSelection(m_xBuilder->weld_radio_button(u"selection"_ustr))
+ , mxEdPages(m_xBuilder->weld_entry(u"pages"_ustr))
+ , mxEdSheets(m_xBuilder->weld_entry(u"sheets"_ustr))
+ , mxRbLosslessCompression(m_xBuilder->weld_radio_button(u"losslesscompress"_ustr))
+ , mxRbJPEGCompression(m_xBuilder->weld_radio_button(u"jpegcompress"_ustr))
+ , mxQualityFrame(m_xBuilder->weld_widget(u"qualityframe"_ustr))
+ , mxNfQuality(m_xBuilder->weld_metric_spin_button(u"quality"_ustr, FieldUnit::PERCENT))
+ , mxCbReduceImageResolution(m_xBuilder->weld_check_button(u"reduceresolution"_ustr))
+ , mxCoReduceImageResolution(m_xBuilder->weld_combo_box(u"resolution"_ustr))
+ , mxCbPDFA(m_xBuilder->weld_check_button(u"pdfa"_ustr))
+ , mxCbPDFUA(m_xBuilder->weld_check_button(u"pdfua"_ustr))
+ , mxRbPDFAVersion(m_xBuilder->weld_combo_box(u"pdfaversion"_ustr))
+ , mxCbTaggedPDF(m_xBuilder->weld_check_button(u"tagged"_ustr))
+ , mxCbExportFormFields(m_xBuilder->weld_check_button(u"forms"_ustr))
+ , mxFormsFrame(m_xBuilder->weld_widget(u"formsframe"_ustr))
+ , mxLbFormsFormat(m_xBuilder->weld_combo_box(u"format"_ustr))
+ , mxCbAllowDuplicateFieldNames(m_xBuilder->weld_check_button(u"allowdups"_ustr))
+ , mxCbExportBookmarks(m_xBuilder->weld_check_button(u"bookmarks"_ustr))
+ , mxCbExportHiddenSlides(m_xBuilder->weld_check_button(u"hiddenpages"_ustr))
+ , mxCbSinglePageSheets(m_xBuilder->weld_check_button(u"singlepagesheets"_ustr))
+ , mxCbExportNotes(m_xBuilder->weld_check_button(u"comments"_ustr))
+ , mxCbExportNotesInMargin(m_xBuilder->weld_check_button(u"commentsinmargin"_ustr))
+ , mxCbViewPDF(m_xBuilder->weld_check_button(u"viewpdf"_ustr))
+ , mxCbUseReferenceXObject(m_xBuilder->weld_check_button(u"usereferencexobject"_ustr))
+ , mxCbExportNotesPages(m_xBuilder->weld_check_button(u"notes"_ustr))
+ , mxCbExportOnlyNotesPages(m_xBuilder->weld_check_button(u"onlynotes"_ustr))
+ , mxCbExportEmptyPages(m_xBuilder->weld_check_button(u"emptypages"_ustr))
+ , mxCbExportPlaceholders(m_xBuilder->weld_check_button(u"exportplaceholders"_ustr))
+ , mxCbAddStream(m_xBuilder->weld_check_button(u"embed"_ustr))
+ , mxCbWatermark(m_xBuilder->weld_check_button(u"watermark"_ustr))
+ , mxFtWatermark(m_xBuilder->weld_label(u"watermarklabel"_ustr))
+ , mxEdWatermark(m_xBuilder->weld_entry(u"watermarkentry"_ustr))
+ , mxSlidesFt(m_xBuilder->weld_label(u"slides"_ustr))
+ , mxSheetsSelectionFt(m_xBuilder->weld_label(u"selectedsheets"_ustr))
{
}
ImpPDFTabGeneralPage::~ImpPDFTabGeneralPage()
{
+ if (mxPasswordUnusedWarnDialog)
+ mxPasswordUnusedWarnDialog->response(RET_CANCEL);
}
void ImpPDFTabGeneralPage::SetFilterConfigItem(ImpPDFTabDialog* pParent)
@@ -527,39 +585,45 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem(ImpPDFTabDialog* pParent)
mpParent = pParent;
// init this class data
- mxRbRange->connect_toggled( LINK( this, ImpPDFTabGeneralPage, TogglePagesHdl ) );
+ mxRbPageRange->connect_toggled( LINK( this, ImpPDFTabGeneralPage, TogglePagesHdl ) );
+ mxRbSheetRange->connect_toggled( LINK( this, ImpPDFTabGeneralPage, ToggleSheetsHdl ) );
mxRbAll->set_active(true);
mxRbAll->connect_toggled( LINK( this, ImpPDFTabGeneralPage, ToggleAllHdl ) );
TogglePagesHdl();
+ ToggleSheetsHdl();
- const bool bSelectionPresent = pParent->mbSelectionPresent;
- mxRbSelection->set_sensitive( bSelectionPresent );
- if ( bSelectionPresent )
+ mxRbSelection->set_sensitive( pParent->mbSelectionPresent );
+ if ( pParent->mbSelectionPresent )
mxRbSelection->connect_toggled( LINK( this, ImpPDFTabGeneralPage, ToggleSelectionHdl ) );
mbIsPresentation = pParent->mbIsPresentation;
mbIsWriter = pParent->mbIsWriter;
mbIsSpreadsheet = pParent->mbIsSpreadsheet;
- mxCbExportEmptyPages->set_sensitive( mbIsWriter );
- mxCbExportPlaceholders->set_sensitive( mbIsWriter );
-
mxRbLosslessCompression->connect_toggled( LINK( this, ImpPDFTabGeneralPage, ToggleCompressionHdl ) );
const bool bUseLosslessCompression = pParent->mbUseLosslessCompression;
if ( bUseLosslessCompression )
mxRbLosslessCompression->set_active(true);
else
mxRbJPEGCompression->set_active(true);
+ const bool bReadOnlyCompression = !pParent->maConfigItem.IsReadOnly(u"UseLosslessCompression"_ustr);
+ mxRbLosslessCompression->set_sensitive(bReadOnlyCompression);
+ mxRbJPEGCompression->set_sensitive(bReadOnlyCompression);
mxNfQuality->set_value( pParent->mnQuality, FieldUnit::PERCENT );
- mxQualityFrame->set_sensitive(!bUseLosslessCompression);
+ mxQualityFrame->set_sensitive(
+ !bUseLosslessCompression && !pParent->maConfigItem.IsReadOnly(u"Quality"_ustr));
mxCbReduceImageResolution->connect_toggled(LINK(this, ImpPDFTabGeneralPage, ToggleReduceImageResolutionHdl));
const bool bReduceImageResolution = pParent->mbReduceImageResolution;
mxCbReduceImageResolution->set_active( bReduceImageResolution );
+ mxCbReduceImageResolution->set_sensitive(
+ !pParent->maConfigItem.IsReadOnly(u"ReduceImageResolution"_ustr));
OUString aStrRes = OUString::number( pParent->mnMaxImageResolution ) + " DPI";
mxCoReduceImageResolution->set_entry_text(aStrRes);
- mxCoReduceImageResolution->set_sensitive( bReduceImageResolution );
+ mxCoReduceImageResolution->set_sensitive(
+ bReduceImageResolution && !pParent->maConfigItem.IsReadOnly(u"MaxImageResolution"_ustr));
+
mxCbWatermark->connect_toggled( LINK( this, ImpPDFTabGeneralPage, ToggleWatermarkHdl ) );
mxFtWatermark->set_sensitive(false );
mxEdWatermark->set_sensitive( false );
@@ -570,20 +634,21 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem(ImpPDFTabDialog* pParent)
switch( pParent->mnPDFTypeSelection )
{
case 1: // PDF/A-1
- mxRbPDFAVersion->set_active_id("1");
+ mxRbPDFAVersion->set_active_id(u"1"_ustr);
break;
case 2: // PDF/A-2
- mxRbPDFAVersion->set_active_id("2");
+ mxRbPDFAVersion->set_active_id(u"2"_ustr);
break;
case 3: // PDF/A-3
default: // PDF 1.x
- mxRbPDFAVersion->set_active_id("3");
+ mxRbPDFAVersion->set_active_id(u"3"_ustr);
break;
}
const bool bIsPDFUA = pParent->mbPDFUACompliance;
mxCbPDFUA->set_active(bIsPDFUA);
mxCbPDFUA->connect_toggled(LINK(this, ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHandle));
+ mxCbPDFUA->set_sensitive(!pParent->maConfigItem.IsReadOnly(u"PDFUACompliance"_ustr));
// the TogglePDFVersionOrUniversalAccessibilityHandle handler will read or write the *UserSelection based
// on the mxCbPDFA (= bIsPDFA) state, so we have to prepare the correct input state.
@@ -591,32 +656,59 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem(ImpPDFTabDialog* pParent)
mxCbTaggedPDF->set_active(pParent->mbUseTaggedPDFUserSelection);
else
mbUseTaggedPDFUserSelection = pParent->mbUseTaggedPDFUserSelection;
+
+ mxCbExportBookmarks->set_active(pParent->mbExportBookmarksUserSelection);
TogglePDFVersionOrUniversalAccessibilityHandle(*mxCbPDFA);
mxCbExportFormFields->set_active(pParent->mbExportFormFields);
mxCbExportFormFields->connect_toggled( LINK( this, ImpPDFTabGeneralPage, ToggleExportFormFieldsHdl ) );
+ mxCbExportFormFields->set_sensitive(!pParent->maConfigItem.IsReadOnly(u"ExportFormFields"_ustr));
mxLbFormsFormat->set_active(static_cast<sal_uInt16>(pParent->mnFormsType));
mxCbAllowDuplicateFieldNames->set_active( pParent->mbAllowDuplicateFieldNames );
+ // FormsFrame contains (and thus sets_sensitive) FormsFormat and AllowDuplicateFieldNames
mxFormsFrame->set_sensitive(pParent->mbExportFormFields);
+ if (pParent->mbExportFormFields)
+ {
+ if (pParent->maConfigItem.IsReadOnly(u"FormsType"_ustr))
+ mxLbFormsFormat->set_sensitive(false);
+ if (pParent->maConfigItem.IsReadOnly(u"AllowDuplicateFieldNames"_ustr))
+ mxCbAllowDuplicateFieldNames->set_sensitive(false);
+ }
- mxCbExportBookmarks->set_active( pParent->mbExportBookmarks );
mxCbExportNotes->set_active( pParent->mbExportNotes );
- mxCbViewPDF->set_active( pParent->mbViewPDF);
+ mxCbExportNotesInMargin->set_active(mbIsWriter && pParent->mbExportNotesInMargin);
+ mxCbExportNotesInMargin->set_sensitive(
+ mbIsWriter && !pParent->maConfigItem.IsReadOnly(u"ExportNotesInMargin"_ustr));
+
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ mxCbViewPDF->hide();
+ mxCbViewPDF->set_active(false);
+ }
+ else
+ {
+ mxCbViewPDF->set_active(pParent->mbViewPDF);
+ mxCbViewPDF->set_sensitive(!pParent->maConfigItem.IsReadOnly(u"ViewPDFAfterExport"_ustr));
+ }
if ( mbIsPresentation )
{
- mxRbRange->set_label(mxSlidesFt->get_label());
+ mxRbPageRange->set_label(mxSlidesFt->get_label());
mxCbExportNotesPages->show();
mxCbExportNotesPages->set_active(pParent->mbExportNotesPages);
mxCbExportNotesPages->connect_toggled( LINK(this, ImpPDFTabGeneralPage, ToggleExportNotesPagesHdl ) );
+ mxCbExportNotesPages->set_sensitive(!pParent->maConfigItem.IsReadOnly(u"ExportNotesPages"_ustr));
mxCbExportOnlyNotesPages->show();
mxCbExportOnlyNotesPages->set_active(pParent->mbExportOnlyNotesPages);
// tdf#116473 Initially enable Export only note pages option depending on the checked state of Export notes pages option
- mxCbExportOnlyNotesPages->set_sensitive(mxCbExportNotesPages->get_active());
+ mxCbExportOnlyNotesPages->set_sensitive(
+ mxCbExportNotesPages->get_active() && !pParent->maConfigItem.IsReadOnly(u"ExportOnlyNotesPages"_ustr));
mxCbExportHiddenSlides->show();
mxCbExportHiddenSlides->set_active(pParent->mbExportHiddenSlides);
+ mxCbExportHiddenSlides->set_sensitive(
+ !pParent->maConfigItem.IsReadOnly(u"ExportHiddenSlides"_ustr));
}
else
{
@@ -630,34 +722,38 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem(ImpPDFTabDialog* pParent)
if( mbIsSpreadsheet )
{
- mxRbSelection->set_label(mxSheetsFt->get_label());
+ mxRbSelection->set_label(mxSheetsSelectionFt->get_label());
// tdf#105965 Make Selection/Selected sheets the default PDF export range setting for spreadsheets
mxRbSelection->set_active(true);
+ mxRbSheetRange->show();
+ mxEdSheets->show();
+
mxCbSinglePageSheets->show();
mxCbSinglePageSheets->set_active(pParent->mbSinglePageSheets);
+ mxCbSinglePageSheets->set_sensitive(!pParent->maConfigItem.IsReadOnly(u"SinglePageSheets"_ustr));
}
else
{
mxCbSinglePageSheets->hide();
mxCbSinglePageSheets->set_active(false);
+ mxRbSheetRange->hide();
+ mxRbSheetRange->set_active(false);
+ mxEdSheets->hide();
}
- mxCbExportPlaceholders->set_visible(mbIsWriter);
- if( mbIsWriter )
- {
- // tdf#54908 Make selection active if there is a selection in Writer's version
- mxRbSelection->set_active( bSelectionPresent );
- }
- else
- {
- mxCbExportPlaceholders->set_active(false);
- }
mxCbExportEmptyPages->set_active(!pParent->mbIsSkipEmptyPages);
+ mxCbExportEmptyPages->set_sensitive(
+ mbIsWriter && !pParent->maConfigItem.IsReadOnly(u"IsSkipEmptyPages"_ustr));
+
+ mxCbExportPlaceholders->set_visible(mbIsWriter);
mxCbExportPlaceholders->set_active(pParent->mbIsExportPlaceholders);
+ mxCbExportPlaceholders->set_sensitive(
+ mbIsWriter && !pParent->maConfigItem.IsReadOnly(u"ExportPlaceholders"_ustr));
mxCbAddStream->show();
mxCbAddStream->set_active(pParent->mbAddStream);
+ mxCbAddStream->set_sensitive(!pParent->maConfigItem.IsReadOnly(u"IsAddStream"_ustr));
mxCbAddStream->connect_toggled(LINK(this, ImpPDFTabGeneralPage, ToggleAddStreamHdl));
ToggleAddStreamHdl(*mxCbAddStream); // init addstream dependencies
@@ -671,6 +767,8 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
pParent->mbReduceImageResolution = mxCbReduceImageResolution->get_active();
pParent->mnMaxImageResolution = mxCoReduceImageResolution->get_active_text().toInt32();
pParent->mbExportNotes = mxCbExportNotes->get_active();
+ if (mbIsWriter)
+ pParent->mbExportNotesInMargin = mxCbExportNotesInMargin->get_active();
pParent->mbViewPDF = mxCbViewPDF->get_active();
pParent->mbUseReferenceXObject = mxCbUseReferenceXObject->get_active();
if ( mbIsPresentation )
@@ -689,12 +787,17 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
pParent->mbIsExportPlaceholders = mxCbExportPlaceholders->get_active();
pParent->mbAddStream = mxCbAddStream->get_visible() && mxCbAddStream->get_active();
- pParent->mbIsRangeChecked = false;
- if( mxRbRange->get_active() )
+ pParent->mbIsPageRangeChecked = false;
+ if( mxRbPageRange->get_active() )
{
- pParent->mbIsRangeChecked = true;
+ pParent->mbIsPageRangeChecked = true;
pParent->msPageRange = mxEdPages->get_text(); //FIXME all right on other languages ?
}
+ else if ( mxRbSheetRange->get_active() )
+ {
+ pParent->mbIsSheetRangeChecked = true;
+ pParent->msSheetRange = mxEdSheets->get_text();
+ }
else if( mxRbSelection->get_active() )
{
pParent->mbSelectionIsChecked = mxRbSelection->get_active();
@@ -720,6 +823,11 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
if (!bIsPDFA && !bIsPDFUA)
mbUseTaggedPDFUserSelection = pParent->mbUseTaggedPDF;
+ if (!bIsPDFUA)
+ {
+ pParent->mbExportBookmarksUserSelection = pParent->mbExportBookmarks;
+ pParent->mbUseReferenceXObjectUserSelection = pParent->mbUseReferenceXObject;
+ }
pParent->mbUseTaggedPDFUserSelection = mbUseTaggedPDFUserSelection;
pParent->mbExportFormFields = mxCbExportFormFields->get_active();
@@ -741,59 +849,89 @@ std::unique_ptr<SfxTabPage> ImpPDFTabGeneralPage::Create( weld::Container* pPage
return std::make_unique<ImpPDFTabGeneralPage>(pPage, pController, *rAttrSet);
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleAllHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleAllHdl, weld::Toggleable&, void)
{
EnableExportNotesPages();
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePagesHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePagesHdl, weld::Toggleable&, void)
{
TogglePagesHdl();
EnableExportNotesPages();
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleSelectionHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleSheetsHdl, weld::Toggleable&, void)
+{
+ ToggleSheetsHdl();
+ EnableExportNotesPages();
+}
+
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleSelectionHdl, weld::Toggleable&, void)
{
EnableExportNotesPages();
}
void ImpPDFTabGeneralPage::TogglePagesHdl()
{
- mxEdPages->set_sensitive( mxRbRange->get_active() );
- if (mxRbRange->get_active())
+ mxEdPages->set_sensitive( mxRbPageRange->get_active() );
+ if (mxRbPageRange->get_active())
mxEdPages->grab_focus();
}
+void ImpPDFTabGeneralPage::ToggleSheetsHdl()
+{
+ mxEdSheets->set_sensitive( mxRbSheetRange->get_active() );
+ if (mxRbSheetRange->get_active())
+ mxEdSheets->grab_focus();
+}
+
void ImpPDFTabGeneralPage::EnableExportNotesPages()
{
if ( mbIsPresentation )
{
- mxCbExportNotesPages->set_sensitive( !mxRbSelection->get_active() );
- mxCbExportOnlyNotesPages->set_sensitive( !mxRbSelection->get_active() && mxCbExportNotesPages->get_active() );
+ mxCbExportNotesPages->set_sensitive(
+ !mxRbSelection->get_active() && !IsReadOnlyProperty(u"ExportNotesPages"_ustr));
+ mxCbExportOnlyNotesPages->set_sensitive(
+ !mxRbSelection->get_active() && mxCbExportNotesPages->get_active()
+ && !IsReadOnlyProperty(u"ExportOnlyNotesPages"_ustr));
}
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleExportFormFieldsHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleExportFormFieldsHdl, weld::Toggleable&, void)
{
- mxFormsFrame->set_sensitive(mxCbExportFormFields->get_active());
+ const bool bExportFormFields = mxCbExportFormFields->get_active();
+ // FormsFrame contains (and thus sets_sensitive) FormsFormat and AllowDuplicateFieldNames
+ mxFormsFrame->set_sensitive(bExportFormFields);
+ if (bExportFormFields)
+ {
+ if (IsReadOnlyProperty(u"FormsType"_ustr))
+ mxLbFormsFormat->set_sensitive(false);
+ if (IsReadOnlyProperty(u"AllowDuplicateFieldNames"_ustr))
+ mxCbAllowDuplicateFieldNames->set_sensitive(false);
+ }
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleExportNotesPagesHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleExportNotesPagesHdl, weld::Toggleable&, void)
{
- mxCbExportOnlyNotesPages->set_sensitive(mxCbExportNotesPages->get_active());
+ mxCbExportOnlyNotesPages->set_sensitive(
+ mxCbExportNotesPages->get_active()
+ && !IsReadOnlyProperty(u"ExportOnlyNotesPages"_ustr));
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleCompressionHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleCompressionHdl, weld::Toggleable&, void)
{
- mxQualityFrame->set_sensitive(mxRbJPEGCompression->get_active());
+ mxQualityFrame->set_sensitive(
+ mxRbJPEGCompression->get_active() && !IsReadOnlyProperty(u"Quality"_ustr));
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleReduceImageResolutionHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleReduceImageResolutionHdl, weld::Toggleable&, void)
{
- mxCoReduceImageResolution->set_sensitive(mxCbReduceImageResolution->get_active());
+ mxCoReduceImageResolution->set_sensitive(
+ mxCbReduceImageResolution->get_active()
+ && !IsReadOnlyProperty(u"MaxImageResolution"_ustr));
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleWatermarkHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleWatermarkHdl, weld::Toggleable&, void)
{
mxEdWatermark->set_sensitive(mxCbWatermark->get_active());
mxFtWatermark->set_sensitive(mxCbWatermark->get_active());
@@ -801,7 +939,7 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleWatermarkHdl, weld::ToggleButton&, v
mxEdWatermark->grab_focus();
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleAddStreamHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleAddStreamHdl, weld::Toggleable&, void)
{
if (!mxCbAddStream->get_visible())
return;
@@ -809,7 +947,8 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleAddStreamHdl, weld::ToggleButton&, v
if( mxCbAddStream->get_active() )
{
mxRbAll->set_active(true);
- mxRbRange->set_sensitive( false );
+ mxRbPageRange->set_sensitive( false );
+ mxRbSheetRange->set_sensitive( false );
mxRbSelection->set_sensitive( false );
mxEdPages->set_sensitive( false );
mxRbAll->set_sensitive( false );
@@ -817,12 +956,13 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, ToggleAddStreamHdl, weld::ToggleButton&, v
else
{
mxRbAll->set_sensitive(true);
- mxRbRange->set_sensitive(true);
+ mxRbPageRange->set_sensitive(true);
+ mxRbSheetRange->set_sensitive(true);
mxRbSelection->set_sensitive(true);
}
}
-IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHandle, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHandle, weld::Toggleable&, void)
{
const bool bIsPDFA = mxCbPDFA->get_active();
const bool bIsPDFUA = mxCbPDFUA->get_active();
@@ -830,10 +970,12 @@ 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);
- mxRbPDFAVersion->set_sensitive(bIsPDFA);
+ mxCbTaggedPDF->set_sensitive(
+ !bIsPDFA && !bIsPDFUA && !IsReadOnlyProperty(u"UseTaggedPDF"_ustr));
+ mxRbPDFAVersion->set_sensitive(
+ bIsPDFA && !IsReadOnlyProperty(u"SelectPdfVersion"_ustr));
if (bIsPDFA || bIsPDFUA)
{
@@ -842,12 +984,13 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHa
mxCbTaggedPDF->set_active(true);
// if a password was set, inform the user that this will not be used
- if (pSecPage && pSecPage->hasPassword())
+ if (bIsPDFA && pSecPage && pSecPage->hasPassword())
{
- std::unique_ptr<weld::MessageDialog> xBox(Application::CreateMessageDialog(m_xContainer.get(),
+ mxPasswordUnusedWarnDialog =
+ std::shared_ptr<weld::MessageDialog>(Application::CreateMessageDialog(m_xContainer.get(),
VclMessageType::Warning, VclButtonsType::Ok,
- PDFFilterResId(STR_WARN_PASSWORD_PDFA)));
- xBox->run();
+ FilterResId(STR_WARN_PASSWORD_PDFA)));
+ mxPasswordUnusedWarnDialog->runAsync(mxPasswordUnusedWarnDialog, [] (sal_uInt32){ });
}
}
else
@@ -856,6 +999,40 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHa
mxCbTaggedPDF->set_active(mbUseTaggedPDFUserSelection);
}
+ if (bIsPDFUA)
+ {
+ if (mxCbExportBookmarks->get_sensitive())
+ {
+ if (mpParent)
+ {
+ mpParent->mbExportBookmarksUserSelection = mxCbExportBookmarks->get_active();
+ }
+ mxCbExportBookmarks->set_active(true);
+ }
+ if (mxCbUseReferenceXObject->get_sensitive())
+ {
+ if (mpParent)
+ {
+ mpParent->mbUseReferenceXObjectUserSelection = mxCbUseReferenceXObject->get_active();
+ }
+ mxCbUseReferenceXObject->set_active(false);
+ }
+ }
+ else if (mpParent)
+ {
+ mxCbExportBookmarks->set_active(mpParent->mbExportBookmarksUserSelection);
+ mxCbUseReferenceXObject->set_active(mpParent->mbUseReferenceXObjectUserSelection);
+ }
+ mxCbExportBookmarks->set_sensitive(
+ !bIsPDFUA && !IsReadOnlyProperty(u"ExportBookmarks"_ustr));
+ mxCbUseReferenceXObject->set_sensitive(!bIsPDFUA);
+
+ ImpPDFTabOpnFtrPage *const pOpenPage(mpParent ? mpParent->getOpenPage() : nullptr);
+ if (pOpenPage)
+ {
+ pOpenPage->ToggleInitialView(*mpParent);
+ }
+
// PDF/A doesn't allow launch action, so enable/disable the selection on the Link page
ImpPDFTabLinksPage* pLinksPage = mpParent ? mpParent->getLinksPage() : nullptr;
if (pLinksPage)
@@ -864,23 +1041,23 @@ IMPL_LINK_NOARG(ImpPDFTabGeneralPage, TogglePDFVersionOrUniversalAccessibilityHa
/// The option features tab page
ImpPDFTabOpnFtrPage::ImpPDFTabOpnFtrPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet)
- : SfxTabPage(pPage, pController, "filter/ui/pdfviewpage.ui", "PdfViewPage", &rCoreSet)
+ : SfxTabPage(pPage, pController, u"filter/ui/pdfviewpage.ui"_ustr, u"PdfViewPage"_ustr, &rCoreSet)
, mbUseCTLFont(false)
- , mxRbOpnPageOnly(m_xBuilder->weld_radio_button("pageonly"))
- , mxRbOpnOutline(m_xBuilder->weld_radio_button("outline"))
- , mxRbOpnThumbs(m_xBuilder->weld_radio_button("thumbs"))
- , mxNumInitialPage(m_xBuilder->weld_spin_button("page"))
- , mxRbMagnDefault(m_xBuilder->weld_radio_button("fitdefault"))
- , mxRbMagnFitWin(m_xBuilder->weld_radio_button("fitwin"))
- , mxRbMagnFitWidth(m_xBuilder->weld_radio_button("fitwidth"))
- , mxRbMagnFitVisible(m_xBuilder->weld_radio_button("fitvis"))
- , mxRbMagnZoom(m_xBuilder->weld_radio_button("fitzoom"))
- , mxNumZoom(m_xBuilder->weld_spin_button("zoom"))
- , mxRbPgLyDefault(m_xBuilder->weld_radio_button("defaultlayout"))
- , mxRbPgLySinglePage(m_xBuilder->weld_radio_button("singlelayout"))
- , mxRbPgLyContinue(m_xBuilder->weld_radio_button("contlayout"))
- , mxRbPgLyContinueFacing(m_xBuilder->weld_radio_button("contfacinglayout"))
- , mxCbPgLyFirstOnLeft(m_xBuilder->weld_check_button("firstonleft"))
+ , mxRbOpnPageOnly(m_xBuilder->weld_radio_button(u"pageonly"_ustr))
+ , mxRbOpnOutline(m_xBuilder->weld_radio_button(u"outline"_ustr))
+ , mxRbOpnThumbs(m_xBuilder->weld_radio_button(u"thumbs"_ustr))
+ , mxNumInitialPage(m_xBuilder->weld_spin_button(u"page"_ustr))
+ , mxRbMagnDefault(m_xBuilder->weld_radio_button(u"fitdefault"_ustr))
+ , mxRbMagnFitWin(m_xBuilder->weld_radio_button(u"fitwin"_ustr))
+ , mxRbMagnFitWidth(m_xBuilder->weld_radio_button(u"fitwidth"_ustr))
+ , mxRbMagnFitVisible(m_xBuilder->weld_radio_button(u"fitvis"_ustr))
+ , mxRbMagnZoom(m_xBuilder->weld_radio_button(u"fitzoom"_ustr))
+ , mxNumZoom(m_xBuilder->weld_spin_button(u"zoom"_ustr))
+ , mxRbPgLyDefault(m_xBuilder->weld_radio_button(u"defaultlayout"_ustr))
+ , mxRbPgLySinglePage(m_xBuilder->weld_radio_button(u"singlelayout"_ustr))
+ , mxRbPgLyContinue(m_xBuilder->weld_radio_button(u"contlayout"_ustr))
+ , mxRbPgLyContinueFacing(m_xBuilder->weld_radio_button(u"contfacinglayout"_ustr))
+ , mxCbPgLyFirstOnLeft(m_xBuilder->weld_check_button(u"firstonleft"_ustr))
{
mxRbMagnDefault->connect_toggled( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
mxRbMagnFitWin->connect_toggled( LINK( this, ImpPDFTabOpnFtrPage, ToggleRbMagnHdl ) );
@@ -905,6 +1082,10 @@ void ImpPDFTabOpnFtrPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
pParent->mnInitialView = 1;
else if( mxRbOpnThumbs->get_active() )
pParent->mnInitialView = 2;
+ if (!pParent->mbPDFUACompliance)
+ {
+ pParent->mnInitialViewUserSelection = pParent->mnInitialView;
+ }
pParent->mnMagnification = 0;
if( mxRbMagnFitWin->get_active() )
@@ -932,7 +1113,7 @@ void ImpPDFTabOpnFtrPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
pParent->mbFirstPageLeft = mbUseCTLFont && mxCbPgLyFirstOnLeft->get_active();
}
-void ImpPDFTabOpnFtrPage::SetFilterConfigItem( const ImpPDFTabDialog* pParent )
+void ImpPDFTabOpnFtrPage::SetFilterConfigItem(ImpPDFTabDialog *const pParent)
{
mbUseCTLFont = pParent->mbUseCTLFont;
switch( pParent->mnPageLayout )
@@ -1002,9 +1183,55 @@ void ImpPDFTabOpnFtrPage::SetFilterConfigItem( const ImpPDFTabDialog* pParent )
mxCbPgLyFirstOnLeft->set_active(pParent->mbFirstPageLeft);
ToggleRbPgLyContinueFacingHdl();
}
+
+ // The call from ImpPDFTabGeneralPage::SetFilterConfigItem() did not init
+ // the radio buttons correctly because ImpPDFTabOpnFtrPage did not yet exist.
+ ToggleInitialView(*pParent);
+}
+
+void ImpPDFTabOpnFtrPage::ToggleInitialView(ImpPDFTabDialog & rParent)
+{
+ bool const bIsPDFUA(rParent.getGeneralPage()->IsPdfUaSelected());
+ if (bIsPDFUA)
+ { // only allow Outline for PDF/UA
+ if (mxRbOpnOutline->get_sensitive())
+ {
+ if (mxRbOpnPageOnly->get_active())
+ {
+ rParent.mnInitialViewUserSelection = 0;
+ }
+ else if (mxRbOpnOutline->get_active())
+ {
+ rParent.mnInitialViewUserSelection = 1;
+ }
+ else if (mxRbOpnThumbs->get_active())
+ {
+ rParent.mnInitialViewUserSelection = 2;
+ }
+ mxRbOpnOutline->set_active(true);
+ }
+ }
+ else
+ {
+ switch (rParent.mnInitialViewUserSelection)
+ {
+ case 0:
+ mxRbOpnPageOnly->set_active(true);
+ break;
+ case 1:
+ mxRbOpnOutline->set_active(true);
+ break;
+ case 2:
+ mxRbOpnThumbs->set_active(true);
+ break;
+ }
+ }
+ mxRbOpnPageOnly->set_sensitive(!bIsPDFUA);
+ mxRbOpnThumbs->set_sensitive(!bIsPDFUA);
+ mxRbOpnOutline->set_sensitive(!bIsPDFUA);
}
-IMPL_LINK_NOARG(ImpPDFTabOpnFtrPage, ToggleRbPgLyContinueFacingHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabOpnFtrPage, ToggleRbPgLyContinueFacingHdl, weld::Toggleable&, void)
{
ToggleRbPgLyContinueFacingHdl();
}
@@ -1014,26 +1241,26 @@ void ImpPDFTabOpnFtrPage::ToggleRbPgLyContinueFacingHdl()
mxCbPgLyFirstOnLeft->set_sensitive(mxRbPgLyContinueFacing->get_active());
}
-IMPL_LINK_NOARG( ImpPDFTabOpnFtrPage, ToggleRbMagnHdl, weld::ToggleButton&, void )
+IMPL_LINK_NOARG( ImpPDFTabOpnFtrPage, ToggleRbMagnHdl, weld::Toggleable&, void )
{
mxNumZoom->set_sensitive(mxRbMagnZoom->get_active());
}
/// The Viewer preferences tab page
ImpPDFTabViewerPage::ImpPDFTabViewerPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet )
- : SfxTabPage(pPage, pController, "filter/ui/pdfuserinterfacepage.ui", "PdfUserInterfacePage", &rCoreSet)
+ : SfxTabPage(pPage, pController, u"filter/ui/pdfuserinterfacepage.ui"_ustr, u"PdfUserInterfacePage"_ustr, &rCoreSet)
, mbIsPresentation(false)
- , m_xCbResWinInit(m_xBuilder->weld_check_button("resize"))
- , m_xCbCenterWindow(m_xBuilder->weld_check_button("center"))
- , m_xCbOpenFullScreen(m_xBuilder->weld_check_button("open"))
- , m_xCbDispDocTitle(m_xBuilder->weld_check_button("display"))
- , m_xCbHideViewerMenubar(m_xBuilder->weld_check_button("menubar"))
- , m_xCbHideViewerToolbar(m_xBuilder->weld_check_button("toolbar"))
- , m_xCbHideViewerWindowControls(m_xBuilder->weld_check_button("window"))
- , m_xCbTransitionEffects(m_xBuilder->weld_check_button("effects"))
- , m_xRbAllBookmarkLevels(m_xBuilder->weld_radio_button("allbookmarks"))
- , m_xRbVisibleBookmarkLevels(m_xBuilder->weld_radio_button("visiblebookmark"))
- , m_xNumBookmarkLevels(m_xBuilder->weld_spin_button("visiblelevel"))
+ , m_xCbResWinInit(m_xBuilder->weld_check_button(u"resize"_ustr))
+ , m_xCbCenterWindow(m_xBuilder->weld_check_button(u"center"_ustr))
+ , m_xCbOpenFullScreen(m_xBuilder->weld_check_button(u"open"_ustr))
+ , m_xCbDispDocTitle(m_xBuilder->weld_check_button(u"display"_ustr))
+ , m_xCbHideViewerMenubar(m_xBuilder->weld_check_button(u"menubar"_ustr))
+ , m_xCbHideViewerToolbar(m_xBuilder->weld_check_button(u"toolbar"_ustr))
+ , m_xCbHideViewerWindowControls(m_xBuilder->weld_check_button(u"window"_ustr))
+ , m_xCbTransitionEffects(m_xBuilder->weld_check_button(u"effects"_ustr))
+ , m_xRbAllBookmarkLevels(m_xBuilder->weld_radio_button(u"allbookmarks"_ustr))
+ , m_xRbVisibleBookmarkLevels(m_xBuilder->weld_radio_button(u"visiblebookmark"_ustr))
+ , m_xNumBookmarkLevels(m_xBuilder->weld_spin_button(u"visiblelevel"_ustr))
{
m_xRbAllBookmarkLevels->connect_toggled(LINK(this, ImpPDFTabViewerPage, ToggleRbBookmarksHdl));
m_xRbVisibleBookmarkLevels->connect_toggled(LINK(this, ImpPDFTabViewerPage, ToggleRbBookmarksHdl));
@@ -1043,7 +1270,7 @@ ImpPDFTabViewerPage::~ImpPDFTabViewerPage()
{
}
-IMPL_LINK_NOARG( ImpPDFTabViewerPage, ToggleRbBookmarksHdl, weld::ToggleButton&, void )
+IMPL_LINK_NOARG( ImpPDFTabViewerPage, ToggleRbBookmarksHdl, weld::Toggleable&, void )
{
m_xNumBookmarkLevels->set_sensitive(m_xRbVisibleBookmarkLevels->get_active());
}
@@ -1096,32 +1323,33 @@ void ImpPDFTabViewerPage::SetFilterConfigItem( const ImpPDFTabDialog* pParent )
/// The Security preferences tab page
ImpPDFTabSecurityPage::ImpPDFTabSecurityPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& i_rCoreSet)
- : SfxTabPage(pPage, pController, "filter/ui/pdfsecuritypage.ui", "PdfSecurityPage", &i_rCoreSet)
- , msUserPwdTitle( PDFFilterResId( STR_PDF_EXPORT_UDPWD ) )
+ : SfxTabPage(pPage, pController, u"filter/ui/pdfsecuritypage.ui"_ustr, u"PdfSecurityPage"_ustr, &i_rCoreSet)
+ , msUserPwdTitle( FilterResId( STR_PDF_EXPORT_UDPWD ) )
, mbHaveOwnerPassword( false )
, mbHaveUserPassword( false )
- , msOwnerPwdTitle( PDFFilterResId( STR_PDF_EXPORT_ODPWD ) )
- , mxPbSetPwd(m_xBuilder->weld_button("setpassword"))
- , mxUserPwdSet(m_xBuilder->weld_widget("userpwdset"))
- , mxUserPwdUnset(m_xBuilder->weld_widget("userpwdunset"))
- , mxUserPwdPdfa(m_xBuilder->weld_widget("userpwdpdfa"))
- , mxOwnerPwdSet(m_xBuilder->weld_widget("ownerpwdset"))
- , mxOwnerPwdUnset(m_xBuilder->weld_widget("ownerpwdunset"))
- , mxOwnerPwdPdfa(m_xBuilder->weld_widget("ownerpwdpdfa"))
- , mxPrintPermissions(m_xBuilder->weld_widget("printing"))
- , mxRbPrintNone(m_xBuilder->weld_radio_button("printnone"))
- , mxRbPrintLowRes(m_xBuilder->weld_radio_button("printlow"))
- , mxRbPrintHighRes(m_xBuilder->weld_radio_button("printhigh"))
- , mxChangesAllowed(m_xBuilder->weld_widget("changes"))
- , mxRbChangesNone(m_xBuilder->weld_radio_button("changenone"))
- , mxRbChangesInsDel(m_xBuilder->weld_radio_button("changeinsdel"))
- , mxRbChangesFillForm(m_xBuilder->weld_radio_button("changeform"))
- , mxRbChangesComment(m_xBuilder->weld_radio_button("changecomment"))
- , mxRbChangesAnyNoCopy(m_xBuilder->weld_radio_button("changeany"))
- , mxContent(m_xBuilder->weld_widget("content"))
- , mxCbEnableCopy(m_xBuilder->weld_check_button("enablecopy"))
- , mxCbEnableAccessibility(m_xBuilder->weld_check_button("enablea11y"))
- , mxPasswordTitle(m_xBuilder->weld_label("setpasswordstitle"))
+ , msOwnerPwdTitle( FilterResId( STR_PDF_EXPORT_ODPWD ) )
+ , mxPbSetPwd(m_xBuilder->weld_button(u"setpassword"_ustr))
+ , mxUserPwdSet(m_xBuilder->weld_widget(u"userpwdset"_ustr))
+ , mxUserPwdUnset(m_xBuilder->weld_widget(u"userpwdunset"_ustr))
+ , mxUserPwdPdfa(m_xBuilder->weld_widget(u"userpwdpdfa"_ustr))
+ , mxOwnerPwdSet(m_xBuilder->weld_widget(u"ownerpwdset"_ustr))
+ , mxOwnerPwdUnset(m_xBuilder->weld_widget(u"ownerpwdunset"_ustr))
+ , mxOwnerPwdPdfa(m_xBuilder->weld_widget(u"ownerpwdpdfa"_ustr))
+ , mxPrintPermissions(m_xBuilder->weld_widget(u"printing"_ustr))
+ , mxRbPrintNone(m_xBuilder->weld_radio_button(u"printnone"_ustr))
+ , mxRbPrintLowRes(m_xBuilder->weld_radio_button(u"printlow"_ustr))
+ , mxRbPrintHighRes(m_xBuilder->weld_radio_button(u"printhigh"_ustr))
+ , mxChangesAllowed(m_xBuilder->weld_widget(u"changes"_ustr))
+ , mxRbChangesNone(m_xBuilder->weld_radio_button(u"changenone"_ustr))
+ , mxRbChangesInsDel(m_xBuilder->weld_radio_button(u"changeinsdel"_ustr))
+ , mxRbChangesFillForm(m_xBuilder->weld_radio_button(u"changeform"_ustr))
+ , mxRbChangesComment(m_xBuilder->weld_radio_button(u"changecomment"_ustr))
+ , mxRbChangesAnyNoCopy(m_xBuilder->weld_radio_button(u"changeany"_ustr))
+ , mxContent(m_xBuilder->weld_widget(u"content"_ustr))
+ , mxCbEnableCopy(m_xBuilder->weld_check_button(u"enablecopy"_ustr))
+ , mxCbEnableAccessibility(m_xBuilder->weld_check_button(u"enablea11y"_ustr))
+ , mxPasswordTitle(m_xBuilder->weld_label(u"setpasswordstitle"_ustr))
+ , mxPermissionTitle(m_xBuilder->weld_label(u"label2"_ustr))
{
msStrSetPwd = mxPasswordTitle->get_label();
mxPbSetPwd->connect_clicked(LINK(this, ImpPDFTabSecurityPage, ClickmaPbSetPwdHdl));
@@ -1129,6 +1357,10 @@ ImpPDFTabSecurityPage::ImpPDFTabSecurityPage(weld::Container* pPage, weld::Dialo
ImpPDFTabSecurityPage::~ImpPDFTabSecurityPage()
{
+ if (mpPasswordDialog)
+ mpPasswordDialog->response(RET_CANCEL);
+ if (mpUnsupportedMsgDialog)
+ mpUnsupportedMsgDialog->response(RET_CANCEL);
}
std::unique_ptr<SfxTabPage> ImpPDFTabSecurityPage::Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* rAttrSet)
@@ -1214,56 +1446,77 @@ void ImpPDFTabSecurityPage::SetFilterConfigItem( const ImpPDFTabDialog* pParent
ImpPDFTabGeneralPage* pGeneralPage = pParent->getGeneralPage();
if (pGeneralPage)
- ImplPDFASecurityControl(!pGeneralPage->IsPdfaSelected());
+ ImplPDFASecurityControl();
}
IMPL_LINK_NOARG(ImpPDFTabSecurityPage, ClickmaPbSetPwdHdl, weld::Button&, void)
{
- SfxPasswordDialog aPwdDialog(m_xContainer.get(), &msUserPwdTitle);
- aPwdDialog.SetMinLen(0);
- aPwdDialog.ShowMinLengthText(false);
- aPwdDialog.ShowExtras( SfxShowExtras::CONFIRM | SfxShowExtras::PASSWORD2 | SfxShowExtras::CONFIRM2 );
- aPwdDialog.set_title(msStrSetPwd);
- aPwdDialog.SetGroup2Text(msOwnerPwdTitle);
- aPwdDialog.AllowAsciiOnly();
- if (aPwdDialog.run() == RET_OK) // OK issued get password and set it
- {
- OUString aUserPW(aPwdDialog.GetPassword());
- OUString aOwnerPW(aPwdDialog.GetPassword2());
-
- mbHaveUserPassword = !aUserPW.isEmpty();
- mbHaveOwnerPassword = !aOwnerPW.isEmpty();
-
- mxPreparedPasswords = vcl::PDFWriter::InitEncryption( aOwnerPW, aUserPW );
- if (!mxPreparedPasswords.is()) {
- OUString msg;
- ErrorHandler::GetErrorString(ERRCODE_IO_NOTSUPPORTED, msg); //TODO: handle failure
- std::unique_ptr<weld::MessageDialog>(
- Application::CreateMessageDialog(
- GetFrameWeld(), VclMessageType::Error, VclButtonsType::Ok, msg))
- ->run();
- return;
- }
+ if(mpPasswordDialog)
+ mpPasswordDialog->response(RET_CANCEL);
+
+ mpPasswordDialog = std::make_shared<SfxPasswordDialog>(m_xContainer.get(), &msUserPwdTitle);
+
+ mpPasswordDialog->SetMinLen(0);
+ mpPasswordDialog->ShowMinLengthText(false);
+ mpPasswordDialog->ShowExtras( SfxShowExtras::CONFIRM | SfxShowExtras::PASSWORD2 | SfxShowExtras::CONFIRM2 );
+ mpPasswordDialog->set_title(msStrSetPwd);
+ mpPasswordDialog->SetGroup2Text(msOwnerPwdTitle);
+ mpPasswordDialog->AllowAsciiOnly();
+
+ mpPasswordDialog->PreRun();
- if( mbHaveOwnerPassword )
+ weld::DialogController::runAsync(mpPasswordDialog, [this](sal_Int32 response){
+ if (response == RET_OK)
{
- maPreparedOwnerPassword = comphelper::OStorageHelper::CreatePackageEncryptionData( aOwnerPW );
+ OUString aUserPW(mpPasswordDialog->GetPassword());
+ OUString aOwnerPW(mpPasswordDialog->GetPassword2());
+
+ mbHaveUserPassword = !aUserPW.isEmpty();
+ mbHaveOwnerPassword = !aOwnerPW.isEmpty();
+
+ mxPreparedPasswords = vcl::PDFWriter::InitEncryption( aOwnerPW, aUserPW );
+ if (!mxPreparedPasswords.is())
+ {
+ OUString msg;
+ ErrorHandler::GetErrorString(ERRCODE_IO_NOTSUPPORTED, msg); //TODO: handle failure
+ mpUnsupportedMsgDialog = std::shared_ptr<weld::MessageDialog>(
+ Application::CreateMessageDialog(
+ GetFrameWeld(), VclMessageType::Error, VclButtonsType::Ok, msg));
+
+ mpUnsupportedMsgDialog->runAsync(mpUnsupportedMsgDialog, [](sal_Int32){ });
+ return;
+ }
+
+ if( mbHaveOwnerPassword )
+ maPreparedOwnerPassword = comphelper::OStorageHelper::CreatePackageEncryptionData( aOwnerPW );
+ else
+ maPreparedOwnerPassword = Sequence< NamedValue >();
}
- else
- maPreparedOwnerPassword = Sequence< NamedValue >();
- }
- enablePermissionControls();
+ if (response != RET_CANCEL)
+ enablePermissionControls();
+ mpPasswordDialog.reset();
+ });
}
void ImpPDFTabSecurityPage::enablePermissionControls()
{
bool bIsPDFASel = false;
+ bool bIsPDFUASel = false;
ImpPDFTabDialog* pParent = static_cast<ImpPDFTabDialog*>(GetDialogController());
ImpPDFTabGeneralPage* pGeneralPage = pParent ? pParent->getGeneralPage() : nullptr;
if (pGeneralPage)
{
bIsPDFASel = pGeneralPage->IsPdfaSelected();
+ bIsPDFUASel = pGeneralPage->IsPdfUaSelected();
+ }
+ // ISO 14289-1:2014, Clause: 7.16
+ if (bIsPDFUASel)
+ {
+ mxCbEnableAccessibility->set_active(true);
}
+ mxPermissionTitle->set_sensitive(!bIsPDFASel);
+ mxPbSetPwd->set_sensitive(!bIsPDFASel);
+ mxCbEnableAccessibility->set_sensitive(!bIsPDFUASel);
if (bIsPDFASel)
{
mxUserPwdPdfa->show();
@@ -1316,25 +1569,24 @@ 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();
}
/// The link preferences tab page (relative and other stuff)
ImpPDFTabLinksPage::ImpPDFTabLinksPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet)
- : SfxTabPage(pPage, pController, "filter/ui/pdflinkspage.ui", "PdfLinksPage", &rCoreSet)
+ : SfxTabPage(pPage, pController, u"filter/ui/pdflinkspage.ui"_ustr, u"PdfLinksPage"_ustr, &rCoreSet)
, mbOpnLnksDefaultUserState(false)
, mbOpnLnksLaunchUserState(false)
, mbOpnLnksBrowserUserState(false)
- , m_xCbExprtBmkrToNmDst(m_xBuilder->weld_check_button("export"))
- , m_xCbOOoToPDFTargets(m_xBuilder->weld_check_button("convert"))
- , m_xCbExportRelativeFsysLinks(m_xBuilder->weld_check_button("exporturl"))
- , m_xRbOpnLnksDefault(m_xBuilder->weld_radio_button("default"))
- , m_xRbOpnLnksLaunch(m_xBuilder->weld_radio_button("openpdf"))
- , m_xRbOpnLnksBrowser(m_xBuilder->weld_radio_button("openinternet"))
+ , m_xCbExprtBmkrToNmDst(m_xBuilder->weld_check_button(u"export"_ustr))
+ , m_xCbOOoToPDFTargets(m_xBuilder->weld_check_button(u"convert"_ustr))
+ , m_xCbExportRelativeFsysLinks(m_xBuilder->weld_check_button(u"exporturl"_ustr))
+ , m_xRbOpnLnksDefault(m_xBuilder->weld_radio_button(u"default"_ustr))
+ , m_xRbOpnLnksLaunch(m_xBuilder->weld_radio_button(u"openpdf"_ustr))
+ , m_xRbOpnLnksBrowser(m_xBuilder->weld_radio_button(u"openinternet"_ustr))
{
}
@@ -1438,7 +1690,7 @@ void ImpPDFTabLinksPage::ImplPDFALinkControl( bool bEnableLaunch )
}
/// Reset the memory of Launch action present when PDF/A-1 was requested
-IMPL_LINK_NOARG(ImpPDFTabLinksPage, ClickRbOpnLnksDefaultHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabLinksPage, ClickRbOpnLnksDefaultHdl, weld::Toggleable&, void)
{
mbOpnLnksDefaultUserState = m_xRbOpnLnksDefault->get_active();
mbOpnLnksLaunchUserState = m_xRbOpnLnksLaunch->get_active();
@@ -1446,7 +1698,7 @@ IMPL_LINK_NOARG(ImpPDFTabLinksPage, ClickRbOpnLnksDefaultHdl, weld::ToggleButton
}
/// Reset the memory of a launch action present when PDF/A-1 was requested
-IMPL_LINK_NOARG(ImpPDFTabLinksPage, ClickRbOpnLnksBrowserHdl, weld::ToggleButton&, void)
+IMPL_LINK_NOARG(ImpPDFTabLinksPage, ClickRbOpnLnksBrowserHdl, weld::Toggleable&, void)
{
mbOpnLnksDefaultUserState = m_xRbOpnLnksDefault->get_active();
mbOpnLnksLaunchUserState = m_xRbOpnLnksLaunch->get_active();
@@ -1454,9 +1706,9 @@ IMPL_LINK_NOARG(ImpPDFTabLinksPage, ClickRbOpnLnksBrowserHdl, weld::ToggleButton
}
ImplErrorDialog::ImplErrorDialog(weld::Window* pParent, const std::set<vcl::PDFWriter::ErrorCode>& rErrors)
- : MessageDialogController(pParent, "filter/ui/warnpdfdialog.ui", "WarnPDFDialog", "grid")
- , m_xErrors(m_xBuilder->weld_tree_view("errors"))
- , m_xExplanation(m_xBuilder->weld_label("message"))
+ : MessageDialogController(pParent, u"filter/ui/warnpdfdialog.ui"_ustr, u"WarnPDFDialog"_ustr, u"grid"_ustr)
+ , m_xErrors(m_xBuilder->weld_tree_view(u"errors"_ustr))
+ , m_xExplanation(m_xBuilder->weld_label(u"message"_ustr))
{
int nWidth = m_xErrors->get_approximate_digit_width() * 26;
int nHeight = m_xErrors->get_height_rows(9);
@@ -1468,19 +1720,19 @@ ImplErrorDialog::ImplErrorDialog(weld::Window* pParent, const std::set<vcl::PDFW
switch(error)
{
case vcl::PDFWriter::Warning_Transparency_Omitted_PDFA:
- m_xErrors->append(PDFFilterResId(STR_WARN_TRANSP_PDFA), PDFFilterResId(STR_WARN_TRANSP_PDFA_SHORT), "dialog-warning");
+ m_xErrors->append(FilterResId(STR_WARN_TRANSP_PDFA), FilterResId(STR_WARN_TRANSP_PDFA_SHORT), u"dialog-warning"_ustr);
break;
case vcl::PDFWriter::Warning_Transparency_Omitted_PDF13:
- m_xErrors->append(PDFFilterResId(STR_WARN_TRANSP_VERSION), PDFFilterResId(STR_WARN_TRANSP_VERSION_SHORT), "dialog-warning");
+ m_xErrors->append(FilterResId(STR_WARN_TRANSP_VERSION), FilterResId(STR_WARN_TRANSP_VERSION_SHORT), u"dialog-warning"_ustr);
break;
case vcl::PDFWriter::Warning_FormAction_Omitted_PDFA:
- m_xErrors->append(PDFFilterResId(STR_WARN_FORMACTION_PDFA), PDFFilterResId(STR_WARN_FORMACTION_PDFA_SHORT), "dialog-warning");
+ m_xErrors->append(FilterResId(STR_WARN_FORMACTION_PDFA), FilterResId(STR_WARN_FORMACTION_PDFA_SHORT), u"dialog-warning"_ustr);
break;
case vcl::PDFWriter::Warning_Transparency_Converted:
- m_xErrors->append(PDFFilterResId(STR_WARN_TRANSP_CONVERTED), PDFFilterResId(STR_WARN_TRANSP_CONVERTED_SHORT), "dialog-warning");
+ m_xErrors->append(FilterResId(STR_WARN_TRANSP_CONVERTED), FilterResId(STR_WARN_TRANSP_CONVERTED_SHORT), u"dialog-warning"_ustr);
break;
case vcl::PDFWriter::Error_Signature_Failed:
- m_xErrors->append(PDFFilterResId(STR_ERR_PDF_EXPORT_ABORTED), PDFFilterResId(STR_ERR_SIGNATURE_FAILED), "dialog-error");
+ m_xErrors->append(FilterResId(STR_ERR_PDF_EXPORT_ABORTED), FilterResId(STR_ERR_SIGNATURE_FAILED), u"dialog-error"_ustr);
break;
default:
break;
@@ -1504,16 +1756,15 @@ IMPL_LINK_NOARG(ImplErrorDialog, SelectHdl, weld::TreeView&, void)
/// The digital signatures tab page
ImpPDFTabSigningPage::ImpPDFTabSigningPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet)
- : SfxTabPage(pPage, pController, "filter/ui/pdfsignpage.ui", "PdfSignPage", &rCoreSet)
- , maSignCertificate()
- , mxEdSignCert(m_xBuilder->weld_entry("cert"))
- , mxPbSignCertSelect(m_xBuilder->weld_button("select"))
- , mxPbSignCertClear(m_xBuilder->weld_button("clear"))
- , mxEdSignPassword(m_xBuilder->weld_entry("password"))
- , mxEdSignLocation(m_xBuilder->weld_entry("location"))
- , mxEdSignContactInfo(m_xBuilder->weld_entry("contact"))
- , mxEdSignReason(m_xBuilder->weld_entry("reason"))
- , mxLBSignTSA(m_xBuilder->weld_combo_box("tsa"))
+ : SfxTabPage(pPage, pController, u"filter/ui/pdfsignpage.ui"_ustr, u"PdfSignPage"_ustr, &rCoreSet)
+ , mxEdSignCert(m_xBuilder->weld_entry(u"cert"_ustr))
+ , mxPbSignCertSelect(m_xBuilder->weld_button(u"select"_ustr))
+ , mxPbSignCertClear(m_xBuilder->weld_button(u"clear"_ustr))
+ , mxEdSignPassword(m_xBuilder->weld_entry(u"password"_ustr))
+ , mxEdSignLocation(m_xBuilder->weld_entry(u"location"_ustr))
+ , mxEdSignContactInfo(m_xBuilder->weld_entry(u"contact"_ustr))
+ , mxEdSignReason(m_xBuilder->weld_entry(u"reason"_ustr))
+ , mxLBSignTSA(m_xBuilder->weld_combo_box(u"tsa"_ustr))
{
mxPbSignCertSelect->set_sensitive(true);
mxPbSignCertSelect->connect_clicked(LINK(this, ImpPDFTabSigningPage, ClickmaPbSignCertSelect));
@@ -1571,7 +1822,7 @@ IMPL_LINK_NOARG(ImpPDFTabSigningPage, ClickmaPbSignCertSelect, weld::Button&, vo
IMPL_LINK_NOARG(ImpPDFTabSigningPage, ClickmaPbSignCertClear, weld::Button&, void)
{
- mxEdSignCert->set_text("");
+ mxEdSignCert->set_text(u""_ustr);
maSignCertificate.clear();
mxPbSignCertClear->set_sensitive(false);
mxEdSignLocation->set_sensitive(false);