gnucash stable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Mon Jul 28 14:29:35 EDT 2025


Updated	 via  https://github.com/Gnucash/gnucash/commit/e3f7b126 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/ced99ee2 (commit)
	from  https://github.com/Gnucash/gnucash/commit/a7732489 (commit)



commit e3f7b126019ed6499c8097ce0b2c16bb2bd17e50
Merge: a773248939 ced99ee234
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Jul 28 11:26:01 2025 -0700

    Merge Sherlock's 'bug799650' insto stable.


commit ced99ee23417c8bd0b172b3eabb00a5866e058db
Author: Sherlock <119709043+agwekixj at users.noreply.github.com>
Date:   Sat Jul 26 22:50:48 2025 -0700

    Bug 799650 - Reconcile Ending Balance Ignored When Statement Date Set
    
    Connected an activate callback to the Ending Balance entry widget to handle the value when the Enter key is used.

diff --git a/gnucash/gnome/window-reconcile.cpp b/gnucash/gnome/window-reconcile.cpp
index 8a9f5a1456..aabb067a04 100644
--- a/gnucash/gnome/window-reconcile.cpp
+++ b/gnucash/gnome/window-reconcile.cpp
@@ -307,23 +307,19 @@ recnRecalculateBalance (RecnWindow *recnData)
     return diff;
 }
 
-
-/* amount_edit_focus_out_cb
- *   Callback on focus-out event for statement Ending Balance.
+/* amount_edit_cb
+ *   Callback on activate event for statement Ending Balance.
  *   Sets the user_set_value flag true if the amount entered is
  *   different to the calculated Ending Balance as at the default
  *   Statement Date. This prevents the entered Ending Balance
  *   being recalculated if the Statement Date is changed.
  *
  * Args:   widget         - Ending Balance widget
- *         event          - event triggering this callback
  *         data           - structure containing info about this
  *                          reconciliation process.
- * Returns:  False - propagate the event to the widget's parent.
  */
-static gboolean
-amount_edit_focus_out_cb(GtkWidget *widget, GdkEventFocus *event,
-                         startRecnWindowData *data)
+static void
+amount_edit_cb(GtkWidget *widget, startRecnWindowData *data)
 {
     gnc_numeric value;
     gint result = gnc_amount_edit_expr_is_valid (GNC_AMOUNT_EDIT(data->end_value),
@@ -340,6 +336,22 @@ amount_edit_focus_out_cb(GtkWidget *widget, GdkEventFocus *event,
         }
         data->user_set_value = !gnc_numeric_equal (value, data->original_value);
     }
+}
+
+/* amount_edit_focus_out_cb
+ *   Callback on focus-out event for statement Ending Balance.
+ *
+ * Args:   widget         - Ending Balance widget
+ *         event          - event triggering this callback
+ *         data           - structure containing info about this
+ *                          reconciliation process.
+ * Returns:  False - propagate the event to the widget's parent.
+ */
+static gboolean
+amount_edit_focus_out_cb(GtkWidget *widget, GdkEventFocus *event,
+                         startRecnWindowData *data)
+{
+    amount_edit_cb(widget, data);
     return FALSE;
 }
 
@@ -776,6 +788,9 @@ startRecnWindow(GtkWidget *parent, Account *account,
         fo_handler_id = g_signal_connect (G_OBJECT(entry), "focus-out-event",
                                           G_CALLBACK(amount_edit_focus_out_cb),
                                           (gpointer) &data);
+        g_signal_connect (G_OBJECT(entry), "activate",
+                                          G_CALLBACK(amount_edit_cb),
+                                          (gpointer) &data);
         gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
 
         /* if it's possible to enter an interest payment or charge for this



Summary of changes:
 gnucash/gnome/window-reconcile.cpp | 31 +++++++++++++++++++++++--------
 1 file changed, 23 insertions(+), 8 deletions(-)



More information about the gnucash-changes mailing list