r21458 - gnucash/trunk - Bug #661852 - Migrate Totd and file access dialog from GladeXML to

Geert Janssens gjanssens at code.gnucash.org
Tue Oct 18 14:10:57 EDT 2011


Author: gjanssens
Date: 2011-10-18 14:10:57 -0400 (Tue, 18 Oct 2011)
New Revision: 21458
Trac: http://svn.gnucash.org/trac/changeset/21458

Added:
   gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-file-access.glade
   gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-totd.glade
Removed:
   gnucash/trunk/src/gnome-utils/glade/dialog-file-access.glade
   gnucash/trunk/src/gnome-utils/glade/totd.glade
Modified:
   gnucash/trunk/po/POTFILES.in
   gnucash/trunk/src/gnome-utils/dialog-file-access.c
   gnucash/trunk/src/gnome-utils/dialog-totd.c
   gnucash/trunk/src/gnome-utils/dialog-totd.h
   gnucash/trunk/src/gnome-utils/glade/Makefile.am
   gnucash/trunk/src/gnome-utils/gnc-file.c
   gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am
Log:
Bug #661852 - Migrate Totd and file access dialog from GladeXML to
Builder
Patch by Robert Fewell

Modified: gnucash/trunk/po/POTFILES.in
===================================================================
--- gnucash/trunk/po/POTFILES.in	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/po/POTFILES.in	2011-10-18 18:10:57 UTC (rev 21458)
@@ -233,6 +233,7 @@
 src/gnome/gtkbuilder/dialog-sx.glade
 src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
 src/gnome/gtkbuilder/gnc-plugin-page-register.glade
+src/gnome/gtkbuilder/sched-xact.glade
 src/gnome/gtkbuilder/tax.glade
 src/gnome/gtkbuilder/window-autoclear.glade
 src/gnome/gtkbuilder/window-reconcile.glade
@@ -283,7 +284,6 @@
 src/gnome-utils/druid-gnc-xml-import.c
 src/gnome-utils/druid-utils.c
 src/gnome-utils/glade/dialog-book-close.glade
-src/gnome-utils/glade/dialog-file-access.glade
 src/gnome-utils/glade/dialog-object-references.glade
 src/gnome-utils/glade/dialog-query-list.glade
 src/gnome-utils/glade/dialog-reset-warnings.glade
@@ -293,7 +293,6 @@
 src/gnome-utils/glade/exchange-dialog.glade
 src/gnome-utils/glade/gnc-gui-query.glade
 src/gnome-utils/glade/preferences.glade
-src/gnome-utils/glade/totd.glade
 src/gnome-utils/gnc-account-sel.c
 src/gnome-utils/gnc-amount-edit.c
 src/gnome-utils/gnc-autosave.c
@@ -350,6 +349,8 @@
 src/gnome-utils/gnc-window.c
 src/gnome-utils/gtkbuilder/dialog-account.glade
 src/gnome-utils/gtkbuilder/dialog-commodity.glade
+src/gnome-utils/gtkbuilder/dialog-file-access.glade
+src/gnome-utils/gtkbuilder/dialog-totd.glade
 src/gnome-utils/gtkbuilder/dialog-transfer.glade
 src/gnome-utils/gtkbuilder/dialog-userpass.glade
 src/gnome-utils/gtkbuilder/gnc-date-format.glade

Modified: gnucash/trunk/src/gnome-utils/dialog-file-access.c
===================================================================
--- gnucash/trunk/src/gnome-utils/dialog-file-access.c	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/dialog-file-access.c	2011-10-18 18:10:57 UTC (rev 21458)
@@ -26,7 +26,6 @@
 
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <glade/glade.h>
 
 #include "gnc-ui.h"
 #include "gnc-ui-util.h"
@@ -54,6 +53,7 @@
     GtkWidget* frame_file;
     GtkWidget* frame_database;
     GtkFileChooser* fileChooser;
+    gchar *starting_dir;
     GtkComboBox* cb_uri_type;
     GtkEntry* tf_host;
     GtkEntry* tf_database;
