[Gnucash-changes] Move the "Check & Repair" menu definition to a common location.

David Hampton hampton at cvs.gnucash.org
Fri Sep 16 23:05:44 EDT 2005


Log Message:
-----------
Move the "Check & Repair" menu definition to a common location.
Restore the register window "Check & Repair" menu items.

Tags:
----
gnucash-gnome2-dev

Modified Files:
--------------
    gnucash:
        ChangeLog
        GNOME2_STATUS
    gnucash/src/gnome:
        gnc-plugin-page-account-tree.c
        gnc-plugin-page-register.c
    gnucash/src/gnome/ui:
        gnc-plugin-page-account-tree-ui.xml
        gnc-plugin-page-register-ui.xml
    gnucash/src/gnome-utils:
        gnc-main-window.c
    gnucash/src/gnome-utils/ui:
        gnc-main-window-ui.xml

Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.285
retrieving revision 1.1487.2.286
diff -LChangeLog -LChangeLog -u -r1.1487.2.285 -r1.1487.2.286
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,14 @@
 2005-09-16  David Hampton  <hampton at employees.org>
 
+	* src/gnome/gnc-plugin-page-account-tree.c:
+	* src/gnome/gnc-plugin-page-register.c:
+	* src/gnome/ui/gnc-plugin-page-account-tree-ui.xml:
+	* src/gnome/ui/gnc-plugin-page-register-ui.xml:
+	* src/gnome-utils/gnc-main-window.c:
+	* src/gnome-utils/ui/gnc-main-window-ui.xml: Move the "Check &
+	Repair" menu definition to a common location.  Restore the
+	register window "Check & Repair" menu items.
+
 	* src/app-utils/prefs.scm:
 	* src/gnome/schemas/apps_gnucash_dialog_common.schemas: Finish
 	conversion of the hidden "first startup" preference.
@@ -23,7 +32,7 @@
 
 	* src/gnome-utils/gnc-date-format.[ch]:
 	* src/gnome-utils/gnc-date-format.glade: Use a GtkComboBox in
-	place of the deprecated GtkOptionMenu.  Add aa choice in the combo
+	place of the deprecated GtkOptionMenu.  Add a choice in the combo
 	box for the UTC time format to match the new addition to the
 	QofDateFormat enum.  Clean up the code slightly.
 
Index: GNOME2_STATUS
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/Attic/GNOME2_STATUS,v
retrieving revision 1.1.2.63
retrieving revision 1.1.2.64
diff -LGNOME2_STATUS -LGNOME2_STATUS -u -r1.1.2.63 -r1.1.2.64
--- GNOME2_STATUS
+++ GNOME2_STATUS
@@ -42,14 +42,6 @@
     +------------
 
 ========================================
-          MISSING MENU ITEMS
-========================================
-
-- Register Window
-  - `Actions`
-    - `Check and Repair (all)`
-
-========================================
             General Notes
 ========================================
 
@@ -91,7 +83,9 @@
 
 - Register Core - mostly functional
 
-  - Insertion point not shown. (fix gnucash-item-edit.c)
+  - Competion has problems.  It does complete when a character is typed but it fails to select the
+  inserted text.  This means that the next character typed is inserted
+  instead of continuing to test for completion
 
   - The first time it is used, the account popup immediately selects the
     first account.  After that it functions normally.
Index: gnc-plugin-page-account-tree-ui.xml
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/ui/Attic/gnc-plugin-page-account-tree-ui.xml,v
retrieving revision 1.1.2.8
retrieving revision 1.1.2.9
diff -Lsrc/gnome/ui/gnc-plugin-page-account-tree-ui.xml -Lsrc/gnome/ui/gnc-plugin-page-account-tree-ui.xml -u -r1.1.2.8 -r1.1.2.9
--- src/gnome/ui/gnc-plugin-page-account-tree-ui.xml
+++ src/gnome/ui/gnc-plugin-page-account-tree-ui.xml
@@ -39,25 +39,27 @@
   </menubar>
 
   <popup name="AccountPopup" action="FakeToplevel">
