Implement option "Toolbar style"

This commit is contained in:
Mike Massonnet
2010-09-29 16:40:30 +02:00
parent 8d594e0878
commit 95c3ef3246
6 changed files with 135 additions and 44 deletions

View File

@@ -76,6 +76,14 @@ builder_bind_toggle_button (GtkBuilder *builder, gchar *widget_name, XtmSettings
g_signal_connect (button, "toggled", G_CALLBACK (button_toggled), settings);
}
static void
combobox_changed (GtkComboBox *combobox, XtmSettings *settings)
{
guint active = gtk_combo_box_get_active (combobox);
gchar *setting_name = g_object_get_data (G_OBJECT (combobox), "setting-name");
g_object_set (settings, setting_name, active, NULL);
}
static void
xtm_settings_dialog_init (XtmSettingsDialog *dialog)
{
@@ -96,6 +104,29 @@ xtm_settings_dialog_init (XtmSettingsDialog *dialog)
builder_bind_toggle_button (builder, "button-prompt-terminate-task", dialog->settings, "prompt-terminate-task");
builder_bind_toggle_button (builder, "button-show-status-icon", dialog->settings, "show-status-icon");
{
guint n;
GEnumClass *klass;
GtkWidget *box;
GtkWidget *combobox;
XtmToolbarStyle toolbar_style;
box = GTK_WIDGET (gtk_builder_get_object (builder, "hbox-toolbar-style"));
combobox = gtk_combo_box_new_text ();
gtk_box_pack_start (GTK_BOX (box), combobox, FALSE, FALSE, 0);
gtk_widget_show (combobox);
klass = g_type_class_ref (XTM_TYPE_TOOLBAR_STYLE);
for (n = 0; n < klass->n_values; ++n)
gtk_combo_box_append_text (GTK_COMBO_BOX (combobox), _(klass->values[n].value_nick));
g_type_class_unref (klass);
g_object_get (dialog->settings, "toolbar-style", &toolbar_style, NULL);
g_object_set_data (G_OBJECT (combobox), "setting-name", "toolbar-style");
gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), toolbar_style);
g_signal_connect (combobox, "changed", G_CALLBACK (combobox_changed), dialog->settings);
}
g_object_unref (builder);
}