@@ -167,6 +167,7 @@
     {
         gtk_widget_show(faw->frame_file);
         gtk_widget_hide(faw->frame_database);
+        gtk_file_chooser_set_current_folder(faw->fileChooser, faw->starting_dir);
     }
     else
     {
@@ -231,11 +232,11 @@
 gnc_ui_file_access( int type )
 {
     FileAccessWindow *faw;
-    GladeXML* xml;
+    GtkBuilder* builder;
     GtkWidget* box;
     GList* ds_node;
     GtkButton* op;
-    GtkWidget* align;
+    GtkWidget* file_chooser;
     GtkFileChooserWidget* fileChooser;
     GtkFileChooserAction fileChooserAction = GTK_FILE_CHOOSER_ACTION_OPEN;
     GList* list;
@@ -252,7 +253,6 @@
     const gchar *button_label = NULL;
     const gchar *gconf_section = NULL;
     gchar *last;
-    gchar *starting_dir = NULL;
 
     g_return_if_fail( type == FILE_ACCESS_OPEN || type == FILE_ACCESS_SAVE_AS || type == FILE_ACCESS_EXPORT );
 
@@ -260,22 +260,24 @@
     g_return_if_fail( faw != NULL );
 
     faw->type = type;
+    faw->starting_dir = NULL;
 
     /* Open the dialog */
-    xml = gnc_glade_xml_new( "dialog-file-access.glade", "File Access" );
-    faw->dialog = glade_xml_get_widget( xml, "File Access" );
+    builder = gtk_builder_new();
+    gnc_builder_add_from_file (builder, "dialog-file-access.glade", "File Access" );
+    faw->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "File Access" ));
     g_object_set_data_full( G_OBJECT(faw->dialog), "FileAccessWindow", faw,
                             g_free );
 
-    faw->frame_file = glade_xml_get_widget( xml, "frame_file" );
-    faw->frame_database = glade_xml_get_widget( xml, "frame_database" );
-    faw->tf_host = GTK_ENTRY(glade_xml_get_widget( xml, "tf_host" ));
+    faw->frame_file = GTK_WIDGET(gtk_builder_get_object (builder, "frame_file" ));
+    faw->frame_database = GTK_WIDGET(gtk_builder_get_object (builder, "frame_database" ));
+    faw->tf_host = GTK_ENTRY(gtk_builder_get_object (builder, "tf_host" ));
     gtk_entry_set_text( faw->tf_host, DEFAULT_HOST );
-    faw->tf_database = GTK_ENTRY(glade_xml_get_widget( xml, "tf_database" ));
+    faw->tf_database = GTK_ENTRY(gtk_builder_get_object (builder, "tf_database" ));
     default_db = get_default_database();
     gtk_entry_set_text( faw->tf_database, default_db );
-    faw->tf_username = GTK_ENTRY(glade_xml_get_widget( xml, "tf_username" ));
-    faw->tf_password = GTK_ENTRY(glade_xml_get_widget( xml, "tf_password" ));
+    faw->tf_username = GTK_ENTRY(gtk_builder_get_object (builder, "tf_username" ));
+    faw->tf_password = GTK_ENTRY(gtk_builder_get_object (builder, "tf_password" ));
 
     switch ( type )
     {
@@ -301,17 +303,17 @@
         break;
     }
 
-    op = GTK_BUTTON(glade_xml_get_widget( xml, "pb_op" ));
+    op = GTK_BUTTON(gtk_builder_get_object (builder, "pb_op" ));
     if ( op != NULL )
     {
         gtk_button_set_label( op, button_label );
         gtk_button_set_use_stock( op, TRUE );
     }
 
-    align = glade_xml_get_widget( xml, "alignment_file_chooser" );
+    file_chooser = GTK_WIDGET(gtk_builder_get_object (builder, "file_chooser" ));
     fileChooser = GTK_FILE_CHOOSER_WIDGET(gtk_file_chooser_widget_new( fileChooserAction ));
     faw->fileChooser = GTK_FILE_CHOOSER(fileChooser);
-    gtk_container_add( GTK_CONTAINER(align), GTK_WIDGET(fileChooser) );
+    gtk_box_pack_start( GTK_BOX(file_chooser), GTK_WIDGET(fileChooser),TRUE, TRUE, 6 );
 
     /* Set the default directory */
     if (type == FILE_ACCESS_OPEN || type == FILE_ACCESS_SAVE_AS)
@@ -320,18 +322,18 @@
         if ( last && gnc_uri_is_file_uri ( last ) )
         {
             gchar *filepath = gnc_uri_get_path ( last );
-            starting_dir = g_path_get_dirname( filepath );
+            faw->starting_dir = g_path_get_dirname( filepath );
             g_free ( filepath );
         }
     }
