diff options
Diffstat (limited to 'sd/source/ui')
-rw-r--r-- | sd/source/ui/animations/SlideTransitionPane.cxx | 59 |
1 files changed, 36 insertions, 23 deletions
diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx index 7bb07249079f..1dc4a72840a5 100644 --- a/sd/source/ui/animations/SlideTransitionPane.cxx +++ b/sd/source/ui/animations/SlideTransitionPane.cxx @@ -4,9 +4,9 @@ * * $RCSfile: SlideTransitionPane.cxx,v $ * - * $Revision: 1.11 $ + * $Revision: 1.12 $ * - * last change: $Author: obo $ $Date: 2006-03-21 17:13:03 $ + * last change: $Author: kz $ $Date: 2006-04-26 20:44:53 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -496,7 +496,8 @@ SlideTransitionPane::SlideTransitionPane( maSTR_NO_TRANSITION( SdResId( STR_NO_TRANSITION ) ), mbHasSelection( false ), - mbUpdatingControls( false ) + mbUpdatingControls( false ), + maLateInitTimer() { // use no resource ids from here on FreeResource(); @@ -517,31 +518,12 @@ SlideTransitionPane::SlideTransitionPane( // fill list box of slide transitions maLB_SLIDE_TRANSITIONS.InsertEntry( maSTR_NO_TRANSITION ); - // test - const TransitionPresetList& rPresetList = TransitionPreset::getTransitionPresetList(); - TransitionPresetList::const_iterator aIter( rPresetList.begin() ); - const TransitionPresetList::const_iterator aEnd( rPresetList.end() ); - ::std::size_t nIndex = 0; - ::std::size_t nUIIndex = 0; - while( aIter != aEnd ) - { - TransitionPresetPtr pPreset = (*aIter++); - const OUString aUIName( pPreset->getUIName() ); - if( aUIName.getLength() ) - { - maLB_SLIDE_TRANSITIONS.InsertEntry( aUIName ); - m_aPresetIndexes[ nIndex ] = nUIIndex; - ++nUIIndex; - } - ++nIndex; - } - // set defaults maCB_AUTO_PREVIEW.Check(); // automatic preview on // update control states before adding handlers updateLayout(); - updateSoundList(); + // updateSoundList(); updateControls(); // set handlers @@ -560,10 +542,15 @@ SlideTransitionPane::SlideTransitionPane( maMF_ADVANCE_AUTO_AFTER.SetModifyHdl( LINK( this, SlideTransitionPane, AdvanceTimeModified )); maCB_AUTO_PREVIEW.SetClickHdl( LINK( this, SlideTransitionPane, AutoPreviewClicked )); addListener(); + + maLateInitTimer.SetTimeout(200); + maLateInitTimer.SetTimeoutHdl(LINK(this, SlideTransitionPane, LateInitCallback)); + maLateInitTimer.Start(); } SlideTransitionPane::~SlideTransitionPane() { + maLateInitTimer.Stop(); removeListener(); } @@ -1284,6 +1271,32 @@ IMPL_LINK( SlideTransitionPane, AutoPreviewClicked, void *, EMPTYARG ) return 0; } +IMPL_LINK( SlideTransitionPane, LateInitCallback, Timer*, pTimer ) +{ + const TransitionPresetList& rPresetList = TransitionPreset::getTransitionPresetList(); + TransitionPresetList::const_iterator aIter( rPresetList.begin() ); + const TransitionPresetList::const_iterator aEnd( rPresetList.end() ); + ::std::size_t nIndex = 0; + ::std::size_t nUIIndex = 0; + while( aIter != aEnd ) + { + TransitionPresetPtr pPreset = (*aIter++); + const OUString aUIName( pPreset->getUIName() ); + if( aUIName.getLength() ) + { + maLB_SLIDE_TRANSITIONS.InsertEntry( aUIName ); + m_aPresetIndexes[ nIndex ] = nUIIndex; + ++nUIIndex; + } + ++nIndex; + } + + updateSoundList(); + updateControls(); + + return 0; +} + ::Window * createSlideTransitionPanel( ::Window* pParent, ViewShellBase& rBase ) { DialogListBox* pWindow = 0; |