[Gnucash-changes] Convert the default currency preferences over to gconf.

David Hampton hampton at cvs.gnucash.org
Sat Sep 24 16:28:43 EDT 2005


Log Message:
-----------
Convert the default currency preferences over to gconf.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
    gnucash/src/app-utils:
        global-options.c
        prefs.scm
    gnucash/src/gnome/schemas:
        apps_gnucash_general.schemas
    gnucash/src/gnome-utils:
        dialog-preferences.c
        preferences.glade

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.290
retrieving revision 1.1487.2.291
diff -LChangeLog -LChangeLog -u -r1.1487.2.290 -r1.1487.2.291
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,26 @@
+2005-09-24  David Hampton  <hampton at employees.org>
+
+	* src/app-utils/global-options.c:
+	* src/app-utils/prefs.scm:
+	* src/gnome/schemas/apps_gnucash_general.schemas:
+	* src/gnome-utils/dialog-preferences.c:
+	* src/gnome-utils/preferences.glade: Convert the default currency
+	preferences over to gconf.
+
+	* src/app-utils/prefs.scm:
+	* src/core-utils/gnc-gconf-utils.h:
+	* src/gnome/top-level.c:
+	* src/gnome/schemas/apps_gnucash_general.schemas:
+	* src/gnome-utils/dialog-options.c:
+	* src/gnome-utils/dialog-preferences.c:
+	* src/gnome-utils/preferences.glade: Convert the date and time
+	preferences (except 'fancy date') over to gconf.
+
 2005-09-21  David Hampton  <hampton at employees.org>
 
+	* src/gnome-utils/dialog-options.c: Remove remnants of the old
+	"Advanced Preferences" page.
+	
 	* src/app-utils/prefs.scm:
 	* src/gnome/schemas/apps_gnucash_dialog_common.schemas:
 	* src/gnome-search/dialog-search.c:
Index: apps_gnucash_general.schemas
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/schemas/Attic/apps_gnucash_general.schemas,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -Lsrc/gnome/schemas/apps_gnucash_general.schemas -Lsrc/gnome/schemas/apps_gnucash_general.schemas -u -r1.1.2.10 -r1.1.2.11
--- src/gnome/schemas/apps_gnucash_general.schemas
+++ src/gnome/schemas/apps_gnucash_general.schemas
@@ -188,6 +188,40 @@
     </schema>
 
     <schema>
+      <key>/schemas/apps/gnucash/general/currency_choice</key>
+      <applyto>/apps/gnucash/general/currency_choice</applyto>
+      <owner>gnucash</owner>
+      <type>string</type>
+      <default>locale</default>
+      <locale name="C">
+        <short>Use system currency.</short>
+        <long>
+	  This setting controls the default currency used for new
+	  accounts.  If set to "locale" then GnuCash will retrieve the
+	  default currency from the user's locale setting.  If set to
+	  "other", Gnucash will use the setting specified by the
+	  currency_other key.
+	</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/gnucash/general/currency_other</key>
+      <applyto>/apps/gnucash/general/currency_other</applyto>
+      <owner>gnucash</owner>
+      <type>string</type>
+      <locale name="C">
+        <short>Default currency.</short>
+        <long>
+	  This setting controls the default currency used for new
+	  accounts if the currency_choice key is set to "other".  This
+	  field should contain the three letter ISO 4217 code for a
+	  currency (e.g. USD, GBP, RUB).
+	</long>
+      </locale>
+    </schema>
+
+    <schema>
       <key>/schemas/apps/gnucash/general/24hour_clock</key>
       <applyto>/apps/gnucash/general/24hour_clock</applyto>
       <owner>gnucash</owner>
@@ -200,6 +234,24 @@
     </schema>
 
     <schema>
