Hi, I have submitted a patch for review:
https://gerrit.libreoffice.org/3176 To pull it, you can do: git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/76/3176/1 fdo#59071 Slideshow: allow automatic transitions with sub-second Enable slide transition each 0.25 second instead of whole second. Change-Id: I1907a1baf30cede91a0438d021e003204ea06651 --- M sd/inc/sdpage.hxx M sd/source/core/sdpage.cxx M sd/source/filter/html/htmlex.cxx M sd/source/filter/html/htmlex.hxx M sd/source/filter/ppt/pptin.cxx M sd/source/ui/animations/SlideTransitionPane.cxx M sd/source/ui/animations/SlideTransitionPane.src M sd/source/ui/dlg/dlgass.cxx M sd/source/ui/unoidl/unopage.cxx 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/sd/inc/sdpage.hxx b/sd/inc/sdpage.hxx index 18b58a3..631e215 100644 --- a/sd/inc/sdpage.hxx +++ b/sd/inc/sdpage.hxx @@ -115,7 +115,7 @@ sd::ScopeLock maLockAutoLayoutArrangement; sal_Bool mbSelected; ///< selection identifier PresChange mePresChange; ///< manual / automatic / semi automatic - sal_uInt32 mnTime; ///< Display time in seconds + double mnTime; ///< Display time in seconds sal_Bool mbSoundOn; ///< with / without sound. sal_Bool mbExcluded; ///< will (not) be displayed during show. OUString maLayoutName; ///< Name of the layout @@ -223,8 +223,8 @@ void SetPresChange(PresChange eChange) { mePresChange = eChange; } PresChange GetPresChange() const { return mePresChange; } - void SetTime(sal_uInt32 nNewTime) { mnTime = nNewTime; } - sal_uInt32 GetTime() const { return mnTime; } + void SetTime(double nNewTime) { mnTime = nNewTime; } + double GetTime() const { return mnTime; } void SetSound(sal_Bool bNewSoundOn) { mbSoundOn = bNewSoundOn; } sal_Bool IsSoundOn() const { return mbSoundOn; } diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index 499af50..67ea394 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -88,7 +88,7 @@ , meAutoLayout(AUTOLAYOUT_NONE) , mbSelected(sal_False) , mePresChange(PRESCHANGE_MANUAL) -, mnTime(1) +, mnTime(1.0) , mbSoundOn(sal_False) , mbExcluded(sal_False) , mbLoopSound(sal_False) diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx index 706b199..d121452 100644 --- a/sd/source/filter/html/htmlex.cxx +++ b/sd/source/filter/html/htmlex.cxx @@ -584,7 +584,7 @@ } else if ( pParams->Name == "KioskSlideDuration" ) { - sal_Int32 temp = sal_False; + double temp = sal_False; pParams->Value >>= temp; mnSlideDuration = temp; mbAutoSlide = true; @@ -1521,7 +1521,7 @@ pPage = maPages[ nSdPage ]; if( meMode == PUBLISH_KIOSK ) { - sal_uLong nSecs = 0; + double nSecs = 0; bool bEndless = false; if( !mbAutoSlide ) { diff --git a/sd/source/filter/html/htmlex.hxx b/sd/source/filter/html/htmlex.hxx index 6ef80ed..5c0d857 100644 --- a/sd/source/filter/html/htmlex.hxx +++ b/sd/source/filter/html/htmlex.hxx @@ -114,7 +114,7 @@ bool mbDownload; bool mbAutoSlide; - sal_uInt32 mnSlideDuration; + double mnSlideDuration; bool mbSlideSound; bool mbHiddenSlides; bool mbEndless; diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index 308979d..9dc25d8 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -1757,7 +1757,7 @@ if ( nBuildFlags & 0x400 ) // slidechange by time { // time to show (in Ticks) pPage->SetPresChange( PRESCHANGE_AUTO ); - pPage->SetTime( nSlideTime / 1000 ); + pPage->SetTime( nSlideTime / 1000.0 ); } else pPage->SetPresChange( mePresChange ); diff --git a/sd/source/ui/animations/SlideTransitionPane.cxx b/sd/source/ui/animations/SlideTransitionPane.cxx index 10eb311..b73ec5f 100644 --- a/sd/source/ui/animations/SlideTransitionPane.cxx +++ b/sd/source/ui/animations/SlideTransitionPane.cxx @@ -119,7 +119,7 @@ void init() { mfDuration = 2.0; - mnTime = 0; + mnTime = 1.0; mePresChange = PRESCHANGE_MANUAL; mbSoundOn = sal_False; mbLoopSound = sal_False; @@ -217,7 +217,7 @@ // other settings double mfDuration; - sal_uLong mnTime; + double mnTime; PresChange mePresChange; sal_Bool mbSoundOn; String maSound; @@ -859,7 +859,7 @@ { maRB_ADVANCE_ON_MOUSE.Check( aEffect.mePresChange == PRESCHANGE_MANUAL ); maRB_ADVANCE_AUTO.Check( aEffect.mePresChange == PRESCHANGE_AUTO ); - maMF_ADVANCE_AUTO_AFTER.SetValue( aEffect.mnTime ); + maMF_ADVANCE_AUTO_AFTER.SetValue( aEffect.mnTime * 100.0); } SdOptions* pOptions = SD_MOD()->GetSdOptions(DOCUMENT_TYPE_IMPRESS); @@ -1026,7 +1026,7 @@ aResult.mePresChange = PRESCHANGE_AUTO; if( maMF_ADVANCE_AUTO_AFTER.IsEnabled()) { - aResult.mnTime = static_cast<long>(maMF_ADVANCE_AUTO_AFTER.GetValue()); + aResult.mnTime = static_cast<double>(maMF_ADVANCE_AUTO_AFTER.GetValue() ) / 100.0 ; aResult.mbTimeAmbiguous = false; } } diff --git a/sd/source/ui/animations/SlideTransitionPane.src b/sd/source/ui/animations/SlideTransitionPane.src index d2017de8..d78f0a0 100644 --- a/sd/source/ui/animations/SlideTransitionPane.src +++ b/sd/source/ui/animations/SlideTransitionPane.src @@ -142,11 +142,11 @@ Repeat = TRUE ; Spin = TRUE ; Minimum = 0 ; - Maximum = 999 ; - // decimal digits should be 1, but for now the model only supports whole seconds - DecimalDigits = 0 ; - // spin size (increment value) should be 5 if digits are 1 - SpinSize = 1 ; + Maximum = 9999 ; + // fdo#59071, enable slide auto transition of 0.25 second + DecimalDigits = 2 ; + // spin size (increment value), each 0.25 second + SpinSize = 25 ; Unit = FUNIT_CUSTOM ; CustomUnitText [ en-US ] = "sec"; diff --git a/sd/source/ui/dlg/dlgass.cxx b/sd/source/ui/dlg/dlgass.cxx index ebb88e4..a9ca41c 100644 --- a/sd/source/ui/dlg/dlgass.cxx +++ b/sd/source/ui/dlg/dlgass.cxx @@ -1036,7 +1036,7 @@ { const sal_uInt16 nPageCount = pDoc->GetSdPageCount(PK_STANDARD); sal_Bool bKiosk = mpPage3PresTypeKioskRB->IsChecked(); - sal_uInt32 nNewTime = (sal_uInt32)mpPage3PresTimeTMF->GetTime().GetMSFromTime() / 1000; + double nNewTime = (double)mpPage3PresTimeTMF->GetTime().GetMSFromTime() / 1000.0; if(bKiosk) { PresentationSettings& rSettings = pDoc->getPresentationSettings(); diff --git a/sd/source/ui/unoidl/unopage.cxx b/sd/source/ui/unoidl/unopage.cxx index 03b11bd..0f47b02 100644 --- a/sd/source/ui/unoidl/unopage.cxx +++ b/sd/source/ui/unoidl/unopage.cxx @@ -123,7 +123,7 @@ { MAP_CHAR_LEN(UNO_NAME_PAGE_RIGHT), WID_PAGE_RIGHT, &::getCppuType((const sal_Int32*)0), 0, 0}, { MAP_CHAR_LEN(UNO_NAME_PAGE_TOP), WID_PAGE_TOP, &::getCppuType((const sal_Int32*)0), 0, 0}, { MAP_CHAR_LEN(UNO_NAME_PAGE_CHANGE), WID_PAGE_CHANGE, &::getCppuType((const sal_Int32*)0), 0, 0}, - { MAP_CHAR_LEN(UNO_NAME_PAGE_DURATION), WID_PAGE_DURATION, &::getCppuType((const sal_Int32*)0), 0, 0}, + { MAP_CHAR_LEN(UNO_NAME_PAGE_DURATION), WID_PAGE_DURATION, &::getCppuType((const double*)0), 0, 0}, { MAP_CHAR_LEN(UNO_NAME_PAGE_EFFECT), WID_PAGE_EFFECT, &::getCppuType((const presentation::FadeEffect*)0), 0, 0}, { MAP_CHAR_LEN(UNO_NAME_PAGE_HEIGHT), WID_PAGE_HEIGHT, &::getCppuType((const sal_Int32*)0), 0, 0}, { MAP_CHAR_LEN(UNO_NAME_PAGE_LAYOUT), WID_PAGE_LAYOUT, &::getCppuType((const sal_Int16*)0), 0, 0}, @@ -612,7 +612,7 @@ GetPage()->SetAutoLayout( (AutoLayout)nValue, sal_True ); break; case WID_PAGE_DURATION: - GetPage()->SetTime((sal_uInt32)nValue); + GetPage()->SetTime((double)nValue); break; } break; @@ -1033,7 +1033,7 @@ } break; case WID_PAGE_DURATION: - aAny <<= (sal_Int32)(GetPage()->GetTime()); + aAny <<= (GetPage()->GetTime()); break; case WID_PAGE_LDNAME: { -- To view, visit https://gerrit.libreoffice.org/3176 To unsubscribe, visit https://gerrit.libreoffice.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1907a1baf30cede91a0438d021e003204ea06651 Gerrit-PatchSet: 1 Gerrit-Project: core Gerrit-Branch: master Gerrit-Owner: Cao Cuong Ngo <cao.cuong....@gmail.com> _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice