r23223 - gnucash/trunk/src - Remove obsolete gconf setup assistant.

Geert Janssens gjanssens at code.gnucash.org
Mon Oct 7 10:06:38 EDT 2013


Author: gjanssens
Date: 2013-10-07 10:06:38 -0400 (Mon, 07 Oct 2013)
New Revision: 23223
Trac: http://svn.gnucash.org/trac/changeset/23223

Removed:
   gnucash/trunk/src/gnome-utils/assistant-gconf-setup.c
   gnucash/trunk/src/gnome-utils/assistant-gconf-setup.h
   gnucash/trunk/src/gnome-utils/gtkbuilder/assistant-gconf-setup.glade
Modified:
   gnucash/trunk/src/app-utils/gnc-gconf-utils.c
   gnucash/trunk/src/app-utils/gnc-gconf-utils.h
   gnucash/trunk/src/gnome-utils/Makefile.am
   gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c
   gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am
Log:
Remove obsolete gconf setup assistant.

Gconf is being replaced by gsettings. The problem the obsolete assistant
is trying to solve will be solved differently for gsettings: in order
to locate the gsettings schema files, the XDG_DATA_DIR environment
variable will be set.

This is already configured for development builds. It's likely this
still has to be set up properly for the Windows/OS X installers

Modified: gnucash/trunk/src/app-utils/gnc-gconf-utils.c
===================================================================
--- gnucash/trunk/src/app-utils/gnc-gconf-utils.c	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/app-utils/gnc-gconf-utils.c	2013-10-07 14:06:38 UTC (rev 23223)
@@ -33,7 +33,6 @@
 #define NOTIFY_TAG  "%s-%s-notify_id"
 
 static GConfClient *our_client = NULL;
-static guint gconf_general_cb_id = 0;
 
 
 
@@ -146,7 +145,7 @@
     ((GFunc)hook->func)(data, hook->data);
 }
 
-static void
+void
 gnc_gconf_general_changed (GConfClient *client,
                            guint cnxn_id,
                            GConfEntry *entry,
@@ -960,32 +959,3 @@
     }
     g_free(path);
 }
-
-/* ============================================================== */
-
-gboolean
-gnc_gconf_schemas_found (void)
-{
-    GConfSchema* schema;
-    GError *err = NULL;
-    gchar *key;
-
-    if (our_client == NULL)
-        our_client = gconf_client_get_default();
-
-    key = gnc_gconf_make_schema_key(GCONF_GENERAL_REGISTER, "use_theme_colors");
-    schema = gconf_client_get_schema(our_client, key, &err);
-    g_free(key);
-    if (schema == NULL)
-    {
-        return FALSE;
-    }
-    gconf_schema_free(schema);
-
-    /* Set up convenience callback for general section */
-
-    gconf_general_cb_id =
-        gnc_gconf_add_anon_notification(GCONF_GENERAL, gnc_gconf_general_changed,
-                                        NULL);
-    return TRUE;
-}

Modified: gnucash/trunk/src/app-utils/gnc-gconf-utils.h
===================================================================
--- gnucash/trunk/src/app-utils/gnc-gconf-utils.h	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/app-utils/gnc-gconf-utils.h	2013-10-07 14:06:38 UTC (rev 23223)
@@ -882,16 +882,6 @@
  */
 GSList *gnc_gconf_client_all_entries (const gchar *section);
 
-
-/** Check gconf to see if the schema for one of the gnucash keys can
- *  be found.  This function is called to determine whether or not to
- *  launch an assistant to help the user properly set up GConf for Gnucash.
- *
- *  @return This function returns TRUE if it was able to find a
- *  schema.
- */
-gboolean gnc_gconf_schemas_found (void);
-
 /** @} */
 
 /** @name GConf One Liners
@@ -920,6 +910,11 @@
     return gnc_gconf_get_bool(DESTKOP_TOOLBAR_DETACHABLE, NULL, NULL);
 }
 
+void gnc_gconf_general_changed (GConfClient *client,
+                                guint cnxn_id,
+                                GConfEntry *entry,
+                                gpointer data);
+
 /** @} */
 
 #endif /* GNC_GCONF_UTILS_H */

Modified: gnucash/trunk/src/gnome-utils/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/Makefile.am	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/gnome-utils/Makefile.am	2013-10-07 14:06:38 UTC (rev 23223)
@@ -26,7 +26,6 @@
 
 libgncmod_gnome_utils_la_SOURCES = \
   account-quickfill.c \
-  assistant-gconf-setup.c \
   assistant-utils.c \
   assistant-xml-encoding.c \
   cursors.c \
@@ -111,7 +110,6 @@
 gncincludedir = ${GNC_INCLUDE_DIR}
 gncinclude_HEADERS = \
   account-quickfill.h \
-  assistant-gconf-setup.h \
   assistant-utils.h \
   assistant-xml-encoding.h \
   dialog-account.h \

