aboutsummaryrefslogtreecommitdiff
path: root/src/slide_window.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2014-11-27 22:15:30 +0100
committerThomas White <taw@bitwiz.org.uk>2014-11-27 22:15:30 +0100
commit25fd04356ab94d4f614bce58d1c291e4c4f1f168 (patch)
tree6873e0bfa59a9ccb0929ad380211d0c863021fb5 /src/slide_window.c
parentce4063914caf0d28b807ecefa0a6be137b178d49 (diff)
Restore "b splits"
Diffstat (limited to 'src/slide_window.c')
-rw-r--r--src/slide_window.c34
1 files changed, 31 insertions, 3 deletions
diff --git a/src/slide_window.c b/src/slide_window.c
index 2c06de3..c12f9fe 100644
--- a/src/slide_window.c
+++ b/src/slide_window.c
@@ -60,6 +60,8 @@ struct _slidewindow
int n_style_menu;
struct slide *cur_slide; /* FIXME: SPOT inside SCEditor */
+
+ SlideShow *show;
};
@@ -328,9 +330,15 @@ static gint about_sig(GtkWidget *widget, SlideWindow *sw)
}
+void slidewindow_slideshow_ended(SlideWindow *sw)
+{
+ sw->show = NULL;
+}
+
+
static gint start_slideshow_sig(GtkWidget *widget, SlideWindow *sw)
{
- sw->p->slideshow = try_start_slideshow(sw, sw->p);
+ sw->show = try_start_slideshow(sw, sw->p);
return FALSE;
}
@@ -346,8 +354,8 @@ void change_edit_slide(SlideWindow *sw, struct slide *np)
// FIXME notify_notes_slide_changed(sw->p, np);
- if ( slideshow_linked(sw->p->slideshow) ) {
- change_proj_slide(sw->p->slideshow, np);
+ if ( slideshow_linked(sw->show) ) {
+ change_proj_slide(sw->show, np);
} /* else leave the slideshow alone */
}
@@ -468,8 +476,19 @@ static gint delete_frame_sig(GtkWidget *widget, SlideWindow *sw)
}
+static void slidewindow_set_background(SlideWindow *sw)
+{
+ if ( (sw->show != NULL) && !slideshow_linked(sw->show) ) {
+ sc_editor_set_background(sw->sceditor, 1.0, 0.3, 0.2);
+ } else {
+ sc_editor_set_background(sw->sceditor, 0.9, 0.9, 0.9);
+ }
+}
+
+
void slidewindow_redraw(SlideWindow *sw)
{
+ slidewindow_set_background(sw);
sc_editor_redraw(sw->sceditor);
}
@@ -620,6 +639,11 @@ static gboolean key_press_sig(GtkWidget *da, GdkEventKey *event,
case GDK_KEY_Page_Down :
change_slide_forwards(sw);
break;
+
+ case GDK_KEY_b :
+ if ( sw->show != NULL ) {
+ toggle_slideshow_link(sw->show);
+ }
}
return FALSE;
@@ -645,6 +669,7 @@ SlideWindow *slide_window_open(struct presentation *p, GApplication *app)
sw->window = window;
sw->p = p;
sw->cur_slide = p->slides[0];
+ sw->show = NULL;
update_titlebar(p);
@@ -676,6 +701,9 @@ SlideWindow *slide_window_open(struct presentation *p, GApplication *app)
gtk_window_set_default_size(GTK_WINDOW(sw->window), 1024+100, 768+150);
gtk_window_set_resizable(GTK_WINDOW(sw->window), TRUE);
+ /* Initial background colour */
+ slidewindow_set_background(sw);
+
gtk_widget_show_all(window);
return sw;