diff options
Diffstat (limited to 'basctl/source/dlged/managelang.cxx')
-rw-r--r-- | basctl/source/dlged/managelang.cxx | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/basctl/source/dlged/managelang.cxx b/basctl/source/dlged/managelang.cxx index fb513dc637db..eb4632366a23 100644 --- a/basctl/source/dlged/managelang.cxx +++ b/basctl/source/dlged/managelang.cxx @@ -75,7 +75,17 @@ ManageLanguageDialog::ManageLanguageDialog(vcl::Window* pParent, boost::shared_p ManageLanguageDialog::~ManageLanguageDialog() { + disposeOnce(); +} + +void ManageLanguageDialog::dispose() +{ ClearLanguageBox(); + m_pLanguageLB.clear(); + m_pAddPB.clear(); + m_pDeletePB.clear(); + m_pMakeDefPB.clear(); + ModalDialog::dispose(); } void ManageLanguageDialog::Init() @@ -136,11 +146,11 @@ void ManageLanguageDialog::ClearLanguageBox() IMPL_LINK_NOARG(ManageLanguageDialog, AddHdl) { - SetDefaultLanguageDialog aDlg( this, m_xLocalizationMgr ); - if ( RET_OK == aDlg.Execute() ) + ScopedVclPtrInstance< SetDefaultLanguageDialog > aDlg( this, m_xLocalizationMgr ); + if ( RET_OK == aDlg->Execute() ) { // add new locales - Sequence< Locale > aLocaleSeq = aDlg.GetLocales(); + Sequence< Locale > aLocaleSeq = aDlg->GetLocales(); m_xLocalizationMgr->handleAddLocales( aLocaleSeq ); // update listbox ClearLanguageBox(); @@ -154,8 +164,8 @@ IMPL_LINK_NOARG(ManageLanguageDialog, AddHdl) IMPL_LINK_NOARG(ManageLanguageDialog, DeleteHdl) { - MessageDialog aQBox(this, "DeleteLangDialog", "modules/BasicIDE/ui/deletelang.ui"); - if ( aQBox.Execute() == RET_OK ) + ScopedVclPtrInstance< MessageDialog > aQBox(this, "DeleteLangDialog", "modules/BasicIDE/ui/deletelang.ui"); + if ( aQBox->Execute() == RET_OK ) { sal_uInt16 i, nCount = m_pLanguageLB->GetSelectEntryCount(); sal_uInt16 nPos = m_pLanguageLB->GetSelectEntryPos(); @@ -247,6 +257,22 @@ SetDefaultLanguageDialog::SetDefaultLanguageDialog(vcl::Window* pParent, boost:: FillLanguageBox(); } +SetDefaultLanguageDialog::~SetDefaultLanguageDialog() +{ + disposeOnce(); +} + +void SetDefaultLanguageDialog::dispose() +{ + m_pLanguageFT.clear(); + m_pLanguageLB.clear(); + m_pCheckLangFT.clear(); + m_pCheckLangLB.clear(); + m_pDefinedFT.clear(); + m_pAddedFT.clear(); + ModalDialog::dispose(); +} + void SetDefaultLanguageDialog::FillLanguageBox() { // fill list with all languages |