mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Bug #310567: Add menu item to shift transaction forward in sorting order
Patch by Steven N. Severinghaus: For me, it would be sufficient to have keyboard shortcuts to increment and decrement the entry time of the transaction by one second. This is essentially what I have to do when I edit the XAC file manually. If hidden functionality isn't acceptable, we could add "Shift forward" and "Shift backward" items under the "Transaction" menu. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18427 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
b647677f1b
commit
9eb0192147
@ -126,6 +126,7 @@ static void gnc_plugin_page_register_cmd_paste_transaction (GtkAction *action, G
|
||||
static void gnc_plugin_page_register_cmd_void_transaction (GtkAction *action, GncPluginPageRegister *plugin_page);
|
||||
static void gnc_plugin_page_register_cmd_unvoid_transaction (GtkAction *action, GncPluginPageRegister *plugin_page);
|
||||
static void gnc_plugin_page_register_cmd_reverse_transaction (GtkAction *action, GncPluginPageRegister *plugin_page);
|
||||
static void gnc_plugin_page_register_cmd_shift_transaction_forward (GtkAction *action, GncPluginPageRegister *plugin_page);
|
||||
static void gnc_plugin_page_register_cmd_view_sort_by (GtkAction *action, GncPluginPageRegister *plugin_page);
|
||||
static void gnc_plugin_page_register_cmd_view_filter_by (GtkAction *action, GncPluginPageRegister *plugin_page);
|
||||
static void gnc_plugin_page_register_cmd_style_changed (GtkAction *action, GtkRadioAction *current, GncPluginPageRegister *plugin_page);
|
||||
@ -222,6 +223,8 @@ static GtkActionEntry gnc_plugin_page_register_actions [] =
|
||||
G_CALLBACK (gnc_plugin_page_register_cmd_unvoid_transaction) },
|
||||
{ "ReverseTransactionAction", NULL, N_("Add _Reversing Transaction"), NULL, NULL,
|
||||
G_CALLBACK (gnc_plugin_page_register_cmd_reverse_transaction) },
|
||||
{ "ShiftTransactionForwardAction", NULL, N_("_Shift Transaction Forward"), NULL, NULL,
|
||||
G_CALLBACK (gnc_plugin_page_register_cmd_shift_transaction_forward) },
|
||||
|
||||
/* View menu */
|
||||
|
||||
@ -2149,6 +2152,35 @@ gnc_plugin_page_register_cmd_reverse_transaction (GtkAction *action,
|
||||
LEAVE(" ");
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_plugin_page_register_cmd_shift_transaction_forward (GtkAction *action,
|
||||
GncPluginPageRegister *page)
|
||||
{
|
||||
GncPluginPageRegisterPrivate *priv;
|
||||
SplitRegister *reg;
|
||||
GNCSplitReg *gsr;
|
||||
Transaction *trans, *new_trans;
|
||||
Timespec entered;
|
||||
|
||||
ENTER("(action %p, page %p)", action, page);
|
||||
|
||||
g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
|
||||
|
||||
priv = GNC_PLUGIN_PAGE_REGISTER_GET_PRIVATE(page);
|
||||
reg = gnc_ledger_display_get_split_register(priv->ledger);
|
||||
trans = gnc_split_register_get_current_trans(reg);
|
||||
if (trans == NULL)
|
||||
return;
|
||||
|
||||
qof_event_suspend();
|
||||
|
||||
xaccTransGetDatePostedTS(trans, &entered);
|
||||
xaccTransSetDatePostedSecs(trans, entered.tv_sec+1);
|
||||
|
||||
qof_event_resume();
|
||||
|
||||
LEAVE(" ");
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_plugin_page_register_cmd_view_sort_by (GtkAction *action,
|
||||
|
@ -20,6 +20,7 @@
|
||||
<menuitem name="VoidTransaction" action="VoidTransactionAction"/>
|
||||
<menuitem name="UnvoidTransaction" action="UnvoidTransactionAction"/>
|
||||
<menuitem name="ReverseTransaction" action="ReverseTransactionAction"/>
|
||||
<menuitem name="ShiftTransactionForward" action="ShiftTransactionForwardAction"/>
|
||||
</menu>
|
||||
|
||||
<menu name="View" action="ViewAction">
|
||||
|
Loading…
Reference in New Issue
Block a user