r21195 - gnucash/trunk - Bug #656752 - Migrate Budgets from GladeXML to Builder

Geert Janssens gjanssens at code.gnucash.org
Sat Aug 20 09:29:03 EDT 2011


Author: gjanssens
Date: 2011-08-20 09:29:03 -0400 (Sat, 20 Aug 2011)
New Revision: 21195
Trac: http://svn.gnucash.org/trac/changeset/21195

Added:
   gnucash/trunk/src/gnome-utils/gtkbuilder/gnc-recurrence.glade
   gnucash/trunk/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
Removed:
   gnucash/trunk/src/gnome/glade/budget.glade
   gnucash/trunk/src/gnome/gtkbuilder/budget.glade
Modified:
   gnucash/trunk/po/POTFILES.in
   gnucash/trunk/src/gnome-utils/gnc-recurrence.c
   gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am
   gnucash/trunk/src/gnome/glade/Makefile.am
   gnucash/trunk/src/gnome/gnc-plugin-budget.h
   gnucash/trunk/src/gnome/gnc-plugin-page-budget.c
   gnucash/trunk/src/gnome/gtkbuilder/Makefile.am
Log:
Bug #656752 - Migrate Budgets from GladeXML to Builder
Patch by Robert Fewell

Modified: gnucash/trunk/po/POTFILES.in
===================================================================
--- gnucash/trunk/po/POTFILES.in	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/po/POTFILES.in	2011-08-20 13:29:03 UTC (rev 21195)
@@ -207,7 +207,6 @@
 src/gnome/dialog-sx-from-trans.c
 src/gnome/dialog-sx-since-last-run.c
 src/gnome/dialog-tax-info.c
-src/gnome/glade/budget.glade
 src/gnome/glade/newuser.glade
 src/gnome/glade/progress.glade
 src/gnome/glade/reconcile.glade
@@ -229,12 +228,12 @@
 src/gnome/gtkbuilder/assistant-hierarchy.glade
 src/gnome/gtkbuilder/assistant-loan.glade
 src/gnome/gtkbuilder/assistant-stock-split.glade
-src/gnome/gtkbuilder/budget.glade
 src/gnome/gtkbuilder/dialog-commodities.glade
 src/gnome/gtkbuilder/dialog-fincalc.glade
 src/gnome/gtkbuilder/dialog-lot-viewer.glade
 src/gnome/gtkbuilder/dialog-price.glade
 src/gnome/gtkbuilder/dialog-print-check.glade
+src/gnome/gtkbuilder/gnc-plugin-page-budget.glade
 src/gnome/gtkbuilder/newuser.glade
 src/gnome/gtkbuilder/owner.glade
 src/gnome/gtkbuilder/progress.glade
@@ -359,6 +358,7 @@
 src/gnome-utils/gtkbuilder/dialog-commodity.glade
 src/gnome-utils/gtkbuilder/dialog-transfer.glade
 src/gnome-utils/gtkbuilder/gnc-date-format.glade
+src/gnome-utils/gtkbuilder/gnc-recurrence.glade
 src/gnome-utils/misc-gnome-utils.c
 src/gnome-utils/print-session.c
 src/gnome-utils/schemas/apps_gnucash_history.schemas.in

Modified: gnucash/trunk/src/gnome/glade/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome/glade/Makefile.am	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome/glade/Makefile.am	2011-08-20 13:29:03 UTC (rev 21195)
@@ -1,6 +1,5 @@
 gladedir = $(GNC_GLADE_DIR)
 glade_DATA = \
-	budget.glade \
 	newuser.glade \
 	progress.glade \
 	reconcile.glade \

Deleted: gnucash/trunk/src/gnome/glade/budget.glade
===================================================================
--- gnucash/trunk/src/gnome/glade/budget.glade	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome/glade/budget.glade	2011-08-20 13:29:03 UTC (rev 21195)
@@ -1,628 +0,0 @@
-<?xml version="1.0"?>
-<glade-interface>
-  <!-- interface-requires gtk+ 2.10 -->
-  <requires lib="gnome"/>
-  <!-- interface-requires gnome 2102.37096 -->
-  <!-- interface-naming-policy toplevel-contextual -->
-  <widget class="GtkDialog" id="Budget List">
-    <property name="visible">True</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Budget List</property>
-    <property name="type_hint">dialog</property>
-    <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="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="border_width">5</property>
-                <property name="shadow_type">in</property>
-                <child>
-                  <widget class="GtkTreeView" id="Budget List View">
-                    <property name="width_request">250</property>
-                    <property name="height_request">200</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="border_width">10</property>
-                  </widget>
-                </child>
-              </widget>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkVButtonBox" id="vbuttonbox1">
-                <property name="visible">True</property>
-                <property name="border_width">5</property>
-                <property name="orientation">vertical</property>
-                <property name="layout_style">spread</property>
-                <child>
-                  <widget class="GtkButton" id="new_button">
-                    <property name="label">gtk-new</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="tooltip" translatable="yes">Create a New Budget</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="edit_button">
-                    <property name="label">gtk-open</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="tooltip" translatable="yes">Open the Selected Budget</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="button3">
-                    <property name="label">gtk-delete</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="tooltip" translatable="yes">Delete the Selected Budget</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>
-              </widget>
-              <packing>
-                <property name="expand">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="close_button">
-                <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="tooltip" translatable="yes">Close the Budget List</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>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="OptionsContainer">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Options</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox5">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <widget class="GtkNotebook" id="BudgetOptions">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <child>
-              <widget class="GtkTable" id="table5">
-                <property name="visible">True</property>
-                <property name="n_rows">5</property>
-                <property name="n_columns">3</property>
-                <property name="column_spacing">3</property>
-                <property name="row_spacing">3</property>
-                <child>
-                  <widget class="GtkLabel" id="label85">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0</property>
-                    <property name="label" translatable="yes">Budget Name:</property>
-                  </widget>
-                  <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkEntry" id="BudgetName">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label86">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Notes:</property>
-                  </widget>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkScrolledWindow" id="scrolledwindow16">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <child>
-                      <widget class="GtkTextView" id="BudgetDescription">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </widget>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkHBox" id="hbox23">
-                    <property name="visible">True</property>
-                    <child>
-                      <widget class="Custom" id="BudgetRecurrenceEntry">
-                        <property name="visible">True</property>
-                        <property name="creation_function">gnc_recurrence_new</property>
-                      </widget>
-                      <packing>
-                        <property name="position">0</property>
-                      </packing>
-                    </child>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label87">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Number of Periods:</property>
-                  </widget>
-                  <packing>
-                    <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkSpinButton" id="BudgetNumPeriods">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="adjustment">1 1 60 1 12 0</property>
-                    <property name="climb_rate">1</property>
-                    <property name="numeric">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkLabel" id="label94">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Budget Period:</property>
-                  </widget>
-                  <packing>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkHSeparator" id="hseparator1">
-                    <property name="visible">True</property>
-                  </widget>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <widget class="GtkHSeparator" id="hseparator2">
-                    <property name="visible">True</property>
-                  </widget>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </widget>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label83">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Budget Options</property>
-              </widget>
-              <packing>
-                <property name="tab_fill">False</property>
-                <property name="type">tab</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area5">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-          </widget>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkWindow" id="GncRecurrenceEntry">
-    <property name="visible">True</property>
-    <child>
-      <widget class="GtkVBox" id="RecurrenceEntryVBox">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <widget class="GtkHBox" id="hbox218">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkLabel" id="label90">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Every </property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkSpinButton" id="GSB_Mult">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip" translatable="yes">Number of calendar units in the recurrence:  E.g. Biweekly = every 2 weeks; Quarterly = every 3 months</property>
-                <property name="adjustment">1 1 250 1 10 0</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkComboBox" id="GCB_PeriodType">
-                <property name="visible">True</property>
-                <property name="items" translatable="yes">day(s)
-week(s)
-month(s)
-year(s)</property>
-              </widget>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkHBox" id="hbox219">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkLabel" id="label89">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">beginning on: </property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GnomeDateEdit" id="GDE_StartDate">
-                <property name="visible">True</property>
-                <property name="dateedit_flags">GNOME_DATE_EDIT_24_HR</property>
-              </widget>
-              <packing>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkHBox" id="hbox220">
-            <property name="visible">True</property>
-            <child>
-              <widget class="GtkCheckButton" id="GCB_EndOfMonth">
-                <property name="label" translatable="yes">last of month</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip" translatable="yes">Always use the last day (or day of week) in the month?</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkCheckButton" id="GCB_NthWeekday">
-                <property name="label" translatable="yes">same week & day</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip" translatable="yes">Match the "day of week" and "week of month"?  (for example, the "second Tuesday" of every month)</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">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="position">2</property>
-          </packing>
-        </child>
-      </widget>
-    </child>
-  </widget>
-  <widget class="GtkDialog" id="BudgetEstimate">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Estimate Budget Values</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <widget class="GtkVBox" id="dialog-vbox6">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <widget class="GtkVBox" id="vbox3">
-            <property name="visible">True</property>
-            <property name="orientation">vertical</property>
-            <child>
-              <widget class="GtkLabel" id="label95">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">GnuCash will estimate budget values for the selected accounts from past transactions.</property>
-                <property name="wrap">True</property>
-              </widget>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <widget class="GtkTable" id="table6">
-            <property name="visible">True</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">3</property>
-            <child>
-              <widget class="GtkLabel" id="label96">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Start Date:</property>
-              </widget>
-              <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkLabel" id="label97">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Significant Digits:</property>
-              </widget>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="GtkSpinButton" id="DigitsToRound">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip" translatable="yes">The number of leading digits to keep when rounding</property>
-                <property name="adjustment">1 1 12 1 1 0</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <widget class="Custom" id="StartDate">
-                <property name="visible">True</property>
-                <property name="creation_function">gnc_date_edit_new_glade</property>
-              </widget>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options">GTK_FILL</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </widget>
-          <packing>
-            <property name="position">3</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <widget class="GtkHButtonBox" id="dialog-action_area6">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <widget class="GtkButton" id="cancelbutton1">
-                <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="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="okbutton1">
-                <property name="label">gtk-ok</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="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>
-          </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/gnc-plugin-budget.h
===================================================================
--- gnucash/trunk/src/gnome/gnc-plugin-budget.h	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome/gnc-plugin-budget.h	2011-08-20 13:29:03 UTC (rev 21195)
@@ -42,7 +42,6 @@
 #define GNC_PLUGIN_BUDGET_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), GNC_TYPE_PLUGIN_BUDGET, GncPluginBudgetClass))
 
 #define GNC_PLUGIN_BUDGET_NAME "gnc-plugin-budget"
