aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-06-29 18:26:32 +0200
committerThomas White <taw@physics.org>2018-06-29 18:26:32 +0200
commit709c9325c2186ae79097545ddf04a9a57c44df58 (patch)
treeb3d2035386bf693fb79a14104a9f8e927b887e35
parent2603d5e2933e033097e60b71c52623870ec1eef3 (diff)
Always count paragraphs if using presentation without slides
-rw-r--r--src/narrative_window.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/narrative_window.c b/src/narrative_window.c
index 5ab1a6c..e549fc1 100644
--- a/src/narrative_window.c
+++ b/src/narrative_window.c
@@ -55,6 +55,7 @@ struct _narrative_window
struct presentation *p;
SCBlock *dummy_top;
SCSlideshow *show;
+ int show_no_slides;
PRClock *pr_clock;
};
@@ -407,7 +408,7 @@ static void ss_next_para(SCSlideshow *ss, void *vp)
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 ) {
+ if ( ss->single_monitor && !nw->show_no_slides ) {
int i, max;
max = sc_editor_get_num_paras(nw->sceditor);
for ( i=sc_editor_get_cursor_para(nw->sceditor); i<max; i++ ) {
@@ -615,6 +616,8 @@ static void start_slideshow_here_sig(GSimpleAction *action, GVariant *parameter,
nw->show = sc_slideshow_new(nw->p, GTK_APPLICATION(nw->app));
if ( nw->show == NULL ) return;
+ nw->show_no_slides = 0;
+
g_signal_connect(G_OBJECT(nw->show), "key-press-event",
G_CALLBACK(nw_key_press_sig), nw);
g_signal_connect(G_OBJECT(nw->show), "destroy",
@@ -636,6 +639,8 @@ static void start_slideshow_noslides_sig(GSimpleAction *action, GVariant *parame
nw->show = sc_slideshow_new(nw->p, GTK_APPLICATION(nw->app));
if ( nw->show == NULL ) return;
+ nw->show_no_slides = 1;
+
g_signal_connect(G_OBJECT(nw->show), "key-press-event",
G_CALLBACK(nw_key_press_sig), nw);
g_signal_connect(G_OBJECT(nw->show), "destroy",
@@ -657,6 +662,8 @@ static void start_slideshow_sig(GSimpleAction *action, GVariant *parameter,
nw->show = sc_slideshow_new(nw->p, GTK_APPLICATION(nw->app));
if ( nw->show == NULL ) return;
+ nw->show_no_slides = 0;
+
g_signal_connect(G_OBJECT(nw->show), "key-press-event",
G_CALLBACK(nw_key_press_sig), nw);
g_signal_connect(G_OBJECT(nw->show), "destroy",