[Gnucash-changes] Add the infrastructure for the new preferences
dialog.
David Hampton
hampton at cvs.gnucash.org
Fri Jul 22 14:52:16 EDT 2005
Log Message:
-----------
Add the infrastructure for the new preferences dialog. Begin
migrating preferences over to the new dialog.
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash/src/gnome-utils:
Makefile.am
gnc-main-window.c
preferences.glade
gnucash/src/gnome-utils/ui:
gnc-main-window-ui.xml
Added Files:
-----------
gnucash/src/gnome-utils:
dialog-preferences.c
dialog-preferences.h
Revision Data
-------------
--- /dev/null
+++ src/gnome-utils/dialog-preferences.h
@@ -0,0 +1,31 @@
+/*
+ * dialog-preferences.h -- preferences dialog
+ * Copyright (C) 2005 David Hampton
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, contact:
+ *
+ * Free Software Foundation Voice: +1-617-542-5942
+ * 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+ * Boston, MA 02111-1307, USA gnu at gnu.org
+ */
+
+void gnc_preferences_add_page (const gchar *filename,
+ const gchar *widgetname,
+ const gchar *tabname);
+
+void gnc_preferences_add_to_page (const gchar *filename,
+ const gchar *widgetname,
+ const gchar *tabname);
+
+void gnc_preferences_dialog (void);
--- /dev/null
+++ src/gnome-utils/dialog-preferences.c
@@ -0,0 +1,711 @@
+/*
+ * dialog-preferences.c -- preferences dialog
+ * Copyright (C) 2005 David Hampton
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, contact:
+ *
+ * Free Software Foundation Voice: +1-617-542-5942
+ * 59 Temple Place - Suite 330 Fax: +1-617-542-2652
+ * Boston, MA 02111-1307, USA gnu at gnu.org
+ */
+
+#include "config.h"
+
+#include <gtk/gtk.h>
+#include <glade/glade.h>
+
+#include "dialog-utils.h"
+#include "gnc-gconf-utils.h"
+#include "gnc-trace.h"
+#include "gnc-ui.h"
+#include "gnc-component-manager.h"
+#include "dialog-preferences.h"
+
+#define DIALOG_PREFERENCES_CM_CLASS "dialog-newpreferences"
+#define GCONF_SECTION "dialogs/preferences"
+#define PREFIX_LEN sizeof("gconf/") - 1
+
+/* This static indicates the debugging module that this .o belongs to. */
+static short module = MOD_PREFS;
+
+void gnc_preferences_response_cb(GtkDialog *dialog, gint response, GtkDialog *unused);
+void gnc_reset_warnings_select_all_cb (GtkButton *button, gpointer user_data);
+void gnc_reset_warnings_unselect_all_cb (GtkButton *button, gpointer user_data);
+void gnc_reset_warnings_response_cb (GtkDialog *dialog, gint arg1, gpointer user_data);
+
+
+typedef struct addition_t {
+ gchar *filename;
+ gchar *widgetname;
+ gchar *tabname;
+ gboolean full_page;
+} addition;
+
+GSList *add_ins = NULL;
+
+static void
+gnc_preferences_add_page_internal (const gchar *filename,
+ const gchar *widgetname,
+ const gchar *tabname,
+ gboolean full_page)
+{
+ addition *add_in;
+
+ ENTER("file %s, widget %s, tab %s full page %d",
+ filename, widgetname, tabname, full_page);
+ add_in = g_malloc(sizeof(addition));
+ if (add_in == NULL) {
+ g_critical("Unable to allocate memory.\n");
+ LEAVE("no memory");
+ return;
+ }
+
+ add_in->filename = g_strdup(filename);
+ add_in->widgetname = g_strdup(widgetname);
+ add_in->tabname = g_strdup(tabname);
+ add_in->full_page = full_page;
+ if (!add_in->filename || !add_in->widgetname || !add_in->tabname) {
+ g_critical("Unable to allocate memory.\n");
+ g_free(add_in->filename);
+ g_free(add_in->widgetname);
+ g_free(add_in->tabname);
+ LEAVE("no memory");
+ return;
+ }
+ add_ins = g_slist_append(add_ins, add_in);
+ LEAVE("");
+}
+
+
+void
+gnc_preferences_add_page (const gchar *filename,
+ const gchar *widgetname,
+ const gchar *tabname)
+{
+ gnc_preferences_add_page_internal(filename, widgetname, tabname, TRUE);
+}
+
+void
+gnc_preferences_add_to_page (const gchar *filename,
+ const gchar *widgetname,
+ const gchar *tabname)
+{
+ gnc_preferences_add_page_internal(filename, widgetname, tabname, FALSE);
+}
+
+/****************************************/
+
+struct find_data {
+ GtkNotebook *notebook;
+ const gchar *tabname;
+ gint index;
+ gboolean exact;
+};
+
+struct copy_data {
+ GtkTable *table_from;
+ GtkTable *table_to;
+ gint row_offset;
+};
+
+struct page_data {
+ GtkNotebook *notebook;
+ GList *widgets;
+};
+
+static void
+gnc_prefs_find_page (GtkWidget *child,
+ gpointer data)
+{
+ struct find_data *location;
+ const gchar *child_tabname;
+ gint index;
+
+ g_return_if_fail(child != NULL);
+ g_return_if_fail(data != NULL);
+
+ ENTER("");
+ location = data;
+ if (location->index >= 0) {
+ LEAVE("already found");
+ return;
+ }
+ child_tabname = gtk_notebook_get_tab_label_text(location->notebook, child);
+ index = gtk_notebook_page_num(location->notebook, child);
+ DEBUG("Checking index %d, name %s", index, child_tabname);
+
+ if (location->exact) {
+ if (strcmp(location->tabname, child_tabname) == 0) {
+ location->index = index;
+ LEAVE("index is %d", index);
+ return;
+ }
+ LEAVE("not page %d", index);
+ return;
+ }
+
+ if (strcmp(location->tabname, child_tabname) > 0) {
+ LEAVE("after page %d", index);
+ return;
+ }
+
+ location->index = index;
+ LEAVE("insert at offset %d", index);
+}
+
+static void
+gnc_prefs_copy_table_entry (GtkWidget *child,
+ gpointer data)
+{
+ struct copy_data *copydata = data;
+ GtkAttachOptions x_opts, y_opts;
+ gint bottom, top, left, right, x_pad, y_pad;
+
+ ENTER("child %p, copy data %p", child, data);
+ gtk_container_child_get(GTK_CONTAINER(copydata->table_from), child,
+ "bottom-attach", &bottom,
+ "left-attach", &left,
+ "right-attach", &right,
+ "top-attach", &top,
+ "x-options", &x_opts,
+ "x-padding", &x_pad,
+ "y-options", &y_opts,
+ "y-padding", &y_pad,
+ NULL);
+
+ gtk_widget_ref(child);
+ gtk_container_remove(GTK_CONTAINER(copydata->table_from), child);
+ gtk_table_attach(copydata->table_to, child, left, right,
+ top + copydata->row_offset, bottom + copydata->row_offset,
+ x_opts, y_opts, x_pad, y_pad);
+ gtk_widget_unref(child);
+ LEAVE(" ");
+}
+
+static void
+gnc_preferences_build_page (gpointer data,
+ gpointer user_data)
+{
+ GladeXML *xml;
+ GtkWidget *existing_content, *new_content, *label;
+ GtkNotebook *notebook;
+ struct page_data *page_data;
+ addition *add_in;
+ struct find_data location;
+ struct copy_data copydata;
+ gint rows, cols;
+ GList *interesting;
+
+ ENTER("add_in %p, notebook %p", data, user_data);
+ add_in = (addition *)data;
+ page_data = (struct page_data *) user_data;
+ notebook = page_data->notebook;
+
+ DEBUG("Opening %s to get %s:", add_in->filename, add_in->widgetname);
+ xml = gnc_glade_xml_new(add_in->filename, add_in->widgetname);
+ new_content = glade_xml_get_widget(xml, add_in->widgetname);
+ DEBUG("done");
+
+ /* Add to the list of interesting widgets */
+ interesting = glade_xml_get_widget_prefix(xml, "gconf");
+ page_data->widgets = g_list_concat(page_data->widgets, interesting);
+
+ /* Prepare for recursion */
+ location.notebook = notebook;
+ location.index = -1;
+ location.tabname = add_in->tabname;
+ location.exact = FALSE;
+
+ if (add_in->full_page) {
+ gtk_container_foreach(GTK_CONTAINER(notebook), gnc_prefs_find_page,
+ &location);
+ label = gtk_label_new(add_in->tabname);
+ gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+ gtk_notebook_insert_page(notebook, new_content, label, location.index);
+ LEAVE("added page at index %d", location.index);
+ return;
+ }
+
+ /* Copied tables must match the size of the main table */
+ g_assert(GTK_IS_TABLE(new_content));
+ g_object_get(G_OBJECT(new_content), "n-columns", &cols, NULL);
+ g_assert(cols == 4);
+
+ /* Does the page exist or must we create it */
+ location.exact = TRUE;
+ gtk_container_foreach(GTK_CONTAINER(notebook), gnc_prefs_find_page,
+ &location);
+ if (location.index == -1) {
+ /* No existing content with this name. Create a blank page */
+ location.exact = FALSE;
+ existing_content = gtk_table_new(0, 4, FALSE);
+ gtk_container_foreach(GTK_CONTAINER(notebook), gnc_prefs_find_page,
+ &location);
+ label = gtk_label_new(add_in->tabname);
+ gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
+ gtk_notebook_insert_page(notebook, existing_content, label, location.index);
+ gtk_widget_show_all(existing_content);
+ DEBUG("created new page %s at index %d", add_in->tabname, location.index);
+ } else {
+ existing_content = gtk_notebook_get_nth_page(notebook, location.index);
+ DEBUG("found existing page %s at index %d", add_in->tabname, location.index);
+ }
+
+ /* Maybe add a spacer row */
+ g_object_get(G_OBJECT(existing_content), "n-rows", &rows, NULL);
+ if (rows > 0)
+ rows++;
+
+ /* Now copy all the entries in the table */
+ copydata.table_from = GTK_TABLE(new_content);
+ copydata.table_to = GTK_TABLE(existing_content);
+ copydata.row_offset = rows;
+ gtk_container_foreach(GTK_CONTAINER(new_content), gnc_prefs_copy_table_entry,
+ ©data);
+
+ gtk_object_sink(GTK_OBJECT(new_content));
+ LEAVE("added to page at index %d", location.index);
+}
+
+
+/*******************************/
+/* Dynamically added Callbacks */
+/*******************************/
+
+static void
+gnc_prefs_radio_button_user_cb (GtkRadioButton *button,
+ gpointer user_data)
+{
+ gchar *key, *button_name;
+ gboolean active;
+
+ g_return_if_fail(GTK_IS_RADIO_BUTTON(button));
+ active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
+ if (!active)
+ return;
+
+ /* Copy the widget name and split into gconf key and button value parts */
+ key = g_strdup(gtk_widget_get_name(GTK_WIDGET(button)) + PREFIX_LEN);
+ button_name = rindex(key, '/');
+ *button_name++ = '\0';
+
+ DEBUG("Radio button group %s now set to %s", key, button_name);
+ gnc_gconf_set_string(key, NULL, button_name, NULL);
+ g_free(key);
+}
+
+
+static void
+gnc_prefs_radio_button_gconf_cb (GtkRadioButton *button)
+{
+ g_return_if_fail(GTK_IS_RADIO_BUTTON(button));
+ ENTER("button %p", button);
+ g_signal_handlers_block_by_func(G_OBJECT(button),
+ G_CALLBACK(gnc_prefs_radio_button_user_cb),
+ NULL);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);
+ g_signal_handlers_unblock_by_func(G_OBJECT(button),
+ G_CALLBACK(gnc_prefs_radio_button_user_cb), NULL);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_prefs_connect_radio_button (GtkRadioButton *button)
+{
+ gchar *key, *button_name, *value;
+ gboolean active;
+ GSList *group;
+
+ g_return_if_fail(GTK_IS_RADIO_BUTTON(button));
+
+ /* Copy the widget name and split into gconf key and button name parts */
+ key = g_strdup(gtk_widget_get_name(GTK_WIDGET(button)) + PREFIX_LEN);
+ button_name = rindex(key, '/');
+ *button_name++ = '\0';
+
+ /* Get the current value. */
+ value = gnc_gconf_get_string(key, NULL, NULL);
+ if (value) {
+ active = (strcmp(value, button_name) == 0);
+ } else {
+ /* Sigh. There's no gconf default for this key. Use the first
+ * button in the dialog, which is the last button in the list. */
+ group = gtk_radio_button_get_group(button);
+ active = (button != g_slist_nth_data(group, g_slist_length(group)));
+ }
+ DEBUG(" Radio set %s, button %s initially set to %d",
+ key, button_name, active);
+
+ /* Wire up the button */
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);
+ g_signal_connect(G_OBJECT(button), "toggled",
+ G_CALLBACK(gnc_prefs_radio_button_user_cb), NULL);
+ g_free(value);
+ g_free(key);
+}
+
+/**********/
+
+static void
+gnc_prefs_check_button_user_cb (GtkCheckButton *button,
+ gpointer user_data)
+{
+ const gchar *name;
+ gboolean active;
+
+ g_return_if_fail(GTK_IS_CHECK_BUTTON(button));
+ name = gtk_widget_get_name(GTK_WIDGET(button)) + PREFIX_LEN;
+ active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
+ DEBUG("Checkbox %s now %sactive", name, active ? "" : "in");
+ gnc_gconf_set_bool(name, NULL, active, NULL);
+}
+
+
+static void
+gnc_prefs_check_button_gconf_cb (GtkCheckButton *button,
+ gboolean active)
+{
+ g_return_if_fail(GTK_IS_CHECK_BUTTON(button));
+ ENTER("button %p, active %d", button, active);
+ g_signal_handlers_block_by_func(G_OBJECT(button),
+ G_CALLBACK(gnc_prefs_check_button_user_cb),
+ NULL);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);
+ g_signal_handlers_unblock_by_func(G_OBJECT(button),
+ G_CALLBACK(gnc_prefs_check_button_user_cb), NULL);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_prefs_connect_check_button (GtkCheckButton *button)
+{
+ const gchar *name;
+ gboolean active;
+
+ name = gtk_widget_get_name(GTK_WIDGET(button)) + PREFIX_LEN;
+ active = gnc_gconf_get_bool(name, NULL, NULL);
+ DEBUG(" Checkbox %s initially %sactive", name, active ? "" : "in");
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), active);
+ g_signal_connect(G_OBJECT(button), "toggled",
+ G_CALLBACK(gnc_prefs_check_button_user_cb), NULL);
+}
+
+/**********/
+
+static void
+gnc_prefs_spin_button_user_cb (GtkSpinButton *spin,
+ gpointer user_data)
+{
+ const gchar *name;
+ gdouble value;
+
+ g_return_if_fail(GTK_IS_SPIN_BUTTON(spin));
+ name = gtk_widget_get_name(GTK_WIDGET(spin)) + PREFIX_LEN;
+ value = gtk_spin_button_get_value(spin);
+ DEBUG(" Spin button %s has value %f", name, value);
+ gnc_gconf_set_float(name, NULL, value, NULL);
+}
+
+
+static void
+gnc_prefs_spin_button_gconf_cb (GtkSpinButton *spin,
+ gdouble value)
+{
+ g_return_if_fail(GTK_IS_SPIN_BUTTON(spin));
+ ENTER("button %p, value %f", spin, value);
+ g_signal_handlers_block_by_func(G_OBJECT(spin),
+ G_CALLBACK(gnc_prefs_spin_button_user_cb),
+ NULL);
+ gtk_spin_button_set_value(spin, value);
+ g_signal_handlers_unblock_by_func(G_OBJECT(spin),
+ G_CALLBACK(gnc_prefs_spin_button_user_cb), NULL);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_prefs_connect_spin_button (GtkSpinButton *spin)
+{
+ const gchar *name;
+ gdouble value;
+
+ g_return_if_fail(GTK_IS_SPIN_BUTTON(spin));
+ name = gtk_widget_get_name(GTK_WIDGET(spin)) + PREFIX_LEN;
+ value = gnc_gconf_get_float(name, NULL, NULL);
+ gtk_spin_button_set_value(spin, value);
+ DEBUG(" Spin button %s has initial value %f", name, value);
+ g_signal_connect(G_OBJECT(spin), "value-changed",
+ G_CALLBACK(gnc_prefs_spin_button_user_cb), NULL);
+}
+
+
+/**********/
+
+static void
+gnc_prefs_combo_box_user_cb (GtkComboBox *box,
+ gpointer user_data)
+{
+ const gchar *name;
+ gint active;
+
+ g_return_if_fail(GTK_IS_COMBO_BOX(box));
+ name = gtk_widget_get_name(GTK_WIDGET(box)) + PREFIX_LEN;
+ active = gtk_combo_box_get_active(box);
+ DEBUG("Combo box %s set to item %d", name, active);
+ gnc_gconf_set_int(name, NULL, active, NULL);
+}
+
+
+static void
+gnc_prefs_combo_box_gconf_cb (GtkComboBox *box,
+ gint value)
+{
+ g_return_if_fail(GTK_IS_COMBO_BOX(box));
+ ENTER("box %p, value %d", box, value);
+ g_signal_handlers_block_by_func(G_OBJECT(box),
+ G_CALLBACK(gnc_prefs_combo_box_user_cb),
+ NULL);
+ gtk_combo_box_set_active(box, value);
+ g_signal_handlers_unblock_by_func(G_OBJECT(box),
+ G_CALLBACK(gnc_prefs_combo_box_user_cb), NULL);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_prefs_connect_combo_box (GtkComboBox *box)
+{
+ const gchar *name;
+ gint active;
+
+ g_return_if_fail(GTK_IS_COMBO_BOX(box));
+ name = gtk_widget_get_name(GTK_WIDGET(box)) + PREFIX_LEN;
+ active = gnc_gconf_get_int(name, NULL, NULL);
+ gtk_combo_box_set_active(GTK_COMBO_BOX(box), active);
+ DEBUG(" Combo box %s set to item %d", name, active);
+ g_signal_connect(G_OBJECT(box), "changed",
+ G_CALLBACK(gnc_prefs_combo_box_user_cb), NULL);
+}
+
+
+/********************/
+/* Callbacks */
+/********************/
+
+void
+gnc_preferences_response_cb(GtkDialog *dialog, gint response, GtkDialog *unused)
+{
+ switch (response) {
+ case GTK_RESPONSE_HELP:
+ gnc_gnome_help(HF_CUSTOM, HL_GLOBPREFS);
+ break;
+
+ case GTK_RESPONSE_CLOSE:
+ gnc_save_window_size(GCONF_SECTION, GTK_WINDOW(dialog));
+ gnc_unregister_gui_component_by_data(DIALOG_PREFERENCES_CM_CLASS,
+ dialog);
+ gnc_gconf_remove_notification(G_OBJECT(dialog), NULL);
+ gtk_widget_destroy(GTK_WIDGET(dialog));
+ break;
+
+ default:
+ break;
+ }
+}
+
+/********************/
+/* Creation */
+/********************/
+
+static GtkWidget *
+gnc_preferences_dialog_create(void)
+{
+ GladeXML *xml;
+ GtkWidget *dialog, *notebook, *widget;
+ struct page_data page_data;
+ GList *interesting, *runner;
+
+ ENTER("");
+ DEBUG("Opening preferences.glade:");
+ xml = gnc_glade_xml_new("preferences.glade", "New Gnucash Preferences");
+ dialog = glade_xml_get_widget(xml, "New Gnucash Preferences");
+ g_object_set_data(G_OBJECT(dialog), "xml", xml);
+ DEBUG("autoconnect");
+ glade_xml_signal_autoconnect_full(xml, gnc_glade_autoconnect_full_func,
+ dialog);
+ DEBUG("done");
+
+ notebook = glade_xml_get_widget(xml, "notebook1");
+ interesting = glade_xml_get_widget_prefix(xml, "gconf");
+
+ page_data.notebook = GTK_NOTEBOOK(notebook);
+ page_data.widgets = interesting;
+ g_slist_foreach(add_ins, gnc_preferences_build_page, &page_data);
+
+ DEBUG("We have the following interesting widgets:");
+ for (runner = page_data.widgets; runner; runner = g_list_next(runner)) {
+ widget = GTK_WIDGET(runner->data);
+ if (GTK_IS_RADIO_BUTTON(widget)) {
+ DEBUG(" %s - radio button", gtk_widget_get_name(widget));
+ gnc_prefs_connect_radio_button(GTK_RADIO_BUTTON(widget));
+ } else if (GTK_IS_CHECK_BUTTON(widget)) {
+ DEBUG(" %s - check button", gtk_widget_get_name(widget));
+ gnc_prefs_connect_check_button(GTK_CHECK_BUTTON(widget));
+ } else if (GTK_IS_SPIN_BUTTON(widget)) {
+ DEBUG(" %s - spin button", gtk_widget_get_name(widget));
+ gnc_prefs_connect_spin_button(GTK_SPIN_BUTTON(widget));
+ } else if (GTK_IS_COMBO_BOX(widget)) {
+ DEBUG(" %s - combo box", gtk_widget_get_name(widget));
+ gnc_prefs_connect_combo_box(GTK_COMBO_BOX(widget));
+ } else {
+ DEBUG(" %s - unsupported %s", gtk_widget_get_name(widget),
+ G_OBJECT_TYPE_NAME(G_OBJECT(widget)));
+ }
+ }
+ DEBUG("Done with interesting widgets.");
+
+ LEAVE("dialog %p", dialog);
+ return dialog;
+}
+
+
+static void
+gnc_preferences_gconf_changed (GConfClient *client,
+ guint cnxn_id,
+ GConfEntry *entry,
+ gpointer dialog)
+{
+ GConfValue *value;
+ const gchar *key, *string_value;
+ gchar **parts, *name, *group_name = NULL;
+ GtkWidget *widget;
+ GList *possibilities;
+ GladeXML *xml;
+
+ ENTER("key %s, value %p", entry->key, entry->value);
+ key = gconf_entry_get_key(entry);
+ value = gconf_entry_get_value(entry);
+ if (!value) {
+ /* Values can be unset */
+ LEAVE("Unset valued for %s", key);
+ return;
+ }
+
+ parts = g_strsplit(entry->key, "/", 4);
+ name = g_strconcat("gconf/", parts[3], NULL);
+ g_strfreev(parts);
+ DEBUG("proposed widget name %s", name);
+
+ widget = gnc_glade_lookup_widget(dialog, name);
+ if ((widget == NULL) && (entry->value->type == GCONF_VALUE_STRING)) {
+ string_value = gconf_value_get_string(entry->value);
+ group_name = name;
+ name = g_strjoin("/", group_name, string_value, NULL);
+ DEBUG("proposed widget name %s", name);
+ widget = gnc_glade_lookup_widget(dialog, name);
+ if (widget == NULL) {
+ /* Mutter, mutter. Someone must have typed a bad string into
+ * gconf. Force the value to a legal string. Do this by
+ * directly setting the first widget in the group. This will
+ * ensure synchronization of Gnucash, Gconf, and the Prefs
+ * Dialog. */
+ DEBUG("bad value");
+ xml = g_object_get_data(G_OBJECT(dialog), "xml");
+ possibilities = glade_xml_get_widget_prefix(xml, group_name);
+ if (possibilities) {
+ DEBUG("forcing %s", gtk_widget_get_name(possibilities->data));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(possibilities->data), TRUE);
+ g_list_free(possibilities);
+ }
+ }
+ g_free(group_name);
+ }
+ if (widget != NULL) {
+ if (GTK_IS_RADIO_BUTTON(widget)) {
+ DEBUG("widget %p - radio button", widget);
+ gnc_prefs_radio_button_gconf_cb(GTK_RADIO_BUTTON(widget));
+ } else if (GTK_IS_CHECK_BUTTON(widget)) {
+ DEBUG("widget %p - check button", widget);
+ gnc_prefs_check_button_gconf_cb(GTK_CHECK_BUTTON(widget),
+ gconf_value_get_bool(entry->value));
+ } else if (GTK_IS_SPIN_BUTTON(widget)) {
+ DEBUG("widget %p - spin button", widget);
+ gnc_prefs_spin_button_gconf_cb(GTK_SPIN_BUTTON(widget),
+ gconf_value_get_float(entry->value));
+ } else if (GTK_IS_COMBO_BOX(widget)) {
+ DEBUG("widget %p - combo_box", widget);
+ gnc_prefs_combo_box_gconf_cb(GTK_COMBO_BOX(widget),
+ gconf_value_get_int(entry->value));
+ } else {
+ DEBUG("widget %p - unsupported %s", widget,
+ G_OBJECT_TYPE_NAME(G_OBJECT(widget)));
+ }
+ }
+
+ g_free(name);
+ LEAVE(" ");
+}
+
+
+static gboolean
+show_handler (const char *class, gint component_id,
+ gpointer user_data, gpointer iter_data)
+{
+ GtkWidget *dialog;
+
+ ENTER(" ");
+ dialog = GTK_WIDGET(user_data);
+ gtk_window_present(GTK_WINDOW(dialog));
+ LEAVE(" ");
+ return(TRUE);
+}
+
+
+static void
+close_handler (gpointer user_data)
+{
+ GtkWidget *dialog;
+
+ ENTER(" ");
+ dialog = GTK_WIDGET(user_data);
+ gnc_unregister_gui_component_by_data(DIALOG_PREFERENCES_CM_CLASS, dialog);
+ gtk_widget_destroy(dialog);
+ LEAVE(" ");
+}
+
+
+void
+gnc_preferences_dialog (void)
+{
+ GtkWidget *dialog;
+
+ ENTER("");
+ if (gnc_forall_gui_components(DIALOG_PREFERENCES_CM_CLASS,
+ show_handler, NULL)) {
+ LEAVE("existing window");
+ return;
+ }
+
+ dialog = gnc_preferences_dialog_create();
+
+ gnc_restore_window_size(GCONF_SECTION, GTK_WINDOW(dialog));
+
+ gnc_gconf_add_notification(G_OBJECT(dialog), NULL,
+ gnc_preferences_gconf_changed);
+ gnc_register_gui_component(DIALOG_PREFERENCES_CM_CLASS,
+ NULL, close_handler, dialog);
+ LEAVE(" ");
+}
Index: Makefile.am
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Makefile.am,v
retrieving revision 1.48.2.35
retrieving revision 1.48.2.36
diff -Lsrc/gnome-utils/Makefile.am -Lsrc/gnome-utils/Makefile.am -u -r1.48.2.35 -r1.48.2.36
--- src/gnome-utils/Makefile.am
+++ src/gnome-utils/Makefile.am
@@ -37,6 +37,7 @@
dialog-account.c \
dialog-commodity.c \
dialog-options.c \
+ dialog-preferences.c \
dialog-query-list.c \
dialog-reset-warnings.c \
dialog-transfer.c \
@@ -100,6 +101,7 @@
account-quickfill.h \
dialog-account.h \
dialog-commodity.h \
+ dialog-preferences.h \
dialog-options.h \
dialog-query-list.h \
dialog-reset-warnings.h \
Index: gnc-main-window.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/gnc-main-window.c,v
retrieving revision 1.1.2.14
retrieving revision 1.1.2.15
diff -Lsrc/gnome-utils/gnc-main-window.c -Lsrc/gnome-utils/gnc-main-window.c -u -r1.1.2.14 -r1.1.2.15
--- src/gnome-utils/gnc-main-window.c
+++ src/gnome-utils/gnc-main-window.c
@@ -33,8 +33,10 @@
#include "gnc-main-window.h"
#include "dialog-options.h"
+#include "dialog-preferences.h"
#include "dialog-reset-warnings.h"
#include "dialog-transfer.h"
+#include "dialog-utils.h"
#include "gnc-component-manager.h"
#include "gnc-engine-util.h"
#include "gnc-file.h"
@@ -60,7 +62,7 @@
#define PLUGIN_PAGE_IMMUTABLE "page-immutable"
#define DESKTOP_GNOME_INTERFACE "/desktop/gnome/interface"
-#define TOOLBAR_STYLE "/desktop/gnome/interface/toolbar_style"
+#define KEY_TOOLBAR_STYLE "toolbar_style"
/** Static Globals *******************************************************/
static short module = MOD_GUI;
@@ -86,6 +88,7 @@
static void gnc_main_window_cmd_file_close (GtkAction *action, GncMainWindow *window);
static void gnc_main_window_cmd_file_quit (GtkAction *action, GncMainWindow *window);
static void gnc_main_window_cmd_edit_preferences (GtkAction *action, GncMainWindow *window);
+static void gnc_main_window_cmd_edit_preferences2 (GtkAction *action, GncMainWindow *window);
static void gnc_main_window_cmd_view_refresh (GtkAction *action, GncMainWindow *window);
static void gnc_main_window_cmd_view_toolbar (GtkAction *action, GncMainWindow *window);
static void gnc_main_window_cmd_view_summary (GtkAction *action, GncMainWindow *window);
@@ -169,6 +172,9 @@
{ "EditPreferencesAction", GTK_STOCK_PREFERENCES, N_("Pr_eferences"), NULL,
NULL,
G_CALLBACK (gnc_main_window_cmd_edit_preferences) },
+ { "EditPreferences2Action", GTK_STOCK_PREFERENCES, N_("Pr_eferences (New)"), NULL,
+ NULL,
+ G_CALLBACK (gnc_main_window_cmd_edit_preferences2) },
/* View menu */
@@ -939,6 +945,7 @@
gnc_main_window_update_all_menu_items();
gnc_gconf_remove_notification(G_OBJECT(window), DESKTOP_GNOME_INTERFACE);
+ gnc_gconf_remove_notification(G_OBJECT(window), GCONF_GENERAL);
gnc_engine_unregister_event_handler(window->priv->event_handler_id);
window->priv->event_handler_id = 0;
@@ -1359,16 +1366,14 @@
}
static void
-gnc_main_window_update_toolbar (GncMainWindow *window,
- const gchar *style_name)
+gnc_main_window_update_toolbar (GncMainWindow *window)
{
GtkToolbarStyle style;
GSList *list;
- ENTER("window %p, style %s", window, style_name);
+ ENTER("window %p", window);
- style = gnc_enum_from_nick(GTK_TYPE_TOOLBAR_STYLE, style_name,
- GTK_TOOLBAR_BOTH);
+ style = gnc_get_toolbar_style();
list = gtk_ui_manager_get_toplevels(window->ui_merge, GTK_UI_MANAGER_TOOLBAR);
g_slist_foreach(list, (GFunc)gtk_toolbar_set_style, GINT_TO_POINTER(style));
g_slist_free(list);
@@ -1383,7 +1388,7 @@
{
GncMainWindow *window;
GConfValue *value;
- const gchar *key;
+ const gchar *key, *key_tail;
window = GNC_MAIN_WINDOW(user_data);
@@ -1392,9 +1397,11 @@
if (!key || !value)
return;
- if (strcmp(key, TOOLBAR_STYLE) == 0) {
- gnc_main_window_update_toolbar(window, gconf_value_get_string(value));
- return;
+ key_tail = rindex(key, '/');
+ if (key_tail != NULL)
+ key_tail++;
+ if (strcmp(key_tail, KEY_TOOLBAR_STYLE) == 0) {
+ gnc_main_window_update_toolbar(window);
}
}
@@ -1407,7 +1414,7 @@
GncPluginManager *manager;
GList *plugins;
GError *error = NULL;
- gchar *filename, *style;
+ gchar *filename;
SCM debugging;
/* Catch window manager delete signal */
@@ -1490,11 +1497,11 @@
}
g_free(filename);
+ gnc_gconf_add_notification(G_OBJECT(window), GCONF_GENERAL,
+ gnc_main_window_gconf_changed);
gnc_gconf_add_notification(G_OBJECT(window), DESKTOP_GNOME_INTERFACE,
gnc_main_window_gconf_changed);
- style = gnc_gconf_get_string(TOOLBAR_STYLE, NULL, NULL);
- gnc_main_window_update_toolbar(window, style);
- g_free(style);
+ gnc_main_window_update_toolbar(window);
/* Testing */
/* Now update the "eXtensions" menu */
@@ -1689,6 +1696,12 @@
}
static void
+gnc_main_window_cmd_edit_preferences2 (GtkAction *action, GncMainWindow *window)
+{
+ gnc_preferences_dialog ();
+}
+
+static void
gnc_main_window_cmd_view_refresh (GtkAction *action, GncMainWindow *window)
{
}
Index: preferences.glade
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/preferences.glade,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -Lsrc/gnome-utils/preferences.glade -Lsrc/gnome-utils/preferences.glade -u -r1.1.2.2 -r1.1.2.3
--- src/gnome-utils/preferences.glade
+++ src/gnome-utils/preferences.glade
@@ -137,4 +137,1755 @@
</child>
</widget>
+<widget class="GtkDialog" id="New Gnucash Preferences">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">New Gnucash Preferences</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">False</property>
+ <property name="default_width">600</property>
+ <property name="default_height">400</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="has_separator">True</property>
+ <signal name="response" handler="gnc_preferences_response_cb" last_modification_time="Thu, 28 Apr 2005 16:35:16 GMT"/>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox1">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area1">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="helpbutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-help</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-11</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="closebutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-close</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-7</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkNotebook" id="notebook1">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="show_tabs">True</property>
+ <property name="show_border">True</property>
+ <property name="tab_pos">GTK_POS_LEFT</property>
+ <property name="scrollable">False</property>
+ <property name="enable_popup">False</property>
+
+ <child>
+ <widget class="GtkTable" id="table1">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">11</property>
+ <property name="n_columns">4</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Separator Character</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/use_accounting_labels">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Use only 'debit' and 'credit' instead of informal synonyms</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Use _formal accounting labels</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label62">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Labels</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label61">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/reversed_accounts/none">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Don't sign reverse any accounts.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_None</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/reversed_accounts/credit">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Sign reverse balances on the following: Credit Card, Payable, Liability, Equity, and Income.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Credit _Accounts</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/reversed_accounts/none</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/reversed_accounts/income_expense">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Sign reverse balances on income and expense accounts.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Income & Expense</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/reversed_accounts/none</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label55">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Reverse Balanced Accoutns</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label54">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/account_separator/dash">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Income-Salary-Taxable</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">- (_Dash)</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/account_separator/period">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Income.Salary.Taxable</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">. (_Period)</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/account_separator/dash</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/account_separator/slash">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Income/Salary/Taxable</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">/ (_Slash)</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/account_separator/dash</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/account_separator/backslash">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Income\Salary\Taxable</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">\ (_Backslash)</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/account_separator/dash</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/account_separator/colon">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Income:Salary:Taxable</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">: (Co_lon)</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/account_separator/dash</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Accounts</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table2">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">13</property>
+ <property name="n_columns">4</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="label50">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>General</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label49">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Numbers</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label51">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label18">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Retain log files:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">gconf/general/retain_days</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">11</property>
+ <property name="bottom_attach">12</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label48">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Files</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label60">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label17">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Decimal places:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">6</property>
+
+ <child>
+ <widget class="GtkSpinButton" id="gconf/general/retain_days">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Delete old log/backup files after this many days (0 = never).</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">False</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">30 0 99999 1 10 10</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label58">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">days</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">3</property>
+ <property name="top_attach">11</property>
+ <property name="bottom_attach">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options">fill</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton" id="gconf/general/auto_decimal_places">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">How many automatic decimal places will be filled in.</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">False</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">2 1 8 1 4 4</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/dialogs/new_hierarchy/open_for_new_file">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Don't popup the new account list dialog when you choose "New File" from the "File" menu</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Perform account list _setup on new file</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/dialogs/tip_of_the_day/show_at_startup">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Display hints for using GnuCash at startup</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Display "_Tip of the Day" dialog</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/negative_in_red">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Display negative amounts in red</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Display _negative amounts in red</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/auto_decimal_point">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Automatically insert a decimal point into values that are entered without one.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Automatic Decimal Point</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/compress_files">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Compress the data file.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Com_press files</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">General</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table3">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">14</property>
+ <property name="n_columns">4</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="label56">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Actions</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/enter_movess_to_end">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">'_Enter' moves to blank transaction</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label66">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/auto_raise_lists">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Automatically raise the list of accounts or actions during input.</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Auto-Raise Lists</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">True</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label45">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Graphics</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/use_theme_colors">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Use system theme color in registers</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/alternate_color_by_transaction">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Double _mode colors alternate with transactions</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/draw_horizontal_lines">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Draw hori_zontal lines between cells</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/draw_vertical_lines">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Draw _vertical lines between cells</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Register</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table4">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">11</property>
+ <property name="n_columns">4</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkLabel" id="label63">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Default Style</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label64">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label65">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Other Defaults</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/register/default_style/ledger">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Basic Ledger</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/register/default_style/auto_ledger">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Auto-Split Ledger</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/register/default_style/ledger</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/register/default_style/journal">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Transaction _Journal</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/register/default_style/ledger</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label43">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Number of _rows:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label59">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Number of _transactions:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="mnemonic_widget">gconf/general/register/max_transactions</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton" id="gconf/general/register/max_transactions">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Show this many transactions in a register. A value of zero means show all transactions.</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">GTK_UPDATE_IF_VALID</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">0 0 999999 1 10 10</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/double_line_mode">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Double line mode</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/register/use_new_window">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Register opens in a new _window</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">4</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton" id="gconf/general/register/number_of_rows">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Display this many rows when a register is created.</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">GTK_UPDATE_IF_VALID</property>
+ <property name="snap_to_ticks">True</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">20 1 200 1 10 10</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Register Defaults</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkTable" id="table5">
+ <property name="border_width">6</property>
+ <property name="visible">True</property>
+ <property name="n_rows">12</property>
+ <property name="n_columns">4</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">0</property>
+ <property name="column_spacing">12</property>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/report/use_new_window">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Report opens in a new _window</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">11</property>
+ <property name="bottom_attach">12</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label71">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>New Windows</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">10</property>
+ <property name="bottom_attach">11</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label70">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">9</property>
+ <property name="bottom_attach">10</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/toolbar_style/text">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Text only</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">8</property>
+ <property name="bottom_attach">9</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/toolbar_style/icons">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Icons _only</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/toolbar_style/text</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">7</property>
+ <property name="bottom_attach">8</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/toolbar_style/both_horiz">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Icons and important text</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/toolbar_style/text</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/toolbar_style/both">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Both icons and text</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/toolbar_style/text</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="gconf/general/toolbar_style/system">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Use _system default</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">gconf/general/toolbar_style/text</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label69">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Toolbar Style</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label72">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Window Geometry</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label74">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkCheckButton" id="gconf/general/save_window_geometry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Save window size and position</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_padding">12</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="tab_expand">False</property>
+ <property name="tab_fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Windows</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
</glade-interface>
Index: gnc-main-window-ui.xml
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/ui/Attic/gnc-main-window-ui.xml,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -Lsrc/gnome-utils/ui/gnc-main-window-ui.xml -Lsrc/gnome-utils/ui/gnc-main-window-ui.xml -u -r1.1.2.5 -r1.1.2.6
--- src/gnome-utils/ui/gnc-main-window-ui.xml
+++ src/gnome-utils/ui/gnc-main-window-ui.xml
@@ -45,6 +45,7 @@
<placeholder name="EditFindPlaceholder"/>
<separator name="EditSep4"/>
<menuitem name="EditPreferences" action="EditPreferencesAction"/>
+ <menuitem name="EditPreferences2" action="EditPreferences2Action"/>
<placeholder name="EditPreferencesPlaceholder"/>
<separator name="EditSep5"/>
<placeholder name="EditStyleSheetsPlaceholder"/>
More information about the gnucash-changes
mailing list