-#define GNC_BUDGET_GUI_FILE    "budget.glade"
 
 /* typedefs & structures */
 typedef struct

Modified: gnucash/trunk/src/gnome/gnc-plugin-page-budget.c
===================================================================
--- gnucash/trunk/src/gnome/gnc-plugin-page-budget.c	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome/gnc-plugin-page-budget.c	2011-08-20 13:29:03 UTC (rev 21195)
@@ -1,28 +1,28 @@
-/*
- * gnc-plugin-page-budget.c --
- *
- * Copyright (C) 2005-2006 Chris Shoemaker <c.shoemaker at cox.net>
- *   (based on gnc-plugin-page-account-tree.c)
- *
- * 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
- */
+/********************************************************************
+ * gnc-plugin-page-budget.c -- Budget plugin based on               *
+ *                             gnc-plugin-page-account-tree.c       *
+ *                                                                  *
+ * Copyright (C) 2005, Chris Shoemaker <c.shoemaker at cox.net>        *
+ * 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                   *
+ *******************************************************************/
 
-
 /*
  * TODO:
  *
@@ -118,8 +118,6 @@
 static void gnc_plugin_page_budget_cmd_estimate_budget(
     GtkAction *action, GncPluginPageBudget *page);
 
-
-
 static GtkActionEntry gnc_plugin_page_budget_actions [] =
 {
     /* Toplevel */
@@ -197,7 +195,7 @@
 
     GncBudget* budget;
     GncGUID key;
-    GncDialog* d;
+    GtkWidget *dialog;
     /* To distinguish between closing a tab and deleting a budget */
     gboolean delete_budget;
 
@@ -214,6 +212,7 @@
 
 static GObjectClass *parent_class = NULL;
 
+
 GType
 gnc_plugin_page_budget_get_type (void)
 {
@@ -242,6 +241,7 @@
     return gnc_plugin_page_budget_type;
 }
 
+
 GncPluginPage *
 gnc_plugin_page_budget_new (GncBudget *budget)
 {
@@ -279,6 +279,7 @@
     return GNC_PLUGIN_PAGE(plugin_page);
 }
 
+
 static void
 gnc_plugin_page_budget_class_init (GncPluginPageBudgetClass *klass)
 {
@@ -299,6 +300,7 @@
     g_type_class_add_private(klass, sizeof(GncPluginPageBudgetPrivate));
 }
 
+
 static void
 gnc_plugin_page_budget_init (GncPluginPageBudget *plugin_page)
 {
@@ -342,6 +344,7 @@
           plugin_page, priv, action_group);
 }
 
+
 static void
 gnc_plugin_page_budget_finalize (GObject *object)
 {
@@ -368,6 +371,7 @@
     gnc_main_window_close_page (page);
 }
 
+
 static void
 gnc_plugin_page_budget_refresh_cb(GHashTable *changes, gpointer user_data)
 {
@@ -397,9 +401,9 @@
 }
 
 
-/*
- * GncPluginPage Functions
- */
+/****************************
+ * GncPluginPage Functions  *
+ ***************************/
 static GtkWidget *
 gnc_plugin_page_budget_create_widget (GncPluginPage *plugin_page)
 {
@@ -483,6 +487,7 @@
     return priv->widget;
 }
 
+
 static void
 gnc_plugin_page_budget_destroy_widget (GncPluginPage *plugin_page)
 {
@@ -521,17 +526,20 @@
     LEAVE("widget destroyed");
 }
 
+
 #define BUDGET_GUID "Budget GncGUID"
 
