diff options
-rw-r--r-- | cui/source/dialogs/iconcdlg.cxx | 64 | ||||
-rw-r--r-- | cui/source/inc/iconcdlg.hxx | 2 |
2 files changed, 19 insertions, 47 deletions
diff --git a/cui/source/dialogs/iconcdlg.cxx b/cui/source/dialogs/iconcdlg.cxx index a66bf09b730b..0af84e032145 100644 --- a/cui/source/dialogs/iconcdlg.cxx +++ b/cui/source/dialogs/iconcdlg.cxx @@ -323,31 +323,6 @@ SvxIconChoiceCtrlEntry* IconChoiceDialog::AddTabPage( return pEntry; } -/********************************************************************** -| -| Paint-method -| -\**********************************************************************/ - -void IconChoiceDialog::Paint( const Rectangle& rRect ) -{ - Dialog::Paint ( rRect ); - - for ( size_t i = 0; i < maPageList.size(); i++ ) - { - IconChoicePageData* pData = maPageList[ i ]; - - if ( pData->nId == mnCurrentPageId ) - { - ShowPageImpl ( pData ); - } - else - { - HidePageImpl ( pData ); - } - } -} - void IconChoiceDialog::SetCtrlStyle() { WinBits aWinBits = WB_3DLOOK | WB_ICON | WB_BORDER | WB_NOCOLUMNHEADER | WB_HIGHLIGHTFRAME | WB_NODRAGSELECTION | WB_TABSTOP | WB_CLIPCHILDREN | WB_ALIGN_LEFT | WB_NOHSCROLL; @@ -375,20 +350,26 @@ void IconChoiceDialog::HidePageImpl ( IconChoicePageData* pData ) pData->pPage->Hide(); } - - -void IconChoiceDialog::ShowPage( sal_uInt16 nId ) +void IconChoiceDialog::ShowPage(sal_uInt16 nId) { - bool bInvalidate = GetCurPageId() != nId; - SetCurPageId( nId ); - ActivatePageImpl( ); - if(bInvalidate) - Invalidate(); + sal_uInt16 nOldPageId = GetCurPageId(); + bool bInvalidate = nOldPageId != nId; + SetCurPageId(nId); + ActivatePageImpl(); + if (bInvalidate) + { + IconChoicePageData* pOldData = GetPageData(nOldPageId); + if (pOldData && pOldData->pPage) + { + DeActivatePageImpl(); + HidePageImpl(pOldData); + } - // IA2 CWS. MT: I guess we want the event now, and not in Paint()? - IconChoicePageData* pData = GetPageData ( mnCurrentPageId ); - if(pData) - ShowPageImpl ( pData ); + Invalidate(); + } + IconChoicePageData* pNewData = GetPageData(nId); + if (pNewData && pNewData->pPage) + ShowPageImpl(pNewData); } /********************************************************************** @@ -408,14 +389,7 @@ IMPL_LINK_NOARG(IconChoiceDialog , ChosePageHdl_Impl) if( *pId != mnCurrentPageId ) { - IconChoicePageData* pData = GetPageData ( mnCurrentPageId ); - if ( pData->pPage ) - DeActivatePageImpl(); - - SetCurPageId ( *pId ); - - ActivatePageImpl(); - Invalidate(); + ShowPage(*pId); } return 0L; diff --git a/cui/source/inc/iconcdlg.hxx b/cui/source/inc/iconcdlg.hxx index dec537351518..fb8ad2ff1780 100644 --- a/cui/source/inc/iconcdlg.hxx +++ b/cui/source/inc/iconcdlg.hxx @@ -186,8 +186,6 @@ public : const SfxItemSet * pItemSet = 0 ); virtual ~IconChoiceDialog (); - virtual void Paint( const Rectangle& rRect ) SAL_OVERRIDE; - // interface SvxIconChoiceCtrlEntry* AddTabPage( sal_uInt16 nId, const OUString& rIconText, const Image& rChoiceIcon, |