[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