[Goodies-commits] r6388 - in sion/trunk: . src
Enrico Troeger
enrico at xfce.org
Thu Jan 1 17:21:20 CET 2009
Author: enrico
Date: 2009-01-01 16:21:19 +0000 (Thu, 01 Jan 2009)
New Revision: 6388
Modified:
sion/trunk/ChangeLog
sion/trunk/src/preferencesdialog.c
Log:
Redesign the dialog using a notebook tabs instead of frames for the various settings.
Modified: sion/trunk/ChangeLog
===================================================================
--- sion/trunk/ChangeLog 2009-01-01 16:21:14 UTC (rev 6387)
+++ sion/trunk/ChangeLog 2009-01-01 16:21:19 UTC (rev 6388)
@@ -7,6 +7,8 @@
* src/preferencesdialog.c:
Add a label for the HAL/Unix volume manager setting to make clearer
what the setting is about.
+ Redesign the dialog using a notebook tabs instead of frames for the
+ various settings.
2008-12-29 Enrico Tröger <enrico(at)xfce(dot)org>
Modified: sion/trunk/src/preferencesdialog.c
===================================================================
--- sion/trunk/src/preferencesdialog.c 2009-01-01 16:21:14 UTC (rev 6387)
+++ sion/trunk/src/preferencesdialog.c 2009-01-01 16:21:19 UTC (rev 6388)
@@ -113,24 +113,6 @@
}
-/* Create a frame with no actual frame but a bold label and indentation.
- * (Code from Midori, thanks to Christian Dywan.) */
-static GtkWidget *hig_frame_new(const gchar* title)
-{
- GtkWidget *frame = gtk_frame_new(NULL);
- gchar *title_bold = g_strdup_printf("<b>%s</b>", title);
- GtkWidget *label = gtk_label_new(NULL);
-
- gtk_label_set_markup(GTK_LABEL(label), title_bold);
- g_free(title_bold);
- gtk_frame_set_label_widget(GTK_FRAME(frame), label);
- gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
- gtk_container_set_border_width(GTK_CONTAINER(frame), 4);
-
- return frame;
-}
-
-
static void vm_imple_toggle_cb(GtkToggleButton *button, SionSettings *settings)
{
sion_settings_set_vm_impl(settings, g_object_get_data(G_OBJECT(button), "impl"));
@@ -146,6 +128,15 @@
}
+static void check_toolbar_show_toggle_cb(GtkToggleButton *button, G_GNUC_UNUSED gpointer data)
+{
+ gboolean toggled = gtk_toggle_button_get_active(button);
+
+ gtk_widget_set_sensitive(g_object_get_data(G_OBJECT(button), "combo_toolbar_style"), toggled);
+ gtk_widget_set_sensitive(g_object_get_data(G_OBJECT(button), "combo_toolbar_orient"), toggled);
+}
+
+
static GtkWidget *add_check_button(SionSettings *settings, const gchar *property, const gchar *text)
{
gboolean toggled;
@@ -312,8 +303,8 @@
static void set_settings(SionPreferencesDialog *dialog, SionSettings *settings)
{
- GtkWidget *frame, *frame_vbox, *align, *vbox, *hbox;
- GtkWidget *radio1, *radio2, *checkbox, *combo, *entry;
+ GtkWidget *frame_vbox, *notebook_vbox, *vbox, *hbox, *notebook;
+ GtkWidget *radio1, *radio2, *checkbox, *combo, *entry, *combo_toolbar_style, *combo_toolbar_orient;
GtkWidget *label1, *label2, *label3, *label4, *label_volman, *image;
GSList *rlist;
GtkSizeGroup *sg;
@@ -329,16 +320,17 @@
gtk_box_pack_start(GTK_BOX(vbox), heading, FALSE, FALSE, 0);
}
- frame = hig_frame_new(_("General"));
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 6);
+ notebook = gtk_notebook_new();
+ gtk_box_pack_start(GTK_BOX(vbox), notebook, FALSE, TRUE, 0);
+ gtk_container_set_border_width(GTK_CONTAINER(notebook), 5);
- align = gtk_alignment_new(0, 0.5, 0, 0);
- gtk_container_add(GTK_CONTAINER(frame), align);
+#define PAGE_GENERAL
+ notebook_vbox = gtk_vbox_new(FALSE, 2);
+ frame_vbox = gtk_vbox_new(FALSE, 5);
+ gtk_container_set_border_width(GTK_CONTAINER(frame_vbox), 5);
+ gtk_box_pack_start(GTK_BOX(notebook_vbox), frame_vbox, TRUE, TRUE, 5);
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("General")));
- frame_vbox = gtk_vbox_new(FALSE, 6);
- gtk_container_set_border_width(GTK_CONTAINER(frame_vbox), 4); \
- gtk_container_add(GTK_CONTAINER(align), frame_vbox);
-
hbox = gtk_hbox_new(FALSE, 6);
gtk_box_pack_start(GTK_BOX(frame_vbox), hbox, FALSE, FALSE, 0);
@@ -356,11 +348,13 @@
gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0);
entry_check_input(GTK_ENTRY(entry));
+ gtk_box_pack_start(GTK_BOX(frame_vbox), gtk_label_new(""), FALSE, FALSE, 0);
+
label_volman = gtk_label_new(_("The HAL based volume manager implementation requires the tool 'gnome-mount' to mount local resources like disks. The Unix based volume manager implementation can mount such resources directly and also lists other local devices.\nIf you are unsure, use the HAL based monitor."));
gtk_label_set_line_wrap(GTK_LABEL(label_volman), TRUE);
gtk_label_set_line_wrap_mode(GTK_LABEL(label_volman), PANGO_WRAP_WORD);
gtk_misc_set_alignment(GTK_MISC(label_volman), 0.0f, 0.5f);
- gtk_box_pack_start(GTK_BOX(frame_vbox), label_volman, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(frame_vbox), label_volman, FALSE, FALSE, 0);
radio1 = gtk_radio_button_new_with_mnemonic(NULL, _("Use _HAL based volume manager"));
gtk_widget_set_tooltip_markup(radio1, _("<i>Changing this option requires a restart of Sion.</i>"));
@@ -381,16 +375,13 @@
g_signal_connect(radio1, "toggled", G_CALLBACK(vm_imple_toggle_cb), settings);
g_signal_connect(radio2, "toggled", G_CALLBACK(vm_imple_toggle_cb), settings);
- frame = hig_frame_new(_("Interface"));
- gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 6);
+#define PAGE_INTERFACE
+ notebook_vbox = gtk_vbox_new(FALSE, 2);
+ frame_vbox = gtk_vbox_new(FALSE, 5);
+ gtk_container_set_border_width(GTK_CONTAINER(frame_vbox), 5);
+ gtk_box_pack_start(GTK_BOX(notebook_vbox), frame_vbox, TRUE, TRUE, 5);
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("Interface")));
- align = gtk_alignment_new(0, 0.5, 0, 0);
- gtk_container_add(GTK_CONTAINER(frame), align);
-
- frame_vbox = gtk_vbox_new(FALSE, 6);
- gtk_container_set_border_width(GTK_CONTAINER(frame_vbox), 4); \
- gtk_container_add(GTK_CONTAINER(align), frame_vbox);
-
checkbox = add_check_button(settings, "save-geometry", _("_Save window position and geometry"));
gtk_widget_set_tooltip_text(checkbox, _("Saves the window position and geometry and restores it at the start"));
gtk_box_pack_start(GTK_BOX(frame_vbox), checkbox, FALSE, FALSE, 0);
@@ -398,48 +389,59 @@
checkbox = add_check_button(settings, "show-trayicon", _("Show tray _icon"));
gtk_box_pack_start(GTK_BOX(frame_vbox), checkbox, FALSE, FALSE, 0);
+ hbox = gtk_hbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(frame_vbox), hbox, FALSE, FALSE, 0);
+
+ label4 = gtk_label_new_with_mnemonic(_("_View Mode"));
+ gtk_misc_set_alignment(GTK_MISC(label4), 0.0f, 0.5f);
+ gtk_box_pack_start(GTK_BOX(hbox), label4, FALSE, FALSE, 0);
+
+ combo = add_view_mode_combo(settings, "view-mode");
+ gtk_label_set_mnemonic_widget(GTK_LABEL(label4), combo);
+ gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0);
+
+#define PAGE_TOOLBAR
+ notebook_vbox = gtk_vbox_new(FALSE, 2);
+ frame_vbox = gtk_vbox_new(FALSE, 5);
+ gtk_container_set_border_width(GTK_CONTAINER(frame_vbox), 5);
+ gtk_box_pack_start(GTK_BOX(notebook_vbox), frame_vbox, TRUE, TRUE, 5);
+ gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("Toolbar")));
+
checkbox = add_check_button(settings, "show-toolbar", _("Show _toolbar"));
gtk_box_pack_start(GTK_BOX(frame_vbox), checkbox, FALSE, FALSE, 0);
hbox = gtk_hbox_new(FALSE, 6);
gtk_box_pack_start(GTK_BOX(frame_vbox), hbox, FALSE, FALSE, 0);
- label2 = gtk_label_new_with_mnemonic(_("Toolbar St_yle"));
+ label2 = gtk_label_new_with_mnemonic(_("St_yle"));
gtk_misc_set_alignment(GTK_MISC(label2), 0.0f, 0.5f);
gtk_box_pack_start(GTK_BOX(hbox), label2, FALSE, FALSE, 0);
- combo = add_toolbar_style_combo(settings, "toolbar-style");
- gtk_label_set_mnemonic_widget(GTK_LABEL(label2), combo);
- gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0);
+ combo_toolbar_style = add_toolbar_style_combo(settings, "toolbar-style");
+ gtk_label_set_mnemonic_widget(GTK_LABEL(label2), combo_toolbar_style);
+ gtk_box_pack_start(GTK_BOX(hbox), combo_toolbar_style, FALSE, FALSE, 0);
hbox = gtk_hbox_new(FALSE, 6);
gtk_box_pack_start(GTK_BOX(frame_vbox), hbox, FALSE, FALSE, 0);
- label3 = gtk_label_new_with_mnemonic(_("Toolbar _Orientation"));
+ label3 = gtk_label_new_with_mnemonic(_("_Orientation"));
gtk_misc_set_alignment(GTK_MISC(label3), 0.0f, 0.5f);
gtk_box_pack_start(GTK_BOX(hbox), label3, FALSE, FALSE, 0);
- combo = add_toolbar_orientation_combo(settings, "toolbar-orientation");
- gtk_label_set_mnemonic_widget(GTK_LABEL(label3), combo);
- gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0);
+ combo_toolbar_orient = add_toolbar_orientation_combo(settings, "toolbar-orientation");
+ gtk_label_set_mnemonic_widget(GTK_LABEL(label3), combo_toolbar_orient);
+ gtk_box_pack_start(GTK_BOX(hbox), combo_toolbar_orient, FALSE, FALSE, 0);
- hbox = gtk_hbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(frame_vbox), hbox, FALSE, FALSE, 0);
+ g_object_set_data(G_OBJECT(checkbox), "combo_toolbar_style", combo_toolbar_style);
+ g_object_set_data(G_OBJECT(checkbox), "combo_toolbar_orient", combo_toolbar_orient);
+ g_signal_connect(checkbox, "toggled", G_CALLBACK(check_toolbar_show_toggle_cb), settings);
- label4 = gtk_label_new_with_mnemonic(_("_View Mode"));
- gtk_misc_set_alignment(GTK_MISC(label4), 0.0f, 0.5f);
- gtk_box_pack_start(GTK_BOX(hbox), label4, FALSE, FALSE, 0);
-
- combo = add_view_mode_combo(settings, "view-mode");
- gtk_label_set_mnemonic_widget(GTK_LABEL(label4), combo);
- gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, FALSE, 0);
-
sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget(sg, label2);
gtk_size_group_add_widget(sg, label3);
- gtk_size_group_add_widget(sg, label4);
g_object_unref(sg);
+
gtk_widget_show_all(vbox);
}
More information about the Goodies-commits
mailing list