summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-07-03 18:44:35 -0400
committerSøren Sandmann Pedersen <sandmann@daimi.au.dk>2009-07-03 18:44:35 -0400
commit49790c0bfa899b63444bcd6d2e5cd0fa7c2dbfef (patch)
treee6c0c6465c7c1096a36f67deac0d46ff13f0d932
parentb9e64597f263b99b3163b2ca3feae317ff7ed205 (diff)
Add disabled-by-default status bar
-rw-r--r--siv.c8
-rw-r--r--siv.glade24
-rw-r--r--siv.h4
-rw-r--r--window.c13
4 files changed, 44 insertions, 5 deletions
diff --git a/siv.c b/siv.c
index e41465a..a5b0b60 100644
--- a/siv.c
+++ b/siv.c
@@ -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);
}
diff --git a/siv.glade b/siv.glade
index e93c378..d9fe75a 100644
--- a/siv.glade
+++ b/siv.glade
@@ -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>
diff --git a/siv.h b/siv.h
index 9d9f80d..463f65e 100644
--- a/siv.h
+++ b/siv.h
@@ -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 */
diff --git a/window.c b/window.c
index b6316c8..53b5f38 100644
--- a/window.c
+++ b/window.c
@@ -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