-    if (!starting_dir)
-        starting_dir = gnc_get_default_directory(gconf_section);
-    gtk_file_chooser_set_current_folder(faw->fileChooser, starting_dir);
+    if (!faw->starting_dir)
+        faw->starting_dir = gnc_get_default_directory(gconf_section);
+    gtk_file_chooser_set_current_folder(faw->fileChooser, faw->starting_dir);
 
     g_object_connect( G_OBJECT(faw->fileChooser), "signal::file-activated",
                       gnc_ui_file_access_file_activated_cb, faw, NULL );
 
-    uri_type_container = glade_xml_get_widget( xml, "vb_uri_type_container" );
+    uri_type_container = GTK_WIDGET(gtk_builder_get_object (builder, "vb_uri_type_container" ));
     faw->cb_uri_type = GTK_COMBO_BOX(gtk_combo_box_new_text());
     gtk_container_add( GTK_CONTAINER(uri_type_container), GTK_WIDGET(faw->cb_uri_type) );
     gtk_box_set_child_packing( GTK_BOX(uri_type_container), GTK_WIDGET(faw->cb_uri_type),
@@ -341,8 +343,7 @@
                       NULL );
 
     /* Autoconnect signals */
-    glade_xml_signal_autoconnect_full( xml, gnc_glade_autoconnect_full_func,
-                                       faw->dialog );
+    gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, faw);
 
     /* See what qof backends are available and add appropriate ones to the combo box */
     list = qof_backend_get_registered_access_method_list();
@@ -420,9 +421,7 @@
     }
     g_assert( active_access_method_index >= 0 );
 
-    /* Clean up the xml data structure when the dialog is destroyed */
-    g_object_set_data_full( G_OBJECT(faw->dialog), "dialog-file-access.glade",
-                            xml, g_object_unref );
+    g_object_unref(G_OBJECT(builder));
 
     /* Run the dialog */
     gtk_widget_show_all( faw->dialog );

Modified: gnucash/trunk/src/gnome-utils/dialog-totd.c
===================================================================
--- gnucash/trunk/src/gnome-utils/dialog-totd.c	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/dialog-totd.c	2011-10-18 18:10:57 UTC (rev 21458)
@@ -1,32 +1,31 @@
-/*
- * dialog-totd.c : dialog to display a "tip of the day"
- *
- * Initial copyright not recorded.
- * Copyright (c) 2006 David Hampton <hampton at employees.org>
- *
- * 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
- */
+/********************************************************************\
+ * dialog-totd.c : dialog to display a "tip of the day"             *
+ *                                                                  *
+ * Initial copyright not recorded.                                  *
+ * Copyright (c) 2006 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                   *
+\********************************************************************/
 
 #include "config.h"
-
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <glade/glade-xml.h>
 
 #include "dialog-totd.h"
 #include "dialog-utils.h"
@@ -35,7 +34,6 @@
 #include "gnc-gnome-utils.h"
 #include "gnc-engine.h"
 
-
 #define GCONF_SECTION   "dialogs/tip_of_the_day"
 #define KEY_CURRENT_TIP "current_tip"
 #define KEY_SHOW_TIPS   "show_at_startup"
@@ -45,8 +43,8 @@
 #define GNC_RESPONSE_BACK    2
 
 /* Callbacks */
-void gnc_totd_dialog_response (GtkDialog *dialog, gint reponse, gpointer user_data);
-void gnc_totd_dialog_startup_toggled (GtkToggleButton *button, gpointer user_data);
+void gnc_totd_dialog_response_cb (GtkDialog *dialog, gint reponse, gpointer user_data);
+void gnc_totd_dialog_startup_toggled_cb (GtkToggleButton *button, gpointer user_data);
 
 /* The Tips */
 static gchar **tip_list;
@@ -56,34 +54,36 @@
 /* This static indicates the debugging module that this .o belongs to.  */
 static QofLogModule log_module = GNC_MOD_GUI;
 
+typedef struct
+{
+    GtkWidget   *dialog;
+    GtkTextView *textview;
+    GtkWidget   *showcheck_button;
+}TotdDialog;
 
-/*********************/
-/* Utility Functions */
-/*********************/
 
-/** This function should be called to change the tip number.  It
+/***********************************************************************
+ *  This function should be called to change the tip number.  It
  *  handles clamping the number to the range of tips available, saving
  *  the number in the GConf database, and updating the dialog window
  *  with the text of the newly selected tip.
  *
- *  @param widget A pointer to any widget in the dialog.  This widget
- *  is used as a starting point to find the GtkTextView widget that
- *  holds the text of the tip.
+ *  @param Tip of the day structure. This points to the dialog and 
+ *  the GtkTextView widget that holds the text of the tip.
  *
  *  @param offset Which tip to show.  If the value is zero then the
  *  current tip will be shown.  If the value is negative the previous
  *  tip will be shown.  If the value is positive the next tip will be
  *  shown.
- */
+ ************************************************************************/
 static void