-    <menuitem name="AccountOpenAccount" action="FileOpenAccountAction"/>
-    <menuitem name="AccountOpenSubaccounts" action="FileOpenSubaccountsAction"/>
-    <menuitem name="AccountEditAccount" action="EditEditAccountAction"/>
-    <separator name="AccountSep1"/>
-    <menuitem name="AccountReconcile" action="ActionsReconcileAction"/>
-    <menuitem name="AccountTransfer" action="ActionsTransferAction"/>
-    <menuitem name="AccountStockSplit" action="ActionsStockSplitAction"/>
-    <menuitem name="AccountLots" action="ActionsLotsAction"/>
-    <separator name="AccountSep2"/>
-    <menuitem name="AccountNewAccount" action="FileNewAccountAction"/>
-    <menuitem name="AccountDeleteAccount" action="EditDeleteAccountAction"/>
-    <separator name="AccountSep3"/>
-    <menu name="ScrubMenu" action="ScrubMenuAction">
-      <menuitem name="Scrub" action="ScrubAction"/>
-      <menuitem name="ScrubSub" action="ScrubSubAction"/>
-      <menuitem name="ScrubAll" action="ScrubAllAction"/>
-    </menu>
-    <separator name="AccountSep4"/>
-    <menuitem name="AccountViewOptions" action="EditAccountViewOptionsAction"/>
+    <placeholder name="ActionsMiddlePlaceholder">
+      <menuitem name="AccountOpenAccount" action="FileOpenAccountAction"/>
+      <menuitem name="AccountOpenSubaccounts" action="FileOpenSubaccountsAction"/>
+      <menuitem name="AccountEditAccount" action="EditEditAccountAction"/>
+      <separator name="AccountSep1"/>
+      <menuitem name="AccountReconcile" action="ActionsReconcileAction"/>
+      <menuitem name="AccountTransfer" action="ActionsTransferAction"/>
+      <menuitem name="AccountStockSplit" action="ActionsStockSplitAction"/>
+      <menuitem name="AccountLots" action="ActionsLotsAction"/>
+      <separator name="AccountSep2"/>
+      <menuitem name="AccountNewAccount" action="FileNewAccountAction"/>
+      <menuitem name="AccountDeleteAccount" action="EditDeleteAccountAction"/>
+      <separator name="AccountSep3"/>
+    </placeholder>
+    <placeholder name="ActionsBottomPlaceholder">
+      <menu name="ScrubMenu" action="ScrubMenuAction">
+        <menuitem name="Scrub" action="ScrubAction"/>
+        <menuitem name="ScrubSub" action="ScrubSubAction"/>
+        <menuitem name="ScrubAll" action="ScrubAllAction"/>
+      </menu>
+    </placeholder>
   </popup>
 
   <toolbar name="DefaultToolbar">
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.9
retrieving revision 1.1.2.10
diff -Lsrc/gnome/ui/gnc-plugin-page-register-ui.xml -Lsrc/gnome/ui/gnc-plugin-page-register-ui.xml -u -r1.1.2.9 -r1.1.2.10
--- src/gnome/ui/gnc-plugin-page-register-ui.xml
+++ src/gnome/ui/gnc-plugin-page-register-ui.xml
@@ -43,14 +43,18 @@
 	<menuitem name="ActionsReconcile"        action="ActionsReconcileAction"/>
 	<menuitem name="ActionsStockSplit"       action="ActionsStockSplitAction"/>
 	<menuitem name="ActionLots"              action="ActionsLotsAction"/>
-        <separator name="ActionsSep3"/>
         <separator name="ActionsSep4"/>
         <menuitem name="BlankTransaction"        action="BlankTransactionAction"/>
         <menuitem name="SplitTransaction"        action="SplitTransactionAction"/>
         <menuitem name="EditExchangeRate"        action="EditExchangeRateAction"/>
         <menuitem name="ScheduleTransaction"     action="ScheduleTransactionAction"/>
         <menuitem name="JumpTransaction"         action="JumpTransactionAction"/>
+	<separator name="ActionsSep5"/>
       </placeholder>
