gnucash maint: Multiple changes pushed

Christopher Lam clam at code.gnucash.org
Wed Oct 14 08:19:22 EDT 2020


Updated	 via  https://github.com/Gnucash/gnucash/commit/305a3a82 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/2f366e58 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/e9f67035 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1ab28db2 (commit)
	from  https://github.com/Gnucash/gnucash/commit/792d52b4 (commit)



commit 305a3a825709760ebd951f539a8551429478717e
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Wed Oct 14 20:17:15 2020 +0800

    [auto-clear] default to cleared balance, select end_value
    
    Because the user is expected to overwrite the end_value, by default we
    select the end_value. Also select if erroring out.

diff --git a/gnucash/gnome/window-autoclear.c b/gnucash/gnome/window-autoclear.c
index 9da6ba61e..4bdf14874 100644
--- a/gnucash/gnome/window-autoclear.c
+++ b/gnucash/gnome/window-autoclear.c
@@ -241,6 +241,7 @@ gnc_autoclear_window_ok_cb (GtkWidget *widget,
                 /* We couldn't reconstruct the solution */
                 PINFO("    Solution not unique.\n");
                 gtk_label_set_text(data->status_label, _("Cannot uniquely clear splits. Found multiple possibilities."));
+                gtk_editable_select_region (GTK_EDITABLE (data->end_value), 0, -1);
                 return;
             }
         }
@@ -248,6 +249,7 @@ gnc_autoclear_window_ok_cb (GtkWidget *widget,
         {
             PINFO("    No solution found.\n");
             gtk_label_set_text(data->status_label, _("The selected amount cannot be cleared."));
+            gtk_editable_select_region (GTK_EDITABLE (data->end_value), 0, -1);
             return;
         }
     }
@@ -333,11 +335,12 @@ autoClearWindow (GtkWidget *parent, Account *account)
     gtk_label_set_mnemonic_widget(label, GTK_WIDGET(data->end_value));
 
     /* pre-fill with current balance */
-    after = xaccAccountGetBalance(data->account);
+    after = xaccAccountGetClearedBalance (data->account);
     if (gnc_reverse_balance(data->account))
         after = gnc_numeric_neg(after);
     gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (data->end_value), after);
     gtk_widget_grab_focus(GTK_WIDGET(data->end_value));
+    gtk_editable_select_region (GTK_EDITABLE (data->end_value), 0, -1);
 
     data->status_label = GTK_LABEL(gtk_builder_get_object (builder, "status_label"));
 

commit 2f366e58ff01143d30d888bb27bcff412581bbf7
Author: Cristian Klein <cristian.klein at elastisys.com>
Date:   Wed Oct 14 08:01:53 2020 +0200

    [auto-clear] Respect account balance reversal

diff --git a/gnucash/gnome/window-autoclear.c b/gnucash/gnome/window-autoclear.c
index 52d418852..9da6ba61e 100644
--- a/gnucash/gnome/window-autoclear.c
+++ b/gnucash/gnome/window-autoclear.c
@@ -139,6 +139,8 @@ gnc_autoclear_window_ok_cb (GtkWidget *widget,
 
     /* Value we have to reach */
     toclear_value = gnc_amount_edit_get_amount(data->end_value);
+    if (gnc_reverse_balance(data->account))
+        toclear_value = gnc_numeric_neg(toclear_value);
     toclear_value = gnc_numeric_convert(toclear_value, xaccAccountGetCommoditySCU(data->account), GNC_HOW_RND_NEVER);
 
     /* Extract which splits are not cleared and compute the amount we have to clear */
@@ -332,6 +334,8 @@ autoClearWindow (GtkWidget *parent, Account *account)
 
     /* pre-fill with current balance */
     after = xaccAccountGetBalance(data->account);
+    if (gnc_reverse_balance(data->account))
+        after = gnc_numeric_neg(after);
     gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (data->end_value), after);
     gtk_widget_grab_focus(GTK_WIDGET(data->end_value));
 

commit e9f6703562e4bb6524875ecf6155d4397690eccc
Author: Cristian Klein <cristian.klein at elastisys.com>
Date:   Tue Oct 13 23:18:49 2020 +0200

    [auto-clear] Better explain the feature

diff --git a/gnucash/gtkbuilder/window-autoclear.glade b/gnucash/gtkbuilder/window-autoclear.glade
index 125c256fa..7486f9f76 100644
--- a/gnucash/gtkbuilder/window-autoclear.glade
+++ b/gnucash/gtkbuilder/window-autoclear.glade
@@ -1,11 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.36.0 -->
+<!-- Generated with glade 3.22.2 -->
 <interface>
   <requires lib="gtk+" version="3.22"/>
   <object class="GtkDialog" id="auto_clear_start_dialog">
     <property name="can_focus">False</property>
     <property name="resizable">False</property>
     <property name="type_hint">dialog</property>
+    <child type="titlebar">
+      <placeholder/>
+    </child>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox6">
         <property name="visible">True</property>
@@ -68,8 +71,11 @@
               <object class="GtkLabel" id="label1">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="label" translatable="yes"><b>Auto-Clear Information</b></property>
+                <property name="label" translatable="yes"><b>Auto-Clear Information</b>
+Use this dialog if you want GnuCash to automatically find which transactions are cleared, given an ending balance. For example, said ending balance can be the current balance given by your online bank.</property>
                 <property name="use_markup">True</property>
+                <property name="wrap">True</property>
+                <property name="max_width_chars">80</property>
               </object>
               <packing>
                 <property name="expand">False</property>
@@ -143,8 +149,5 @@
       <action-widget response="-6">cancel_button</action-widget>
       <action-widget response="-5">ok_button</action-widget>
     </action-widgets>
-    <child type="titlebar">
-      <placeholder/>
-    </child>
   </object>
 </interface>

commit 1ab28db23ffa33c3fb68fe4de33615cc6a7a9aaa
Author: Cristian Klein <cristian.klein at elastisys.com>
Date:   Tue Oct 13 23:10:12 2020 +0200

    [auto-clear] Automatically add current balance

diff --git a/gnucash/gnome/window-autoclear.c b/gnucash/gnome/window-autoclear.c
index 3f7055c98..52d418852 100644
--- a/gnucash/gnome/window-autoclear.c
+++ b/gnucash/gnome/window-autoclear.c
@@ -303,6 +303,7 @@ autoClearWindow (GtkWidget *parent, Account *account)
     GtkBuilder *builder;
     AutoClearWindow *data;
     char *title;
+    gnc_numeric after;
 
     data = g_new0 (AutoClearWindow, 1);
     data->account = account;
@@ -328,6 +329,10 @@ autoClearWindow (GtkWidget *parent, Account *account)
 
     label = GTK_LABEL(gtk_builder_get_object (builder, "end_label"));
     gtk_label_set_mnemonic_widget(label, GTK_WIDGET(data->end_value));
+
+    /* pre-fill with current balance */
+    after = xaccAccountGetBalance(data->account);
+    gnc_amount_edit_set_amount (GNC_AMOUNT_EDIT (data->end_value), after);
     gtk_widget_grab_focus(GTK_WIDGET(data->end_value));
 
     data->status_label = GTK_LABEL(gtk_builder_get_object (builder, "status_label"));



Summary of changes:
 gnucash/gnome/window-autoclear.c          | 12 ++++++++++++
 gnucash/gtkbuilder/window-autoclear.glade | 13 ++++++++-----
 2 files changed, 20 insertions(+), 5 deletions(-)



More information about the gnucash-changes mailing list