-gnc_new_tip_number (GtkWidget *widget,
-                    gint offset)
+gnc_new_tip_number (TotdDialog *totd_dialog, gint offset)
 {
-    GtkWidget *textview;
+
     gchar **tip_components;
     gchar *tip;
 
-    ENTER("widget %p, offset %d", widget, offset);
+    ENTER("TotdDialog %p, offset %d", totd_dialog, offset);
     current_tip_number += offset;
     DEBUG("clamp %d to '0 <= x < %d'", current_tip_number, tip_count);
     if (current_tip_number < 0)
@@ -115,49 +115,49 @@
         tip = g_strdup_printf( _(tip_components[0]), tip_components[1]);
     }
 
-
-    textview = gnc_glade_lookup_widget(widget, "tip_textview");
     g_strfreev(tip_components);
-    gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)),
+    gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(totd_dialog->textview)),
                              tip, -1);
     g_free(tip);
     LEAVE("");
 }
 
 
-/********************/
-/*    Callbacks     */
-/********************/
-
-void gnc_totd_dialog_response (GtkDialog *dialog,
+/***************************/
+/*    Dialog Callbacks     */
+/***************************/
+void gnc_totd_dialog_response_cb (GtkDialog *dialog,
                                gint       response,
                                gpointer   user_data)
 {
+    TotdDialog *totd_dialog = user_data;
+
     ENTER("dialog %p, response %d, user_data %p", dialog, response, user_data);
     switch (response)
     {
     case GNC_RESPONSE_FORWARD:
-        gnc_new_tip_number(GTK_WIDGET(dialog), 1);
+        gnc_new_tip_number(totd_dialog, 1);
         break;
 
     case GNC_RESPONSE_BACK:
-        gnc_new_tip_number(GTK_WIDGET(dialog), -1);
+        gnc_new_tip_number(totd_dialog, -1);
         break;
 
     case GTK_RESPONSE_CLOSE:
-        gnc_save_window_size(GCONF_SECTION, GTK_WINDOW(dialog));
+        gnc_save_window_size(GCONF_SECTION, GTK_WINDOW(totd_dialog->dialog));
         /* fall through */
 
     default:
-        gnc_unregister_gui_component_by_data(DIALOG_TOTD_CM_CLASS, dialog);
-        gtk_widget_destroy(GTK_WIDGET(dialog));
+        gnc_unregister_gui_component_by_data(DIALOG_TOTD_CM_CLASS, totd_dialog->dialog);
+        gtk_widget_destroy(GTK_WIDGET(totd_dialog->dialog));
         break;
     }
     LEAVE("");
 }
 
+
 void
-gnc_totd_dialog_startup_toggled (GtkToggleButton *button,
+gnc_totd_dialog_startup_toggled_cb (GtkToggleButton *button,
                                  gpointer user_data)
 {
     gboolean active;
@@ -166,10 +166,10 @@
     gnc_gconf_set_bool(GCONF_SECTION, KEY_SHOW_TIPS, active, NULL);
 }
 
-/********************/
-/*     Parser       */
-/********************/
 
+/***********************************/
+/*     Tip of the Day Parser       */
+/***********************************/
 static gboolean
 gnc_totd_initialize (void)
 {
@@ -242,7 +242,9 @@
     return TRUE;
 }
 
-/** Raise the totd dialog to the top of the window stack.  This
+
+/***********************************************************************
+ *  Raise the totd dialog to the top of the window stack.  This
  *  function is called if the user attempts to create a second totd
  *  dialog.
  *
@@ -252,53 +254,64 @@
  *
  *  @param component_id Unused.
  *
- *  @param user_data A pointer to the totd dialog.
+ *  @param user_data A pointer to the totd structure.
  *
  *  @param iter_data Unused.
- */
+ ***********************************************************************/
 static gboolean
 show_handler (const char *class, gint component_id,
               gpointer user_data, gpointer iter_data)
 {
-    GtkWidget *dialog;
+    TotdDialog *totd_dialog = user_data;
 
     ENTER(" ");
-    dialog = GTK_WIDGET(user_data);
-    gtk_window_present(GTK_WINDOW(dialog));
+    if (!totd_dialog)
+    {
+        LEAVE("no data strucure");
+        return(FALSE);
+    }
+
+    gtk_window_present(GTK_WINDOW(totd_dialog->dialog));
     LEAVE(" ");
     return(TRUE);
 }
 
-/** Close the totd dialog.
+
+/****************************************************
+ *  Close the totd dialog.
  *
  *  @internal
  *
- *  @param user_data A pointer to the totd dialog.
- */
+ *  @param user_data A pointer to the totd structure.
+ ****************************************************/
 static void
 close_handler (gpointer user_data)
 {
-    GtkWidget *dialog;
+    TotdDialog *totd_dialog = user_data;
 
     ENTER(" ");
-    dialog = GTK_WIDGET(user_data);
-    gnc_unregister_gui_component_by_data(DIALOG_TOTD_CM_CLASS, dialog);
-    gtk_widget_destroy(dialog);
+
+    gnc_unregister_gui_component_by_data(DIALOG_TOTD_CM_CLASS, totd_dialog);
+
     LEAVE(" ");
 }
 
 
-/********************/
-/*      Main        */
-/********************/
-
+/*************************************/
+/*     Create the TotD Dialog        */
+/*************************************/
 void
 gnc_totd_dialog (GtkWindow *parent, gboolean startup)
 {
-    GladeXML *xml;
+    TotdDialog *totd_dialog;
+
+    GtkBuilder *builder;
     GtkWidget *dialog, *button;
+    GtkTextView *textview;
     gboolean show_tips;
 
+    totd_dialog = g_new0 (TotdDialog, 1);
+
     show_tips = gnc_gconf_get_bool(GCONF_SECTION, KEY_SHOW_TIPS, NULL);
     if (startup && !show_tips)
         return;
@@ -315,20 +328,34 @@
         return;
     }
 
-    xml = gnc_glade_xml_new ("totd.glade", "totd_dialog");
-    dialog  = glade_xml_get_widget (xml, "totd_dialog");
+    builder = gtk_builder_new();
+    gnc_builder_add_from_file (builder,"dialog-totd.glade", "totd_dialog");
+    dialog  = GTK_WIDGET(gtk_builder_get_object (builder, "totd_dialog"));
     gtk_window_set_transient_for(GTK_WINDOW (dialog), parent);
-    glade_xml_signal_autoconnect_full(xml, gnc_glade_autoconnect_full_func,
-                                      dialog);
 
-    gnc_new_tip_number(dialog, 1);
+    totd_dialog->dialog = dialog;
 
-    button = glade_xml_get_widget(xml, "show_checkbutton");
+    ENTER("totd_dialog %p, dialog %p", totd_dialog, dialog);
+
+    gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, totd_dialog);
+
+    button = GTK_WIDGET(gtk_builder_get_object (builder, "show_checkbutton"));
+    totd_dialog->showcheck_button = button;
+
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON (button), show_tips);
 