-/** Save enough information about this plugin page that it can
- *  be recreated next time the user starts gnucash.
- *
- *  @param page The page to save.
- *
- *  @param key_file A pointer to the GKeyFile data structure where the
- *  page information should be written.
- *
- *  @param group_name The group name to use when saving data. */
+/***********************************************************************
+ *  Save enough information about this plugin page that it can         *
+ *  be recreated next time the user starts gnucash.                    *
+ *                                                                     *
+ *  @param page The page to save.                                      *
+ *                                                                     *
+ *  @param key_file A pointer to the GKeyFile data structure where the *
+ *  page information should be written.                                *
+ *                                                                     *
+ *  @param group_name The group name to use when saving data.          *
+ **********************************************************************/
 static void
 gnc_plugin_page_budget_save_page (GncPluginPage *plugin_page,
                                   GKeyFile *key_file, const gchar *group_name)
@@ -560,8 +568,8 @@
 }
 
 
-
-/** Create a new plugin page based on the information saved
+/***********************************************************************
+ *  Create a new plugin page based on the information saved
  *  during a previous instantiation of gnucash.
  *
  *  @param window The window where this page should be installed.
@@ -569,7 +577,8 @@
  *  @param key_file A pointer to the GKeyFile data structure where the
  *  page information should be read.
  *
- *  @param group_name The group name to use when restoring data. */
+ *  @param group_name The group name to use when restoring data.
+ **********************************************************************/
 static GncPluginPage *
 gnc_plugin_page_budget_recreate_page (GtkWidget *window, GKeyFile *key_file,
                                       const gchar *group_name)
@@ -620,13 +629,16 @@
     return page;
 }
 
-/** This button press handler calls the common button press handler
+
+/***********************************************************************
+ *   This button press handler calls the common button press handler
  *  for all pages.  The GtkTreeView eats all button presses and
  *  doesn't pass them up the widget tree, even when it doesn't do
  *  anything with them.  The only way to get access to the button
  *  presses in an account tree page is here on the tree view widget.
  *  Button presses on all other pages are caught by the signal
- *  registered in gnc-main-window.c. */
+ *  registered in gnc-main-window.c.
+ **********************************************************************/
 static gboolean
 gppb_button_press_cb(GtkWidget *widget, GdkEventButton *event,
                      GncPluginPage *page)
@@ -641,6 +653,7 @@
     return result;
 }
 
+
 static gboolean
 gppb_key_press_cb(GtkWidget *treeview, GdkEventKey *event, gpointer userdata)
 {
@@ -671,6 +684,7 @@
     return TRUE;
 }
 
+
 static void
 gppb_double_click_cb(GtkTreeView *treeview, GtkTreePath *path,
                      GtkTreeViewColumn *col, GncPluginPageBudget *page)
@@ -690,6 +704,7 @@
     gnc_main_window_open_page(GNC_MAIN_WINDOW(window), new_page);
 }
 
+
 static void
 gppb_selection_changed_cb(GtkTreeSelection *selection,
                           GncPluginPageBudget *page)
@@ -722,8 +737,10 @@
                                "sensitive", sensitive);
 }
 
-/* Command callbacks */
 
+/********************* 
+ * Command callbacks *
+ ********************/
 static void
 gnc_plugin_page_budget_cmd_open_account (GtkAction *action,
         GncPluginPageBudget *page)
@@ -749,6 +766,7 @@
     g_list_free(acct_list);
 }
 
+
 static void
 gnc_plugin_page_budget_cmd_open_subaccounts (GtkAction *action,
         GncPluginPageBudget *page)
@@ -774,6 +792,7 @@
     g_list_free(acct_list);
 }
 
+
 static void
 gnc_plugin_page_budget_cmd_delete_budget (GtkAction *action,
         GncPluginPageBudget *page)
@@ -789,134 +808,96 @@
 
 }
 
+
 /******************************/
 /*       Options Dialog       */
 /******************************/
-
-static gboolean
-gnc_plugin_page_budget_options_apply_cb (GncDialog * d,
-        gpointer user_data)
+static void
+gnc_plugin_page_budget_cmd_view_options (GtkAction *action,
+        GncPluginPageBudget *page)
 {
-    GncPluginPageBudget *page = user_data;
     GncPluginPageBudgetPrivate *priv;
+    GncRecurrence *gr;
+    GtkBuilder *builder;
+    gint result;
     gchar *name;
     gchar *desc;
     gint num_periods;
-    GncRecurrence *gr;
+    GtkWidget *gbname, *gbtreeview, *gbnumperiods, *gbhb;
     const Recurrence *r;
 
-    if (!page)
-        return TRUE;
+    GtkTextBuffer *buffer;
+    GtkTextIter start, end;
 
-    ENTER(" ");
+    g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET (page));
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
-    name = gnc_dialog_get_string(d, "BudgetName");
-    if (name)
+
+    if (!priv->dialog)
     {
-        gchar* label;
+    builder = gtk_builder_new();
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "NumPeriods_Adj");
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "OptionsContainer");
 
-        gnc_budget_set_name(priv->budget, name);
-        label = g_strdup_printf("%s: %s", _("Budget"), name);
-        main_window_update_page_name(GNC_PLUGIN_PAGE(page), label);
-        g_free(label);
-        DEBUG("%s", name);
-        g_free(name);
-    }
+    priv->dialog = GTK_WIDGET(gtk_builder_get_object (builder, "OptionsContainer"));
 
-    desc = (gchar *) gnc_dialog_get_string(d, "BudgetDescription");
-    gnc_budget_set_description(priv->budget, desc);
-    g_free(desc);
+    gtk_window_set_transient_for(
+        GTK_WINDOW(priv->dialog),
+        GTK_WINDOW(gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(page))));
 
-    num_periods = gnc_dialog_get_int(d, "BudgetNumPeriods");
-    gnc_budget_set_num_periods(priv->budget, num_periods);
+    gbname = GTK_WIDGET(gtk_builder_get_object (builder, "BudgetName"));
+    gtk_entry_set_text(GTK_ENTRY(gbname), gnc_budget_get_name(priv->budget));
 
-    gr = GNC_RECURRENCE(gnc_dialog_get_widget(d, "BudgetRecurrenceEntry"));
-    r = gnc_recurrence_get(gr);
-    gnc_budget_set_recurrence(priv->budget, r);
+    gbtreeview = GTK_WIDGET(gtk_builder_get_object (builder, "BudgetDescription"));
+    buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(gbtreeview));
+    gtk_text_buffer_set_text (buffer, gnc_budget_get_description(priv->budget), -1);
 
-    LEAVE(" ");
-    return TRUE;
-}
+    gbhb = GTK_WIDGET(gtk_builder_get_object (builder, "BudgetPeriod"));
+    gr = GNC_RECURRENCE(gnc_recurrence_new());
+    gnc_recurrence_set(gr, gnc_budget_get_recurrence(priv->budget));
+    gtk_box_pack_start (GTK_BOX (gbhb), GTK_WIDGET(gr), TRUE, TRUE, 0);
+    gtk_widget_show (GTK_WIDGET(gr));
 
