From 915a7e8dc116aa9187f2dfb2acc615ac205503a5 Mon Sep 17 00:00:00 2001 From: David Russell Date: Mon, 8 Jan 2018 14:37:47 +0700 Subject: [PATCH] Remote control custom prev + next keycode overrides. --- app/com/gitpitch/models/SlideshowModel.java | 24 +++++++++++++++++++ app/com/gitpitch/utils/YAMLOptions.java | 12 ++++++++++ .../views/frags/SlideshowReveal.scala.html | 9 +++---- 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/app/com/gitpitch/models/SlideshowModel.java b/app/com/gitpitch/models/SlideshowModel.java index 441bc79..24e2d0c 100644 --- a/app/com/gitpitch/models/SlideshowModel.java +++ b/app/com/gitpitch/models/SlideshowModel.java @@ -323,6 +323,28 @@ public class SlideshowModel { return (_yOpts != null) ? _yOpts.fetchRemoteControl(params()) : false; } + /* + * Return "remote-control-prevkey" defined in PITCHME.yaml. + */ + public int remoteControlPrevKey() { + int prevKeyCode = DEFAULT_PREV_KEYCODE; + if(_yOpts != null) { + prevKeyCode = _yOpts.fetchRemoteControlPrevKey(params()); + } + return prevKeyCode != 0 ? prevKeyCode : DEFAULT_PREV_KEYCODE; + } + + /* + * Return "remote-control-nextkey" defined in PITCHME.yaml. + */ + public int remoteControlNextKey() { + int nextKeyCode = DEFAULT_NEXT_KEYCODE; + if(_yOpts != null) { + nextKeyCode = _yOpts.fetchRemoteControlNextKey(params()); + } + return nextKeyCode != 0 ? nextKeyCode : DEFAULT_NEXT_KEYCODE; + } + /* * Return "rtl" defined in PITCHME.yaml. */ @@ -533,6 +555,8 @@ public class SlideshowModel { * Model prefix identifier for cache key generator. */ private static final String MODEL_ID = "SSM:"; + private static final Integer DEFAULT_PREV_KEYCODE = 37; + private static final Integer DEFAULT_NEXT_KEYCODE = 39; private static final String THEME_FONT_DEFAULT = "Source Sans Pro, Helvetica, sans-serif"; private static final String THEME_DARK_COLOR_INVERSE = "white"; diff --git a/app/com/gitpitch/utils/YAMLOptions.java b/app/com/gitpitch/utils/YAMLOptions.java index 1b3adff..66e7f0f 100644 --- a/app/com/gitpitch/utils/YAMLOptions.java +++ b/app/com/gitpitch/utils/YAMLOptions.java @@ -209,6 +209,14 @@ public final class YAMLOptions { return fetchBooleanOption(pp, REMOTE_CONTROL_OPTION); } + public Integer fetchRemoteControlPrevKey(PitchParams pp) { + return fetchIntegerOption(pp, REMOTE_CONTROL_PREVKEY_OPTION); + } + + public Integer fetchRemoteControlNextKey(PitchParams pp) { + return fetchIntegerOption(pp, REMOTE_CONTROL_NEXTKEY_OPTION); + } + public Boolean fetchRTL(PitchParams pp) { return fetchBooleanOption(pp, RTL_OPTION); } @@ -369,6 +377,10 @@ public final class YAMLOptions { private static final String AUTOSLIDE_OPTION = "autoslide"; private static final String LOOP_OPTION = "loop"; private static final String REMOTE_CONTROL_OPTION = "remote-control"; + private static final String REMOTE_CONTROL_PREVKEY_OPTION = + "remote-control-prevkey"; + private static final String REMOTE_CONTROL_NEXTKEY_OPTION = + "remote-control-nextkey"; private static final String RTL_OPTION = "rtl"; private static final String SHUFFLE_OPTION = "shuffle"; private static final String MOUSE_WHEEL_OPTION = "mousewheel"; diff --git a/app/com/gitpitch/views/frags/SlideshowReveal.scala.html b/app/com/gitpitch/views/frags/SlideshowReveal.scala.html index be31e8b..d39bec5 100644 --- a/app/com/gitpitch/views/frags/SlideshowReveal.scala.html +++ b/app/com/gitpitch/views/frags/SlideshowReveal.scala.html @@ -13,7 +13,7 @@ showNotes: @ssm.showNotes(), transition: '@ssm.fetchTransition()', backgroundTransition: '@ssm.fetchTransition()', - autoSlide: 0, // autoSlide: @ssm.fetchAutoSlide(false), + autoSlide: @ssm.fetchAutoSlide(false), loop: @ssm.fetchLoop(), center: @ssm.fetchVerticalCenter(), rtl: @ssm.fetchRTL(), @@ -35,7 +35,8 @@ config: '@ssm.fetchMathConfig()' }, } - @if(!(serverPrinting || webPrinting)) { + @if(!(serverPrinting || webPrinting || + ssm.fetchAutoSlide(false) > 0)) { menu: { custom: [ @if(offline) { @@ -197,8 +198,8 @@