diff options
author | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-07-03 18:44:35 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <sandmann@daimi.au.dk> | 2009-07-03 18:44:35 -0400 |
commit | 49790c0bfa899b63444bcd6d2e5cd0fa7c2dbfef (patch) | |
tree | e6c0c6465c7c1096a36f67deac0d46ff13f0d932 | |
parent | b9e64597f263b99b3163b2ca3feae317ff7ed205 (diff) |
Add disabled-by-default status bar
-rw-r--r-- | siv.c | 8 | ||||
-rw-r--r-- | siv.glade | 24 | ||||
-rw-r--r-- | siv.h | 4 | ||||
-rw-r--r-- | window.c | 13 |
4 files changed, 44 insertions, 5 deletions
@@ -108,6 +108,7 @@ foreach (gpointer key, gpointer value, gpointer user_data) g_key_file_set_integer (key_file, filename, "hadj", meta->hadj); g_key_file_set_integer (key_file, filename, "vadj", meta->vadj); g_key_file_set_integer (key_file, filename, "show_toolbar", meta->show_toolbar); + g_key_file_set_integer (key_file, filename, "show_status_bar", meta->show_status_bar); } static gchar * @@ -262,6 +263,9 @@ load_meta_data (void) if (!get_int (keyfile, group, "show_toolbar", &(data->show_toolbar))) data->show_toolbar = TRUE; + if (!get_int (keyfile, group, "show_status_bar", &(data->show_status_bar))) + data->show_status_bar = FALSE; + g_hash_table_insert (result, g_strdup (group), data); } @@ -308,7 +312,8 @@ app_set_meta_data (App *app, int zoom_level, int vadj, int hadj, - int show_toolbar) + gboolean show_toolbar, + gboolean show_status_bar) { char *encoded = encode (filename); MetaData *data = g_hash_table_lookup (app->meta_data, encoded); @@ -330,6 +335,7 @@ app_set_meta_data (App *app, data->hadj = hadj; data->vadj = vadj; data->show_toolbar = show_toolbar; + data->show_status_bar = show_status_bar; g_free (encoded); } @@ -81,12 +81,22 @@ <property name="visible">True</property> <property name="label" translatable="yes">Toolbar</property> <property name="use_underline">True</property> - <property name="active">False</property> + <property name="active">True</property> <signal name="activate" handler="on_toolbar2_activate" last_modification_time="Wed, 15 Apr 2009 19:23:02 GMT"/> </widget> </child> <child> + <widget class="GtkCheckMenuItem" id="menu_status_bar"> + <property name="visible">True</property> + <property name="label" translatable="yes">Status _Bar</property> + <property name="use_underline">True</property> + <property name="active">False</property> + <signal name="activate" handler="on_status_bar1_activate" last_modification_time="Fri, 03 Jul 2009 05:30:58 GMT"/> + </widget> + </child> + + <child> <widget class="GtkSeparatorMenuItem" id="separator3"> <property name="visible">True</property> </widget> @@ -302,6 +312,18 @@ <property name="fill">True</property> </packing> </child> + + <child> + <widget class="GtkStatusbar" id="status_bar"> + <property name="visible">True</property> + <property name="has_resize_grip">True</property> + </widget> + <packing> + <property name="padding">0</property> + <property name="expand">False</property> + <property name="fill">False</property> + </packing> + </child> </widget> </child> </widget> @@ -33,6 +33,7 @@ struct MetaData int vadj; int hadj; gboolean show_toolbar; + gboolean show_status_bar; }; /* App */ @@ -54,7 +55,8 @@ void app_set_meta_data (App *data, int zoom_level, int vadj, int hadj, - gboolean show_toolbar); + gboolean show_toolbar, + gboolean show_status_bar); GtkWidget *app_get_open_chooser (App *app); /* Doesn't really belong in the app namespace */ @@ -308,6 +308,7 @@ save_meta_data (SivWindow *window) BackgroundType bg; gboolean smooth; gboolean show_toolbar; + gboolean show_status_bar; if (window->filename) filename = window->filename; @@ -336,6 +337,7 @@ save_meta_data (SivWindow *window) smooth = gtk_check_menu_item_get_active (get_widget (window, "menu_smooth_image")); show_toolbar = gtk_check_menu_item_get_active (get_widget (window, "menu_toolbar")); + show_status_bar = gtk_check_menu_item_get_active (get_widget (window, "menu_status_bar")); app_set_meta_data (window->app, filename, @@ -344,7 +346,8 @@ save_meta_data (SivWindow *window) window->zoom_level, get_vadj (window)->value, get_hadj (window)->value, - show_toolbar); + show_toolbar, + show_status_bar); } static void @@ -446,6 +449,11 @@ rebuild (SivWindow *window) gtk_widget_show (get_widget (window, "toolbar")); else gtk_widget_hide (get_widget (window, "toolbar")); + + if (gtk_check_menu_item_get_active (get_widget (window, "menu_status_bar"))) + gtk_widget_show (get_widget (window, "status_bar")); + else + gtk_widget_hide (get_widget (window, "status_bar")); gtk_widget_queue_draw (get_widget (window, "drawing_area")); } @@ -927,6 +935,7 @@ connect_signals (SivWindow *window) { "menu_no", "activate", G_CALLBACK (on_various) }, { "menu_checkerboard", "activate", G_CALLBACK (on_various) }, { "menu_toolbar", "activate", G_CALLBACK (on_various) }, + { "menu_status_bar", "activate", G_CALLBACK (on_various) }, { "drawing_area", "expose_event", G_CALLBACK (on_expose) }, { "drawing_area", "scroll_event", G_CALLBACK (on_scroll) }, { "drawing_area", "size_allocate", G_CALLBACK (on_size_allocate) }, @@ -1000,7 +1009,7 @@ set_defaults (SivWindow *window) gtk_check_menu_item_set_active (get_widget (window, "menu_smooth_image"), TRUE); gtk_check_menu_item_set_active (get_widget (window, "menu_no"), TRUE); gtk_check_menu_item_set_active (get_widget (window, "menu_toolbar"), TRUE); - + gtk_check_menu_item_set_active (get_widget (window, "menu_status_bar"), FALSE); } static void |