-static gboolean
-gnc_plugin_page_budget_options_help_cb (GncDialog *d,
-                                        gpointer user_data)
-{
-    GtkWidget *dialog;
+    gbnumperiods = GTK_WIDGET(gtk_builder_get_object (builder, "BudgetNumPeriods"));
+    gtk_spin_button_set_value(GTK_SPIN_BUTTON(gbnumperiods), gnc_budget_get_num_periods(priv->budget));
 
-    dialog = gtk_message_dialog_new (NULL,
-                                     GTK_DIALOG_DESTROY_WITH_PARENT,
-                                     GTK_MESSAGE_INFO,
-                                     GTK_BUTTONS_OK,
-                                     "%s",
-                                     _("Set the budget options using this dialog."));
+    gtk_widget_show_all (priv->dialog);
+    result = gtk_dialog_run(GTK_DIALOG(priv->dialog));
 
-    gtk_dialog_run (GTK_DIALOG (dialog));
-    gtk_widget_destroy (dialog);
-    return TRUE;
-}
+    switch (result)
+    {
+    case GTK_RESPONSE_OK:
+	name = (gchar *) gtk_entry_get_text(GTK_ENTRY(gbname));
+   	DEBUG("%s", name);
+    	if (name)
+    	{
+            gchar* label;
+            gnc_budget_set_name(priv->budget, name); 
+            label = g_strdup_printf("%s: %s", _("Budget"), name);
+            main_window_update_page_name(GNC_PLUGIN_PAGE(page), label);
+            g_free(label);
+        }
 
-static gboolean
-gnc_plugin_page_budget_options_close_cb (GncDialog *d,
-        gpointer user_data)
-{
-    GncPluginPageBudget *page = user_data;
-    GncPluginPageBudgetPrivate *priv;
+        gtk_text_buffer_get_bounds (gtk_text_view_get_buffer(GTK_TEXT_VIEW (gbtreeview)), &start, &end);
+        desc = gtk_text_buffer_get_text (gtk_text_view_get_buffer(GTK_TEXT_VIEW (gbtreeview)), &start, &end, TRUE);
 
-    g_return_val_if_fail(page, TRUE);
+        gnc_budget_set_description(priv->budget, desc);
+        g_free(desc);
 
-    priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
-    gtk_widget_destroy(GTK_WIDGET(d));
-    priv->d = NULL;
-    return TRUE;
-}
+        num_periods = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(gbnumperiods));
+        gnc_budget_set_num_periods(priv->budget, num_periods);
 
-
-static void
-gnc_budget_gui_show_options(GncDialog *pw, GncBudget *budget,
-                            GncPluginPageBudget *page)
-{
-    GncRecurrence *gr;
-    GncPluginPageBudgetPrivate *priv;
-
-
-    g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET (page));
-    priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
-
-    gnc_dialog_set_string(pw, "BudgetName",
-                          gnc_budget_get_name(budget));
-    gnc_dialog_set_string(pw, "BudgetDescription",
-                          gnc_budget_get_description(budget));
-    gnc_dialog_set_int(pw, "BudgetNumPeriods",
-                       gnc_budget_get_num_periods(budget));
-    gr = GNC_RECURRENCE(gnc_dialog_get_widget(
-                            pw, "BudgetRecurrenceEntry"));
-    gnc_recurrence_set(gr, gnc_budget_get_recurrence(budget));
-}
-
-
-static void
-gnc_plugin_page_budget_cmd_view_options (GtkAction *action,
-        GncPluginPageBudget *page)
-{
-    GncPluginPageBudgetPrivate *priv;
-
-    g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET (page));
-    priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
-
-    if (!priv->d)
-    {
-        priv->d = gnc_dialog_new(GNC_BUDGET_GUI_FILE, "BudgetOptions");
-        gtk_window_set_title(GTK_WINDOW(priv->d), _("Budget Options"));
-        gnc_dialog_set_cb(priv->d,
-                          gnc_plugin_page_budget_options_apply_cb,
-                          gnc_plugin_page_budget_options_close_cb,
-                          gnc_plugin_page_budget_options_help_cb,
-                          page);
+        r = gnc_recurrence_get(gr);
+        gnc_budget_set_recurrence(priv->budget, r);
+        break;
+    case GTK_RESPONSE_CANCEL:
+	break;
+    default:
+        break;
     }
-
-    gnc_budget_gui_show_options(priv->d, priv->budget, page);
-    gtk_widget_show_all(GTK_WIDGET(priv->d));
+    g_object_unref(G_OBJECT(builder));
+    gtk_widget_destroy(priv->dialog);
+    }
+    priv->dialog = NULL;
 }
 
 
@@ -930,7 +911,6 @@
     if (!name)
         name = _("Unnamed Budget");
 
-
     if (gnc_verify_dialog (NULL, FALSE, _("Delete %s?"), name))
     {
         gnc_suspend_gui_refresh ();
@@ -938,9 +918,9 @@
         // Views should close themselves because the CM will notify them.
         gnc_resume_gui_refresh ();
     }
-
 }
 
+
 static void
 estimate_budget_helper(GtkTreeModel *model, GtkTreePath *path,
                        GtkTreeIter *iter, gpointer data)
@@ -976,17 +956,21 @@
     }
 }
 
+
+/*******************************/
+/*       Estimate Dialog       */
+/*******************************/
 static void
 gnc_plugin_page_budget_cmd_estimate_budget(GtkAction *action,
         GncPluginPageBudget *page)
 {
     GncPluginPageBudgetPrivate *priv;
     GtkTreeSelection *sel;
-    GtkWidget *dialog, *gde, *dtr;
+    GtkWidget *dialog, *gde, *dtr, *hb;
     gint result;
     GDate date;
     const Recurrence *r;
-    GladeXML *xml;
+    GtkBuilder *builder;
 
     g_return_if_fail (GNC_IS_PLUGIN_PAGE_BUDGET(page));
     priv = GNC_PLUGIN_PAGE_BUDGET_GET_PRIVATE(page);
@@ -1005,15 +989,25 @@
         return;
     }
 
-    xml = gnc_glade_xml_new ("budget.glade", "BudgetEstimate");
-    dialog = glade_xml_get_widget (xml, "BudgetEstimate");
+    builder = gtk_builder_new();
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "DigitsToRound_Adj");
+    gnc_builder_add_from_file (builder, "gnc-plugin-page-budget.glade", "BudgetEstimate");
+
+    dialog = GTK_WIDGET(gtk_builder_get_object (builder, "BudgetEstimate"));
+
     gtk_window_set_transient_for(
         GTK_WINDOW(dialog),
         GTK_WINDOW(gnc_plugin_page_get_window(GNC_PLUGIN_PAGE(page))));
-    gde = glade_xml_get_widget(xml, "StartDate");
+
+    hb = GTK_WIDGET(gtk_builder_get_object (builder, "StartDate_hbox"));
+    gde = gnc_date_edit_new (time (NULL), FALSE, FALSE);
+    gtk_box_pack_start (GTK_BOX (hb), gde, TRUE, TRUE, 0);
+    gtk_widget_show (gde);
+
     date = recurrenceGetDate(&priv->r);
     gnc_date_edit_set_gdate(GNC_DATE_EDIT(gde), &date);
-    dtr = glade_xml_get_widget(xml, "DigitsToRound");
+
+    dtr = GTK_WIDGET(gtk_builder_get_object (builder, "DigitsToRound"));
     gtk_spin_button_set_value(GTK_SPIN_BUTTON(dtr),
                               (gdouble)priv->sigFigs);
 
@@ -1037,8 +1031,10 @@
         break;
     }
     gtk_widget_destroy(dialog);
+    g_object_unref(G_OBJECT(builder));
 }
 
