weld InformationDialog info dialog
Change-Id: I6a3631fe06a1b46164f01d706ecefd7252509382
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143740
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
diff --git a/compilerplugins/clang/unusedenumconstants.writeonly.results b/compilerplugins/clang/unusedenumconstants.writeonly.results
index bf474ef..e78ed74 100644
--- a/compilerplugins/clang/unusedenumconstants.writeonly.results
+++ b/compilerplugins/clang/unusedenumconstants.writeonly.results
@@ -3952,8 +3952,6 @@ sdext/source/minimizer/pppoptimizertoken.hxx:110
enum PPPOptimizerTokenEnum STR_SLIDES
sdext/source/minimizer/pppoptimizertoken.hxx:116
enum PPPOptimizerTokenEnum STR_SUMMARY
sdext/source/minimizer/pppoptimizertoken.hxx:119
enum PPPOptimizerTokenEnum STR_AUTOMATICALLY_OPEN
sdext/source/minimizer/pppoptimizertoken.hxx:122
enum PPPOptimizerTokenEnum STR_DELETE_SLIDES
sdext/source/minimizer/pppoptimizertoken.hxx:123
diff --git a/officecfg/registry/data/org/openoffice/Office/PresentationMinimizer.xcu b/officecfg/registry/data/org/openoffice/Office/PresentationMinimizer.xcu
index f1ac8d8..f9a9ea5 100644
--- a/officecfg/registry/data/org/openoffice/Office/PresentationMinimizer.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/PresentationMinimizer.xcu
@@ -47,9 +47,6 @@ The current presentation contains no OLE objects.</value>
<prop oor:name="STR_SUMMARY">
<value xml:lang="en-US">Summary</value>
</prop>
<prop oor:name="STR_AUTOMATICALLY_OPEN">
<value xml:lang="en-US">~Open newly created presentation</value>
</prop>
<prop oor:name="STR_DELETE_SLIDES">
<value xml:lang="en-US">Delete %SLIDES slides.</value>
</prop>
@@ -65,17 +62,20 @@ The current presentation contains no OLE objects.</value>
<prop oor:name="STR_OK">
<value xml:lang="en-US">OK</value>
</prop>
<prop oor:name="STR_INFO_1">
<value xml:lang="en-US">The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_PRIMARY">
<value xml:lang="en-US">Successfully updated the presentation '%TITLE'.</value>
</prop>
<prop oor:name="STR_INFO_2">
<value xml:lang="en-US">The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_SECONDARY_1">
<value xml:lang="en-US">The file size has changed from %OLDFILESIZE MB to %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_INFO_3">
<value xml:lang="en-US">The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed to %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_SECONDARY_2">
<value xml:lang="en-US">The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_INFO_4">
<value xml:lang="en-US">The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed to approximated %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_SECONDARY_3">
<value xml:lang="en-US">The file size has changed to %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_INFO_SECONDARY_4">
<value xml:lang="en-US">The file size has changed to approximated %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_DUPLICATING_PRESENTATION">
<value xml:lang="en-US">Duplicating presentation...</value>
diff --git a/officecfg/registry/schema/org/openoffice/Office/PresentationMinimizer.xcs b/officecfg/registry/schema/org/openoffice/Office/PresentationMinimizer.xcs
index d214880..8a6eadb 100644
--- a/officecfg/registry/schema/org/openoffice/Office/PresentationMinimizer.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/PresentationMinimizer.xcs
@@ -161,10 +161,6 @@ The current presentation contains no OLE objects.</value>
<info><desc>String STR_SUMMARY.</desc></info>
<value>Summary</value>
</prop>
<prop oor:name="STR_AUTOMATICALLY_OPEN" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_AUTOMATICALLY_OPEN.</desc></info>
<value>~Open newly created presentation</value>
</prop>
<prop oor:name="STR_DELETE_SLIDES" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_DELETE_SLIDES.</desc></info>
<value>Delete %SLIDES slides</value>
@@ -187,21 +183,25 @@ The current presentation contains no OLE objects.</value>
<info><desc>String STR_OK.</desc></info>
<value>OK</value>
</prop>
<prop oor:name="STR_INFO_1" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_1.</desc></info>
<value>The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_PRIMARY" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_SECONDARY_1.</desc></info>
<value>The Presentation Minimizer has successfully updated the presentation '%TITLE'.</value>
</prop>
<prop oor:name="STR_INFO_2" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_2.</desc></info>
<value>The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_SECONDARY_1" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_SECONDARY_1.</desc></info>
<value>The file size has changed from %OLDFILESIZE MB to %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_INFO_3" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_3.</desc></info>
<value>The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed to %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_SECONDARY_2" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_SECONDARY_2.</desc></info>
<value>The file size has changed from %OLDFILESIZE MB to approximated %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_INFO_4" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_4.</desc></info>
<value>The Presentation Minimizer has successfully updated the presentation '%TITLE'. The file size has changed to approximated %NEWFILESIZE MB.</value>
<prop oor:name="STR_INFO_SECONDARY_3" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_SECONDARY_3.</desc></info>
<value>The file size has changed to %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_INFO_SECONDARY_4" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_INFO_SECONDARY_4.</desc></info>
<value>The file size has changed to approximated %NEWFILESIZE MB.</value>
</prop>
<prop oor:name="STR_DUPLICATING_PRESENTATION" oor:type="xs:string" oor:localized="true">
<info><desc>String STR_DUPLICATING_PRESENTATION.</desc></info>
diff --git a/sd/UIConfig_simpress.mk b/sd/UIConfig_simpress.mk
index d71e7ff..ab6b287 100644
--- a/sd/UIConfig_simpress.mk
+++ b/sd/UIConfig_simpress.mk
@@ -151,6 +151,7 @@ $(eval $(call gb_UIConfig_add_uifiles,modules/simpress,\
sd/uiconfig/simpress/ui/pagesfieldbox \
sd/uiconfig/simpress/ui/photoalbum \
sd/uiconfig/simpress/ui/pmimagespage \
sd/uiconfig/simpress/ui/pminfodialog \
sd/uiconfig/simpress/ui/pmintropage \
sd/uiconfig/simpress/ui/pmobjectspage \
sd/uiconfig/simpress/ui/pmslidespage \
diff --git a/sd/uiconfig/simpress/ui/pminfodialog.ui b/sd/uiconfig/simpress/ui/pminfodialog.ui
new file mode 100644
index 0000000..29a4a15
--- /dev/null
+++ b/sd/uiconfig/simpress/ui/pminfodialog.ui
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.40.0 -->
<interface domain="sd">
<requires lib="gtk+" version="3.20"/>
<object class="GtkMessageDialog" id="PMInfoDialog">
<property name="can-focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="type-hint">dialog</property>
<property name="buttons">ok</property>
<child internal-child="vbox">
<object class="GtkBox">
<property name="can-focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child internal-child="action_area">
<object class="GtkButtonBox">
<property name="can-focus">False</property>
<property name="homogeneous">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="ask">
<property name="label" translatable="yes" context="pminfodialog|ask">_Open newly created presentation</property>
<property name="visible">True</property>
<property name="can-focus">True</property>
<property name="receives-default">False</property>
<property name="halign">start</property>
<property name="use-underline">True</property>
<property name="draw-indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>
diff --git a/sdext/source/minimizer/impoptimizer.cxx b/sdext/source/minimizer/impoptimizer.cxx
index 721d7ef51..d8079a5 100644
--- a/sdext/source/minimizer/impoptimizer.cxx
+++ b/sdext/source/minimizer/impoptimizer.cxx
@@ -570,6 +570,7 @@ void ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments )
{
case TK_StatusDispatcher : rArgument.Value >>= mxStatusDispatcher; break;
case TK_DocumentFrame: rArgument.Value >>= mxDocumentFrame; break;
case TK_DialogParentWindow: rArgument.Value >>= mxDialogParentWindow; break;
case TK_Settings :
{
css::uno::Sequence< css::beans::PropertyValue > aSettings;
@@ -673,7 +674,7 @@ void ImpOptimizer::Optimize( const Sequence< PropertyValue >& rArguments )
if ( mxDocumentFrame.is() )
{
InformationDialog aInformationDialog( mxContext, mxDocumentFrame, maSaveAsURL, mbOpenNewDocument, nSourceSize, nDestSize, nEstimatedFileSize );
InformationDialog aInformationDialog( mxContext, mxDialogParentWindow, maSaveAsURL, mbOpenNewDocument, nSourceSize, nDestSize, nEstimatedFileSize );
aInformationDialog.execute();
SetStatusValue( TK_OpenNewDocument, Any( mbOpenNewDocument ) );
DispatchStatus();
diff --git a/sdext/source/minimizer/impoptimizer.hxx b/sdext/source/minimizer/impoptimizer.hxx
index a7436f7..98d22e7 100644
--- a/sdext/source/minimizer/impoptimizer.hxx
+++ b/sdext/source/minimizer/impoptimizer.hxx
@@ -35,6 +35,8 @@ private:
css::uno::Reference< css::uno::XComponentContext > mxContext;
css::uno::Reference< css::frame::XModel > mxModel;
css::uno::Reference< css::frame::XDispatch > mxStatusDispatcher;
css::uno::Reference<css::frame::XFrame> mxDocumentFrame;
css::uno::Reference<css::awt::XWindow> mxDialogParentWindow;
bool mbJPEGCompression;
sal_Int32 mnJPEGQuality;
@@ -51,8 +53,6 @@ private:
OUString maFilterName;
bool mbOpenNewDocument;
css::uno::Reference< css::frame::XFrame > mxDocumentFrame;
void Optimize();
public:
diff --git a/sdext/source/minimizer/informationdialog.cxx b/sdext/source/minimizer/informationdialog.cxx
index 0797e78..0a6620d 100644
--- a/sdext/source/minimizer/informationdialog.cxx
+++ b/sdext/source/minimizer/informationdialog.cxx
@@ -26,12 +26,7 @@
#include <com/sun/star/util/XURLTransformer.hpp>
#include <rtl/ustrbuf.hxx>
#include <sal/macros.h>
#define DIALOG_WIDTH 240
#define DIALOG_HEIGHT 80
#define PAGE_POS_X 35
#define PAGE_WIDTH ( DIALOG_WIDTH - PAGE_POS_X ) - 6
#include <vcl/svapp.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::ui;
@@ -43,148 +38,6 @@ using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::container;
OUString InsertFixedText( UnoDialog& rInformationDialog, const OUString& rControlName, const OUString& rLabel,
sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, bool bMultiLine, sal_Int16 nTabIndex )
{
OUString pNames[] = {
OUString("Height"),
OUString("Label"),
OUString("MultiLine"),
OUString("PositionX"),
OUString("PositionY"),
OUString("Step"),
OUString("TabIndex"),
OUString("Width") };
Any pValues[] = {
Any( nHeight ),
Any( rLabel ),
Any( bMultiLine ),
Any( nXPos ),
Any( nYPos ),
Any( sal_Int16(0) ),
Any( nTabIndex ),
Any( nWidth ) };
sal_Int32 nCount = SAL_N_ELEMENTS( pNames );
Sequence< OUString > aNames( pNames, nCount );
Sequence< Any > aValues( pValues, nCount );
rInformationDialog.insertFixedText( rControlName, aNames, aValues );
return rControlName;
}
OUString InsertImage(
UnoDialog& rInformationDialog,
const OUString& rControlName,
const OUString& rURL,
sal_Int32 nPosX,
sal_Int32 nPosY,
sal_Int32 nWidth,
sal_Int32 nHeight,
bool bScale )
{
OUString pNames[] = {
OUString("Border"),
OUString("Height"),
OUString("ImageURL"),
OUString("PositionX"),
OUString("PositionY"),
OUString("ScaleImage"),
OUString("Width") };
Any pValues[] = {
Any( sal_Int16( 0 ) ),
Any( nHeight ),
Any( rURL ),
Any( nPosX ),
Any( nPosY ),
Any( bScale ),
Any( nWidth ) };
sal_Int32 nCount = SAL_N_ELEMENTS( pNames );
Sequence< OUString > aNames( pNames, nCount );
Sequence< Any > aValues( pValues, nCount );
rInformationDialog.insertImage( rControlName, aNames, aValues );
return rControlName;
}
OUString InsertCheckBox( UnoDialog& rInformationDialog, const OUString& rControlName,
const Reference< XItemListener >& rItemListener, const OUString& rLabel,
sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int16 nTabIndex )
{
sal_Int32 nHeight = 8;
OUString pNames[] = {
OUString("Enabled"),
OUString("Height"),
OUString("Label"),
OUString("PositionX"),
OUString("PositionY"),
OUString("Step"),
OUString("TabIndex"),
OUString("Width") };
Any pValues[] = {
Any( true ),
Any( nHeight ),
Any( rLabel ),
Any( nXPos ),
Any( nYPos ),
Any( sal_Int16(0) ),
Any( nTabIndex ),
Any( nWidth ) };
sal_Int32 nCount = SAL_N_ELEMENTS( pNames );
Sequence< OUString > aNames( pNames, nCount );
Sequence< Any > aValues( pValues, nCount );
Reference< XCheckBox > xCheckBox( rInformationDialog.insertCheckBox( rControlName, aNames, aValues ) );
if ( rItemListener.is() )
xCheckBox->addItemListener( rItemListener );
return rControlName;
}
OUString InsertButton( UnoDialog& rInformationDialog, const OUString& rControlName, Reference< XActionListener > const & xActionListener,
sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int16 nTabIndex, const OUString& rText )
{
sal_Int32 nHeight = 14;
OUString pNames[] = {
OUString("Enabled"),
OUString("Height"),
OUString("Label"),
OUString("PositionX"),
OUString("PositionY"),
OUString("PushButtonType"),
OUString("Step"),
OUString("TabIndex"),
OUString("Width") };
Any pValues[] = {
Any( true ),
Any( nHeight ),
Any( rText ),
Any( nXPos ),
Any( nYPos ),
Any( static_cast< sal_Int16 >( PushButtonType_OK ) ),
Any( sal_Int16(0) ),
Any( nTabIndex ),
Any( nWidth ) };
sal_Int32 nCount = SAL_N_ELEMENTS( pNames );
Sequence< OUString > aNames( pNames, nCount );
Sequence< Any > aValues( pValues, nCount );
rInformationDialog.insertButton( rControlName, xActionListener, aNames, aValues );
return rControlName;
}
static OUString ImpValueOfInMB( sal_Int64 rVal )
{
double fVal( static_cast<double>( rVal ) );
@@ -199,62 +52,34 @@ static OUString ImpValueOfInMB( sal_Int64 rVal )
void InformationDialog::InitDialog()
{
sal_Int32 nDialogHeight = DIALOG_HEIGHT;
if ( maSaveAsURL.isEmpty() )
nDialogHeight -= 22;
// setting the dialog properties
OUString pNames[] = {
OUString("Closeable"),
OUString("Height"),
OUString("Moveable"),
OUString("PositionX"),
OUString("PositionY"),
OUString("Title"),
OUString("Width") };
Any pValues[] = {
Any( true ),
Any( nDialogHeight ),
Any( true ),
Any( sal_Int32( 245 ) ),
Any( sal_Int32( 115 ) ),
Any( getString( STR_SUN_OPTIMIZATION_WIZARD2 ) ),
Any( sal_Int32( DIALOG_WIDTH ) ) };
sal_Int32 nCount = SAL_N_ELEMENTS( pNames );
Sequence< OUString > aNames( pNames, nCount );
Sequence< Any > aValues( pValues, nCount );
setPropertyValues(aNames, aValues);
set_title(getString(STR_SUN_OPTIMIZATION_WIZARD2));
sal_Int64 nSource = mnSourceSize;
sal_Int64 nDest = mnDestSize;
PPPOptimizerTokenEnum eInfoString( STR_INFO_1 );
PPPOptimizerTokenEnum eInfoString( STR_INFO_SECONDARY_1 );
if ( mnSourceSize )
{
if ( mnDestSize )
eInfoString = STR_INFO_1;
eInfoString = STR_INFO_SECONDARY_1;
else
{
eInfoString = STR_INFO_2;
eInfoString = STR_INFO_SECONDARY_2;
nDest = mnApproxSize;
}
}
else if ( mnDestSize )
eInfoString = STR_INFO_3;
eInfoString = STR_INFO_SECONDARY_3;
else
{
eInfoString = STR_INFO_4;
eInfoString = STR_INFO_SECONDARY_4;
nDest = mnApproxSize;
}
OUString aTitle;
if ( !maSaveAsURL.isEmpty() )
{
Reference< XURLTransformer > xURLTransformer( URLTransformer::create(UnoDialog::mxContext) );
Reference< XURLTransformer > xURLTransformer( URLTransformer::create(mxContext) );
util::URL aURL, aPresentationURL;
aURL.Complete = maSaveAsURL;
xURLTransformer->parseSmart( aURL, OUString() );
@@ -267,84 +92,55 @@ void InformationDialog::InitDialog()
aTitle = aTitle.replaceAt( 0, sFileProtocol.getLength(), u"" );
}
OUString aInfoString( getString( eInfoString ) );
OUString sPrimary( getString( STR_INFO_PRIMARY ) );
OUString sSecondary( getString( eInfoString ) );
static const OUStringLiteral aOldSizePlaceholder( u"%OLDFILESIZE" );
static const OUStringLiteral aNewSizePlaceholder( u"%NEWFILESIZE" );
const OUString aTitlePlaceholder( !aTitle.isEmpty() ? OUString("%TITLE" )
: OUString("'%TITLE'") );
sal_Int32 i = aInfoString.indexOf( aOldSizePlaceholder );
sal_Int32 i = sSecondary.indexOf( aOldSizePlaceholder );
if ( i >= 0 )
aInfoString = aInfoString.replaceAt( i, aOldSizePlaceholder.getLength(), ImpValueOfInMB( nSource ) );
sSecondary = sSecondary.replaceAt( i, aOldSizePlaceholder.getLength(), ImpValueOfInMB( nSource ) );
sal_Int32 j = aInfoString.indexOf( aNewSizePlaceholder );
sal_Int32 j = sSecondary.indexOf( aNewSizePlaceholder );
if ( j >= 0 )
aInfoString = aInfoString.replaceAt( j, aNewSizePlaceholder.getLength(), ImpValueOfInMB( nDest ) );
sSecondary = sSecondary.replaceAt( j, aNewSizePlaceholder.getLength(), ImpValueOfInMB( nDest ) );
sal_Int32 k = aInfoString.indexOf( aTitlePlaceholder );
sal_Int32 k = sPrimary.indexOf( aTitlePlaceholder );
if ( k >= 0 )
aInfoString = aInfoString.replaceAt( k, aTitlePlaceholder.getLength(), aTitle );
sPrimary = sPrimary.replaceAt( k, aTitlePlaceholder.getLength(), aTitle );
css::uno::Reference< css::awt::XItemListener > xItemListener;
InsertImage( *this,
"aboutimage",
"private:standardimage/query",
5, 5, 25, 25, false );
InsertFixedText( *this, "fixedtext", aInfoString, PAGE_POS_X, 6, PAGE_WIDTH, 24, true, 0 );
if ( !maSaveAsURL.isEmpty() )
InsertCheckBox( *this, "OpenNewDocument", xItemListener, getString( STR_AUTOMATICALLY_OPEN ), PAGE_POS_X, 42, PAGE_WIDTH, 1 );
InsertButton( *this, "button", mxActionListener, DIALOG_WIDTH / 2 - 25, nDialogHeight - 20, 50, 2, getString( STR_OK ) );
bool bOpenNewDocument = mrbOpenNewDocument;
setControlProperty( "OpenNewDocument", "State", Any( static_cast<sal_Int16>(bOpenNewDocument) ) );
set_primary_text(sPrimary);
set_secondary_text(sSecondary);
mxCheckBox->set_visible(!maSaveAsURL.isEmpty());
mxCheckBox->set_active(mrbOpenNewDocument);
}
InformationDialog::InformationDialog( const Reference< XComponentContext > &rxContext, Reference< XFrame > const & rxFrame, const OUString& rSaveAsURL, bool& rbOpenNewDocument, sal_Int64 rSourceSize, sal_Int64 rDestSize, sal_Int64 rApproxSize ) :
UnoDialog( rxContext, rxFrame ),
ConfigurationAccess( rxContext ),
mxActionListener( new OKActionListener( *this ) ),
mnSourceSize( rSourceSize ),
mnDestSize( rDestSize ),
mnApproxSize( rApproxSize ),
mrbOpenNewDocument( rbOpenNewDocument ),
maSaveAsURL( rSaveAsURL )
InformationDialog::InformationDialog(const Reference< XComponentContext > &rxContext, const Reference<XWindow>& rxDialogParent,
const OUString& rSaveAsURL, bool& rbOpenNewDocument,
sal_Int64 rSourceSize, sal_Int64 rDestSize, sal_Int64 rApproxSize)
: MessageDialogController(Application::GetFrameWeld(rxDialogParent), "modules/simpress/ui/pminfodialog.ui", "PMInfoDialog", "ask")
, ConfigurationAccess(rxContext)
, mxCheckBox(m_xBuilder->weld_check_button("ask"))
, mnSourceSize(rSourceSize)
, mnDestSize(rDestSize)
, mnApproxSize(rApproxSize)
, mrbOpenNewDocument(rbOpenNewDocument)
, maSaveAsURL(rSaveAsURL)
{
InitDialog();
}
InformationDialog::~InformationDialog()
{
}
void InformationDialog::execute()
{
UnoDialog::execute();
if ( !maSaveAsURL.isEmpty() )
{
sal_Int16 nInt16 = 0;
Any aAny( getControlProperty( "OpenNewDocument", "State" ) );
if ( aAny >>= nInt16 )
{
bool bOpenNewDocument = static_cast< bool >( nInt16 );
mrbOpenNewDocument = bOpenNewDocument;
}
}
}
void OKActionListener::actionPerformed( const ActionEvent& rEvent )
{
if ( rEvent.ActionCommand == "button" )
{
mrDialog.endExecute( true );
}
}
void OKActionListener::disposing( const css::lang::EventObject& /* Source */ )
{
run();
if (!maSaveAsURL.isEmpty())
mrbOpenNewDocument = mxCheckBox->get_active();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sdext/source/minimizer/informationdialog.hxx b/sdext/source/minimizer/informationdialog.hxx
index 761a40e..6468ed57 100644
--- a/sdext/source/minimizer/informationdialog.hxx
+++ b/sdext/source/minimizer/informationdialog.hxx
@@ -17,35 +17,20 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_SDEXT_SOURCE_MINIMIZER_INFORMATIONDIALOG_HXX
#define INCLUDED_SDEXT_SOURCE_MINIMIZER_INFORMATIONDIALOG_HXX
#pragma once
#include "unodialog.hxx"
#include "configurationaccess.hxx"
#include <com/sun/star/awt/XItemListener.hpp>
#include <vcl/weld.hxx>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <cppuhelper/implbase.hxx>
OUString InsertFixedText( UnoDialog& rInformationDialog, const OUString& rControlName, const OUString& rLabel,
sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int32 nHeight, bool bMultiLine, sal_Int16 nTabIndex );
OUString InsertImage( UnoDialog& rInformationDialog, const OUString& rControlName, const OUString& rURL,
sal_Int32 nPosX, sal_Int32 nPosY, sal_Int32 nWidth, sal_Int32 nHeight, bool bScale );
OUString InsertCheckBox( UnoDialog& rInformationDialog, const OUString& rControlName,
const css::uno::Reference< css::awt::XItemListener >& rItemListener, const OUString& rLabel,
sal_Int32 nXPos, sal_Int32 nYPos, sal_Int32 nWidth, sal_Int16 nTabIndex );
OUString InsertButton( UnoDialog& rInformationDialog, const OUString& rControlName,
css::uno::Reference< css::awt::XActionListener > const & xActionListener, sal_Int32 nXPos, sal_Int32 nYPos,
sal_Int32 nWidth, sal_Int16 nTabIndex, const OUString& rText );
class InformationDialog : public UnoDialog, public ConfigurationAccess
class InformationDialog : public weld::MessageDialogController, public ConfigurationAccess
{
public:
InformationDialog( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
css::uno::Reference< css::frame::XFrame > const & rxFrame, const OUString& rSaveAsURL,
const css::uno::Reference<css::awt::XWindow>& rxDialogParent, const OUString& rSaveAsURL,
bool& bOpenNewDocument, sal_Int64 nSourceSize, sal_Int64 nDestSize, sal_Int64 nApproxDest );
~InformationDialog();
@@ -53,10 +38,10 @@ public:
private:
css::uno::Reference< css::awt::XActionListener > mxActionListener;
void InitDialog();
std::unique_ptr<weld::CheckButton> mxCheckBox;
sal_Int64 mnSourceSize;
sal_Int64 mnDestSize;
sal_Int64 mnApproxSize;
@@ -64,18 +49,4 @@ private:
const OUString& maSaveAsURL;
};
class OKActionListener : public ::cppu::WeakImplHelper< css::awt::XActionListener >
{
public:
explicit OKActionListener( UnoDialog& rDialog ) : mrDialog( rDialog ){}
virtual void SAL_CALL actionPerformed( const css::awt::ActionEvent& Event ) override;
virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
private:
UnoDialog& mrDialog;
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sdext/source/minimizer/optimizerdialog.cxx b/sdext/source/minimizer/optimizerdialog.cxx
index 2ab84a59..8b3baf2cc 100644
--- a/sdext/source/minimizer/optimizerdialog.cxx
+++ b/sdext/source/minimizer/optimizerdialog.cxx
@@ -586,7 +586,8 @@ bool OptimizerDialog::onFinish()
Sequence< PropertyValue > lArguments{
comphelper::makePropertyValue("Settings", GetConfigurationSequence()),
comphelper::makePropertyValue("StatusDispatcher", GetStatusDispatcher()),
comphelper::makePropertyValue("DocumentFrame", GetFrame())
comphelper::makePropertyValue("DocumentFrame", GetFrame()),
comphelper::makePropertyValue("DialogParentWindow", m_xAssistant->GetXWindow())
};
ErrCode errorCode;
diff --git a/sdext/source/minimizer/pppoptimizertoken.cxx b/sdext/source/minimizer/pppoptimizertoken.cxx
index e933bf1..4729925 100644
--- a/sdext/source/minimizer/pppoptimizertoken.cxx
+++ b/sdext/source/minimizer/pppoptimizertoken.cxx
@@ -53,6 +53,7 @@ const TokenTable pTokenTableArray[] =
{ "FilterName", TK_FilterName },
{ "Flags", TK_Flags },
{ "DocumentFrame", TK_DocumentFrame },
{ "DialogParentWindow", TK_DialogParentWindow },
{ "Name", TK_Name },
{ "Progress", TK_Progress },
{ "Settings", TK_Settings },
@@ -87,16 +88,16 @@ const TokenTable pTokenTableArray[] =
{ "STR_NO_OLE_OBJECTS_DESC", STR_NO_OLE_OBJECTS_DESC },
{ "STR_SLIDES", STR_SLIDES },
{ "STR_SUMMARY", STR_SUMMARY },
{ "STR_AUTOMATICALLY_OPEN", STR_AUTOMATICALLY_OPEN },
{ "STR_DELETE_SLIDES", STR_DELETE_SLIDES },
{ "STR_OPTIMIZE_IMAGES", STR_OPTIMIZE_IMAGES },
{ "STR_CREATE_REPLACEMENT", STR_CREATE_REPLACEMENT },
{ "MY_SETTINGS", STR_MY_SETTINGS },
{ "STR_OK", STR_OK },
{ "STR_INFO_1", STR_INFO_1 },
{ "STR_INFO_2", STR_INFO_2 },
{ "STR_INFO_3", STR_INFO_3 },
{ "STR_INFO_4", STR_INFO_4 },
{ "STR_INFO_PRIMARY", STR_INFO_PRIMARY },
{ "STR_INFO_SECONDARY_1", STR_INFO_SECONDARY_1 },
{ "STR_INFO_SECONDARY_2", STR_INFO_SECONDARY_2 },
{ "STR_INFO_SECONDARY_3", STR_INFO_SECONDARY_3 },
{ "STR_INFO_SECONDARY_4", STR_INFO_SECONDARY_4 },
{ "STR_DUPLICATING_PRESENTATION",STR_DUPLICATING_PRESENTATION },
{ "STR_DELETING_SLIDES", STR_DELETING_SLIDES },
{ "STR_OPTIMIZING_GRAPHICS", STR_OPTIMIZING_GRAPHICS },
diff --git a/sdext/source/minimizer/pppoptimizertoken.hxx b/sdext/source/minimizer/pppoptimizertoken.hxx
index 62b1b369..f665e82 100644
--- a/sdext/source/minimizer/pppoptimizertoken.hxx
+++ b/sdext/source/minimizer/pppoptimizertoken.hxx
@@ -32,6 +32,7 @@ enum PPPOptimizerTokenEnum
TK_FilterName,
TK_Flags,
TK_DocumentFrame,
TK_DialogParentWindow,
TK_Name,
TK_Progress,
TK_Settings,
@@ -66,16 +67,16 @@ enum PPPOptimizerTokenEnum
STR_NO_OLE_OBJECTS_DESC,
STR_SLIDES,
STR_SUMMARY,
STR_AUTOMATICALLY_OPEN,
STR_DELETE_SLIDES,
STR_OPTIMIZE_IMAGES,
STR_CREATE_REPLACEMENT,
STR_MY_SETTINGS,
STR_OK,
STR_INFO_1,
STR_INFO_2,
STR_INFO_3,
STR_INFO_4,
STR_INFO_PRIMARY,
STR_INFO_SECONDARY_1,
STR_INFO_SECONDARY_2,
STR_INFO_SECONDARY_3,
STR_INFO_SECONDARY_4,
STR_DUPLICATING_PRESENTATION,
STR_DELETING_SLIDES,
STR_OPTIMIZING_GRAPHICS,