aboutsummaryrefslogtreecommitdiff
path: root/src/narrative_window.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2014-12-06 23:42:19 +0100
committerThomas White <taw@bitwiz.org.uk>2014-12-06 23:42:19 +0100
commit5ae5202020cb11e7760c881c88c24252f231f232 (patch)
tree0a28953b1f8d72298048eb13339655ca344f3e1d /src/narrative_window.c
parentbf11ccaebfb8e35d6209eab0de2e7d3ea0005862 (diff)
Add toolbar to NarrativeWindow
Diffstat (limited to 'src/narrative_window.c')
-rw-r--r--src/narrative_window.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/narrative_window.c b/src/narrative_window.c
index 38f259d..0cc3b34 100644
--- a/src/narrative_window.c
+++ b/src/narrative_window.c
@@ -38,6 +38,10 @@
struct _narrative_window
{
GtkWidget *window;
+ GtkToolItem *bfirst;
+ GtkToolItem *bprev;
+ GtkToolItem *bnext;
+ GtkToolItem *blast;
SCEditor *sceditor;
GApplication *app;
struct presentation *p;
@@ -179,11 +183,18 @@ static void nw_update_titlebar(NarrativeWindow *nw)
}
+static void update_toolbar(NarrativeWindow *nw)
+{
+}
+
+
NarrativeWindow *narrative_window_new(struct presentation *p, GApplication *app)
{
NarrativeWindow *nw;
GtkWidget *vbox;
GtkWidget *scroll;
+ GtkWidget *toolbar;
+ GtkToolItem *button;
if ( p->narrative_window != NULL ) {
fprintf(stderr, "Narrative window is already open!\n");
@@ -208,6 +219,48 @@ NarrativeWindow *narrative_window_new(struct presentation *p, GApplication *app)
gtk_container_add(GTK_CONTAINER(nw->window), vbox);
nw->sceditor = sc_editor_new(nw->p->scblocks, p->stylesheet);
+
+ toolbar = gtk_toolbar_new();
+ gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
+ gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(toolbar), FALSE, FALSE, 0);
+
+ /* Fullscreen */
+ button = gtk_tool_button_new_from_stock(GTK_STOCK_FULLSCREEN);
+ gtk_actionable_set_action_name(GTK_ACTIONABLE(button),
+ "win.startslideshow");
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
+
+ button = gtk_separator_tool_item_new();
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
+
+ /* Add slide */
+ button = gtk_tool_button_new_from_stock(GTK_STOCK_ADD);
+ gtk_actionable_set_action_name(GTK_ACTIONABLE(button),
+ "win.slide");
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
+
+ button = gtk_separator_tool_item_new();
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(button));
+
+ /* Change slide */
+ nw->bfirst = gtk_tool_button_new_from_stock(GTK_STOCK_GOTO_FIRST);
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(nw->bfirst));
+ gtk_actionable_set_action_name(GTK_ACTIONABLE(nw->bfirst),
+ "win.first");
+ nw->bprev = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK);
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(nw->bprev));
+ gtk_actionable_set_action_name(GTK_ACTIONABLE(nw->bprev),
+ "win.prev");
+ nw->bnext = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD);
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(nw->bnext));
+ gtk_actionable_set_action_name(GTK_ACTIONABLE(nw->bnext),
+ "win.next");
+ nw->blast = gtk_tool_button_new_from_stock(GTK_STOCK_GOTO_LAST);
+ gtk_container_add(GTK_CONTAINER(toolbar), GTK_WIDGET(nw->blast));
+ gtk_actionable_set_action_name(GTK_ACTIONABLE(nw->blast),
+ "win.last");
+ update_toolbar(nw);
+
scroll = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll),
GTK_POLICY_AUTOMATIC,