+
 static gchar *
 budget_col_source(Account *account, GtkTreeViewColumn *col,
                   GtkCellRenderer *cell)
@@ -1070,10 +1066,10 @@
                              gnc_account_print_info(account, FALSE));
         }
     }
-
     return g_strdup(amtbuff);
 }
 
+
 static void
 budget_col_edited(Account *account, GtkTreeViewColumn *col,
                   const gchar *new_text)
@@ -1098,6 +1094,7 @@
                                             numeric);
 }
 
+
 static void
 gnc_plugin_page_budget_refresh_col_titles(GncPluginPageBudget *page)
 {
@@ -1132,6 +1129,7 @@
 
 }
 
+
 static void
 gnc_plugin_page_budget_view_refresh (GncPluginPageBudget *page)
 {
@@ -1175,6 +1173,7 @@
     gnc_plugin_page_budget_refresh_col_titles(page);
 }
 
+
 static void
 gnc_plugin_page_budget_cmd_view_filter_by (GtkAction *action,
         GncPluginPageBudget *page)

Modified: gnucash/trunk/src/gnome/gtkbuilder/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome/gtkbuilder/Makefile.am	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome/gtkbuilder/Makefile.am	2011-08-20 13:29:03 UTC (rev 21195)
@@ -5,12 +5,12 @@
 	assistant-hierarchy.glade \
 	assistant-loan.glade \
 	assistant-stock-split.glade \
-	budget.glade \
 	dialog-commodities.glade \
 	dialog-lot-viewer.glade \
 	dialog-fincalc.glade \
 	dialog-price.glade \
 	dialog-print-check.glade \
+	gnc-plugin-page-budget.glade \
 	newuser.glade \
 	owner.glade \
 	progress.glade \

Deleted: gnucash/trunk/src/gnome/gtkbuilder/budget.glade
===================================================================
--- gnucash/trunk/src/gnome/gtkbuilder/budget.glade	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome/gtkbuilder/budget.glade	2011-08-20 13:29:03 UTC (rev 21195)
@@ -1,652 +0,0 @@
-<?xml version="1.0"?>
-<interface>
-  <requires lib="gtk+" version="2.16"/>
-  <!-- interface-naming-policy toplevel-contextual -->
-  <object class="GtkListStore" id="liststore1">
-    <columns>
-      <!-- column-name item text -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">day(s)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">week(s)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">month(s)</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">year(s)</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkDialog" id="Budget List">
-    <property name="visible">True</property>
-    <property name="border_width">6</property>
-    <property name="title" translatable="yes">Budget List</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox1">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">6</property>
-        <child>
-          <object class="GtkHBox" id="hbox1">
-            <property name="visible">True</property>
-            <child>
-              <object class="GtkScrolledWindow" id="scrolledwindow1">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="border_width">5</property>
-                <property name="shadow_type">in</property>
-                <child>
-                  <object class="GtkTreeView" id="Budget List View">
-                    <property name="width_request">250</property>
-                    <property name="height_request">200</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="border_width">10</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVButtonBox" id="vbuttonbox1">
-                <property name="visible">True</property>
-                <property name="border_width">5</property>
-                <property name="orientation">vertical</property>
-                <property name="layout_style">spread</property>
-                <child>
-                  <object class="GtkButton" id="new_button">
-                    <property name="label">gtk-new</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="tooltip_text" translatable="yes">Create a New Budget</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="edit_button">
-                    <property name="label">gtk-open</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="tooltip_text" translatable="yes">Open the Selected Budget</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="button3">
-                    <property name="label">gtk-delete</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="tooltip_text" translatable="yes">Delete the Selected Budget</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>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area1">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <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">False</property>
-                <property name="tooltip_text" translatable="yes">Close the Budget List</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>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-7">close_button</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="OptionsContainer">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Options</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox5">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <object class="GtkNotebook" id="BudgetOptions">
-            <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <child>
-              <object class="GtkTable" id="table5">
-                <property name="visible">True</property>
-                <property name="n_rows">5</property>
-                <property name="n_columns">3</property>
-                <property name="column_spacing">3</property>
-                <property name="row_spacing">3</property>
-                <child>
-                  <object class="GtkLabel" id="label85">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="yalign">0</property>
-                    <property name="label" translatable="yes">Budget Name:</property>
-                  </object>
-                  <packing>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkEntry" id="BudgetName">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label86">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Notes:</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkScrolledWindow" id="scrolledwindow16">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <child>
-                      <object class="GtkTextView" id="BudgetDescription">
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                      </object>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">1</property>
-                    <property name="bottom_attach">2</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox23">
-                    <property name="visible">True</property>
-                    <child>
-                      <placeholder/>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label87">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Number of Periods:</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="BudgetNumPeriods">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="adjustment">adjustment3</property>
-                    <property name="climb_rate">1</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">4</property>
-                    <property name="bottom_attach">5</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label94">
-                    <property name="visible">True</property>
-                    <property name="xalign">0</property>
-                    <property name="label" translatable="yes">Budget Period:</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">3</property>
-                    <property name="bottom_attach">4</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options"></property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator1">
-                    <property name="visible">True</property>
-                  </object>
-                  <packing>
-                    <property name="left_attach">1</property>
-                    <property name="right_attach">2</property>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHSeparator" id="hseparator2">
-                    <property name="visible">True</property>
-                  </object>
-                  <packing>
-                    <property name="top_attach">2</property>
-                    <property name="bottom_attach">3</property>
-                    <property name="x_options">GTK_FILL</property>
-                    <property name="y_options">GTK_FILL</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-              </object>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="label83">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Budget Options</property>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area5">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-  </object>
-  <object class="GtkWindow" id="GncRecurrenceEntry">
-    <property name="visible">True</property>
-    <child>
-      <object class="GtkVBox" id="RecurrenceEntryVBox">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <object class="GtkHBox" id="hbox218">
-            <property name="visible">True</property>
-            <child>
-              <object class="GtkLabel" id="label90">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">Every </property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSpinButton" id="GSB_Mult">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">Number of calendar units in the recurrence:  E.g. Biweekly = every 2 weeks; Quarterly = every 3 months</property>
-                <property name="adjustment">adjustment2</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="GCB_PeriodType">
-                <property name="visible">True</property>
-                <property name="model">liststore1</property>
-                <child>
-                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
-                  <attributes>
-                    <attribute name="text">0</attribute>
-                  </attributes>
-                </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox219">
-            <property name="visible">True</property>
-            <child>
-              <object class="GtkLabel" id="label89">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">beginning on: </property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="position">1</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkHBox" id="hbox220">
-            <property name="visible">True</property>
-            <child>
-              <object class="GtkCheckButton" id="GCB_EndOfMonth">
-                <property name="label" translatable="yes">last of month</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Always use the last day (or day of week) in the month?</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkCheckButton" id="GCB_NthWeekday">
-                <property name="label" translatable="yes">same week & day</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">False</property>
-                <property name="tooltip_text" translatable="yes">Match the "day of week" and "week of month"?  (for example, the "second Tuesday" of every month)</property>
-                <property name="use_underline">True</property>
-                <property name="draw_indicator">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="position">2</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-  </object>
-  <object class="GtkDialog" id="BudgetEstimate">
-    <property name="visible">True</property>
-    <property name="title" translatable="yes">Estimate Budget Values</property>
-    <property name="modal">True</property>
-    <property name="type_hint">dialog</property>
-    <child internal-child="vbox">
-      <object class="GtkVBox" id="dialog-vbox6">
-        <property name="visible">True</property>
-        <property name="orientation">vertical</property>
-        <child>
-          <object class="GtkVBox" id="vbox3">
-            <property name="visible">True</property>
-            <property name="orientation">vertical</property>
-            <child>
-              <object class="GtkLabel" id="label95">
-                <property name="visible">True</property>
-                <property name="label" translatable="yes">GnuCash will estimate budget values for the selected accounts from past transactions.</property>
-                <property name="wrap">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="position">2</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkTable" id="table6">
-            <property name="visible">True</property>
-            <property name="n_rows">3</property>
-            <property name="n_columns">3</property>
-            <child>
-              <object class="GtkLabel" id="label96">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Start Date:</property>
-              </object>
-              <packing>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkLabel" id="label97">
-                <property name="visible">True</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">Significant Digits:</property>
-              </object>
-              <packing>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="x_options">GTK_FILL</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSpinButton" id="DigitsToRound">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="tooltip_text" translatable="yes">The number of leading digits to keep when rounding</property>
-                <property name="adjustment">adjustment1</property>
-                <property name="climb_rate">1</property>
-                <property name="numeric">True</property>
-              </object>
-              <packing>
-                <property name="left_attach">1</property>
-                <property name="right_attach">2</property>
-                <property name="top_attach">1</property>
-                <property name="bottom_attach">2</property>
-                <property name="y_options"></property>
-              </packing>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-            <child>
-              <placeholder/>
-            </child>
-          </object>
-          <packing>
-            <property name="position">3</property>
-          </packing>
-        </child>
-        <child internal-child="action_area">
-          <object class="GtkHButtonBox" id="dialog-action_area6">
-            <property name="visible">True</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="cancelbutton1">
-                <property name="label">gtk-cancel</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>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">False</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="okbutton1">
-                <property name="label">gtk-ok</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>
-              </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="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">cancelbutton1</action-widget>
-      <action-widget response="-5">okbutton1</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkAdjustment" id="adjustment1">
-    <property name="value">1</property>
-    <property name="lower">1</property>
-    <property name="upper">12</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment2">
-    <property name="value">1</property>
-    <property name="lower">1</property>
-    <property name="upper">250</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="adjustment3">
-    <property name="value">1</property>
-    <property name="lower">1</property>
-    <property name="upper">60</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">12</property>
-  </object>
-</interface>