+      <key>/schemas/apps/gnucash/general/date_format</key>
+      <applyto>/apps/gnucash/general/date_format</applyto>
+      <owner>gnucash</owner>
+      <type>string</type>
+      <default>locale</default>
+      <locale name="C">
+        <short>Set the format used to display dates.</short>
+        <long>
+	  This setting controls the way dates are displayed in
+	  GnuCash.  Legal values for this setting are "locale" to use
+	  the system locale setting, "ce" for Continental Europe style
+	  dates, "iso" for ISO 8601 standard dates , "uk" for United
+	  Kingdom style dates, and "us" for United States style dates.
+	</long>
+      </locale>
+    </schema>
+
+    <schema>
       <key>/schemas/apps/gnucash/general/register/use_theme_colors</key>
       <applyto>/apps/gnucash/general/register/use_theme_colors</applyto>
       <owner>gnucash</owner>
@@ -378,5 +430,39 @@
       </locale>
     </schema>
 
+    <schema>
+      <key>/schemas/apps/gnucash/general/report/currency_choice</key>
+      <applyto>/apps/gnucash/general/report/currency_choice</applyto>
+      <owner>gnucash</owner>
+      <type>string</type>
+      <default>locale</default>
+      <locale name="C">
+        <short>Use system currency.</short>
+        <long>
+	  This setting controls the default currency used for
+	  reports. If set to "locale" then GnuCash will retrieve the
+	  default currency from the user's locale setting.  If set to
+	  "other", Gnucash will use the setting specified by the
+	  currency_other key.
+	</long>
+      </locale>
+    </schema>
+
+    <schema>
+      <key>/schemas/apps/gnucash/general/report/currency_other</key>
+      <applyto>/apps/gnucash/general/report/currency_other</applyto>
+      <owner>gnucash</owner>
+      <type>string</type>
+      <locale name="C">
+        <short>Default currency.</short>
+        <long>
+	  This setting controls the default currency used for reports
+	  if the currency_choice key is set to "other".  This field
+	  should contain the three letter ISO 4217 code for a currency
+	  (e.g. USD, GBP, RUB).
+	</long>
+      </locale>
+    </schema>
+
   </schemalist>
 </gconfschemafile>
