diff options
Diffstat (limited to 'sw/source/ui/misc/glossary.cxx')
-rw-r--r-- | sw/source/ui/misc/glossary.cxx | 61 |
1 files changed, 48 insertions, 13 deletions
diff --git a/sw/source/ui/misc/glossary.cxx b/sw/source/ui/misc/glossary.cxx index 858fd69bdd3a..3664343de66a 100644 --- a/sw/source/ui/misc/glossary.cxx +++ b/sw/source/ui/misc/glossary.cxx @@ -115,12 +115,12 @@ struct GroupUserData // dialog for new block name class SwNewGlosNameDlg : public ModalDialog { - Edit* m_pNewName; - TextFilter m_aNoSpaceFilter; - Edit* m_pNewShort; - OKButton* m_pOk; - Edit* m_pOldName; - Edit* m_pOldShort; + VclPtr<Edit> m_pNewName; + TextFilter m_aNoSpaceFilter; + VclPtr<Edit> m_pNewShort; + VclPtr<OKButton> m_pOk; + VclPtr<Edit> m_pOldName; + VclPtr<Edit> m_pOldShort; protected: DECL_LINK( Modify, Edit * ); @@ -130,6 +130,8 @@ public: SwNewGlosNameDlg( vcl::Window* pParent, const OUString& rOldName, const OUString& rOldShort ); + virtual ~SwNewGlosNameDlg(); + virtual void dispose() SAL_OVERRIDE; OUString GetNewName() const { return m_pNewName->GetText(); } OUString GetNewShort() const { return m_pNewShort->GetText(); } @@ -156,6 +158,21 @@ SwNewGlosNameDlg::SwNewGlosNameDlg(vcl::Window* pParent, m_pNewName->GrabFocus(); } +SwNewGlosNameDlg::~SwNewGlosNameDlg() +{ + disposeOnce(); +} + +void SwNewGlosNameDlg::dispose() +{ + m_pNewName.clear(); + m_pNewShort.clear(); + m_pOk.clear(); + m_pOldName.clear(); + m_pOldShort.clear(); + ModalDialog::dispose(); +} + // query / set currently set group OUString SwGlossaryDlg::GetCurrGroup() { @@ -232,8 +249,26 @@ SwGlossaryDlg::SwGlossaryDlg(SfxViewFrame* pViewFrame, SwGlossaryDlg::~SwGlossaryDlg() { + disposeOnce(); +} + +void SwGlossaryDlg::dispose() +{ m_pCategoryBox->Clear(); delete pExampleFrame; + m_pInsertTipCB.clear(); + m_pNameED.clear(); + m_pShortNameLbl.clear(); + m_pShortNameEdit.clear(); + m_pCategoryBox.clear(); + m_pFileRelCB.clear(); + m_pNetRelCB.clear(); + m_pExampleWIN.clear(); + m_pInsertBtn.clear(); + m_pEditBtn.clear(); + m_pBibBtn.clear(); + m_pPathBtn.clear(); + SvxStandardDialog::dispose(); } // select new group @@ -468,8 +503,8 @@ IMPL_LINK( SwGlossaryDlg, MenuHdl, Menu *, pMn ) else if (sItemIdent == "rename") { m_pShortNameEdit->SetText(pGlossaryHdl->GetGlossaryShortName(m_pNameED->GetText())); - boost::scoped_ptr<SwNewGlosNameDlg> pNewNameDlg(new SwNewGlosNameDlg(this, m_pNameED->GetText(), - m_pShortNameEdit->GetText() )); + ScopedVclPtrInstance<SwNewGlosNameDlg> pNewNameDlg(this, m_pNameED->GetText(), + m_pShortNameEdit->GetText()); if( RET_OK == pNewNameDlg->Execute() && pGlossaryHdl->Rename( m_pShortNameEdit->GetText(), pNewNameDlg->GetNewShort(), @@ -488,8 +523,8 @@ IMPL_LINK( SwGlossaryDlg, MenuHdl, Menu *, pMn ) } else if (sItemIdent == "delete") { - MessageDialog aQuery(this, SW_RES(STR_QUERY_DELETE), VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO); - if (RET_YES == aQuery.Execute()) + ScopedVclPtrInstance< MessageDialog > aQuery(this, SW_RES(STR_QUERY_DELETE), VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO); + if (RET_YES == aQuery->Execute()) { const OUString aShortName(m_pShortNameEdit->GetText()); const OUString aTitle(m_pNameED->GetText()); @@ -616,7 +651,7 @@ IMPL_LINK_NOARG(SwGlossaryDlg, BibHdl) if(bIsWritable) { - boost::scoped_ptr<SwGlossaryGroupDlg> pDlg(new SwGlossaryGroupDlg( this, pGloss->GetPathArray(), pGlossaryHdl )); + ScopedVclPtrInstance< SwGlossaryGroupDlg > pDlg( this, pGloss->GetPathArray(), pGlossaryHdl ); if ( RET_OK == pDlg->Execute() ) { Init(); @@ -646,9 +681,9 @@ IMPL_LINK_NOARG(SwGlossaryDlg, BibHdl) } else { - MessageDialog aBox(this, sReadonlyPath, VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO); + ScopedVclPtrInstance< MessageDialog > aBox(this, sReadonlyPath, VCL_MESSAGE_QUESTION, VCL_BUTTONS_YES_NO); - if(RET_YES == aBox.Execute()) + if(RET_YES == aBox->Execute()) PathHdl(m_pPathBtn); } } |