Skip to content

Commit

Permalink
Fix missing mnemonic keys after changes to GNCAmountEdit
Browse files Browse the repository at this point in the history
With the changes to GNCAmountEdit, the way the mnemonic keys are
associated to the entry widget of the GNCAmountEdit needs to change so
have created a function gnc_amount_edit_make_mnemeonic_target which
does the same as GNCDateEdit.
  • Loading branch information
Bob-IT committed Jul 15, 2021
1 parent eb3a578 commit 36674d3
Show file tree
Hide file tree
Showing 11 changed files with 34 additions and 12 deletions.
4 changes: 3 additions & 1 deletion gnucash/gnome-utils/dialog-account.c
Expand Up @@ -1504,10 +1504,12 @@ gnc_account_window_create(GtkWindow *parent, AccountWindow *aw)
gtk_widget_show (amount);

label = GTK_WIDGET(gtk_builder_get_object (builder, "balance_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL(label), amount);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(amount), label);

box = GTK_WIDGET(gtk_builder_get_object (builder, "opening_balance_date_box"));
label = GTK_WIDGET(gtk_builder_get_object (builder, "date_label"));
date_edit = gnc_date_edit_new (gnc_time (NULL), 0, 0);
gnc_date_edit_make_mnemonic_target (GNC_DATE_EDIT(date_edit), label);
aw->opening_balance_date_edit = date_edit;
gtk_box_pack_start(GTK_BOX(box), date_edit, TRUE, TRUE, 0);
gtk_widget_show (date_edit);
Expand Down
2 changes: 1 addition & 1 deletion gnucash/gnome-utils/dialog-tax-table.c
Expand Up @@ -334,7 +334,7 @@ new_tax_table_dialog (TaxTableWindow *ttw, gboolean new_table,

/* Fix mnemonics for generated target widgets */
widget = GTK_WIDGET(gtk_builder_get_object (builder, "value_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL(widget), ntt->amount_entry);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(ntt->amount_entry), widget);
widget = GTK_WIDGET(gtk_builder_get_object (builder, "account_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL(widget), ntt->acct_tree);

Expand Down
9 changes: 9 additions & 0 deletions gnucash/gnome-utils/gnc-amount-edit.c
Expand Up @@ -616,3 +616,12 @@ gnc_amount_edit_show_warning_symbol (GNCAmountEdit *gae, gboolean show)

gae->show_warning_symbol = show;
}

void
gnc_amount_edit_make_mnemonic_target (GNCAmountEdit *gae, GtkWidget *label)
{
if (!gae)
return;

gtk_label_set_mnemonic_widget (GTK_LABEL(label), GTK_WIDGET(gae->entry));
}
9 changes: 9 additions & 0 deletions gnucash/gnome-utils/gnc-amount-edit.h
Expand Up @@ -236,4 +236,13 @@ void gnc_amount_edit_select_region (GNCAmountEdit *gae,
*/
void gnc_amount_edit_show_warning_symbol (GNCAmountEdit *gae, gboolean show);

/**
* gnc_amount_edit_make_mnemonic_target:
* @gae: The GNCAmountEdit widget
* @label: The label whose access key should set focus to this widget.
*
* Returns nothing.
*/
void gnc_amount_edit_make_mnemonic_target (GNCAmountEdit *gae, GtkWidget *label);

#endif
4 changes: 2 additions & 2 deletions gnucash/gnome/assistant-stock-split.c
Expand Up @@ -630,7 +630,7 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
info->distribution_edit = amount;

label = GTK_WIDGET(gtk_builder_get_object(builder, "distribution_label"));
gtk_label_set_mnemonic_widget(GTK_LABEL(label), amount);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(amount), label);

amount = gnc_amount_edit_new ();
gnc_amount_edit_set_print_info (GNC_AMOUNT_EDIT (amount),
Expand All @@ -643,7 +643,7 @@ gnc_stock_split_assistant_create (StockSplitInfo *info)
info->price_edit = amount;

label = GTK_WIDGET(gtk_builder_get_object(builder, "price_label"));
gtk_label_set_mnemonic_widget(GTK_LABEL(label), amount);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(amount), label);

info->price_currency_edit = gnc_currency_edit_new();
gnc_currency_edit_set_currency (GNC_CURRENCY_EDIT(info->price_currency_edit), gnc_default_currency());
Expand Down
2 changes: 1 addition & 1 deletion gnucash/gnome/dialog-price-editor.c
Expand Up @@ -539,7 +539,7 @@ gnc_price_pedit_dialog_create (GtkWidget *parent,
gtk_entry_set_activates_default(GTK_ENTRY(entry), TRUE);
gtk_widget_show (w);
label = GTK_WIDGET(gtk_builder_get_object (builder, "price_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL(label), w);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(w), label);

g_signal_connect (G_OBJECT (w), "changed",
G_CALLBACK (pedit_data_changed_cb), pedit_dialog);
Expand Down
6 changes: 3 additions & 3 deletions gnucash/gnome/window-autoclear.c
Expand Up @@ -205,7 +205,7 @@ AutoClearWindow *
autoClearWindow (GtkWidget *parent, Account *account)
{
GtkBox *box;
GtkLabel *label;
GtkWidget *label;
GtkBuilder *builder;
AutoClearWindow *data;
char *title;
Expand Down Expand Up @@ -245,8 +245,8 @@ autoClearWindow (GtkWidget *parent, Account *account)
box = GTK_BOX(gtk_builder_get_object (builder, "end_value_box"));
gtk_box_pack_start(box, GTK_WIDGET(data->end_value), TRUE, TRUE, 0);

label = GTK_LABEL(gtk_builder_get_object (builder, "end_label"));
gtk_label_set_mnemonic_widget(label, GTK_WIDGET(data->end_value));
label = GTK_WIDGET(gtk_builder_get_object (builder, "end_label"));
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(data->end_value), label);

/* pre-fill with current balance */
after = xaccAccountGetClearedBalance (data->account);
Expand Down
2 changes: 1 addition & 1 deletion gnucash/gnome/window-reconcile.c
Expand Up @@ -740,7 +740,7 @@ startRecnWindow(GtkWidget *parent, Account *account,
box = GTK_WIDGET(gtk_builder_get_object (builder, "ending_value_box"));
gtk_box_pack_start(GTK_BOX(box), end_value, TRUE, TRUE, 0);
label = GTK_WIDGET(gtk_builder_get_object (builder, "end_label"));
gtk_label_set_mnemonic_widget(GTK_LABEL(label), end_value);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(end_value), label);

gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, &data);

Expand Down
2 changes: 1 addition & 1 deletion gnucash/gnome/window-reconcile2.c
Expand Up @@ -703,7 +703,7 @@ startRecnWindow (GtkWidget *parent, Account *account,
box = GTK_WIDGET (gtk_builder_get_object (builder, "ending_value_box"));
gtk_box_pack_start (GTK_BOX (box), end_value, TRUE, TRUE, 0);
label = GTK_WIDGET (gtk_builder_get_object (builder, "end_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL (label), end_value);
gnc_amount_edit_make_mnemonic_target (GNC_AMOUNT_EDIT(end_value), label);

gtk_builder_connect_signals_full (builder, gnc_builder_connect_full_func, &data);

Expand Down
4 changes: 3 additions & 1 deletion gnucash/import-export/aqb/dialog-ab-trans.c
Expand Up @@ -272,7 +272,7 @@ gnc_ab_trans_dialog_new(GtkWidget *parent, GNC_AB_ACCOUNT_SPEC *ab_acc,
GtkWidget *recp_name_heading;
GtkWidget *recp_account_heading;
GtkWidget *recp_bankcode_heading;
GtkWidget *amount_hbox;
GtkWidget *amount_hbox, *amount_label;
GtkWidget *orig_name_heading;
GtkWidget *orig_account_heading;
GtkWidget *orig_account_label;
Expand Down Expand Up @@ -326,6 +326,7 @@ gnc_ab_trans_dialog_new(GtkWidget *parent, GNC_AB_ACCOUNT_SPEC *ab_acc,
td->recp_bankcode_entry = GTK_WIDGET(gtk_builder_get_object (builder, "recp_bankcode_entry"));
td->recp_bankname_label = GTK_WIDGET(gtk_builder_get_object (builder, "recp_bankname_label"));
amount_hbox = GTK_WIDGET(gtk_builder_get_object (builder, "amount_hbox"));
amount_label = GTK_WIDGET(gtk_builder_get_object (builder, "amount_label"));
td->purpose_entry = GTK_WIDGET(gtk_builder_get_object (builder, "purpose_entry"));
td->purpose_cont_entry = GTK_WIDGET(gtk_builder_get_object (builder, "purpose_cont_entry"));
td->purpose_cont2_entry = GTK_WIDGET(gtk_builder_get_object (builder, "purpose_cont2_entry"));
Expand All @@ -345,6 +346,7 @@ gnc_ab_trans_dialog_new(GtkWidget *parent, GNC_AB_ACCOUNT_SPEC *ab_acc,
/* Amount edit */
td->amount_edit = gnc_amount_edit_new();
gtk_box_pack_start(GTK_BOX(amount_hbox), td->amount_edit, TRUE, TRUE, 0);
gnc_amount_edit_make_mnemonic_target(GNC_AMOUNT_EDIT(td->amount_edit), amount_label);
gnc_amount_edit_set_evaluate_on_enter(GNC_AMOUNT_EDIT(td->amount_edit),
TRUE);
gnc_amount_edit_set_fraction(GNC_AMOUNT_EDIT(td->amount_edit),
Expand Down
2 changes: 1 addition & 1 deletion gnucash/import-export/aqb/dialog-ab.glade
Expand Up @@ -1206,7 +1206,7 @@
</packing>
</child>
<child>
<object class="GtkLabel" id="label8877434">
<object class="GtkLabel" id="amount_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Amount</property>
Expand Down

0 comments on commit 36674d3

Please sign in to comment.