aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2013-08-26 23:18:50 +0200
committerThomas White <taw@bitwiz.org.uk>2013-08-26 23:18:50 +0200
commit25355909acd0d45f6315477bee05cc53fe48a105 (patch)
treeb61baf7116592863761dd16ed479b6f6a824c5c8
parent62709b5f100733de9d1cb8862606ea98048f0210 (diff)
Update style menus after loading a presentation
-rw-r--r--src/mainwindow.c125
1 files changed, 63 insertions, 62 deletions
diff --git a/src/mainwindow.c b/src/mainwindow.c
index 85e3eca..cd210db 100644
--- a/src/mainwindow.c
+++ b/src/mainwindow.c
@@ -167,68 +167,6 @@ static void update_toolbar(struct presentation *p)
}
-static gint open_response_sig(GtkWidget *d, gint response,
- struct presentation *p)
-{
- if ( response == GTK_RESPONSE_ACCEPT ) {
-
- char *filename;
-
- filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(d));
-
- if ( p->completely_empty ) {
-
- if ( load_presentation(p, filename) ) {
- show_error(p, "Failed to open presentation");
- }
- p->cur_edit_slide = p->slides[0];
- rerender_slide(p);
- update_toolbar(p);
-
- } else {
-
- struct presentation *p;
-
- /* FIXME */
- p = new_presentation();
- if ( load_presentation(p, filename) ) {
- show_error(p, "Failed to open presentation");
- } else {
- open_mainwindow(p);
- }
-
- }
-
- g_free(filename);
-
- }
-
- gtk_widget_destroy(d);
-
- return 0;
-}
-
-
-static gint open_sig(GtkWidget *widget, struct presentation *p)
-{
- GtkWidget *d;
-
- d = gtk_file_chooser_dialog_new("Open Presentation",
- GTK_WINDOW(p->window),
- GTK_FILE_CHOOSER_ACTION_OPEN,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
- NULL);
-
- g_signal_connect(G_OBJECT(d), "response",
- G_CALLBACK(open_response_sig), p);
-
- gtk_widget_show_all(d);
-
- return 0;
-}
-
-
static void do_slide_update(struct presentation *p, PangoContext *pc)
{
rerender_slide(p);
@@ -339,6 +277,69 @@ static void update_style_menus(struct presentation *p)
}
+static gint open_response_sig(GtkWidget *d, gint response,
+ struct presentation *p)
+{
+ if ( response == GTK_RESPONSE_ACCEPT ) {
+
+ char *filename;
+
+ filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(d));
+
+ if ( p->completely_empty ) {
+
+ if ( load_presentation(p, filename) ) {
+ show_error(p, "Failed to open presentation");
+ }
+ p->cur_edit_slide = p->slides[0];
+ rerender_slide(p);
+ update_toolbar(p);
+ update_style_menus(p);
+
+ } else {
+
+ struct presentation *p;
+
+ /* FIXME */
+ p = new_presentation();
+ if ( load_presentation(p, filename) ) {
+ show_error(p, "Failed to open presentation");
+ } else {
+ open_mainwindow(p);
+ }
+
+ }
+
+ g_free(filename);
+
+ }
+
+ gtk_widget_destroy(d);
+
+ return 0;
+}
+
+
+static gint open_sig(GtkWidget *widget, struct presentation *p)
+{
+ GtkWidget *d;
+
+ d = gtk_file_chooser_dialog_new("Open Presentation",
+ GTK_WINDOW(p->window),
+ GTK_FILE_CHOOSER_ACTION_OPEN,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
+ NULL);
+
+ g_signal_connect(G_OBJECT(d), "response",
+ G_CALLBACK(open_response_sig), p);
+
+ gtk_widget_show_all(d);
+
+ return 0;
+}
+
+
static gint loadstyle_response_sig(GtkWidget *d, gint response,
struct presentation *p)
{