Single monitor mode for slideshow
authorThomas White <taw@physics.org>
Fri, 5 Jan 2018 21:46:45 +0000 (22:46 +0100)
committerThomas White <taw@physics.org>
Fri, 5 Jan 2018 21:46:45 +0000 (22:46 +0100)
If we only have one monitor, page up/down should change slide instead of
paragraph.

src/narrative_window.c

index 6968aa2..f0f4d32 100644 (file)
@@ -392,6 +392,19 @@ static void ss_next_para(SCSlideshow *ss, void *vp)
 
        sc_editor_set_cursor_para(nw->sceditor,
                                  sc_editor_get_cursor_para(nw->sceditor)+1);
+
+       /* If we only have one monitor, don't try to do paragraph counting */
+       if ( ss->single_monitor ) {
+               int i, max;
+               max = sc_editor_get_num_paras(nw->sceditor);
+               for ( i=sc_editor_get_cursor_para(nw->sceditor); i<max; i++ ) {
+                       SCBlock *ns;
+                       sc_editor_set_cursor_para(nw->sceditor, i);
+                       ns = sc_editor_get_cursor_bvp(nw->sceditor);
+                       if ( ns != NULL ) break;
+               }
+       }
+
        pr_clock_set_pos(nw->pr_clock, sc_editor_get_cursor_para(nw->sceditor),
                                       sc_editor_get_num_paras(nw->sceditor));
        ns = sc_editor_get_cursor_bvp(nw->sceditor);