Copied: gnucash/trunk/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade (from rev 21194, gnucash/trunk/src/gnome/gtkbuilder/budget.glade)
===================================================================
--- gnucash/trunk/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade	                        (rev 0)
+++ gnucash/trunk/src/gnome/gtkbuilder/gnc-plugin-page-budget.glade	2011-08-20 13:29:03 UTC (rev 21195)
@@ -0,0 +1,602 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkDialog" id="Budget List - Not Used">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">6</property>
+    <property name="title" translatable="yes">Budget List</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox1">
+        <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_area1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <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">False</property>
+                <property name="tooltip_text" translatable="yes">Close the Budget List</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>
+          </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>
+            <child>
+              <object class="GtkScrolledWindow" id="scrolledwindow1">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="border_width">5</property>
+                <property name="shadow_type">in</property>
+                <child>
+                  <object class="GtkTreeView" id="Budget List View">
+                    <property name="width_request">250</property>
+                    <property name="height_request">200</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">10</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVButtonBox" id="vbuttonbox1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">5</property>
+                <property name="layout_style">spread</property>
+                <child>
+                  <object class="GtkButton" id="new_button">
+                    <property name="label">gtk-new</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="tooltip_text" translatable="yes">Create a New Budget</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="edit_button">
+                    <property name="label">gtk-open</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="tooltip_text" translatable="yes">Open the Selected Budget</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="button3">
+                    <property name="label">gtk-delete</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="tooltip_text" translatable="yes">Delete the Selected Budget</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>
+              </object>
+              <packing>
+                <property name="expand">False</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">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-7">close_button</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="BudgetEstimate">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Estimate Budget Values</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox6">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="cancelbutton1">
+                <property name="label">gtk-cancel</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_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="okbutton1">
+                <property name="label">gtk-ok</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_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="GtkVBox" id="vbox3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkLabel" id="label95">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">GnuCash will estimate budget values for the selected accounts from past transactions.</property>
+                <property name="wrap">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkTable" id="table6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="n_rows">2</property>
+            <property name="n_columns">3</property>
+            <child>
+              <object class="GtkLabel" id="label96">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Start Date:</property>
+              </object>
+              <packing>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkLabel" id="label97">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">Significant Digits:</property>
+              </object>
+              <packing>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="x_options">GTK_FILL</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSpinButton" id="DigitsToRound">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip_text" translatable="yes">The number of leading digits to keep when rounding</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>
+                <property name="adjustment">DigitsToRound_Adj</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">2</property>
+                <property name="top_attach">1</property>
+                <property name="bottom_attach">2</property>
+                <property name="y_options"></property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkHBox" id="StartDate_hbox">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="right_attach">3</property>
+                <property name="y_options">GTK_FILL</property>
+              </packing>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">False</property>
+            <property name="position">3</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton1</action-widget>
+      <action-widget response="-5">okbutton1</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="DigitsToRound_Adj">
+    <property name="lower">1</property>
+    <property name="upper">12</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="NumPeriods_Adj">
+    <property name="lower">1</property>
+    <property name="upper">60</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">12</property>
+  </object>
+  <object class="GtkDialog" id="OptionsContainer">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <property name="title" translatable="yes">Budget Options</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkVBox" id="dialog-vbox5">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <child>
+          <object class="GtkNotebook" id="BudgetOptions">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">5</property>
+            <child>
+              <object class="GtkTable" id="table5">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="n_rows">5</property>
+                <property name="n_columns">3</property>
+                <property name="column_spacing">3</property>
+                <property name="row_spacing">3</property>
+                <child>
+                  <object class="GtkLabel" id="label85">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="yalign">0</property>
+                    <property name="label" translatable="yes">Budget Name:</property>
+                  </object>
+                  <packing>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                    <property name="x_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkEntry" id="BudgetName">
+                    <property name="visible">True</property>
+                    <property name="can_focus">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="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label86">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Notes:</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                    <property name="x_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow16">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <object class="GtkTextView" id="BudgetDescription">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">1</property>
+                    <property name="bottom_attach">2</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="BudgetPeriod">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <child>
+                      <placeholder/>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label87">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Number of Periods:</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                    <property name="x_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="BudgetNumPeriods">
+                    <property name="visible">True</property>
+                    <property name="can_focus">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>
+                    <property name="adjustment">NumPeriods_Adj</property>
+                    <property name="climb_rate">1</property>
+                    <property name="numeric">True</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">4</property>
+                    <property name="bottom_attach">5</property>
+                    <property name="y_options"></property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label94">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Budget Period:</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">3</property>
+                    <property name="bottom_attach">4</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options"></property>
+                    <property name="x_padding">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="left_attach">1</property>
+                    <property name="right_attach">2</property>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHSeparator" id="hseparator2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="top_attach">2</property>
+                    <property name="bottom_attach">3</property>
+                    <property name="x_options">GTK_FILL</property>
+                    <property name="y_options">GTK_FILL</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="label83">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Budget Options</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkHButtonBox" id="dialog-action_area5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <placeholder/>
+            </child>
+            <child>
+              <object class="GtkButton" id="cancelbutton2">
+                <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">2</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="okbutton2">
+                <property name="label">gtk-ok</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">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">2</property>
+          </packing>
+        </child>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">cancelbutton2</action-widget>
+      <action-widget response="-5">okbutton2</action-widget>
+    </action-widgets>
+  </object>
+</interface>