-    gnc_restore_window_size(GCONF_SECTION, GTK_WINDOW(dialog));
-    gtk_widget_show(GTK_WIDGET (dialog));
+    textview = GTK_TEXT_VIEW(gtk_builder_get_object (builder, "tip_textview"));
+    totd_dialog->textview = textview;
 
+    gnc_new_tip_number(totd_dialog, 1);
+
+    gnc_restore_window_size(GCONF_SECTION, GTK_WINDOW(totd_dialog->dialog));
+    gtk_widget_show(GTK_WIDGET (totd_dialog->dialog));
+
     gnc_register_gui_component(DIALOG_TOTD_CM_CLASS,
-                               NULL, close_handler, dialog);
+                               NULL, close_handler, totd_dialog);
+
+    g_object_unref(G_OBJECT(builder));
+
+    LEAVE("");
 }

Modified: gnucash/trunk/src/gnome-utils/dialog-totd.h
===================================================================
--- gnucash/trunk/src/gnome-utils/dialog-totd.h	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/dialog-totd.h	2011-10-18 18:10:57 UTC (rev 21458)
@@ -1,25 +1,26 @@
-/*
- * dialog-totd.h : dialog to display a "tip of the day"
- *
- * Copyright (c) 2005 David Hampton <hampton at employees.org>
- *
- * 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
- */
+/********************************************************************\
+ * dialog-totd.h : dialog to display a "tip of the day"             *
+ *                                                                  *
+ * Initial copyright not recorded.                                  *
+ * Copyright (c) 2006 David Hampton <hampton at employees.org>         *
+ *                                                                  *
+ * 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                   *
+\********************************************************************/
 
 #ifndef DIALOG_TOTD_H
 #define DIALOG_TOTD_H

