Bug 798792 - "Delete Split" missing from context menu

Missed adding the 'Delete and Duplicate Split' context menu entries
when the menu opened from the expanded split.
This commit is contained in:
Robert Fewell 2023-03-20 10:57:10 +00:00
parent 46d3829481
commit 0110442c28
2 changed files with 38 additions and 10 deletions

View File

@ -312,7 +312,9 @@ static GActionEntry gnc_plugin_page_register_actions [] =
{ "CopyTransactionAction", gnc_plugin_page_register_cmd_copy_transaction, NULL, NULL, NULL },
{ "PasteTransactionAction", gnc_plugin_page_register_cmd_paste_transaction, NULL, NULL, NULL },
{ "DuplicateTransactionAction", gnc_plugin_page_register_cmd_duplicate_transaction, NULL, NULL, NULL },
{ "DuplicateSplitAction", gnc_plugin_page_register_cmd_duplicate_transaction, NULL, NULL, NULL },
{ "DeleteTransactionAction", gnc_plugin_page_register_cmd_delete_transaction, NULL, NULL, NULL },
{ "DeleteSplitAction", gnc_plugin_page_register_cmd_delete_transaction, NULL, NULL, NULL },
{ "RemoveTransactionSplitsAction", gnc_plugin_page_register_cmd_reinitialize_transaction, NULL, NULL, NULL },
{ "RecordTransactionAction", gnc_plugin_page_register_cmd_enter_transaction, NULL, NULL, NULL },
{ "CancelTransactionAction", gnc_plugin_page_register_cmd_cancel_transaction, NULL, NULL, NULL },
@ -405,7 +407,7 @@ static GncToolBarShortNames toolbar_labels[] =
{ "LinkTransactionAction", N_ ("Manage Document Link") },
{ "LinkedTransactionOpenAction", N_ ("Open Linked Document") },
{ "JumpLinkedInvoiceAction", N_ ("Invoice") },
{ "ActionsStockAssistantAction", N_ ("Stock Assistant") },
{ "ActionsStockAssistantAction", N_ ("Stock Assistant") },
{ NULL, NULL },
};
@ -850,6 +852,24 @@ static const char* split_action_tips[] =
NULL
};
static void
update_context_menu (GncPluginPage *page, gboolean read_only, gboolean voided, gboolean enable_split)
{
GAction *action;
action = gnc_plugin_page_get_action (page, "DuplicateTransactionAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided & !enable_split);
action = gnc_plugin_page_get_action (page, "DeleteTransactionAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided & !enable_split);
action = gnc_plugin_page_get_action (page, "DuplicateSplitAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided & enable_split);
action = gnc_plugin_page_get_action (page, "DeleteSplitAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided & enable_split);
}
static void
gnc_plugin_page_register_ui_update (gpointer various,
GncPluginPageRegister* page)
@ -953,16 +973,10 @@ gnc_plugin_page_register_ui_update (gpointer various,
"PasteTransactionAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided);
action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(page),
"DeleteTransactionAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided);
if (cursor_class == CURSOR_CLASS_SPLIT)
{
action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(page),
"DuplicateTransactionAction");
g_simple_action_set_enabled (G_SIMPLE_ACTION(action), !read_only & !voided);
}
update_context_menu (GNC_PLUGIN_PAGE(page), read_only, voided, TRUE);
else
update_context_menu (GNC_PLUGIN_PAGE(page), read_only, voided, FALSE);
action = gnc_plugin_page_get_action (GNC_PLUGIN_PAGE(page),
"RemoveTransactionSplitsAction");

View File

@ -365,11 +365,25 @@
<attribute name="label" translatable="yes">Dup_licate Transaction</attribute>
<attribute name="action">GncPluginPageRegisterActions.DuplicateTransactionAction</attribute>
<attribute name="tooltip" translatable="yes">Make a copy of the current transaction</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Delete Transaction</attribute>
<attribute name="action">GncPluginPageRegisterActions.DeleteTransactionAction</attribute>
<attribute name="tooltip" translatable="yes">Delete the current transaction</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Dup_licate Split</attribute>
<attribute name="action">GncPluginPageRegisterActions.DuplicateSplitAction</attribute>
<attribute name="tooltip" translatable="yes">Make a copy of the current split</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Delete Split</attribute>
<attribute name="action">GncPluginPageRegisterActions.DeleteSplitAction</attribute>
<attribute name="tooltip" translatable="yes">Delete the current split</attribute>
<attribute name="hidden-when">action-disabled</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Remo_ve Other Splits</attribute>