Modified: gnucash/trunk/src/gnome-utils/gnc-recurrence.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-recurrence.c	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome-utils/gnc-recurrence.c	2011-08-20 13:29:03 UTC (rev 21195)
@@ -1,34 +1,34 @@
-/* gnc-recurrence.c:
- *
- */
+/********************************************************************
+ * gnc-recurrence.c -- GncRecurrence is a minimal GUI for           *
+ *                      specifying a Recurrence.                    *
+ *                                                                  *
+ * You see, small is _nice_.  :)                                    *
+ * Copyright (C) 2005, Chris Shoemaker <c.shoemaker at cox.net>        *
+ * 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                   *
+ *******************************************************************/
 
-/* Copyright (C) 2005, Chris Shoemaker <c.shoemaker at cox.net>
- *
- * 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 <gtk/gtk.h>
 #include "config.h"
-
-#include <gnome.h>
-#include <glade/glade.h>
-
 #include "dialog-utils.h"
 #include "gnc-recurrence.h"
+#include "gnc-date-edit.h"
 #include "Recurrence.h"
 #include "gnc-engine.h"
 #include "gnc-gdate-utils.h"
@@ -39,12 +39,11 @@
 {
     GtkVBox widget;
 
-    GnomeDateEdit *gde_start;
+    GtkWidget *gde_start;
     GtkComboBox *gcb_period;
     GtkCheckButton *gcb_eom;
     GtkSpinButton *gsb_mult;
     GtkCheckButton *nth_weekday;
-    GladeXML *xml;
 
     Recurrence recurrence;
 };
@@ -71,11 +70,13 @@
 
 static GObjectClass *parent_class = NULL;
 
+
 static UIPeriodType get_pt_ui(GncRecurrence *gr)
 {
     return (gtk_combo_box_get_active(gr->gcb_period));
 }
 
+
 static void set_pt_ui(GncRecurrence *gr, PeriodType pt)
 {
     UIPeriodType idx;
@@ -110,6 +111,7 @@
         (pt == PERIOD_END_OF_MONTH || pt == PERIOD_LAST_WEEKDAY));
 }
 
+
 static gboolean
 is_ambiguous_relative(const GDate *date)
 {
@@ -122,6 +124,7 @@
     return ((d - 1) / 7 == 3) && (dim - d < 7);
 }
 
+
 static gboolean
 is_ambiguous_absolute(const GDate *date)
 {
@@ -129,6 +132,7 @@
             (g_date_get_day(date) < 31));
 }
 
+
 static void
 something_changed( GtkWidget *wid, gpointer d )
 {
@@ -140,7 +144,7 @@
 
 
     pt = get_pt_ui(gr);
-    t = gnome_date_edit_get_time(gr->gde_start);
+    t = gnc_date_edit_get_date(GNC_DATE_EDIT(gr->gde_start));
     g_date_set_time_t(&start, t);
 
     if (pt == GNCR_MONTH)
@@ -174,35 +178,44 @@
     g_signal_emit_by_name(d, "changed");
 }
 
+
 static void
 gnc_recurrence_init( GncRecurrence *gr )
 {
     GtkVBox *vb;
+    GtkHBox *hb;
+    GtkWidget *w;
+    GtkBuilder *builder;
 
     recurrenceSet(&gr->recurrence, 1, PERIOD_MONTH, NULL, WEEKEND_ADJ_NONE);
 
-    gr->xml = gnc_glade_xml_new("budget.glade", "RecurrenceEntryVBox");
-    vb = GTK_VBOX(glade_xml_get_widget(gr->xml, "RecurrenceEntryVBox"));
-    gr->gde_start = GNOME_DATE_EDIT(glade_xml_get_widget(gr->xml,
-                                    "GDE_StartDate"));
+    /* Open up the builder file */
+    builder = gtk_builder_new();
+    gnc_builder_add_from_file (builder,"gnc-recurrence.glade", "GCB_PeriodType_liststore");
+    gnc_builder_add_from_file (builder,"gnc-recurrence.glade", "GSB_Mult_Adj");
+    gnc_builder_add_from_file (builder,"gnc-recurrence.glade", "RecurrenceEntryVBox");
+
+    vb = GTK_VBOX(gtk_builder_get_object (builder, "RecurrenceEntryVBox"));
+    hb = GTK_HBOX(gtk_builder_get_object (builder, "Startdate_hbox"));
+    w = gnc_date_edit_new (time (NULL), FALSE, FALSE);
+    gr->gde_start = w;
+    gtk_box_pack_start (GTK_BOX (hb), w, TRUE, TRUE, 0);
+    gtk_widget_show (w);
+
     gtk_widget_set_no_show_all(GTK_WIDGET(gr->gde_start), TRUE);
-    gr->gcb_period = GTK_COMBO_BOX(glade_xml_get_widget(gr->xml,
-                                   "GCB_PeriodType"));
-    gr->gsb_mult = GTK_SPIN_BUTTON(glade_xml_get_widget(gr->xml, "GSB_Mult"));
-    gr->gcb_eom = GTK_CHECK_BUTTON(glade_xml_get_widget(gr->xml,
-                                   "GCB_EndOfMonth"));
-    gr->nth_weekday = GTK_CHECK_BUTTON(glade_xml_get_widget(gr->xml,
-                                       "GCB_NthWeekday"));
+    gr->gcb_period = GTK_COMBO_BOX(gtk_builder_get_object (builder, "GCB_PeriodType"));
+    gr->gsb_mult = GTK_SPIN_BUTTON(gtk_builder_get_object (builder, "GSB_Mult"));
+    gr->gcb_eom = GTK_CHECK_BUTTON(gtk_builder_get_object (builder, "GCB_EndOfMonth"));
+    gr->nth_weekday = GTK_CHECK_BUTTON(gtk_builder_get_object (builder, "GCB_NthWeekday"));
     gtk_widget_set_no_show_all(GTK_WIDGET(gr->gcb_eom), TRUE);
     gtk_widget_set_no_show_all(GTK_WIDGET(gr->nth_weekday), TRUE);
 
-
     gtk_container_add( GTK_CONTAINER(&gr->widget), GTK_WIDGET(vb) );
 
     gnc_recurrence_set(gr, &gr->recurrence);
     something_changed( GTK_WIDGET(gr), gr);
 
-    /* respond to changes */
+    /* Setup the signals */
     g_signal_connect( G_OBJECT(gr->gde_start), "date_changed",
                       G_CALLBACK(something_changed), gr );
     g_signal_connect( G_OBJECT(gr->gcb_period), "changed",
@@ -215,8 +228,12 @@
                       G_CALLBACK(something_changed), gr );
 
     gtk_widget_show_all( GTK_WIDGET(&gr->widget) );
