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.ngo@gmail.com>
Context
- [PATCH] fdo#59071 Slideshow: allow automatic transitions with sub-se... · Cao Cuong Ngo (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.