diff options
Diffstat (limited to 'src/slideshow.c')
-rw-r--r-- | src/slideshow.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/slideshow.c b/src/slideshow.c index 8e3b8ca..950c5c5 100644 --- a/src/slideshow.c +++ b/src/slideshow.c @@ -104,6 +104,10 @@ static gint prev_slide_sig(GtkWidget *widget, struct presentation *p) notify_slideshow_slide_changed(p); + /* Editor always follows slideshow, even if "unlinked" */ + p->cur_edit_slide = p->cur_proj_slide; + notify_slide_changed(p); + return FALSE; } @@ -121,6 +125,10 @@ static gint next_slide_sig(GtkWidget *widget, struct presentation *p) notify_slideshow_slide_changed(p); + /* Editor always follows slideshow, even if "unlinked" */ + p->cur_edit_slide = p->cur_proj_slide; + notify_slide_changed(p); + return FALSE; } @@ -142,9 +150,17 @@ static gboolean ss_key_press_sig(GtkWidget *da, GdkEventKey *event, case GDK_KEY_B : case GDK_KEY_b : - p->ss_blank = 1-p->ss_blank; - gdk_window_invalidate_rect(p->ss_drawingarea->window, - NULL, FALSE); + if ( p->prefs->b_splits ) { + p->slideshow_linked = 1 - p->slideshow_linked; + if ( p->slideshow_linked ) { + p->cur_proj_slide = p->cur_edit_slide; + notify_slideshow_slide_changed(p); + } + } else { + p->ss_blank = 1-p->ss_blank; + gdk_window_invalidate_rect(p->ss_drawingarea->window, + NULL, FALSE); + } break; case GDK_KEY_Page_Up : |