summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-01-26 13:11:48 +0200
committerMichael Meeks <michael.meeks@collabora.com>2015-04-09 21:36:27 +0100
commit78626422af9ae7f8d7ab66b4cf9eb7551b322c8e (patch)
tree802298bba0eef0864ad19446c7329cfaebdb1194
parent33d7f6dcfee48a33ce34e483a4249f0be0ffa4fe (diff)
vcl: VclPtr conversion in filter
Change-Id: I355315e19545610c1f26c94abe4e7d3fe19af867
-rw-r--r--filter/source/pdf/impdialog.cxx12
-rw-r--r--filter/source/pdf/impdialog.hxx2
-rw-r--r--filter/source/svg/impsvgdialog.cxx91
-rw-r--r--filter/source/svg/impsvgdialog.hxx19
-rw-r--r--filter/source/xsltdialog/xmlfiltersettingsdialog.cxx6
-rw-r--r--filter/source/xsltdialog/xmlfiltersettingsdialog.hxx1
-rw-r--r--filter/source/xsltdialog/xmlfiltertabdialog.cxx6
-rw-r--r--filter/source/xsltdialog/xmlfiltertabdialog.hxx1
-rw-r--r--filter/source/xsltdialog/xmlfiltertestdialog.cxx6
-rw-r--r--filter/source/xsltdialog/xmlfiltertestdialog.hxx1
10 files changed, 97 insertions, 48 deletions
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index e8d1e1eb91ab..4d08f140d2c4 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -312,6 +312,11 @@ IMPL_LINK_NOARG(ImpPDFTabDialog, CancelHdl)
ImpPDFTabDialog::~ImpPDFTabDialog()
{
+ dispose();
+}
+
+void ImpPDFTabDialog::dispose()
+{
//delete the pages, needed because otherwise the child tab pages
//don't get destroyed
RemoveTabPage(mnGeneralPageId);
@@ -320,6 +325,7 @@ ImpPDFTabDialog::~ImpPDFTabDialog()
RemoveTabPage(mnLinksPage);
RemoveTabPage(mnSecurityPageId);
RemoveTabPage(mnSigningPageId);
+ SfxTabDialog::dispose();
}
@@ -1511,9 +1517,15 @@ ImplErrorDialog::ImplErrorDialog(const std::set< vcl::PDFWriter::ErrorCode >& rE
ImplErrorDialog::~ImplErrorDialog()
{
+ dispose();
+}
+
+void ImplErrorDialog::dispose()
+{
// free strings again
for( sal_uInt16 n = 0; n < m_pErrors->GetEntryCount(); n++ )
delete static_cast<OUString*>(m_pErrors->GetEntryData( n ));
+ MessageDialog::dispose();
}
IMPL_LINK_NOARG(ImplErrorDialog, SelectHdl)
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index dc4a78789ce3..a913c9cca14f 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -63,6 +63,7 @@ class ImplErrorDialog : public MessageDialog
public:
ImplErrorDialog( const std::set< vcl::PDFWriter::ErrorCode >& );
virtual ~ImplErrorDialog();
+ virtual void dispose() SAL_OVERRIDE;
};
class ImpPDFTabSecurityPage;
@@ -171,6 +172,7 @@ public:
const css::uno::Reference< XComponent >& rDoc
);
virtual ~ImpPDFTabDialog();
+ virtual void dispose() SAL_OVERRIDE;
Sequence< PropertyValue > GetFilterData();
diff --git a/filter/source/svg/impsvgdialog.cxx b/filter/source/svg/impsvgdialog.cxx
index 5fd3e6d218b4..228598b85d65 100644
--- a/filter/source/svg/impsvgdialog.cxx
+++ b/filter/source/svg/impsvgdialog.cxx
@@ -36,73 +36,86 @@ inline sal_Int32 implMap( vcl::Window& /*rWnd*/, sal_Int32 nVal )
ImpSVGDialog::ImpSVGDialog( vcl::Window* pParent, Sequence< PropertyValue >& rFilterData ) :
ModalDialog( pParent ),
- maFI( this ),
- maCBTinyProfile( this ),
- maCBEmbedFonts( this ),
- maCBUseNativeDecoration( this ),
- maBTOK( this, WB_DEF_OK ),
- maBTCancel( this ),
- maBTHelp( this ),
+ maFI( new FixedLine(this) ),
+ maCBTinyProfile( new CheckBox(this) ),
+ maCBEmbedFonts( new CheckBox(this) ),
+ maCBUseNativeDecoration( new CheckBox(this) ),
+ maBTOK( new OKButton(this, WB_DEF_OK) ),
+ maBTCancel( new CancelButton(this) ),
+ maBTHelp( new HelpButton(this) ),
maConfigItem( SVG_EXPORTFILTER_CONFIGPATH, &rFilterData ),
mbOldNativeDecoration( false )
{
SetText( "SVG Export Options" );
SetOutputSizePixel( Size( implMap( *this, 177 ), implMap( *this, 77 ) ) );
- maFI.SetText( "Export" );
- maFI.SetPosSizePixel( Point( implMap( *this, 6 ), implMap( *this, 3 ) ),
+ maFI->SetText( "Export" );
+ maFI->SetPosSizePixel( Point( implMap( *this, 6 ), implMap( *this, 3 ) ),
Size( implMap( *this, 165 ), implMap( *this, 8 ) ) );
- maCBTinyProfile.SetText( "Use SVG Tiny profile" );
- maCBTinyProfile.SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 14 ) ),
+ maCBTinyProfile->SetText( "Use SVG Tiny profile" );
+ maCBTinyProfile->SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 14 ) ),
Size( implMap( *this, 142 ), implMap( *this, 10 ) ) );
- maCBEmbedFonts.SetText( "Embed fonts" );
- maCBEmbedFonts.SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 27 ) ),
+ maCBEmbedFonts->SetText( "Embed fonts" );
+ maCBEmbedFonts->SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 27 ) ),
Size( implMap( *this, 142 ), implMap( *this, 10 ) ) );
- maCBUseNativeDecoration.SetText( "Use SVG native text decoration" );
- maCBUseNativeDecoration.SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 41 ) ),
+ maCBUseNativeDecoration->SetText( "Use SVG native text decoration" );
+ maCBUseNativeDecoration->SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 41 ) ),
Size( implMap( *this, 142 ), implMap( *this, 10 ) ) );
- maCBTinyProfile.Check( maConfigItem.ReadBool( OUString( SVG_PROP_TINYPROFILE ), false ) );
- maCBEmbedFonts.Check( maConfigItem.ReadBool( OUString( SVG_PROP_EMBEDFONTS ), true ) );
- maCBUseNativeDecoration.Check( maConfigItem.ReadBool( OUString( SVG_PROP_NATIVEDECORATION ), true ) );
+ maCBTinyProfile->Check( maConfigItem.ReadBool( OUString( SVG_PROP_TINYPROFILE ), false ) );
+ maCBEmbedFonts->Check( maConfigItem.ReadBool( OUString( SVG_PROP_EMBEDFONTS ), true ) );
+ maCBUseNativeDecoration->Check( maConfigItem.ReadBool( OUString( SVG_PROP_NATIVEDECORATION ), true ) );
- maBTOK.SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 57 ) ),
+ maBTOK->SetPosSizePixel( Point( implMap( *this, 12 ), implMap( *this, 57 ) ),
Size( implMap( *this, 50 ), implMap( *this, 14 ) ) );
- maBTCancel.SetPosSizePixel( Point( implMap( *this, 65 ), implMap( *this, 57 ) ),
+ maBTCancel->SetPosSizePixel( Point( implMap( *this, 65 ), implMap( *this, 57 ) ),
Size( implMap( *this, 50 ), implMap( *this, 14 ) ) );
- maBTHelp.SetPosSizePixel( Point( implMap( *this, 121 ), implMap( *this, 57 ) ),
+ maBTHelp->SetPosSizePixel( Point( implMap( *this, 121 ), implMap( *this, 57 ) ),
Size( implMap( *this, 50 ), implMap( *this, 14 ) ) );
- maCBTinyProfile.SetToggleHdl( LINK( this, ImpSVGDialog, OnToggleCheckbox ) );
- OnToggleCheckbox( &maCBTinyProfile );
+ maCBTinyProfile->SetToggleHdl( LINK( this, ImpSVGDialog, OnToggleCheckbox ) );
+ OnToggleCheckbox( maCBTinyProfile.get() );
- maFI.Show();
+ maFI->Show();
- maCBTinyProfile.Show();
- maCBEmbedFonts.Show();
- maCBUseNativeDecoration.Show();
+ maCBTinyProfile->Show();
+ maCBEmbedFonts->Show();
+ maCBUseNativeDecoration->Show();
- maBTOK.Show();
- maBTCancel.Show();
- maBTHelp.Show();
+ maBTOK->Show();
+ maBTCancel->Show();
+ maBTHelp->Show();
}
ImpSVGDialog::~ImpSVGDialog()
{
+ dispose();
+}
+
+void ImpSVGDialog::dispose()
+{
+ maFI.disposeAndClear();
+ maCBTinyProfile.disposeAndClear();
+ maCBEmbedFonts.disposeAndClear();
+ maCBUseNativeDecoration.disposeAndClear();
+ maBTOK.disposeAndClear();
+ maBTCancel.disposeAndClear();
+ maBTHelp.disposeAndClear();
+ ModalDialog::dispose();
}
Sequence< PropertyValue > ImpSVGDialog::GetFilterData()
{
- maConfigItem.WriteBool( OUString( SVG_PROP_TINYPROFILE ), maCBTinyProfile.IsChecked() );
- maConfigItem.WriteBool( OUString( SVG_PROP_EMBEDFONTS ), maCBEmbedFonts.IsChecked() );
- maConfigItem.WriteBool( OUString( SVG_PROP_NATIVEDECORATION ), maCBUseNativeDecoration.IsChecked() );
+ maConfigItem.WriteBool( OUString( SVG_PROP_TINYPROFILE ), maCBTinyProfile->IsChecked() );
+ maConfigItem.WriteBool( OUString( SVG_PROP_EMBEDFONTS ), maCBEmbedFonts->IsChecked() );
+ maConfigItem.WriteBool( OUString( SVG_PROP_NATIVEDECORATION ), maCBUseNativeDecoration->IsChecked() );
return( maConfigItem.GetFilterData() );
}
@@ -111,19 +124,19 @@ Sequence< PropertyValue > ImpSVGDialog::GetFilterData()
IMPL_LINK( ImpSVGDialog, OnToggleCheckbox, CheckBox*, pBox )
{
- if( pBox == &maCBTinyProfile )
+ if( pBox == maCBTinyProfile.get() )
{
if( pBox->IsChecked() )
{
- mbOldNativeDecoration = maCBUseNativeDecoration.IsChecked();
+ mbOldNativeDecoration = maCBUseNativeDecoration->IsChecked();
- maCBUseNativeDecoration.Check( false );
- maCBUseNativeDecoration.Disable();
+ maCBUseNativeDecoration->Check( false );
+ maCBUseNativeDecoration->Disable();
}
else
{
- maCBUseNativeDecoration.Enable();
- maCBUseNativeDecoration.Check( mbOldNativeDecoration );
+ maCBUseNativeDecoration->Enable();
+ maCBUseNativeDecoration->Check( mbOldNativeDecoration );
}
}
diff --git a/filter/source/svg/impsvgdialog.hxx b/filter/source/svg/impsvgdialog.hxx
index 657cd9a47bb9..ada5b71df1e3 100644
--- a/filter/source/svg/impsvgdialog.hxx
+++ b/filter/source/svg/impsvgdialog.hxx
@@ -48,17 +48,17 @@ class ImpSVGDialog : public ModalDialog
{
private:
- FixedLine maFI;
- CheckBox maCBTinyProfile;
- CheckBox maCBEmbedFonts;
- CheckBox maCBUseNativeDecoration;
+ VclPtr<FixedLine> maFI;
+ VclPtr<CheckBox> maCBTinyProfile;
+ VclPtr<CheckBox> maCBEmbedFonts;
+ VclPtr<CheckBox> maCBUseNativeDecoration;
- OKButton maBTOK;
- CancelButton maBTCancel;
- HelpButton maBTHelp;
+ VclPtr<OKButton> maBTOK;
+ VclPtr<CancelButton> maBTCancel;
+ VclPtr<HelpButton> maBTHelp;
- FilterConfigItem maConfigItem;
- bool mbOldNativeDecoration;
+ FilterConfigItem maConfigItem;
+ bool mbOldNativeDecoration;
DECL_LINK( OnToggleCheckbox, CheckBox* );
@@ -67,6 +67,7 @@ public:
ImpSVGDialog( vcl::Window* pParent, /*ResMgr& rResMgr,*/
com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& rFilterData );
virtual ~ImpSVGDialog();
+ virtual void dispose() SAL_OVERRIDE;
com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > GetFilterData();
};
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
index 271db0b60a38..57d8a3d2f5d7 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.cxx
@@ -1399,8 +1399,14 @@ Size SvxPathControl::GetOptimalSize() const
SvxPathControl::~SvxPathControl()
{
+ dispose();
+}
+
+void SvxPathControl::dispose()
+{
delete m_pFocusCtrl;
delete m_pHeaderBar;
+ vcl::Window::dispose();
}
extern "C" SAL_DLLPUBLIC_EXPORT vcl::Window* SAL_CALL makeSvxPathControl(vcl::Window *pParent, VclBuilder::stringmap &)
diff --git a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
index 85bb4d79094a..beadad3609b8 100644
--- a/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltersettingsdialog.hxx
@@ -50,6 +50,7 @@ public:
HeaderBar* getHeaderBar() { return m_pHeaderBar; }
XMLFilterListBox* getListBox() { return m_pFocusCtrl; }
virtual ~SvxPathControl();
+ virtual void dispose() SAL_OVERRIDE;
virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
};
diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.cxx b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
index 4494a74ba799..b5e28d1053aa 100644
--- a/filter/source/xsltdialog/xmlfiltertabdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertabdialog.cxx
@@ -75,9 +75,15 @@ XMLFilterTabDialog::XMLFilterTabDialog(vcl::Window *pParent, ResMgr& rResMgr,
XMLFilterTabDialog::~XMLFilterTabDialog()
{
+ dispose();
+}
+
+void XMLFilterTabDialog::dispose()
+{
delete mpBasicPage;
delete mpXSLTPage;
delete mpNewInfo;
+ TabDialog::dispose();
}
diff --git a/filter/source/xsltdialog/xmlfiltertabdialog.hxx b/filter/source/xsltdialog/xmlfiltertabdialog.hxx
index 1ec8594ceac4..c07610ed34c4 100644
--- a/filter/source/xsltdialog/xmlfiltertabdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltertabdialog.hxx
@@ -36,6 +36,7 @@ class XMLFilterTabDialog: public TabDialog
public:
XMLFilterTabDialog(vcl::Window *pParent, ResMgr& rResMgr, const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext, const filter_info_impl* pInfo);
virtual ~XMLFilterTabDialog();
+ virtual void dispose() SAL_OVERRIDE;
bool onOk();
diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.cxx b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
index 359300e31ea9..5db2fac635f7 100644
--- a/filter/source/xsltdialog/xmlfiltertestdialog.cxx
+++ b/filter/source/xsltdialog/xmlfiltertestdialog.cxx
@@ -178,6 +178,11 @@ XMLFilterTestDialog::XMLFilterTestDialog(vcl::Window* pParent,
XMLFilterTestDialog::~XMLFilterTestDialog()
{
+ dispose();
+}
+
+void XMLFilterTestDialog::dispose()
+{
try
{
if( mxGlobalBroadcaster.is() )
@@ -189,6 +194,7 @@ XMLFilterTestDialog::~XMLFilterTestDialog()
}
delete m_pFilterInfo;
+ ModalDialog::dispose();
}
void XMLFilterTestDialog::test( const filter_info_impl& rFilterInfo )
diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.hxx b/filter/source/xsltdialog/xmlfiltertestdialog.hxx
index 45953483b43a..776d7bc792f5 100644
--- a/filter/source/xsltdialog/xmlfiltertestdialog.hxx
+++ b/filter/source/xsltdialog/xmlfiltertestdialog.hxx
@@ -37,6 +37,7 @@ public:
XMLFilterTestDialog(vcl::Window* pParent,
const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext);
virtual ~XMLFilterTestDialog();
+ virtual void dispose() SAL_OVERRIDE;
void test( const filter_info_impl& rFilterInfo );