Modified: gnucash/trunk/src/gnome-utils/glade/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/glade/Makefile.am	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/glade/Makefile.am	2011-10-18 18:10:57 UTC (rev 21458)
@@ -1,7 +1,6 @@
 gladedir = $(GNC_GLADE_DIR)
 glade_DATA = \
   dialog-book-close.glade \
-  dialog-file-access.glade \
   dialog-object-references.glade \
   dialog-query-list.glade \
   dialog-reset-warnings.glade \
@@ -10,7 +9,6 @@
   druid-gconf-setup.glade \
   druid-gnc-xml-import.glade \
   gnc-gui-query.glade \
-  preferences.glade \
-  totd.glade
+  preferences.glade 
 
 EXTRA_DIST = $(glade_DATA)

Deleted: gnucash/trunk/src/gnome-utils/glade/dialog-file-access.glade
===================================================================
--- gnucash/trunk/src/gnome-utils/glade/dialog-file-access.glade	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/glade/dialog-file-access.glade	2011-10-18 18:10:57 UTC (rev 21458)
@@ -1,277 +0,0 @@
-<?xml version="1.0"?>
-<glade-interface>
-  <!-- interface-requires gtk+ 2.10 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="File Access">
-    <property name="border_width">5</property>
-    <property name="window_position">center-on-parent</property>
-    <property name="type_hint">dialog</property>
-    <property name="has_separator">False</property>
-    <signal name="response" handler="gnc_ui_file_access_response_cb"/>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox3">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">5</property>
-        <child>
-          <widget class="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <property name="spacing">3</property>
-            <child>
-              <widget class="GtkLabel" id="uri_type_label">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes"><b>Data Format:</b></property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkVBox" id="vb_uri_type_container">
-                <property name="visible">True</property>
-                <property name="orientation">vertical</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame_file">
-            <property name="visible">True</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">in</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment_file_chooser">
-                <property name="width_request">550</property>
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="yalign">0</property>
-                <property name="bottom_padding">3</property>
-                <property name="left_padding">3</property>
-                <property name="right_padding">3</property>
-                <child>
-                  <placeholder/>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label5">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes"><b>File</b></property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="type">label_item</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkFrame" id="frame_database">
-            <property name="visible">True</property>
-            <property name="label_xalign">0</property>
-            <property name="shadow_type">in</property>
-            <child>
-              <widget class="GtkAlignment" id="alignment2">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="yalign">0</property>
-                <property name="yscale">0</property>
-                <property name="bottom_padding">3</property>
-                <property name="left_padding">3</property>
-                <property name="right_padding">3</property>
-                <child>
-                  <widget class="GtkHBox" id="hbox2">
-                    <property name="visible">True</property>
-                    <property name="spacing">3</property>
-                    <child>
-                      <widget class="GtkVBox" id="vbox3">
-                        <property name="visible">True</property>
-                        <property name="orientation">vertical</property>
-                        <child>
-                          <widget class="GtkLabel" id="label2">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Host</property>
-                            <property name="justify">right</property>
-                          </widget>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label3">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Database</property>
-                            <property name="justify">right</property>
-                          </widget>
-                          <packing>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label4">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Username</property>
-                            <property name="justify">right</property>
-                          </widget>
-                          <packing>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkLabel" id="label6">
-                            <property name="visible">True</property>
-                            <property name="xalign">1</property>
-                            <property name="label" translatable="yes">Password</property>
-                            <property name="justify">right</property>
-                          </widget>
-                          <packing>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkVBox" id="vbox4">
-                        <property name="visible">True</property>
-                        <property name="orientation">vertical</property>
-                        <child>
-                          <widget class="GtkEntry" id="tf_host">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="activates_default">True</property>
-                          </widget>
-                          <packing>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkEntry" id="tf_database">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="activates_default">True</property>
-                          </widget>
-                          <packing>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkEntry" id="tf_username">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="activates_default">True</property>
-                          </widget>
-                          <packing>
-                            <property name="position">2</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <widget class="GtkEntry" id="tf_password">
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="visibility">False</property>
-                            <property name="invisible_char">&#x25CF;</property>
-                            <property name="activates_default">True</property>
-                          </widget>
-                          <packing>
-                            <property name="position">3</property>
-                          </packing>
-                        </child>
-                      </widget>
-                      <packing>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </widget>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes"><b>Database Connection</b></property>
-                <property name="use_markup">True</property>
-              </widget>
-              <packing>
-                <property name="type">label_item</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area3">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="cancel_button">
-                <property name="label">gtk-cancel</property>
-                <property name="response_id">-6</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="pb_op">
-                <property name="label">gtk-save-as</property>
-                <property name="response_id">-5</property>
-                <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_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-</glade-interface>