+      <menu name="ScrubMenu" action="ScrubMenuAction">
+	<menuitem name="ScrubAll" action="ScrubAllAction"/>
+	<menuitem name="ScrubCurrent" action="ScrubCurrentAction"/>
+      </menu>
     </menu>
 
     <menu name="Reports" action="ReportsAction">
Index: gnc-main-window.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/Attic/gnc-main-window.c,v
retrieving revision 1.1.2.18
retrieving revision 1.1.2.19
diff -Lsrc/gnome-utils/gnc-main-window.c -Lsrc/gnome-utils/gnc-main-window.c -u -r1.1.2.18 -r1.1.2.19
--- src/gnome-utils/gnc-main-window.c
+++ src/gnome-utils/gnc-main-window.c
@@ -196,6 +196,7 @@
 
 	/* Actions menu */
 
+	{ "ScrubMenuAction", NULL, N_("_Check & Repair"), NULL, NULL, NULL },
 	{ "ActionsForgetWarningsAction", NULL, N_("_Reset Warnings..."), NULL,
 	  N_("Reset the state of all warning message so they will be shown again."),
 	  G_CALLBACK (gnc_main_window_cmd_actions_reset_warnings) },
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.37
retrieving revision 1.1.2.38
diff -Lsrc/gnome/gnc-plugin-page-register.c -Lsrc/gnome/gnc-plugin-page-register.c -u -r1.1.2.37 -r1.1.2.38
--- src/gnome/gnc-plugin-page-register.c
+++ src/gnome/gnc-plugin-page-register.c
@@ -52,6 +52,7 @@
 #include "gnc-window.h"
 #include "gnucash-sheet.h"
 #include "lot-viewer.h"
+#include "Scrub.h"
 #include "QueryNew.h"
 #include "window-reconcile.h"
 #include "window-report.h"
@@ -128,6 +129,8 @@
 static void gnc_plugin_page_register_cmd_exchange_rate (GtkAction *action, GncPluginPageRegister *plugin_page);
 static void gnc_plugin_page_register_cmd_jump (GtkAction *action, GncPluginPageRegister *plugin_page);
 static void gnc_plugin_page_register_cmd_schedule (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_scrub_all (GtkAction *action, GncPluginPageRegister *plugin_page);
+static void gnc_plugin_page_register_cmd_scrub_current (GtkAction *action, GncPluginPageRegister *plugin_page);
 static void gnc_plugin_page_register_cmd_account_report (GtkAction *action, GncPluginPageRegister *plugin_page);
 static void gnc_plugin_page_register_cmd_transaction_report (GtkAction *action, GncPluginPageRegister *plugin_page);
 
@@ -223,6 +226,10 @@
 	{ "ScheduleTransactionAction", GTK_STOCK_COPY, N_("Schedule..."), NULL,
 	  N_("Edit scheduled transactions"),
 	  G_CALLBACK (gnc_plugin_page_register_cmd_schedule) },
+	{ "ScrubAllAction", NULL, N_("_All transactions"), NULL, NULL,
+	  G_CALLBACK (gnc_plugin_page_register_cmd_scrub_all) },
+	{ "ScrubCurrentAction", NULL, N_("_This transaction"), NULL, NULL,
+	  G_CALLBACK (gnc_plugin_page_register_cmd_scrub_current) },
 
 	/* Reports menu */
 
@@ -2170,6 +2177,80 @@
 }
 
 static void