Deleted: gnucash/trunk/src/gnome-utils/assistant-gconf-setup.c
===================================================================
--- gnucash/trunk/src/gnome-utils/assistant-gconf-setup.c	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/gnome-utils/assistant-gconf-setup.c	2013-10-07 14:06:38 UTC (rev 23223)
@@ -1,697 +0,0 @@
-/*
- * assistant-gconf-setup.c  -- install gconf keys where they can be found.
- *
- * Copyright (c) 2005 David Hampton <hampton at employees.org>
- * Copyright (c) 2011 Robert Fewell
- *
- * 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
- * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
- * Boston, MA  02110-1301,  USA       gnu at gnu.org
- */
-
-/** @addtogroup Assistants
-    @{ */
-/** @addtogroup GConfAssistant Setup Assistant for GConf
-    @{ */
-/** @file assistant-gconf-setup.c
-    @brief Check for gconf.  Help user set up if needed.
-    @author Copyright (C) 2005 David Hampton <hampton at employees.org>
-*/
-
-#include "config.h"
-
-#include <gtk/gtk.h>
-#include <glib/gi18n.h>
-#include <glib/gstdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/types.h>
-
-#include "dialog-utils.h"
-#include "assistant-gconf-setup.h"
-#include "assistant-utils.h"
-#include "gnc-path.h"
-#include "gnc-gconf-utils.h"
-#include "gnc-gui-query.h"
-#include "gnc-gnome-utils.h"
-#include "gnc-ui.h"
-
-#define WHO_DOES		"who_does"
-#define WHO_GNUCASH		1
-#define WHO_USER		2
-#define WHO_ALREADY_DONE	3
-
-#define HOW			"how"
-#define HOW_UPDATE		1
-#define HOW_INSTALL		2
-
-#define SCRIPT_NAME "update-gnucash-gconf"
-
-#define PATH_STRING1 "xml:readwrite:$(HOME)/.gconf\n"
-#define PATH_STRING2 "xml:readonly:%s\n"
-
-typedef struct
-{
-    GtkWidget *dialog;
-    GtkWidget *assistant;
-    GtkWidget *update_path;
-    GtkWidget *install_data;
-    GtkWidget *program1;
-    GtkWidget *user1;
-    GtkWidget *update_text;
-    GtkWidget *program2;
-    GtkWidget *user2;
-    GtkWidget *install_text;
-    GtkWidget *finish_page;
-
-} gconf_data;
-
-
-/********************
- * Declarations
- ********************/
-void assistant_gconf_prepare (GtkAssistant *assistant, GtkWidget *page, gconf_data  *data);
-void assistant_gconf_cancel (GtkAssistant *gtkassistant, gpointer user_data);
-void assistant_gconf_finish (GtkAssistant *assistant, gpointer user_data);
-
-void assistant_gconf_update_cb (GtkToggleButton *button, gpointer user_data);
-void assistant_gconf_install_cb (GtkToggleButton *button, gpointer user_data);
-
-void assistant_gconf_update_prep (GtkAssistant *assistant, gpointer user_data);
-void assistant_gconf_step_prep (GtkAssistant *assistant, gpointer user_data);
-void assistant_gconf_install_prep (GtkAssistant *assistant, gpointer user_data);
-void assistant_gconf_finish_prep (GtkAssistant *assistant, gpointer user_data);
-
-
-/********************
- * Work Functions
- ********************/
-
-/** This function is called to create/update the users ~/.gconf.path
- *  file to point at the location of the gnucash schema files.  It
- *  should add two lines to the file.  The first points at the user's
- *  local .gconf directory and the second points at gnucash.  If this
- *  isn't done then all the gnucash keys end up being interpreted as
- *  read-only keys and the user isn't allowed to change anything.
- *
- *  This function first checks to file to see if the ~/.gconf line
- *  already exists in the path file.  If so, it won't add it a second
- *  time.  The function then adds the one or two needed lines to the
- *  end of the file.  Any errors are reported to the caller.
- *
- *  @param error This argument points to a location where error
- *  information can be stored.  It is updated if there is a problem
- *  executing the command.
- *
- *  @return This functions returns TRUE if all the steps needed to
- *  update the users ~/.gconf.path file were able to complete
- *  successfully. It returns FALSE otherwise.
- */
-static gboolean
-assistant_gconf_update_path (GError **error)
-{
-    gchar *path_filename, *data_filename;
-    gchar *contents, **lines, *line;
-    gboolean found_user_dir = FALSE;
-    FILE *output;
-    gchar *gconfdir;
-
-    data_filename = g_build_filename(g_get_home_dir(), ".gconf", (char *)NULL);
-    path_filename = g_build_filename(g_get_home_dir(), ".gconf.path", (char *)NULL);
-    if (g_file_test(path_filename, G_FILE_TEST_EXISTS))
-    {
-        if (!g_file_get_contents(path_filename, &contents, NULL, error))
-        {
-            g_free(path_filename);
-            g_free(data_filename);
-            return FALSE;
-        }
-
-        lines = g_strsplit_set(contents, "\r\n", -1);
-        for (line = *lines; line; line++)
-        {
-            if (line[0] == '#')
-                continue;
-            if ((strstr(line, "$(HOME)/.gconf") == 0) ||
-                    (strstr(line, "~/.gconf") == 0) ||
-                    (strstr(line, data_filename)))
-            {
-                found_user_dir = TRUE;
-                break;
-            }
-        }
-        g_strfreev(lines);
-    }
-
-    output = g_fopen(path_filename, "a");
-    if (output == NULL)
-    {
-        *error = g_error_new (G_FILE_ERROR,
-                              g_file_error_from_errno(errno),
-                              "Error opening file %s for writing.",
-                              path_filename);
-        g_free(path_filename);
-        g_free(data_filename);
-        return FALSE;
-    }
-
-    fprintf(output, "\n######## The following lines were added by GnuCash. ########\n");
-    if (!found_user_dir)
-        fprintf(output, PATH_STRING1);
-    gconfdir = gnc_path_get_gconfdir (TRUE);
-    fprintf(output, PATH_STRING2, gconfdir);
-    g_free (gconfdir);
-    fprintf(output,   "############## End of lines added by GnuCash. ##############\n");
-    if (fclose(output) != 0)
-    {
-        *error = g_error_new (G_FILE_ERROR,
-                              g_file_error_from_errno(errno),
-                              "Error closing file %s.",
-                              path_filename);
-        g_free(path_filename);
-        g_free(data_filename);
-        return  FALSE;
-    }
-
-    g_free(path_filename);
-    g_free(data_filename);
-    return TRUE;
-}
-
-
-/** This function is called to install the gnucash gconf schemas into
- *  the users local .goncf directory.  It spawns a process to run a
- *  shell script that is installed with gnucash.  Any errors are
- *  reported to the caller.
- *
- *  @param error This argument points to a location where error
- *  information can be stored.  It is updated if there is a problem
- *  executing the command.
- *
- *  @return This functions returns TRUE if the command completed
- *  successfully, FALSE otherwise.  Note that this is based on whether
- *  the script could be found, the script's exit code, etc., not on
- *  whether any individual command in the script was successful.
- */
-static gboolean
-assistant_gconf_install_keys (GError **error)
-{
-    return g_spawn_command_line_sync(SCRIPT_NAME, NULL, NULL, NULL, error);
-}
-
-
-/********************
- * Update Page
- *******************/
-
-/** This function is called before the Update page is presented to the
- *  user. It gets the active button from the Method page and uses this
- *  to either add the path strings or jump to the install page.
- */
-void
-assistant_gconf_update_prep (GtkAssistant *assistant, gpointer user_data)
-{
-    gconf_data *data = user_data;
-    GtkTextBuffer *textbuffer;
-    GtkWidget *textview;
-    gchar *msg;
-    gchar *gconfdir = gnc_path_get_gconfdir (TRUE);
-
-    gint num = gtk_assistant_get_current_page (assistant);
-
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->update_path)))
-    {
-        g_object_set_data(G_OBJECT(assistant), HOW, GINT_TO_POINTER(HOW_UPDATE));
-
-        textview = data->update_text;
-        textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
-        msg = g_strdup_printf(PATH_STRING1 PATH_STRING2, gconfdir);
-        gtk_text_buffer_set_text(textbuffer, msg, -1);
-        g_free (gconfdir);
-    }
-    else
-    {
-        g_object_set_data(G_OBJECT(assistant), HOW, GINT_TO_POINTER(HOW_INSTALL));
-        gtk_assistant_set_current_page (assistant, num + 2);
-    }
-}
-
-
-/* Call back for update radio buttons */
-void
-assistant_gconf_update_cb (GtkToggleButton *button, gpointer user_data)
-{
-    gconf_data *data = user_data;
-    GtkAssistant *assistant = GTK_ASSISTANT(data->dialog);
-
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->program1)))
-    {
-        g_object_set_data(G_OBJECT(assistant), WHO_DOES, GINT_TO_POINTER(WHO_GNUCASH));
-    }
-    else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->user1)))
-    {
-        g_object_set_data(G_OBJECT(assistant), WHO_DOES, GINT_TO_POINTER(WHO_USER));
-    }
-    else
-    {
-        g_object_set_data(G_OBJECT(assistant), WHO_DOES, GINT_TO_POINTER(WHO_ALREADY_DONE));
-    }
-}
-
-
-/* Call back for Install radio buttons */
-void
-assistant_gconf_install_cb (GtkToggleButton *button, gpointer user_data)
-{
-    gconf_data *data = user_data;
-    GtkAssistant *assistant = GTK_ASSISTANT(data->dialog);
-
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->program2)))
-    {
-        g_object_set_data(G_OBJECT(assistant), WHO_DOES, GINT_TO_POINTER(WHO_GNUCASH));
-    }
-    else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(data->user2)))
-    {
-        g_object_set_data(G_OBJECT(assistant), WHO_DOES, GINT_TO_POINTER(WHO_USER));
-    }
-    else
-    {
-        g_object_set_data(G_OBJECT(assistant), WHO_DOES, GINT_TO_POINTER(WHO_ALREADY_DONE));
-    }
-}
-
-
-/********************
- * Step over Page
- ********************/
-
-/** This function is called before the Step over page is presented to the
- *  user. It allows the jumping of the install page.
- */
-void
-assistant_gconf_step_prep (GtkAssistant *assistant, gpointer user_data)
-{
-    gint num = gtk_assistant_get_current_page (assistant);
-    gtk_assistant_set_current_page (assistant, num + 2);
-}
-
-
-/********************
- * Install Page
- ********************/
-
-/** This function is called before the Install page is presented to the
- *  user. It populates the install_text with the script name.
- */
-void
-assistant_gconf_install_prep (GtkAssistant *assistant, gpointer user_data)
-{
-    gconf_data *data = user_data;
-    GtkTextBuffer *textbuffer;
-    GtkWidget *textview;
-
-    textview = data->install_text;
-    textbuffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview));
-    gtk_text_buffer_set_text(textbuffer, SCRIPT_NAME, -1);
-}
-
-
-/********************
- * Finish Page
- ********************/
-
-/** This function is called before the finish page is presented to the
- *  user. It populates the page with text based on previous page options
- *  taken.
- */
-void
-assistant_gconf_finish_prep (GtkAssistant *assistant, gpointer user_data)
-{
-    gconf_data *data = user_data;
-    gint who, how;
-    gchar *text;
-
-    const gchar *pgm_path =
-        _("When you click Apply, GnuCash will modify your ~/.gconf.path file "
-          "and restart the gconf backend. There will be a short delay before "
-          "GnuCash is loaded.");
-    const gchar *pgm_install =
-        _("When you click Apply, GnuCash will install the gconf data into your "
-          "local ~/.gconf file and restart the gconf backend. The %s script "
-          "must be found in your search path for this to work correctly.");
-    const gchar *user_path =
-        _("You have chosen to correct the problem by yourself. When you click "
-          "Apply, GnuCash will exit. Please correct the problem and restart "
-          "the gconf backend with the command 'gconftool-2 --shutdown' before "
-          "restarting GnuCash. If you have not already done so, you can click "
-          "the Back button and copy the necessary text from the dialog.");
-    const gchar *user_install =
-        _("You have chosen to correct the problem by yourself. When you "
-          "click Apply, GnuCash will exit. Please run the %s script which "
-          "will install the configuration data and restart the gconf backend.");
-    const gchar *user_did =
-        _("You have already corrected the problem and restarted the gconf "
-          "backend with the command 'gconftool-2 --shutdown'. When you click "
-          "Apply, there will be a short delay before GnuCash is loaded.");
-
-    who = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(assistant), WHO_DOES));
-    switch (who)
-    {
-    case WHO_ALREADY_DONE:
-        gtk_label_set_text(GTK_LABEL(data->finish_page), user_did);
-        break;
-
-    case WHO_USER:
-        how = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(assistant), HOW));
-        if (how == HOW_INSTALL)
-        {
-            text = g_strdup_printf(user_install, SCRIPT_NAME);
-            gtk_label_set_text(GTK_LABEL(data->finish_page), text);
-            g_free(text);
-        }
-        else
-        {
-            gtk_label_set_text(GTK_LABEL(data->finish_page), user_path);
-        }
-        break;
-
-    default:
-        how = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(assistant), HOW));
-        if (how == HOW_INSTALL)
-        {
-            text = g_strdup_printf(pgm_install, SCRIPT_NAME);
-            gtk_label_set_text(GTK_LABEL(data->finish_page), text);
-            g_free(text);
-        }
-        else
-        {
-            gtk_label_set_text(GTK_LABEL(data->finish_page), pgm_path);
-        }
-        break;
-    }
-}
-
-
-/** This function is called when the Apply button is clicked on the
- *  Finish Page of the assistant.  It determines whether or not there
- *  is any work to be performed by Gnucash, and if so it calls other
- *  functions to carry out the work.
- */
-void
-assistant_gconf_finish (GtkAssistant *assistant, gpointer user_data)
-{
-    gconf_data *data = user_data;
-    gint value, value2;
-    GError *error = NULL;
-    gboolean keep_going = TRUE;
-
-    /* What to do... what to do... */
-    value = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(assistant), WHO_DOES));
-    switch (value)
-    {
-    case WHO_ALREADY_DONE:
-        break;
-
-    case WHO_USER:
-        keep_going = FALSE;
-        break;
-
-    default:
-        value2 = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(assistant), HOW));
-        switch (value2)
-        {
-        case HOW_INSTALL:
-            if (!assistant_gconf_install_keys(&error))
-            {
-                keep_going = FALSE;
-                gnc_error_dialog(NULL, "%s", error->message);
-                g_error_free(error);
-            }
-            break;
-
-        default:
-            if (!assistant_gconf_update_path(&error))
-            {
-                keep_going = FALSE;
-                gnc_error_dialog(NULL, "%s", error->message);
-                g_error_free(error);
-            }
-            break;
-        }
-        break;
-    }
-    /* Hide the Assistant */
-    gtk_widget_hide(GTK_WIDGET(data->dialog));
-
-    if (keep_going)
-    {
-        gtk_main_quit();
-    }
-    else
-    {
-        exit(42);
-    }
-}
-
-
-/*************************************
- * Assistant Creation and call backs
- ************************************/
-void
-assistant_gconf_prepare (GtkAssistant  *assistant, GtkWidget *page,
-                         gconf_data  *data)
-{
-    switch (gtk_assistant_get_current_page(assistant))
-    {
-    case 2:
-        /* Current page is update search path */
-        assistant_gconf_update_prep(assistant, data);
-        break;
-    case 3:
-        /* Current page is a step page */
-        assistant_gconf_step_prep(assistant, data);
-        break;
-    case 4:
-        /* Current page is install page */
-        assistant_gconf_install_prep(assistant, data);
-        break;
-    case 5:
-        /* Current page is finish page */
-        assistant_gconf_finish_prep(assistant, data);
-        break;
-    }
-}
-
-
-/** This function is called when the Cancel button is clicked on any
- *  page of the assistant.  It destroys the dialog and kills gnucash.
- */
-void
-assistant_gconf_cancel (GtkAssistant *gtkassistant,
-                        gpointer user_data)
-{
-    gconf_data *data = user_data;
-    gtk_widget_destroy(GTK_WIDGET(data->dialog));
-    exit(41);
-}
-
-
-/** This function build and presents the assistant that presents the user
- *  with the two methods of making the gconf schemas visible, and
- *  learns whether gnucash should do the work or the user will do the
- *  work.  This function then blocks in a call to gtk_main(), while
- *  all of the work happens in callback functions.  Once the dialog is
- *  finished, this function kills off any existing gconf daemon so
- *  that the changes will be noticed upon daemon restart.
- */
-static GtkWidget *
-gnc_gnome_install_gconf_schemas (void)
-{
-    gconf_data *data;
-    GtkBuilder *builder;
-    GtkWidget *dialog;
-    GError *error = NULL;
-
-
-    data = g_new0 (gconf_data, 1);
-    builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer1");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer2");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer3");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer4");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer5");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer6");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer7");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "textbuffer8");
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "GConf Setup Assistant");
-
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "GConf Setup Assistant"));
-    data->dialog = dialog;
-
-    /* Set the colors for the assistant */
-    gnc_assistant_set_colors (GTK_ASSISTANT (data->dialog));
-
-    /* Enable buttons on all pages. */
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (dialog),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "start_page")),
-                                     TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (dialog),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "choose_page")),
-                                     TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (dialog),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "update_page")),
-                                     TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (dialog),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "step_page")),
-                                     TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (dialog),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "install_page")),
-                                     TRUE);
-    gtk_assistant_set_page_complete (GTK_ASSISTANT (dialog),
-                                     GTK_WIDGET(gtk_builder_get_object(builder, "finish_page")),
-                                     TRUE);
-
-    /* Choose page */
-    data->update_path = GTK_WIDGET(gtk_builder_get_object (builder, "update_path"));
-
-    /* Update page */
-    data->program1 = GTK_WIDGET(gtk_builder_get_object (builder, "program1"));
-    data->user1 = GTK_WIDGET(gtk_builder_get_object (builder, "user1"));
-    data->update_text = GTK_WIDGET(gtk_builder_get_object (builder, "update_text"));
-
-    /* Install page */
-    data->program2 = GTK_WIDGET(gtk_builder_get_object (builder, "program2"));
-    data->user2 = GTK_WIDGET(gtk_builder_get_object (builder, "user2"));
-    data->install_text = GTK_WIDGET(gtk_builder_get_object (builder, "install_text"));
-
-    /* Finish page  */
-    data->finish_page = GTK_WIDGET(gtk_builder_get_object (builder, "finish_page"));
-
-    gtk_builder_connect_signals(builder, data);
-    g_object_unref(G_OBJECT(builder));
-
-    gtk_widget_show_all(dialog);
-
-    /* This won't return until the dialog is finished */
-    gtk_main();
-
-    /* Destroy the Assistant dialog */
-    gtk_widget_destroy(GTK_WIDGET(data->dialog));
-
-    /* Kill the backend daemon. When it restarts it will find our changes */
-    if (!g_spawn_command_line_sync("gconftool-2 --shutdown", NULL, NULL,
-                                   NULL, &error))
-    {
-        gnc_warning_dialog(NULL, "%s", error->message);
-        g_error_free(error);
-    }
-
-    return dialog;
-}
-
-
-/*  This routine checks to see if GnuCash's gconf schemas are visible
- *  to the user.  The schemas typically should be visible, as rpm and
- *  deb installs will put the schemas in the default system location.
- *  For things like network installs or developers, this function will
- *  present a warning dialog that asks the user whether to setup
- *  gconf, continue without the schemas, or quit.  If the user chooses
- *  to set up the schemas, this function will invoke an assistant to
- *  walk the user through making the schemas visible.
- */
-void
-assistant_gconf_install_check_schemas (void)
-{
-    GtkBuilder *builder;
-    GtkWidget *dialog;
-    gboolean done = FALSE;
-    gint response;
-
-    if (gnc_gconf_schemas_found())
-    {
-        gnc_gconf_unset_dir(GCONF_WARNINGS_TEMP, NULL);
-        return;
-    }
-
-#ifdef G_OS_WIN32
-    {
-        /* automatically update the search path on windows */
-        GError *error = NULL;
-        if (!assistant_gconf_update_path (&error))
-        {
-            gnc_error_dialog (NULL, error->message);
-            g_error_free (error);
-            exit(42);
-        }
-        else
-        {
-            if (!g_spawn_command_line_sync("gconftool-2 --shutdown", NULL, NULL,
-                                           NULL, &error))
-            {
-                gnc_warning_dialog(NULL, error->message);
-                g_error_free(error);
-            }
-            return;
-        }
-    }
-#endif /* G_OS_WIN32 */
-
-    builder = gtk_builder_new();
-    gnc_builder_add_from_file (builder, "assistant-gconf-setup.glade", "GConf Query");
-
-    if (!builder)
-    {
-        gnc_error_dialog(NULL, "The glade UI files were not found. Your installation is incomplete and cannot be run.");
-        exit(-1); /* quit immediately */
-    }
-    g_assert(builder);
-    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "GConf Query"));
-    g_assert(dialog);
-    do
-    {
-        response = gtk_dialog_run(GTK_DIALOG(dialog));
-
-        switch (response)
-        {
-        case GTK_RESPONSE_CANCEL:
-        default:
-            exit(42);
-            /* never returns */
-
-        case GTK_RESPONSE_NO:
-            /* User wants to run without setting up gconf */
-            done = TRUE;
-            break;
-
-        case GTK_RESPONSE_ACCEPT:
-            gtk_widget_hide(dialog);
-            gnc_gnome_install_gconf_schemas();
-            done = TRUE;
-            break;
-
-        case GTK_RESPONSE_HELP:
-            gnc_gnome_help(HF_HELP, HL_GCONF);
-            break;
-        }
-    }
-    while (!done);
-
-    g_object_unref(G_OBJECT(builder));
-    gtk_widget_destroy(dialog);
-}
-
-/** @} */
-/** @} */

