From eb80ba714729010d00bb2f212c3e770b0706f64b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 8 Jan 2016 09:16:30 +0100 Subject: Narrative window slideshow stuff --- src/narrative_window.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'src/narrative_window.c') diff --git a/src/narrative_window.c b/src/narrative_window.c index 807305f..6e09d71 100644 --- a/src/narrative_window.c +++ b/src/narrative_window.c @@ -217,30 +217,46 @@ static void ss_prev_slide(SlideShow *ss, void *vp) static void first_slide_sig(GSimpleAction *action, GVariant *parameter, gpointer vp) { - //NarrativeWindow *nw = vp; + NarrativeWindow *nw = vp; + SCBlock *tt; + + tt = first_slide(nw->p); + if ( tt == NULL ) return; /* Fail */ + nw->sel_slide = tt; + if ( slideshow_linked(nw->show) ) { + change_proj_slide(nw->show, nw->sel_slide); + } /* else leave the slideshow alone */ + update_toolbar(nw); } static void prev_slide_sig(GSimpleAction *action, GVariant *parameter, gpointer vp) { - //NarrativeWindow *nw = vp; - //ss_prev_slide(NULL, vp); + ss_prev_slide(NULL, vp); } static void next_slide_sig(GSimpleAction *action, GVariant *parameter, gpointer vp) { - //NarrativeWindow *nw = vp; - //ss_next_slide(NULL, vp); + ss_next_slide(NULL, vp); } static void last_slide_sig(GSimpleAction *action, GVariant *parameter, gpointer vp) { - //NarrativeWindow *nw = vp; + NarrativeWindow *nw = vp; + SCBlock *tt; + + tt = last_slide(nw->p); + if ( tt == NULL ) return; /* Fail */ + nw->sel_slide = tt; + if ( slideshow_linked(nw->show) ) { + change_proj_slide(nw->show, nw->sel_slide); + } /* else leave the slideshow alone */ + update_toolbar(nw); } -- cgit v1.2.3