[Gnucash-changes] Restore missing commands.
David Hampton
hampton at cvs.gnucash.org
Fri Jul 1 18:27:48 EDT 2005
Log Message:
-----------
Restore missing commands.
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash/src/gnome:
gnc-plugin-page-register.c
gnucash/src/gnome/ui:
gnc-plugin-page-register-ui.xml
gnc-plugin-page-sxregister-ui.xml
Revision Data
-------------
Index: gnc-plugin-page-register.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/Attic/gnc-plugin-page-register.c,v
retrieving revision 1.1.2.26
retrieving revision 1.1.2.27
diff -Lsrc/gnome/gnc-plugin-page-register.c -Lsrc/gnome/gnc-plugin-page-register.c -u -r1.1.2.26 -r1.1.2.27
--- src/gnome/gnc-plugin-page-register.c
+++ src/gnome/gnc-plugin-page-register.c
@@ -32,6 +32,7 @@
#include "gnc-plugin-menu-additions.h"
#include "gnc-plugin-page-report.h"
+#include "dialog-account.h"
#include "dialog-print-check.h"
#include "dialog-transfer.h"
#include "dialog-utils.h"
@@ -42,10 +43,12 @@
#include "gnc-date-edit.h"
#include "gnc-gnome-utils.h"
#include "gnc-gobject-utils.h"
+#include "gnc-gui-query.h"
#include "gnc-icons.h"
#include "gnc-split-reg.h"
#include "gnc-ui-util.h"
#include "gnc-window.h"
+#include "gnucash-sheet.h"
#include "lot-viewer.h"
#include "QueryNew.h"
#include "window-reconcile.h"
@@ -93,6 +96,16 @@
/* Command callbacks */
static void gnc_plugin_page_register_cmd_print_check (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_cut (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_copy (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_paste (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_edit_account (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_cut_transaction (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_copy_transaction (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_paste_transaction (GtkAction *action, GncPluginPageRegister *plugin_page);
+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_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);
@@ -125,15 +138,37 @@
{
/* Toplevel */
{ "FakeToplevel", NULL, "", NULL, NULL, NULL },
- { "SelectTransactionsAction", NULL, N_("Select _Transactions"), NULL, NULL, NULL },
- { "TransDateRangeAction", NULL, N_("_Date Range"), NULL, NULL, NULL },
- { "TransStatusAction", NULL, N_("_Status"), NULL, NULL, NULL },
- { "SortOrderAction", NULL, N_("Sort _Order"), NULL, NULL, NULL },
/* File menu */
{ "FilePrintCheckAction", NULL, N_("Print Check"), NULL, NULL,
G_CALLBACK (gnc_plugin_page_register_cmd_print_check) },
+ /* Edit menu */
+ { "EditCutAction", GTK_STOCK_CUT, N_("Cu_t"), NULL,
+ NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_cut) },
+ { "EditCopyAction", GTK_STOCK_COPY, N_("_Copy"), NULL,
+ NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_copy) },
+ { "EditPasteAction", GTK_STOCK_PASTE, N_("_Paste"), NULL,
+ NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_paste) },
+ { "EditEditAccountAction", GNC_STOCK_EDIT_ACCOUNT, N_("Edit Account"), "<control>e",
+ N_("Edit the selected account"),
+ G_CALLBACK (gnc_plugin_page_register_cmd_edit_account) },
+ { "EditCutTransactionAction", NULL, N_("Cut Transaction"), NULL, NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_cut_transaction) },
+ { "EditCopyTransactionAction", NULL, N_("Copy Transaction"), NULL, NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_copy_transaction) },
+ { "EditPasteTransactionAction", NULL, N_("Paste Transaction"), NULL, NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_paste_transaction) },
+ { "EditVoidTransactionAction", NULL, N_("_Void Transaction"), NULL, NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_void_transaction) },
+ { "EditUnvoidTransactionAction", NULL, N_("_Unvoid Transaction"), NULL, NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_unvoid_transaction) },
+ { "EditReverseTransactionAction", NULL, N_("_Reverse Transaction"), NULL, NULL,
+ G_CALLBACK (gnc_plugin_page_register_cmd_reverse_transaction) },
+
/* View menu */
{ "ViewSortByAction", NULL, N_("_Sort By..."), NULL, NULL,
G_CALLBACK (gnc_plugin_page_register_cmd_view_sort_by) },
@@ -209,6 +244,7 @@
static guint n_radio_entries_2 = G_N_ELEMENTS (radio_entries_2);
static const gchar *actions_requiring_account[] = {
+ "EditEditAccountAction",
"ActionsReconcileAction",
"ActionsLotsAction",
NULL
@@ -1366,6 +1402,225 @@
static void
+gnc_plugin_page_register_cmd_cut (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ gnucash_register_cut_clipboard(page->priv->gsr->reg);
+ LEAVE("");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_copy (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ gnucash_register_copy_clipboard(page->priv->gsr->reg);
+ LEAVE("");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_paste (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ gnucash_register_paste_clipboard(page->priv->gsr->reg);
+ LEAVE("");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_edit_account (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ Account *account;
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ account = gnc_plugin_page_register_get_account (page);
+ if (account)
+ gnc_ui_edit_account_window (account);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_cut_transaction (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ SplitRegister *reg;
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ reg = gnc_ledger_display_get_split_register(page->priv->ledger);
+ gnc_split_register_cut_current(reg);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_copy_transaction (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ SplitRegister *reg;
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ reg = gnc_ledger_display_get_split_register(page->priv->ledger);
+ gnc_split_register_copy_current(reg);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_paste_transaction (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ SplitRegister *reg;
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ ENTER("(action %p, page %p)", action, page);
+ reg = gnc_ledger_display_get_split_register(page->priv->ledger);
+ gnc_split_register_paste_current(reg);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_void_transaction (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ GtkWidget *dialog, *entry;
+ SplitRegister *reg;
+ Transaction *trans;
+ GladeXML *xml;
+ const char *reason;
+ gint result;
+
+ ENTER("(action %p, page %p)", action, page);
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ reg = gnc_ledger_display_get_split_register(page->priv->ledger);
+ trans = gnc_split_register_get_current_trans(reg);
+ if (trans == NULL)
+ return;
+ if (xaccTransHasSplitsInState(trans, VREC)) {
+ gnc_error_dialog(NULL, _("This transaction has already been voided."));
+ return;
+ }
+ if (xaccTransHasReconciledSplits(trans) || xaccTransHasSplitsInState(trans, CREC)) {
+ gnc_error_dialog(NULL, _("You cannot void a transaction with reconciled or cleared splits."));
+ return;
+ }
+
+ xml = gnc_glade_xml_new("register.glade", "Void Transaction");
+ dialog = glade_xml_get_widget(xml, "Void Transaction");
+ entry = glade_xml_get_widget(xml, "reason");
+
+ result = gtk_dialog_run(GTK_DIALOG(dialog));
+ if (result == GTK_RESPONSE_OK) {
+ reason = gtk_entry_get_text(GTK_ENTRY(entry));
+ if (reason == NULL)
+ reason = "";
+ gnc_split_register_void_current_trans(reg, reason);
+ }
+
+ /* All done. Get rid of it. */
+ gtk_widget_destroy(dialog);
+ g_free(xml);
+}
+
+
+static void
+gnc_plugin_page_register_cmd_unvoid_transaction (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ SplitRegister *reg;
+ Transaction *trans;
+
+
+ ENTER("(action %p, page %p)", action, page);
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ reg = gnc_ledger_display_get_split_register(page->priv->ledger);
+ trans = gnc_split_register_get_current_trans(reg);
+ if (!xaccTransHasSplitsInState(trans, VREC)) {
+ gnc_error_dialog(NULL, _("This transaction is not voided."));
+ return;
+ }
+ gnc_split_register_unvoid_current_trans(reg);
+ LEAVE(" ");
+}
+
+
+static void
+gnc_plugin_page_register_cmd_reverse_transaction (GtkAction *action,
+ GncPluginPageRegister *page)
+{
+ SplitRegister *reg;
+ GNCSplitReg *gsr;
+ Transaction *trans, *new_trans;
+ kvp_frame *txn_frame;
+ kvp_value *kvp_val;
+
+
+ ENTER("(action %p, page %p)", action, page);
+
+ g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(page));
+
+ reg = gnc_ledger_display_get_split_register(page->priv->ledger);
+ trans = gnc_split_register_get_current_trans(reg);
+ if (trans == NULL)
+ return;
+
+ txn_frame = xaccTransGetSlots( trans );
+ if ( txn_frame != NULL ) {
+ kvp_val = kvp_frame_get_slot( txn_frame, "reversed-by" );
+ if ( kvp_val ) {
+ // GUID *fromSXId = kvp_value_get_guid( kvp_val );
+ gnc_error_dialog(GNC_PLUGIN_PAGE(page)->window,
+ _("This transaction has already been reversed."));
+ return;
+ }
+ }
+
+ new_trans = xaccTransClone(trans);
+ xaccTransReverse(new_trans);
+
+ /* Clear transaction level info */
+ xaccTransBeginEdit(new_trans);
+ xaccTransSetDatePostedSecs(new_trans, time(NULL));
+ xaccTransSetDateEnteredSecs(new_trans, time(NULL));
+ xaccTransCommitEdit(new_trans);
+
+ /* Now update the original with a pointer to the new one */
+ xaccTransBeginEdit(trans);
+ kvp_val = kvp_value_new_guid (xaccTransGetGUID(new_trans));
+ kvp_frame_set_slot_nc(txn_frame, "reversed-by", kvp_val);
+ xaccTransCommitEdit(trans);
+
+ /* Now jump to new trans */
+ gsr = gnc_plugin_page_register_get_gsr(GNC_PLUGIN_PAGE(page));
+ gnc_split_reg_jump_to_split(gsr, xaccTransGetSplit(new_trans, 0));
+ LEAVE(" ");
+}
+
+
+static void
gnc_plugin_page_register_cmd_view_sort_by (GtkAction *action,
GncPluginPageRegister *page)
{
Index: gnc-plugin-page-register-ui.xml
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/ui/Attic/gnc-plugin-page-register-ui.xml,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -Lsrc/gnome/ui/gnc-plugin-page-register-ui.xml -Lsrc/gnome/ui/gnc-plugin-page-register-ui.xml -u -r1.1.2.6 -r1.1.2.7
--- src/gnome/ui/gnc-plugin-page-register-ui.xml
+++ src/gnome/ui/gnc-plugin-page-register-ui.xml
@@ -5,6 +5,20 @@
<menuitem name="FilePrintCheck" action="FilePrintCheckAction"/>
</placeholder>
</menu>
+
+ <menu name="Edit" action="EditAction">
+ <placeholder name="EditSelectedPlaceholder">
+ <menuitem name="EditEditAccount" action="EditEditAccountAction"/>
+ <separator name="EditSep22"/>
+ <menuitem name="EditCutTransaction" action="EditCutTransactionAction"/>
+ <menuitem name="EditCopyTransaction" action="EditCopyTransactionAction"/>
+ <menuitem name="EditPasteTransaction" action="EditPasteTransactionAction"/>
+ <menuitem name="EditVoidTransaction" action="EditVoidTransactionAction"/>
+ <menuitem name="EditUnvoidTransaction" action="EditUnvoidTransactionAction"/>
+ <menuitem name="EditReverseTransaction" action="EditReverseTransactionAction"/>
+ </placeholder>
+ </menu>
+
<menu name="View" action="ViewAction">
<placeholder name="ViewContentPlaceholder">
<menuitem name="ViewStyleBasic" action="ViewStyleBasicAction"/>
Index: gnc-plugin-page-sxregister-ui.xml
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/ui/Attic/gnc-plugin-page-sxregister-ui.xml,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -Lsrc/gnome/ui/gnc-plugin-page-sxregister-ui.xml -Lsrc/gnome/ui/gnc-plugin-page-sxregister-ui.xml -u -r1.1.2.1 -r1.1.2.2
--- src/gnome/ui/gnc-plugin-page-sxregister-ui.xml
+++ src/gnome/ui/gnc-plugin-page-sxregister-ui.xml
@@ -1,46 +1,32 @@
<ui>
<menubar>
- <menu name="View">
- <placeholder name="ViewPlaceholder">
- <menu name="SelectTransactions" action="SelectTransactionsAction">
- <menu name="TransDateRange" action="TransDateRangeAction">
- <menuitem name="TransDateShowAll" action="TransDateShowAllAction"/>
- <menuitem name="TransDateSetRange" action="TransDateSetRangeAction"/>
- </menu>
- <menu name="TransStatus" action="TransStatusAction">
- <menuitem name="StatusAll" action="StatusAllAction"/>
- <separator name="ViewSep42"/>
- <menuitem name="StatusReconciled" action="StatusReconciledAction"/>
- <menuitem name="StatusCleared" action="StatusClearedAction"/>
- <menuitem name="StatusVoided" action="StatusVoidedAction"/>
- <menuitem name="StatusFrozen" action="StatusFrozenAction"/>
- <menuitem name="StatusUnreconciled" action="StatusUnreconciledAction"/>
- </menu>
- </menu>
- <menu name="SortOrder" action="SortOrderAction">
- <menuitem name="SortStandard" action="SortStandardAction"/>
- <separator name="ViewSep43"/>
- <menuitem name="SortDate" action="SortDateAction"/>
- <menuitem name="SortDateEntry" action="SortDateEntryAction"/>
- <menuitem name="SortDateStatement" action="SortDateStatementAction"/>
- <menuitem name="SortNumber" action="SortNumberAction"/>
- <menuitem name="SortAmount" action="SortAmountAction"/>
- <menuitem name="SortMemo" action="SortMemoAction"/>
- <menuitem name="SortDescription" action="SortDescriptionAction"/>
- <menuitem name="SortAction" action="SortActionAction"/>
- <menuitem name="SortNotes" action="SortNotesAction"/>
- </menu>
- <menu name="Style" action="StyleAction">
- <menuitem name="StyleBasic" action="StyleBasicAction"/>
- <menuitem name="StyleAutoSplit" action="StyleAutoSplitAction"/>
- <menuitem name="StyleJournal" action="StyleJournalAction"/>
- <separator name="ViewSep44"/>
- <menuitem name="StyleDoubleLine" action="StyleDoubleLineAction"/>
- </menu>
+ <menu name="Edit" action="EditAction">
+ <placeholder name="EditSelectedPlaceholder">
+ <separator name="EditSep22"/>
+ <menuitem name="EditCutTransaction" action="EditCutTransactionAction"/>
+ <menuitem name="EditCopyTransaction" action="EditCopyTransactionAction"/>
+ <menuitem name="EditPasteTransaction" action="EditPasteTransactionAction"/>
+ <menuitem name="EditVoidTransaction" action="EditVoidTransactionAction"/>
+ <menuitem name="EditUnvoidTransaction" action="EditUnvoidTransactionAction"/>
+ <menuitem name="EditReverseTransaction" action="EditReverseTransactionAction"/>
</placeholder>
</menu>
- <menu name="Actions">
+ <menu name="View" action="ViewAction">
+ <placeholder name="ViewContentPlaceholder">
+ <menuitem name="ViewStyleBasic" action="ViewStyleBasicAction"/>
+ <menuitem name="ViewStyleAutoSplit" action="ViewStyleAutoSplitAction"/>
+ <menuitem name="ViewStyleJournal" action="ViewStyleJournalAction"/>
+ <separator name="ViewSep65"/>
+ <menuitem name="ViewStyleDoubleLine" action="ViewStyleDoubleLineAction"/>
+ <separator name="ViewSep66"/>
+ </placeholder>
+ <placeholder name="ViewSortPlaceholder">
+ <menuitem name="ViewSortBy" action="ViewSortByAction"/>
+ </placeholder>
+ </menu>
+
+ <menu name="Actions" action="ActionsAction">
<placeholder name="ActionsPlaceholder">
<separator name="ActionsSep3"/>
<menuitem name="RecordTransaction" action="RecordTransactionAction"/>
@@ -51,6 +37,7 @@
<menuitem name="DuplicateTransaction" action="DuplicateTransactionAction"/>
<menuitem name="RemoveTransactionSplits" action="RemoveTransactionSplitsAction"/>
<menuitem name="EditExchangeRate" action="EditExchangeRateAction"/>
+ <menuitem name="JumpTransaction" action="JumpTransactionAction"/>
</placeholder>
</menu>
</menubar>
@@ -62,14 +49,19 @@
<toolitem name="ToolbarDeleteTransaction" action="DeleteTransactionAction"/>
<separator name="ToolbarSep66"/>
<toolitem name="ToolbarDuplicateTransaction" action="DuplicateTransactionAction"/>
+ <toolitem name="ToolbarScheduleTransaction" action="ScheduleTransactionAction"/>
<separator name="ToolbarSep67"/>
+ <toolitem name="ToolbarSplitTransaction" action="SplitTransactionAction"/>
<toolitem name="ToolbarBlankTransaction" action="BlankTransactionAction"/>
+ <toolitem name="ToolbarJumpTransaction" action="JumpTransactionAction"/>
<separator name="ToolbarSep68"/>
- <toolitem name="ToolbarTransfer" action="TransferAction"/>
+ <toolitem name="ToolbarTransfer" action="ActionsTransferAction"/>
</placeholder>
</toolbar>
- <popup name="RegisterPopup" action="FakeToplevel">>
+ <popup name="RegisterPopup" action="FakeToplevel">
+ <menuitem name="ViewSortBy" action="ViewSortByAction"/>
+ <separator name="PopupSep1"/>
<menuitem name="RecordTransaction" action="RecordTransactionAction"/>
<menuitem name="CancelTransaction" action="CancelTransactionAction"/>
<menuitem name="DeleteTransaction" action="DeleteTransactionAction"/>
@@ -77,6 +69,8 @@
<separator name="PopupSep1"/>
<menuitem name="DuplicateTransaction" action="DuplicateTransactionAction"/>
<menuitem name="RemoveTransactionSplits" action="RemoveTransactionSplitsAction"/>
+ <menuitem name="SplitTransaction" action="SplitTransactionAction"/>
<menuitem name="EditExchangeRate" action="EditExchangeRateAction"/>
+ <menuitem name="JumpTransaction" action="JumpTransactionAction"/>
</popup>
</ui>
More information about the gnucash-changes
mailing list