Fix missing mnemonic keys after changes to GNCAmountEdit

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.
This commit is contained in:
Robert Fewell 2021-07-15 15:07:01 +01:00
parent eb3a578ac0
commit 36674d36c5
11 changed files with 34 additions and 12 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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));
}

View File

@ -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

View File

@ -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),
@ -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());

View File

@ -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);

View File

@ -205,7 +205,7 @@ AutoClearWindow *
autoClearWindow (GtkWidget *parent, Account *account)
{
GtkBox *box;
GtkLabel *label;
GtkWidget *label;
GtkBuilder *builder;
AutoClearWindow *data;
char *title;
@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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;
@ -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"));
@ -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),

View File

@ -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>