+gnc_plugin_page_register_cmd_scrub_current (GtkAction *action,
+					    GncPluginPageRegister *plugin_page)
+{
+  GncPluginPageRegisterPrivate *priv;
+  Query *query;
+  AccountGroup *root;
+  Transaction *trans;
+  SplitRegister *reg;
+
+  g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(plugin_page));
+
+  ENTER("(action %p, plugin_page %p)", action, plugin_page);
+
+  priv = plugin_page->priv;
+  query = gnc_ledger_display_get_query( priv->ledger );
+  if (query == NULL) {
+    LEAVE("no query found");
+    return;
+  }
+
+  reg = gnc_ledger_display_get_split_register(priv->ledger);
+  trans = gnc_split_register_get_current_trans(reg);
+  if (trans == NULL) {
+    LEAVE("no trans found");
+    return;
+  }
+
+  gnc_suspend_gui_refresh();
+  root = gnc_get_current_group();
+  xaccTransScrubOrphans(trans);
+  xaccTransScrubImbalance(trans, root, NULL);
+  gnc_resume_gui_refresh();
+  LEAVE(" ");
+}
+
+static void
+gnc_plugin_page_register_cmd_scrub_all (GtkAction *action,
+					GncPluginPageRegister *plugin_page)
+{
+  GncPluginPageRegisterPrivate *priv;
+  Query *query;
+  AccountGroup *root;
+  Transaction *trans;
+  Split *split;
+  GList *node;
+
+  g_return_if_fail(GNC_IS_PLUGIN_PAGE_REGISTER(plugin_page));
+
+  ENTER("(action %p, plugin_page %p)", action, plugin_page);
+
+  priv = plugin_page->priv;
+  query = gnc_ledger_display_get_query( priv->ledger );
+  if (!query) {
+    LEAVE("no query found");
+    return;
+  }
+
+  gnc_suspend_gui_refresh();
+  root = gnc_get_current_group();
+
+  for (node = xaccQueryGetSplits(query); node; node = node->next)
+  {
+    split = node->data;
+    trans = xaccSplitGetParent(split);
+
+    xaccTransScrubOrphans(trans);
+    xaccTransScrubImbalance(trans, root, NULL);
+  }
+
+  gnc_resume_gui_refresh();
+  LEAVE(" ");
+}
+
+static void
 gnc_plugin_page_register_cmd_account_report (GtkAction *action,
 					     GncPluginPageRegister *plugin_page)
 {
Index: gnc-plugin-page-account-tree.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/Attic/gnc-plugin-page-account-tree.c,v
retrieving revision 1.1.2.48
retrieving revision 1.1.2.49
diff -Lsrc/gnome/gnc-plugin-page-account-tree.c -Lsrc/gnome/gnc-plugin-page-account-tree.c -u -r1.1.2.48 -r1.1.2.49
--- src/gnome/gnc-plugin-page-account-tree.c
+++ src/gnome/gnc-plugin-page-account-tree.c
@@ -159,7 +159,6 @@
 	{ "ActionsLotsAction", NULL, N_("View _Lots..."), NULL,
 	  N_("Bring up the lot viewer/editor window"),
 	  G_CALLBACK (gnc_plugin_page_account_tree_cmd_lots) },
-	{ "ScrubMenuAction", NULL, N_("_Check & Repair"), NULL, NULL, NULL },
 	{ "ScrubAction", NULL, N_("Check & Repair A_ccount"), NULL,
 	  N_("Check for and repair unbalanced transactions and orphan splits " "in this account"),
 	  G_CALLBACK (gnc_plugin_page_account_tree_cmd_scrub) },
Index: gnc-main-window-ui.xml
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome-utils/ui/Attic/gnc-main-window-ui.xml,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -Lsrc/gnome-utils/ui/gnc-main-window-ui.xml -Lsrc/gnome-utils/ui/gnc-main-window-ui.xml -u -r1.1.2.6 -r1.1.2.7
--- src/gnome-utils/ui/gnc-main-window-ui.xml
+++ src/gnome-utils/ui/gnc-main-window-ui.xml
@@ -73,7 +73,15 @@
 
     <menu name="Actions" action="ActionsAction">
       <placeholder name="ActionsPlaceholder"/>
-      <separator name="ActionSep1"/>
+      <separator name="ActionSepA"/>
+      <placeholder name="ActionsTopPlaceholder"/>
+      <separator name="ActionSepB"/>
+      <placeholder name="ActionsMiddlePlaceholder"/>
+      <separator name="ActionSepC"/>
+      <placeholder name="ActionsBottomPlaceholder"/>
+      <separator name="ActionSepD"/>
+      <menu name="ScrubMenu" action="ScrubMenuAction"/>
+      <separator name="ActionSepE"/>
       <menuitem name="ActionsForgetWarnings" action="ActionsForgetWarningsAction"/>
     </menu>
   


More information about the gnucash-changes mailing list