Deleted: gnucash/trunk/src/gnome-utils/assistant-gconf-setup.h
===================================================================
--- gnucash/trunk/src/gnome-utils/assistant-gconf-setup.h	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/gnome-utils/assistant-gconf-setup.h	2013-10-07 14:06:38 UTC (rev 23223)
@@ -1,51 +0,0 @@
-/*
- * assistant-gconf-setup.h  -- install gconf keys where they can be found.
- *
- * Copyright (c) 2005 David Hampton <hampton at employees.org>
- * Copyright (c) 2011 Robert Fewell
- *
- * 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
- * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652
- * Boston, MA  02110-1301,  USA       gnu at gnu.org
- */
-
-/** @addtogroup Assistants
-    @{ */
-/** @addtogroup GConfAssistant Setup Assistant for GConf
-    @{ */
-/** @file assistant-gconf-setup.h
-    @brief Check for gconf.  Help user set up if needed.
-    @author Copyright (C) 2005 David Hampton <hampton at employees.org>
-*/
-
-#ifndef GNC_ASSISTANT_GCONF_SETUP_H
-#define GNC_ASSISTANT_GCONF_SETUP_H
-
-/** This routine checks to see if GnuCash's gconf schemas are visible
- *  to the user.  The schemas typically should be visible, as rpm and
- *  deb installs will put the schemas in the default system location.
- *  For things like network installs or developers, this function will
- *  present a warning dialog that asks the user whether to setup
- *  gconf, continue without the schemas, or quit.  If the user chooses
- *  to set up the schemas, this function will invoke a assistant to walk
- *  the user through making the schemas visible.
- */
-void assistant_gconf_install_check_schemas(void);
-
-#endif
-
-/** @} */
-/** @} */

