diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2015-03-15 01:35:35 +0900 |
---|---|---|
committer | Noel Grandin <noelgrandin@gmail.com> | 2015-03-16 06:59:42 +0000 |
commit | 6492b83c2149419cf2c0012f64d91017f5844f5f (patch) | |
tree | 9c2eb58139d5b96603512f3421df29989f05bc77 /starmath | |
parent | fc2b4401b758816275e77ab20a10560ce1a615de (diff) |
use std::unique_ptr for Sm*Dialog
Change-Id: I676ed68108cafe8bb0e67eb208f08a0bc91be5c6
Reviewed-on: https://gerrit.libreoffice.org/14874
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'starmath')
-rw-r--r-- | starmath/inc/dialog.hxx | 5 | ||||
-rw-r--r-- | starmath/source/dialog.cxx | 24 |
2 files changed, 11 insertions, 18 deletions
diff --git a/starmath/inc/dialog.hxx b/starmath/inc/dialog.hxx index 0f8fd6bc20b7..bddec2d746e8 100644 --- a/starmath/inc/dialog.hxx +++ b/starmath/inc/dialog.hxx @@ -39,6 +39,7 @@ #include "utility.hxx" #include "format.hxx" #include "symbol.hxx" +#include <memory> class SubsetMap; #define CATEGORY_NONE 0xFFFF @@ -408,9 +409,9 @@ class SmSymDefineDialog : public ModalDialog SmSymbolManager aSymbolMgrCopy, &rSymbolMgr; - const SmSym *pOrigSymbol; + std::unique_ptr<SmSym> pOrigSymbol; - const SubsetMap *pSubsetMap; + std::unique_ptr<SubsetMap> pSubsetMap; FontList *pFontList; DECL_LINK(OldSymbolChangeHdl, ComboBox *); diff --git a/starmath/source/dialog.cxx b/starmath/source/dialog.cxx index a5f59e0dd6a9..a656db854430 100644 --- a/starmath/source/dialog.cxx +++ b/starmath/source/dialog.cxx @@ -496,12 +496,11 @@ IMPL_LINK( SmFontTypeDialog, MenuSelectHdl, Menu *, pMenu ) if (pActiveListBox) { - SmFontDialog *pFontDialog = new SmFontDialog(this, pFontListDev, bHideCheckboxes); + std::unique_ptr<SmFontDialog> pFontDialog(new SmFontDialog(this, pFontListDev, bHideCheckboxes)); pActiveListBox->WriteTo(*pFontDialog); if (pFontDialog->Execute() == RET_OK) pActiveListBox->ReadFrom(*pFontDialog); - delete pFontDialog; } return 0; } @@ -1380,7 +1379,7 @@ IMPL_LINK_NOARG( SmSymbolDialog, SymbolChangeHdl ) IMPL_LINK_NOARG(SmSymbolDialog, EditClickHdl) { - SmSymDefineDialog *pDialog = new SmSymDefineDialog(this, pFontListDev, rSymbolMgr); + std::unique_ptr<SmSymDefineDialog> pDialog(new SmSymDefineDialog(this, pFontListDev, rSymbolMgr)); // set current symbol and SymbolSet for the new dialog const OUString aSymSetName (m_pSymbolSets->GetSelectEntry()), @@ -1417,7 +1416,6 @@ IMPL_LINK_NOARG(SmSymbolDialog, EditClickHdl) nSymPos = static_cast< sal_uInt16 >(aSymbolSet.size()) - 1; SelectSymbol( nSymPos ); - delete pDialog; return 0; } @@ -1959,7 +1957,7 @@ void SmSymDefineDialog::UpdateButtons() bAdd = aSymbolMgrCopy.GetSymbolByName(aTmpSymbolName) == NULL; // only delete it if all settings are equal - bDelete = pOrigSymbol != NULL; + bDelete = bool(pOrigSymbol); // only change it if the old symbol exists and the new one is different bChange = pOrigSymbol && !bEqual; @@ -1974,7 +1972,8 @@ SmSymDefineDialog::SmSymDefineDialog(vcl::Window * pParent, OutputDevice *pFntListDevice, SmSymbolManager &rMgr) : ModalDialog (pParent, "EditSymbols", "modules/smath/ui/symdefinedialog.ui"), rSymbolMgr (rMgr), - pSubsetMap (NULL), + pOrigSymbol (), + pSubsetMap (), pFontList (NULL) { get(pOldSymbols, "oldSymbols"); @@ -1997,8 +1996,6 @@ SmSymDefineDialog::SmSymDefineDialog(vcl::Window * pParent, pFontList = new FontList( pFntListDevice ); - pOrigSymbol = 0; - // auto completion is troublesome since that symbols character also gets automatically selected in the // display and if the user previously selected a character to define/redefine that one this is bad pOldSymbols->EnableAutocomplete( false, true ); @@ -2035,8 +2032,6 @@ SmSymDefineDialog::SmSymDefineDialog(vcl::Window * pParent, SmSymDefineDialog::~SmSymDefineDialog() { - delete pSubsetMap; - delete pOrigSymbol; } void SmSymDefineDialog::InitColor_Impl() @@ -2168,15 +2163,14 @@ void SmSymDefineDialog::SetOrigSymbol(const SmSym *pSymbol, const OUString &rSymbolSetName) { // clear old symbol - delete pOrigSymbol; - pOrigSymbol = 0; + pOrigSymbol.reset(); OUString aSymName, aSymSetName; if (pSymbol) { // set new symbol - pOrigSymbol = new SmSym( *pSymbol ); + pOrigSymbol.reset(new SmSym( *pSymbol )); aSymName = pSymbol->GetName(); aSymSetName = rSymbolSetName; @@ -2279,9 +2273,7 @@ void SmSymDefineDialog::SetFont(const OUString &rFontName, const OUString &rStyl // update subset listbox for new font's unicode subsets FontCharMapPtr pFontCharMap; pCharsetDisplay->GetFontCharMap( pFontCharMap ); - if (pSubsetMap) - delete pSubsetMap; - pSubsetMap = new SubsetMap( pFontCharMap ); + pSubsetMap.reset(new SubsetMap( pFontCharMap )); pFontsSubsetLB->Clear(); bool bFirst = true; |