Fix incremental slides on presenter view #170

Merged
merged 2 commits into from Mar 6, 2012
View
@@ -3,6 +3,10 @@ var w = null;
$(function(){
w = window.open('/' + window.location.search);
+ // Give the slide window a handle to the presenter view window.
+ // This will let either window be made fullscreen and
+ // still process slide advance/rewinds correctly.
+ w.presenterView = window;
// side menu accordian crap
$("#preso").bind("showoff:loaded", function (event) {
$(".menu > ul ul").hide()
@@ -31,6 +35,11 @@ function presPrevStep()
function presNextStep()
{
+ // TODO: figure out why these two lines are
+ // necessary. Something in the presenter view isn't correctly
+ // setting these variabls related to incremental slide display.
+ incrCurr = w.incrCurr
+ incrSteps = w.incrSteps
nextStep()
w.nextStep()
postSlide()
View
@@ -215,7 +215,25 @@ function showSlide(back_step) {
var currentContent = $(currentSlide).find(".content")
currentContent.trigger("showoff:show");
- return getCurrentNotes()
+ var ret = getCurrentNotes()
+ // If we have a presenterView attribute, that means this window was
+ // opened by a presenter view, and we should poke it to make
+ // it be on the same slide as us and show the correct notes.
+ //
+ // TODO: we do this in such a hacky way to avoid ever
+ // assigning to the presenterView variable here. If we do
+ // that, we can clobber the value sent in by the parent
+ // presentation view and break the feature. Is there a better
+ // way to do this?
+ if ('presenterView' in window) {
+ var pv = window.presenterView;
+ pv.slidenum = slidenum;
+ pv.incrCurr = incrCurr
+ pv.incrSteps = incrSteps
+ pv.showSlide(true);
+ pv.postSlide();
+ }
+ return ret;
}
function getSlideProgress()