Modified: gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/gnome-utils/gnc-gnome-utils.c	2013-10-07 14:06:38 UTC (rev 23223)
@@ -30,7 +30,6 @@
 #endif
 #include <libxml/xmlIO.h>
 
-#include "assistant-gconf-setup.h"
 #include "gnc-gconf-utils.h"
 #include "gnc-prefs-utils.h"
 #include "gnc-gnome-utils.h"
@@ -636,7 +635,7 @@
 
     gnc_prefs_init();
     gnc_show_splash_screen();
-    assistant_gconf_install_check_schemas();
+    gnc_gconf_add_anon_notification(GCONF_GENERAL, gnc_gconf_general_changed, NULL);
 
     gnome_is_initialized = TRUE;
 

Modified: gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am	2013-10-07 14:06:38 UTC (rev 23223)
@@ -1,6 +1,5 @@
 gtkbuilderdir = $(GNC_GTKBUILDER_DIR)
 gtkbuilder_DATA = \
-  assistant-gconf-setup.glade \
   assistant-xml-encoding.glade \
   dialog-account.glade \
   dialog-book-close.glade \

Deleted: gnucash/trunk/src/gnome-utils/gtkbuilder/assistant-gconf-setup.glade
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/assistant-gconf-setup.glade	2013-10-07 14:06:23 UTC (rev 23222)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/assistant-gconf-setup.glade	2013-10-07 14:06:38 UTC (rev 23223)
@@ -1,782 +0,0 @@
-<?xml version="1.0"?>
-<interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy project-wide -->
-  <object class="GtkDialog" id="GConf Query">
-    <property name="visible">True</property>
-    <property name="can_focus">False</property>
-    <property name="border_width">6</property>
-    <property name="resizable">False</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox3">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">12</property>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="helpbutton">
-                <property name="label">gtk-help</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="quitbutton">
-                <property name="label">gtk-quit</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="skipbutton">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox3">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image3">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="stock">gtk-dialog-warning</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label3">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">S_kip</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="setupbutton">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_action_appearance">False</property>
-                <child>
-                  <object class="GtkAlignment" id="alignment1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xscale">0</property>
-                    <property name="yscale">0</property>
-                    <child>
-                      <object class="GtkHBox" id="hbox2">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="spacing">2</property>
-                        <child>
-                          <object class="GtkImage" id="image2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="stock">gtk-apply</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="label" translatable="yes">_Setup</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">False</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                    </child>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">6</property>
-            <property name="spacing">12</property>
-            <child>
-              <object class="GtkImage" id="image1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="yalign">0</property>
-                <property name="stock">gtk-dialog-warning</property>
-                <property name="icon-size">6</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="yalign">0</property>
-                <property name="label" translatable="yes"><b>Cannot find default values</b>
-
-The configuration data used to specify default values for GnuCash cannot be found in the default system locations. Without this data GnuCash will still operate properly but it may require some extra time to setup. Do you wish to setup the configuration data?</property>
-                <property name="use_markup">True</property>
-                <property name="wrap">True</property>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">True</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-11">helpbutton</action-widget>
-      <action-widget response="-6">quitbutton</action-widget>
-      <action-widget response="-9">skipbutton</action-widget>
-      <action-widget response="-3">setupbutton</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkAssistant" id="GConf Setup Assistant">
-    <property name="can_focus">False</property>
-    <property name="border_width">12</property>
-    <property name="title" translatable="yes">Update GnuCash Configuration Data</property>
-    <property name="resizable">False</property>
-    <property name="default_width">200</property>
-    <property name="default_height">50</property>
-    <signal name="apply" handler="assistant_gconf_finish" swapped="no"/>
-    <signal name="cancel" handler="assistant_gconf_cancel" swapped="no"/>
-    <signal name="prepare" handler="assistant_gconf_prepare" swapped="no"/>
-    <child>
-      <object class="GtkLabel" id="start_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">The configuration data used by GnuCash to specify its default values cannot be found in the default system locations. Without this data GnuCash will still operate properly, but it may require some extra time to set up.</property>
-        <property name="wrap">True</property>
-      </object>
-      <packing>
-        <property name="page_type">intro</property>
-        <property name="title" translatable="yes">Update GnuCash configuration data</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkVBox" id="choose_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="border_width">12</property>
-        <child>
-          <object class="GtkTable" id="table1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">5</property>
-            <property name="row_spacing">12</property>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="vscrollbar_policy">never</property>
-                <child>
-                  <object class="GtkTextView" id="textview1">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="wrap_mode">word</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="buffer">textbuffer1</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="update_path">
-                <property name="label" translatable="yes">_Update search path</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="install_data">
-                <property name="label" translatable="yes">_Install into home directory</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="group">update_path</property>
-              </object>
-              <packing>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow2">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="vscrollbar_policy">never</property>
-                <child>
-                  <object class="GtkTextView" id="textview2">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="wrap_mode">word</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="buffer">textbuffer2</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">36</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow3">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="vscrollbar_policy">never</property>
-                <child>
-                  <object class="GtkTextView" id="textview3">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="wrap_mode">word</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="buffer">textbuffer3</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">36</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-      <packing>
-        <property name="title" translatable="yes">Choose Method</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkVBox" id="update_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="border_width">12</property>
-        <child>
-          <object class="GtkTable" id="table2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">6</property>
-            <property name="row_spacing">12</property>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow4">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="vscrollbar_policy">never</property>
-                <child>
-                  <object class="GtkTextView" id="textview4">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="wrap_mode">word</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="buffer">textbuffer4</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="program1">
-                <property name="label" translatable="yes">_GnuCash updates the search path</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="assistant_gconf_update_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="user1">
-                <property name="label" translatable="yes">_You update the search path yourself</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="group">program1</property>
-                <signal name="toggled" handler="assistant_gconf_update_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="done1">
-                <property name="label" translatable="yes">The search path has _already been updated in another window</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="group">program1</property>
-                <signal name="toggled" handler="assistant_gconf_update_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="vbox1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Please add the following lines at the end of your ~/.gconf.path file:</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow7">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">never</property>
-                    <property name="vscrollbar_policy">never</property>
-                    <child>
-                      <object class="GtkTextView" id="update_text">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="wrap_mode">word</property>
-                        <property name="cursor_visible">False</property>
-                        <property name="buffer">textbuffer7</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow6">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">never</property>
-                    <property name="vscrollbar_policy">never</property>
-                    <child>
-                      <object class="GtkTextView" id="textview6">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="wrap_mode">word</property>
-                        <property name="cursor_visible">False</property>
-                        <property name="buffer">textbuffer6</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">36</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">GnuCash will update the system path for you.</property>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">36</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-      <packing>
-        <property name="page_type">progress</property>
-        <property name="title" translatable="yes">Update Search Path</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkLabel" id="step_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-      </object>
-      <packing>
-        <property name="page_type">progress</property>
-        <property name="complete">True</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkVBox" id="install_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="border_width">12</property>
-        <child>
-          <object class="GtkTable" id="table3">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="n_rows">6</property>
-            <property name="row_spacing">12</property>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow5">
-                <property name="visible">True</property>
-                <property name="sensitive">False</property>
-                <property name="can_focus">True</property>
-                <property name="hscrollbar_policy">never</property>
-                <property name="vscrollbar_policy">never</property>
-                <child>
-                  <object class="GtkTextView" id="textview5">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="wrap_mode">word</property>
-                    <property name="cursor_visible">False</property>
-                    <property name="buffer">textbuffer5</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="program2">
-                <property name="label" translatable="yes">_GnuCash installs the data</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="active">True</property>
-                <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="assistant_gconf_install_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="user2">
-                <property name="label" translatable="yes">_You install the data yourself</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="group">program2</property>
-                <signal name="toggled" handler="assistant_gconf_install_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="top_attach">3</property>
-                <property name="bottom_attach">4</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkRadioButton" id="done2">
-                <property name="label" translatable="yes">The data has _already been installed in another window</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_action_appearance">False</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-                <property name="group">program2</property>
-                <signal name="toggled" handler="assistant_gconf_install_cb" swapped="no"/>
-              </object>
-              <packing>
-                <property name="top_attach">5</property>
-                <property name="bottom_attach">6</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">12</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="vbox2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="spacing">6</property>
-                <child>
-                  <object class="GtkLabel" id="label7">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Please run the following commands:</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow8">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="hscrollbar_policy">never</property>
-                    <property name="vscrollbar_policy">never</property>
-                    <child>
-                      <object class="GtkTextView" id="install_text">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="wrap_mode">word</property>
-                        <property name="cursor_visible">False</property>
-                        <property name="buffer">textbuffer8</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="top_attach">4</property>
-                <property name="bottom_attach">5</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">36</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label6">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">GnuCash will install the data for you.</property>
-              </object>
-              <packing>
-                <property name="top_attach">2</property>
-                <property name="bottom_attach">3</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-                <property name="x_padding">36</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-      <packing>
-        <property name="page_type">progress</property>
-        <property name="title" translatable="yes">Install Into Home Directory</property>
-      </packing>
-    </child>
-    <child>
-      <object class="GtkLabel" id="finish_page">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="label" translatable="yes">GnuCash will fill this text in based upon the previous choices.</property>
-        <property name="wrap">True</property>
-      </object>
-      <packing>
-        <property name="page_type">confirm</property>
-        <property name="title" translatable="yes">Apply Changes</property>
-      </packing>
-    </child>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer1">
-    <property name="text" translatable="yes">The configuration data is stored in a non-standard location. There are two methods that can be used to make this data visible to GnuCash. The first is to modify a system search path to include the data location. The second is to copy the data into your home directory.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer2">
-    <property name="text" translatable="yes">This method will modify the file .gconf.path in your home directory. It will add the GnuCash install directory to this path so that GnuCash can find its default settings and their descriptions.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer3">
-    <property name="text" translatable="yes">This method will install the GnuCash default settings and descriptions into the .gconf directory within your home directory. The disadvantage to this method is that future updates to GnuCash will not update your local settings to add in new keys.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer4">
-    <property name="text" translatable="yes">You have chosen to update the system search path. GnuCash can do this for you, or it can tell you how to do it yourself.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer5">
-    <property name="text" translatable="yes">You have chosen to install the configuration data used by GnuCash into the ~/.gconf directory. GnuCash can do this for you, or tell you how to do it yourself.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer6">
-    <property name="text" translatable="yes">You will then need to restart the gconf backend with the command 'gconftool-2 --shutdown'.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer7">
-    <property name="text" translatable="yes">GnuCash will add the appropriate text here.</property>
-  </object>
-  <object class="GtkTextBuffer" id="textbuffer8">
-    <property name="text" translatable="yes">Script name will go here.</property>
-  </object>
-</interface>



More information about the gnucash-changes mailing list