Deleted: gnucash/trunk/src/gnome-utils/glade/totd.glade
===================================================================
--- gnucash/trunk/src/gnome-utils/glade/totd.glade	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/glade/totd.glade	2011-10-18 18:10:57 UTC (rev 21458)
@@ -1,181 +0,0 @@
-<?xml version="1.0"?>
-<glade-interface>
-  <!-- interface-requires gtk+ 2.10 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="totd_dialog">
-    <property name="visible">True</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">GnuCash Tip Of The Day</property>
-    <property name="default_width">400</property>
-    <property name="default_height">300</property>
-    <property name="type_hint">dialog</property>
-    <signal name="response" handler="gnc_totd_dialog_response"/>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">6</property>
-        <child>
-          <widget class="GtkVBox" id="totd_vbox">
-            <property name="visible">True</property>
-            <property name="border_width">12</property>
-            <property name="orientation">vertical</property>
-            <property name="spacing">18</property>
-            <child>
-              <widget class="GtkVBox" id="vbox2">
-                <property name="visible">True</property>
-                <property name="orientation">vertical</property>
-                <property name="spacing">6</property>
-                <child>
-                  <widget class="GtkLabel" id="label3">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes"><b>Tip of the Day:</b></property>
-                    <property name="use_markup">True</property>
-                    <property name="use_underline">True</property>
-                  </widget>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkHBox" id="hbox3">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="GtkLabel" id="label4">
-                        <property name="visible">True</property>
-                        <property name="label">    </property>
-                      </widget>
-                      <packing>
-                        <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <widget class="GtkTextView" id="tip_textview">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="border_width">6</property>
-                        <property name="editable">False</property>
-                        <property name="wrap_mode">word</property>
-                        <property name="cursor_visible">False</property>
-                        <property name="text">The text of the tip goes here. Some example placeholder text:
-If you are looking for a stable personal finance application, you should use
-the latest "stable" release of GnuCash.  See http://www.gnucash.org</property>
-                      </widget>
-                      <packing>
-                        <property name="position">1</property>
-                      </packing>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkCheckButton" id="show_checkbutton">
-                <property name="label" translatable="yes">_Show tips at startup</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-                <signal name="toggled" handler="gnc_totd_dialog_startup_toggled"/>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="button1">
-                <property name="label">gtk-go-back</property>
-                <property name="response_id">2</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button2">
-                <property name="label">gtk-go-forward</property>
-                <property name="response_id">1</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="hidden_button">
-                <property name="label">gtk-cancel</property>
-                <property name="response_id">-6</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkButton" id="button3">
-                <property name="label">gtk-close</property>
-                <property name="response_id">-7</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">3</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-</glade-interface>

Modified: gnucash/trunk/src/gnome-utils/gnc-file.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-file.c	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/gnc-file.c	2011-10-18 18:10:57 UTC (rev 21458)
@@ -579,6 +579,9 @@
                                   GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
         gtk_dialog_add_button(GTK_DIALOG(dialog),
                               GTK_STOCK_SAVE, GTK_RESPONSE_YES);
+
+        gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES);
+
         response = gtk_dialog_run(GTK_DIALOG(dialog));
         gtk_widget_destroy(dialog);
 

Modified: gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am	2011-10-18 18:10:45 UTC (rev 21457)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am	2011-10-18 18:10:57 UTC (rev 21458)
@@ -2,11 +2,13 @@
 gtkbuilder_DATA = \
   dialog-account.glade \
   dialog-commodity.glade \
+  dialog-file-access.glade \
+  dialog-totd.glade \
   dialog-transfer.glade \
   dialog-userpass.glade \
   gnc-date-format.glade \
   gnc-frequency.glade \
-  gnc-tree-view-owner.glade \
-  gnc-recurrence.glade
+  gnc-recurrence.glade \
+  gnc-tree-view-owner.glade 
 
 EXTRA_DIST = $(gtkbuilder_DATA)

