r18427 - gnucash/trunk/src/gnome - Bug #310567: Add menu item to shift transaction forward in sorting order
Christian Stimming
cstim at code.gnucash.org
Fri Nov 20 14:57:34 EST 2009
Author: cstim
Date: 2009-11-20 14:57:33 -0500 (Fri, 20 Nov 2009)
New Revision: 18427
Trac: http://svn.gnucash.org/trac/changeset/18427
Modified:
gnucash/trunk/src/gnome/gnc-plugin-page-register.c
gnucash/trunk/src/gnome/ui/gnc-plugin-page-register-ui.xml
Log:
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.
Modified: gnucash/trunk/src/gnome/gnc-plugin-page-register.c
===================================================================
--- gnucash/trunk/src/gnome/gnc-plugin-page-register.c 2009-11-20 19:57:13 UTC (rev 18426)
+++ gnucash/trunk/src/gnome/gnc-plugin-page-register.c 2009-11-20 19:57:33 UTC (rev 18427)
@@ -126,6 +126,7 @@
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 @@
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,7 +2152,36 @@
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,
GncPluginPageRegister *page)
Modified: gnucash/trunk/src/gnome/ui/gnc-plugin-page-register-ui.xml
===================================================================
--- gnucash/trunk/src/gnome/ui/gnc-plugin-page-register-ui.xml 2009-11-20 19:57:13 UTC (rev 18426)
+++ gnucash/trunk/src/gnome/ui/gnc-plugin-page-register-ui.xml 2009-11-20 19:57:33 UTC (rev 18427)
@@ -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">
More information about the gnucash-changes
mailing list