+
+    gtk_builder_connect_signals(builder, gr);
+    g_object_unref(G_OBJECT(builder));
 }
 
+
 void
 gnc_recurrence_set(GncRecurrence *gr, const Recurrence *r)
 {
@@ -235,12 +252,13 @@
     {
         time_t t;
         t = gnc_timet_get_day_start_gdate (&start);
-        gnome_date_edit_set_time(gr->gde_start, t);
+        gnc_date_edit_set_time(GNC_DATE_EDIT(gr->gde_start), t);
     }
 
     set_pt_ui(gr, pt);
 }
 
+
 const Recurrence *
 gnc_recurrence_get(GncRecurrence *gr)
 {
@@ -252,7 +270,7 @@
     gboolean use_eom = FALSE, rel;
 
     mult = (guint) gtk_spin_button_get_value_as_int(gr->gsb_mult);
-    t = gnome_date_edit_get_time(gr->gde_start);
+    t = gnc_date_edit_get_date(GNC_DATE_EDIT(gr->gde_start));
     g_date_set_time_t(&start, t);
     period = get_pt_ui(gr);
 
@@ -311,11 +329,11 @@
         pt = PERIOD_INVALID;
     }
 
-
     recurrenceSet(&gr->recurrence, mult, pt, &start, WEEKEND_ADJ_NONE);
     return &gr->recurrence;
+}
 
-}
+
 static void
 gnc_recurrence_finalize(GObject *o)
 {
@@ -325,6 +343,7 @@
         G_OBJECT_CLASS (parent_class)->finalize (o);
 }
 
+
 static void
 gnc_recurrence_class_init( GncRecurrenceClass *klass )
 {
@@ -347,6 +366,7 @@
     object_class->finalize = gnc_recurrence_finalize;
 }
 
+
 GType
 gnc_recurrence_get_type()
 {
@@ -370,6 +390,7 @@
     return type;
 }
 
+
 GtkWidget *
 gnc_recurrence_new()
 {
@@ -381,10 +402,10 @@
     return GTK_WIDGET(gr);
 }
 
+
 /* TODO: Maybe this stuff should go into another file.
  *
  */
-
 struct _GncRecurrenceComp
 {
     GtkScrolledWindow widget;
@@ -399,22 +420,27 @@
     GList *rlist;
 };
 
+
 typedef struct
 {
     GtkScrolledWindowClass parent_class;
     void (*changed) (GncRecurrenceComp *gr);
 } GncRecurrenceCompClass;
 
+
 typedef enum
 {
     GNCRECURRENCECOMP_CHANGED,
     GNCRC_LAST_SIGNAL
 } GNCRC_Signals;
 
+
 static void grc_changed(GtkWidget *w, gpointer data)
 {
     g_signal_emit_by_name(data, "changed");
 }
+
+
 static void addRecurrence(GncRecurrenceComp *grc, GncRecurrence *gr)
 {
 
@@ -429,6 +455,8 @@
 
 
 }
+
+
 static void removeRecurrence(GncRecurrenceComp *grc)
 {
     GList *children, *last;
@@ -446,6 +474,7 @@
 
 }
 
+
 static void addClicked(GtkButton *b, gpointer data)
 {
     GncRecurrenceComp *grc = data;
@@ -455,6 +484,7 @@
     addRecurrence(grc, gr);
 }
 
+
 static void removeClicked(GtkButton *b, gpointer data)
 {
     GncRecurrenceComp *grc = data;
@@ -463,6 +493,7 @@
         removeRecurrence(grc);
 }
 
+
 void
 gnc_recurrence_comp_set_list(GncRecurrenceComp *grc, const GList *rlist)
 {
@@ -482,6 +513,7 @@
     }
 }
 
+
 GList *
 gnc_recurrence_comp_get_list(GncRecurrenceComp *grc)
 {
@@ -540,6 +572,7 @@
     addClicked(NULL, grc);
 }
 
+
 static void
 gnc_recurrence_comp_class_init( GncRecurrenceCompClass *klass )
 {
@@ -562,6 +595,7 @@
     //object_class->finalize = gnc_recurrence_finalize;
 }
 
+
 GType
 gnc_recurrence_comp_get_type()
 {
@@ -585,6 +619,7 @@
     return type;
 }
 
+
 GtkWidget *
 gnc_recurrence_comp_new()
 {

Modified: gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am	2011-08-20 03:45:17 UTC (rev 21194)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/Makefile.am	2011-08-20 13:29:03 UTC (rev 21195)
@@ -2,6 +2,7 @@
 gtkbuilder_DATA = \
   dialog-commodity.glade \
   dialog-transfer.glade \
-  gnc-date-format.glade
+  gnc-date-format.glade \
+  gnc-recurrence.glade
 
 EXTRA_DIST = $(gtkbuilder_DATA)

Added: gnucash/trunk/src/gnome-utils/gtkbuilder/gnc-recurrence.glade
===================================================================
--- gnucash/trunk/src/gnome-utils/gtkbuilder/gnc-recurrence.glade	                        (rev 0)
+++ gnucash/trunk/src/gnome-utils/gtkbuilder/gnc-recurrence.glade	2011-08-20 13:29:03 UTC (rev 21195)
@@ -0,0 +1,185 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy toplevel-contextual -->
+  <object class="GtkListStore" id="GCB_PeriodType_liststore">
+    <columns>
+      <!-- column-name item -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">day(s)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">week(s)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">month(s)</col>
+      </row>
+      <row>
+        <col id="0" translatable="yes">year(s)</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkAdjustment" id="GSB_Mult_Adj">
+    <property name="lower">1</property>
+    <property name="upper">250</property>
+    <property name="value">1</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkWindow" id="GncRecurrenceEntry">
+    <property name="visible">True</property>
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkVBox" id="RecurrenceEntryVBox">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <child>
+          <object class="GtkHBox" id="hbox218">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkLabel" id="label90">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="label" translatable="yes">Every </property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSpinButton" id="GSB_Mult">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="tooltip_text" translatable="yes">Number of calendar units in the recurrence:  E.g. Biweekly = every 2 weeks; Quarterly = every 3 months</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>
+                <property name="adjustment">GSB_Mult_Adj</property>
+                <property name="climb_rate">1</property>
+                <property name="numeric">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="GCB_PeriodType">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="model">GCB_PeriodType_liststore</property>
+                <child>
+                  <object class="GtkCellRendererText" id="cellrenderertext1"/>
+                  <attributes>
+                    <attribute name="text">0</attribute>
+                  </attributes>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">2</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="GtkHBox" id="hbox219">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkLabel" id="label89">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">beginning on: </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="Startdate_hbox">
+                <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">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHBox" id="hbox220">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkCheckButton" id="GCB_EndOfMonth">
+                <property name="label" translatable="yes">last of month</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Always use the last day (or day of week) in the month?</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkCheckButton" id="GCB_NthWeekday">
+                <property name="label" translatable="yes">same week & day</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="tooltip_text" translatable="yes">Match the "day of week" and "week of month"?  (for example, the "second Tuesday" of every month)</property>
+                <property name="use_action_appearance">False</property>
+                <property name="use_underline">True</property>
+                <property name="draw_indicator">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">True</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>



More information about the gnucash-changes mailing list