Added: gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-file-access.glade
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-file-access.glade	                        (rev 0)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-file-access.glade	2011-10-18 18:10:57 UTC (rev 21458)
@@ -0,0 +1,321 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy project-wide -->
+  <object class="GtkDialog" id="File Access">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="window_position">center-on-parent</property>
+    <property name="default_width">600</property>
+    <property name="default_height">500</property>
+    <property name="type_hint">dialog</property>
+    <signal name="response" handler="gnc_ui_file_access_response_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox1">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">5</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancel_button">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">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="pb_op">
+                <property name="label">gtk-save-as</property>
+                <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>
+                <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>
+          </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="spacing">3</property>
+            <child>
+              <object class="GtkLabel" id="uri_type_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes"><b>Data Format:</b></property>
+                <property name="use_markup">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vb_uri_type_container">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="frame_file">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <object class="GtkVBox" id="file_chooser">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label5">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes"><b>File</b></property>
+                <property name="use_markup">True</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkFrame" id="frame_database">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="label_xalign">0</property>
+            <property name="shadow_type">in</property>
+            <child>
+              <object class="GtkHBox" id="hbox2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">6</property>
+                <property name="spacing">3</property>
+                <child>
+                  <object class="GtkVBox" id="vbox3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkLabel" id="label2">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Host</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</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="xalign">1</property>
+                        <property name="label" translatable="yes">Database</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Username</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="label6">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">1</property>
+                        <property name="label" translatable="yes">Password</property>
+                        <property name="justify">right</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkVBox" id="vbox4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkEntry" id="tf_host">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="activates_default">True</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="primary_icon_sensitive">True</property>
+                        <property name="secondary_icon_sensitive">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="tf_database">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="activates_default">True</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="primary_icon_sensitive">True</property>
+                        <property name="secondary_icon_sensitive">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="tf_username">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="activates_default">True</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="primary_icon_sensitive">True</property>
+                        <property name="secondary_icon_sensitive">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkEntry" id="tf_password">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="visibility">False</property>
+                        <property name="invisible_char">&#x25CF;</property>
+                        <property name="activates_default">True</property>
+                        <property name="invisible_char_set">True</property>
+                        <property name="primary_icon_activatable">False</property>
+                        <property name="secondary_icon_activatable">False</property>
+                        <property name="primary_icon_sensitive">True</property>
+                        <property name="secondary_icon_sensitive">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="label">
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes"><b>Database Connection</b></property>
+                <property name="use_markup">True</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancel_button</action-widget>
+      <action-widget response="-5">pb_op</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Copied: gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-totd.glade (from rev 21457, gnucash/trunk/src/gnome-utils/glade/totd.glade)
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-totd.glade	                        (rev 0)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/dialog-totd.glade	2011-10-18 18:10:57 UTC (rev 21458)
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy project-wide -->
+  <object class="GtkDialog" id="totd_dialog">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">GnuCash Tip Of The Day</property>
+    <property name="default_width">400</property>
+    <property name="default_height">300</property>
+    <property name="type_hint">dialog</property>
+    <signal name="response" handler="gnc_totd_dialog_response_cb" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox3">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="spacing">6</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="back-button">
+                <property name="label">gtk-go-back</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="forward-button">
+                <property name="label">gtk-go-forward</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="cancel-button">
+                <property name="label">gtk-cancel</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">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="close-button">
+                <property name="label">gtk-close</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">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="GtkVBox" id="totd_vbox">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">12</property>
+            <property name="spacing">18</property>
+            <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="label3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes"><b>Tip of the Day:</b></property>
+                    <property name="use_markup">True</property>
+                    <property name="use_underline">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="hbox3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <object class="GtkLabel" id="label4">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label">    </property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkTextView" id="tip_textview">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="border_width">6</property>
+                        <property name="editable">False</property>
+                        <property name="wrap_mode">word</property>
+                        <property name="left_margin">5</property>
+                        <property name="right_margin">5</property>
+                        <property name="cursor_visible">False</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>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="show_checkbutton">
+                <property name="label" translatable="yes">_Show tips at startup</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>
+                <signal name="toggled" handler="gnc_totd_dialog_startup_toggled_cb" swapped="no"/>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="2">back-button</action-widget>
+      <action-widget response="1">forward-button</action-widget>
+      <action-widget response="-6">cancel-button</action-widget>
+      <action-widget response="-7">close-button</action-widget>
+    </action-widgets>
+  </object>
+</interface>



More information about the gnucash-changes mailing list