[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