Index: prefs.scm
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/prefs.scm,v
retrieving revision 1.28.4.17
retrieving revision 1.28.4.18
diff -Lsrc/app-utils/prefs.scm -Lsrc/app-utils/prefs.scm -u -r1.28.4.17 -r1.28.4.18
--- src/app-utils/prefs.scm
+++ src/app-utils/prefs.scm
@@ -135,18 +135,6 @@
 
 ;; International options
 (gnc:register-configuration-option
- (gnc:make-currency-option
-  (N_ "International") (N_ "New Account Default Currency")
-  "b1" (N_ "Default currency for new accounts")
-  (gnc:locale-default-iso-currency-code)))
-
-(gnc:register-configuration-option
- (gnc:make-currency-option
-  (N_ "International") (N_ "Default Report Currency")
-  "b2" (N_ "Default currency for reports")
-  (gnc:locale-default-iso-currency-code)))
-
-(gnc:register-configuration-option
  (gnc:make-dateformat-option
   (N_ "International") (N_ "Fancy Date Format")
   "e" (N_ "The default date format used for fancy printed dates") #f))
Index: global-options.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/app-utils/global-options.c,v
retrieving revision 1.6.4.3
retrieving revision 1.6.4.4
diff -Lsrc/app-utils/global-options.c -Lsrc/app-utils/global-options.c -u -r1.6.4.3 -r1.6.4.4
--- src/app-utils/global-options.c
+++ src/app-utils/global-options.c
@@ -25,6 +25,7 @@
 #include "global-options.h"
 #include "option-util.h"
 #include "gnc-engine-util.h"
+#include "gnc-gconf-utils.h"
 #include "gnc-ui-util.h"
 
 
@@ -34,6 +35,9 @@
 static GNCOptionDB *global_options = NULL;
 
 
+#define KEY_CURRENCY_CHOICE "currency_choice"
+#define KEY_CURRENCY_OTHER  "currency_other"
+
 /********************************************************************\
  * gnc_options_init                                                 *
  *   initialize the options structures from the guile side          *
@@ -388,11 +392,20 @@
 gnc_default_currency (void)
 {
   gnc_commodity *currency;
+  gchar *choice, *mnemonic;
+
+  choice = gnc_gconf_get_string(GCONF_GENERAL, KEY_CURRENCY_CHOICE, NULL);
+  if (strcmp(choice, "other") == 0) {
+    mnemonic = gnc_gconf_get_string(GCONF_GENERAL, KEY_CURRENCY_OTHER, NULL);
+    currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
+					  GNC_COMMODITY_NS_ISO, mnemonic);
+    DEBUG("mnemonic %s, result %p", mnemonic, currency);
+    g_free(mnemonic);
+    g_free(choice);
 
-  currency = gnc_lookup_currency_option ("International",
-                                         "New Account Default Currency", NULL);
-  if (currency)
-    return currency;
+    if (currency)
+      return currency;
+  }
 
   return gnc_locale_default_currency ();
 }
@@ -401,11 +414,22 @@
 gnc_default_report_currency (void)
 {
   gnc_commodity *currency;
+  gchar *choice, *mnemonic;
 
-  currency = gnc_lookup_currency_option ("International",
-                                         "Default Report Currency", NULL);
-  if (currency)
-    return currency;
+  choice = gnc_gconf_get_string(GCONF_GENERAL_REPORT,
+				KEY_CURRENCY_CHOICE, NULL);
+  if (strcmp(choice, "other") == 0) {
+    mnemonic = gnc_gconf_get_string(GCONF_GENERAL_REPORT,
+				    KEY_CURRENCY_OTHER, NULL);
+    currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
+					  GNC_COMMODITY_NS_ISO, mnemonic);
+    DEBUG("mnemonic %s, result %p", mnemonic, currency);
+    g_free(mnemonic);
+    g_free(choice);
+
+    if (currency)
+      return currency;
+  }
 
   return gnc_locale_default_currency ();
 }
Index: dialog-preferences.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/dialog-preferences.c,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -Lsrc/gnome-utils/dialog-preferences.c -Lsrc/gnome-utils/dialog-preferences.c -u -r1.1.2.6 -r1.1.2.7
--- src/gnome-utils/dialog-preferences.c
+++ src/gnome-utils/dialog-preferences.c
@@ -60,10 +60,12 @@
 #include <glade/glade.h>
 
 #include "dialog-utils.h"
+#include "gnc-currency-edit.h"
 #include "gnc-gconf-utils.h"
 #include "gnc-gobject-utils.h"
 #include "gnc-trace.h"
 #include "gnc-ui.h"
+#include "gnc-ui-util.h"
 #include "gnc-component-manager.h"
 #include "dialog-preferences.h"
 
@@ -834,6 +836,114 @@
 }
 
 
+/**********/
+
+
+/** The user changed a currency_edit.  Update gconf.  Currency_edit
+ *  choices are stored as an int.
+ *
+ *  @internal
+ *
+ *  @param gce A pointer to the currency_edit that was changed.
+ *  
+ *  @param user_data Unused.
+ */
+static void
+gnc_prefs_currency_edit_user_cb (GNCCurrencyEdit *gce,
+				 gpointer user_data)
+{
+  const gchar *name, *mnemonic;
+  gnc_commodity *currency;
+
+  g_return_if_fail(GNC_IS_CURRENCY_EDIT(gce));
+  name = gtk_widget_get_name(GTK_WIDGET(gce)) + PREFIX_LEN;
+  currency = gnc_currency_edit_get_currency(gce);
+  mnemonic = gnc_commodity_get_mnemonic(currency);
+
+  DEBUG("currency_edit %s set to %s", name, mnemonic);
+  gnc_gconf_set_string(name, NULL, mnemonic, NULL);
+}
+
+
+/** A currency_edit choice was updated in gconf.  Update the user
+ *  visible dialog.
+ *
+ *  @internal
+ *
+ *  @param gce A pointer to the currency_edit that changed.
+ *
+ *  @param value The new value of the currency_edit.
+ */
+static void
+gnc_prefs_currency_edit_gconf_cb (GNCCurrencyEdit *gce,
+				  GConfEntry *entry)
+{
+  const gchar *mnemonic;
+  gnc_commodity *currency;
+
+  g_return_if_fail(GNC_IS_CURRENCY_EDIT(gce));
+  ENTER("gce %p, entry %p", gce, entry);
+
+  mnemonic = gconf_value_get_string(entry->value);
+  DEBUG("gce %p, mnemonic %s", gce, mnemonic);
+  currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
+					GNC_COMMODITY_NS_ISO, mnemonic);
+
+  /* If there isn't any such commodity, get the default */
+  if (!currency) {
+    currency = gnc_locale_default_currency();
+    DEBUG("gce %p, default currency mnemonic %s",
+	  gce, gnc_commodity_get_mnemonic(currency));
+  }
+
+  g_signal_handlers_block_by_func(G_OBJECT(gce),
+				 G_CALLBACK(gnc_prefs_currency_edit_user_cb),
+				 NULL);
+  gnc_currency_edit_set_currency(GNC_CURRENCY_EDIT(gce), currency);
+  g_signal_handlers_unblock_by_func(G_OBJECT(gce),
+			   G_CALLBACK(gnc_prefs_currency_edit_user_cb), NULL);
+  LEAVE(" ");
+}
+
+
+/** Connect a currency_edit widget to the user callback function.  Set
+ *  the starting state of the gce from its value in gconf.
+ *
+ *  @internal
+ *
+ *  @param gce A pointer to the currency_edit that should be connected.
+ */
+static void
+gnc_prefs_connect_currency_edit (GNCCurrencyEdit *gce)
+{
+  gnc_commodity *currency;
+  const gchar *name;
+  gchar *mnemonic;
+
+  g_return_if_fail(GNC_IS_CURRENCY_EDIT(gce));
+
+  /* Lookup commodity based upon gconf setting */
+  name = gtk_widget_get_name(GTK_WIDGET(gce)) + PREFIX_LEN;
+  mnemonic = gnc_gconf_get_string(name, NULL, NULL);
+  currency = gnc_commodity_table_lookup(gnc_get_current_commodities(),
+					GNC_COMMODITY_NS_ISO, mnemonic);
+  g_free(mnemonic);
+
+  /* If there isn't any such commodity, get the default */
+  if (!currency)
+    currency = gnc_locale_default_currency();
+
+  gnc_currency_edit_set_currency(GNC_CURRENCY_EDIT(gce), currency);
+  DEBUG(" currency_edit %s set to %s", name,
+	gnc_commodity_get_mnemonic(currency));
+
+  g_signal_connect(G_OBJECT(gce), "changed",
+		   G_CALLBACK(gnc_prefs_currency_edit_user_cb), NULL);
+
+  gtk_widget_show_all(GTK_WIDGET(gce));
+}
+
+
 /********************/
 /*    Callbacks     */
 /********************/
@@ -890,7 +1000,12 @@
 		       GtkWidget *widget,
 		       gpointer user_data)
 {
-  if (GTK_IS_RADIO_BUTTON(widget)) {
+  /* These tests must be ordered from more specific widget to less
+   * specific widget.  Test custom widgets first */
+  if (GNC_IS_CURRENCY_EDIT(widget)) { /* must be tested before combo_box */
+    DEBUG("  %s - currency_edit", name);
+    gnc_prefs_connect_currency_edit(GNC_CURRENCY_EDIT(widget));
+  } else if (GTK_IS_RADIO_BUTTON(widget)) {
     DEBUG("  %s - radio button", name);
     gnc_prefs_connect_radio_button(GTK_RADIO_BUTTON(widget));
   } else if (GTK_IS_CHECK_BUTTON(widget)) {
@@ -928,6 +1043,8 @@
   GHashTable *table;
   GDate* gdate;
   gchar buf[128];
+  gnc_commodity *locale_currency;
+  const gchar *currency_name;
 
   ENTER("");
   DEBUG("Opening preferences.glade:");
@@ -964,6 +1081,13 @@
   gtk_label_set_text(GTK_LABEL(label), buf);
   g_date_free(gdate);
 
+  locale_currency = gnc_locale_default_currency ();
+  currency_name = gnc_commodity_get_printname(locale_currency);
+  label = glade_xml_get_widget(xml, "locale_currency");
+  gtk_label_set_label(GTK_LABEL(label), currency_name);
+  label = glade_xml_get_widget(xml, "locale_currency2");
+  gtk_label_set_label(GTK_LABEL(label), currency_name);
+
   LEAVE("dialog %p", dialog);
   return dialog;
 }
@@ -1073,13 +1197,18 @@
     g_free(group_name);
   }
   if (widget != NULL) {
-    if (GTK_IS_RADIO_BUTTON(widget)) {
+    /* These tests must be ordered from more specific widget to less
+     * specific widget.  Test custom widgets first */
+    if (GNC_IS_CURRENCY_EDIT(widget)) { /* must come before combo box */
+      DEBUG("widget %p - currency_edit", widget);
+      gnc_prefs_currency_edit_gconf_cb(GNC_CURRENCY_EDIT(widget), entry);
+    } else if (GTK_IS_RADIO_BUTTON(widget)) {
       DEBUG("widget %p - radio button", widget);
       gnc_prefs_radio_button_gconf_cb(GTK_RADIO_BUTTON(widget));
     } else if (GTK_IS_CHECK_BUTTON(widget)) {
       DEBUG("widget %p - check button", widget);
       gnc_prefs_check_button_gconf_cb(GTK_CHECK_BUTTON(widget),
-					    gconf_value_get_bool(entry->value));
+				      gconf_value_get_bool(entry->value));
     } else if (GTK_IS_SPIN_BUTTON(widget)) {
       DEBUG("widget %p - spin button", widget);
       gnc_prefs_spin_button_gconf_cb(GTK_SPIN_BUTTON(widget),
Index: preferences.glade
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/preferences.glade,v
retrieving revision 1.1.2.10
retrieving revision 1.1.2.11
diff -Lsrc/gnome-utils/preferences.glade -Lsrc/gnome-utils/preferences.glade -u -r1.1.2.10 -r1.1.2.11
--- src/gnome-utils/preferences.glade
+++ src/gnome-utils/preferences.glade
@@ -214,7 +214,7 @@
 	    <widget class="GtkTable" id="table1">
 	      <property name="border_width">6</property>
 	      <property name="visible">True</property>
-	      <property name="n_rows">11</property>
+	      <property name="n_rows">15</property>
 	      <property name="n_columns">4</property>
 	      <property name="homogeneous">False</property>
 	      <property name="row_spacing">0</property>
@@ -558,6 +558,169 @@
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label79">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes"></property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">11</property>
+		  <property name="bottom_attach">12</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label80">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Default Currency&lt;/b&gt;</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">12</property>
+		  <property name="bottom_attach">13</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="Custom" id="gconf/general/currency_other">
+		  <property name="visible">True</property>
+		  <property name="creation_function">gnc_currency_edit_new</property>
+		  <property name="int1">0</property>
+		  <property name="int2">0</property>
+		  <property name="last_modification_time">Sun, 04 Sep 2005 21:36:51 GMT</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">3</property>
+		  <property name="top_attach">14</property>
+		  <property name="bottom_attach">15</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options">fill</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="locale_currency">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">US Dollars (USD)</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">3</property>
+		  <property name="top_attach">13</property>
+		  <property name="bottom_attach">14</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment2">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkRadioButton" id="gconf/general/currency_choice/locale">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Locale:</property>
+		      <property name="use_underline">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
+		      <property name="draw_indicator">True</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">13</property>
+		  <property name="bottom_attach">14</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options">fill</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment3">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkRadioButton" id="gconf/general/currency_choice/other">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Choose:</property>
+		      <property name="use_underline">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
+		      <property name="draw_indicator">True</property>
+		      <property name="group">gconf/general/currency_choice/locale</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">14</property>
+		  <property name="bottom_attach">15</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options">fill</property>
+		</packing>
+	      </child>
 	    </widget>
 	    <packing>
 	      <property name="tab_expand">False</property>
@@ -1597,7 +1760,7 @@
 	      </child>
 
 	      <child>
-		<widget class="GtkCheckButton" id="gconf/general/register/enter_movess_to_end">
+		<widget class="GtkCheckButton" id="gconf/general/register/enter_moves_to_end">
 		  <property name="visible">True</property>
 		  <property name="can_focus">True</property>
 		  <property name="label" translatable="yes">'_Enter' moves to blank transaction</property>
@@ -2251,42 +2414,133 @@
 	  </child>
 
 	  <child>
-	    <widget class="GtkTable" id="table5">
-	      <property name="border_width">6</property>
+	    <widget class="GtkTable" id="table8">
 	      <property name="visible">True</property>
-	      <property name="n_rows">12</property>
+	      <property name="n_rows">6</property>
 	      <property name="n_columns">4</property>
 	      <property name="homogeneous">False</property>
 	      <property name="row_spacing">0</property>
-	      <property name="column_spacing">12</property>
+	      <property name="column_spacing">0</property>
 
 	      <child>
-		<widget class="GtkCheckButton" id="gconf/general/report/use_new_window">
+		<widget class="GtkLabel" id="locale_currency2">
 		  <property name="visible">True</property>
-		  <property name="can_focus">True</property>
-		  <property name="label" translatable="yes">Report opens in a new _window</property>
-		  <property name="use_underline">True</property>
-		  <property name="relief">GTK_RELIEF_NORMAL</property>
-		  <property name="focus_on_click">True</property>
-		  <property name="active">False</property>
-		  <property name="inconsistent">False</property>
-		  <property name="draw_indicator">True</property>
+		  <property name="label" translatable="yes">US Dollars (USD)</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">False</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">3</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="Custom" id="gconf/general/report/currency_other">
+		  <property name="visible">True</property>
+		  <property name="creation_function">gnc_currency_edit_new</property>
+		  <property name="int1">0</property>
+		  <property name="int2">0</property>
+		  <property name="last_modification_time">Sun, 04 Sep 2005 21:36:59 GMT</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">1</property>
+		  <property name="right_attach">3</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options">fill</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment5">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkRadioButton" id="gconf/general/report/currency_choice/other">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Choose:</property>
+		      <property name="use_underline">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
+		      <property name="draw_indicator">True</property>
+		    </widget>
+		  </child>
 		</widget>
 		<packing>
 		  <property name="left_attach">0</property>
 		  <property name="right_attach">1</property>
-		  <property name="top_attach">11</property>
-		  <property name="bottom_attach">12</property>
-		  <property name="x_padding">12</property>
+		  <property name="top_attach">2</property>
+		  <property name="bottom_attach">3</property>
 		  <property name="x_options">fill</property>
-		  <property name="y_options"></property>
+		  <property name="y_options">fill</property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkAlignment" id="alignment4">
+		  <property name="visible">True</property>
+		  <property name="xalign">0.5</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xscale">1</property>
+		  <property name="yscale">1</property>
+		  <property name="top_padding">0</property>
+		  <property name="bottom_padding">0</property>
+		  <property name="left_padding">12</property>
+		  <property name="right_padding">0</property>
+
+		  <child>
+		    <widget class="GtkRadioButton" id="gconf/general/report/currency_choice/locale">
+		      <property name="visible">True</property>
+		      <property name="can_focus">True</property>
+		      <property name="label" translatable="yes">Locale:</property>
+		      <property name="use_underline">True</property>
+		      <property name="relief">GTK_RELIEF_NORMAL</property>
+		      <property name="focus_on_click">True</property>
+		      <property name="active">False</property>
+		      <property name="inconsistent">False</property>
+		      <property name="draw_indicator">True</property>
+		      <property name="group">gconf/general/report/currency_choice/other</property>
+		    </widget>
+		  </child>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">1</property>
+		  <property name="top_attach">1</property>
+		  <property name="bottom_attach">2</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options">fill</property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="label71">
+		<widget class="GtkLabel" id="label86">
 		  <property name="visible">True</property>
-		  <property name="label" translatable="yes">&lt;b&gt;New Windows&lt;/b&gt;</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Default Report Currency&lt;/b&gt;</property>
 		  <property name="use_underline">False</property>
 		  <property name="use_markup">True</property>
 		  <property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2299,16 +2553,16 @@
 		</widget>
 		<packing>
 		  <property name="left_attach">0</property>
-		  <property name="right_attach">1</property>
-		  <property name="top_attach">10</property>
-		  <property name="bottom_attach">11</property>
+		  <property name="right_attach">3</property>
+		  <property name="top_attach">0</property>
+		  <property name="bottom_attach">1</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
 
 	      <child>
-		<widget class="GtkLabel" id="label70">
+		<widget class="GtkLabel" id="label88">
 		  <property name="visible">True</property>
 		  <property name="label" translatable="yes"></property>
 		  <property name="use_underline">False</property>
@@ -2324,12 +2578,94 @@
 		<packing>
 		  <property name="left_attach">0</property>
 		  <property name="right_attach">1</property>
-		  <property name="top_attach">9</property>
-		  <property name="bottom_attach">10</property>
+		  <property name="top_attach">3</property>
+		  <property name="bottom_attach">4</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkLabel" id="label89">
+		  <property name="visible">True</property>
+		  <property name="label" translatable="yes">&lt;b&gt;Location&lt;/b&gt;</property>
+		  <property name="use_underline">False</property>
+		  <property name="use_markup">True</property>
+		  <property name="justify">GTK_JUSTIFY_LEFT</property>
+		  <property name="wrap">False</property>
+		  <property name="selectable">False</property>
+		  <property name="xalign">0</property>
+		  <property name="yalign">0.5</property>
+		  <property name="xpad">0</property>
+		  <property name="ypad">0</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">4</property>
+		  <property name="top_attach">4</property>
+		  <property name="bottom_attach">5</property>
+		  <property name="x_options">fill</property>
+		  <property name="y_options"></property>
+		</packing>
+	      </child>
+
+	      <child>
+		<widget class="GtkCheckButton" id="gconf/general/report/use_new_window">
+		  <property name="visible">True</property>
+		  <property name="can_focus">True</property>
+		  <property name="label" translatable="yes">Report opens in a new _window</property>
+		  <property name="use_underline">True</property>
+		  <property name="relief">GTK_RELIEF_NORMAL</property>
+		  <property name="focus_on_click">True</property>
+		  <property name="active">False</property>
+		  <property name="inconsistent">False</property>
+		  <property name="draw_indicator">True</property>
+		</widget>
+		<packing>
+		  <property name="left_attach">0</property>
+		  <property name="right_attach">4</property>
+		  <property name="top_attach">5</property>
+		  <property name="bottom_attach">6</property>
+		  <property name="x_padding">12</property>
 		  <property name="x_options">fill</property>
 		  <property name="y_options"></property>
 		</packing>
 	      </child>
+	    </widget>
+	    <packing>
+	      <property name="tab_expand">False</property>
+	      <property name="tab_fill">True</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkLabel" id="label106">
+	      <property name="visible">True</property>
+	      <property name="label" translatable="yes">Reports</property>
+	      <property name="use_underline">False</property>
+	      <property name="use_markup">False</property>
+	      <property name="justify">GTK_JUSTIFY_LEFT</property>
+	      <property name="wrap">False</property>
+	      <property name="selectable">False</property>
+	      <property name="xalign">0</property>
+	      <property name="yalign">0.5</property>
+	      <property name="xpad">0</property>
+	      <property name="ypad">0</property>
+	    </widget>
+	    <packing>
+	      <property name="type">tab</property>
+	    </packing>
+	  </child>
+
+	  <child>
+	    <widget class="GtkTable" id="table5">
+	      <property name="border_width">6</property>
+	      <property name="visible">True</property>
+	      <property name="n_rows">12</property>
+	      <property name="n_columns">4</property>
+	      <property name="homogeneous">False</property>
+	      <property name="row_spacing">0</property>
+	      <property name="column_spacing">12</property>
 
 	      <child>
 		<widget class="GtkRadioButton" id="gconf/general/toolbar_style/text">


More information about the gnucash-changes mailing list