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