2002-04-16 Joshua Sled <jsled@asynchronous.org>

* src/register/ledger-core/gnc-ledger-display.c: Some template-GL
	cleanup [debugging printf's removed].  Removed never-used
	LD_TEMPLATE type.

	* src/gnome/glade/sched-xact.glade: Removed unused start page.

	* src/gnome/dialog-sxsincelast.c: Added support for using the
	gnc-regWidget to display created transactions for review. Added
	'Cancel' support. Didn't remove enough dead code, but started to.

	* src/gnome/dialog-scheduledxaction.c: Added support for using the
	gncRegWidget in the SX editor.  Formatting changes.

	* src/register/ledger-core/gnc-regWidget.{h,c}: Added; a
	macro-widget roughly duplicating the src/gnome/window-register.c
	look-and-feel-and-behavior.

	* src/engine/SchedXaction.c: Added support for saving a "temporal
	snapshot" of a scheduled transaction. Rewrote "sequence state"
	manipulations in terms of temporal snapshots.

	* src/engine/Query.c: Add support for Querying the template
	AccountGroup.

	* src/doc/TODO-schedxactions: Updates.

	* src/engine/Makefile.am: Prepend-to instead of unconditionally
	setting GUILE_LOAD_PATH when creating iso-4217-currencies.c, for
	those of us that need to set it for whatever reason we need to do
	so.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@6795 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Joshua Sled 2002-04-16 07:09:16 +00:00
parent a7ec9d158f
commit 7de7b944f8
16 changed files with 3592 additions and 1027 deletions

View File

@ -1,3 +1,36 @@
2002-04-16 Joshua Sled <jsled@asynchronous.org>
* src/register/ledger-core/gnc-ledger-display.c: Some template-GL
cleanup [debugging printf's removed]. Removed never-used
LD_TEMPLATE type.
* src/gnome/glade/sched-xact.glade: Removed unused start page.
* src/gnome/dialog-sxsincelast.c: Added support for using the
gnc-regWidget to display created transactions for review. Added
'Cancel' support. Didn't remove enough dead code, but started to.
* src/gnome/dialog-scheduledxaction.c: Added support for using the
gncRegWidget in the SX editor. Formatting changes.
* src/register/ledger-core/gnc-regWidget.{h,c}: Added; a
macro-widget roughly duplicating the src/gnome/window-register.c
look-and-feel-and-behavior.
* src/engine/SchedXaction.c: Added support for saving a "temporal
snapshot" of a scheduled transaction. Rewrote "sequence state"
manipulations in terms of temporal snapshots.
* src/engine/Query.c: Add support for Querying the template
AccountGroup.
* src/doc/TODO-schedxactions: Updates.
* src/engine/Makefile.am: Prepend-to instead of unconditionally
setting GUILE_LOAD_PATH when creating iso-4217-currencies.c, for
those of us that need to set it for whatever reason we need to do
so.
2002-03-04 Derek Atkins <warlord@MIT.EDU>
* Plug-in Extensions for backends, so pluggable objects can

View File

@ -1,26 +1,51 @@
# List of files which containing translatable strings.
# This file was generated by ../make-gnucash-potfiles.in.
src/calculation/amort_opt.c
src/calculation/amort_prt.c
src/calculation/expression_parser.c
src/calculation/fin-interactive.c
src/calculation/fin-main.c
src/calculation/fin.c
src/calculation/numeric_ops.c
src/calculation/test/test-link.c
src/calculation/gncmod-calculation.c
src/app-utils/test/test-exp-parser.c
src/app-utils/test/test-link-module.c
src/app-utils/test/test-print-parse-amount.c
src/app-utils/gfec.c
src/app-utils/global-options.c
src/app-utils/gnc-component-manager.c
src/app-utils/gnc-euro.c
src/app-utils/gnc-exp-parser.c
src/app-utils/gnc-gettext-util.c
src/app-utils/gnc-helpers.c
src/app-utils/gnc-ui-util.c
src/app-utils/gncmod-app-utils.c
src/app-utils/guile-util.c
src/app-utils/option-util.c
src/app-utils/file-utils.c
src/backend/file/test/test-date-converting.c
src/backend/file/test/test-dom-converters1.c
src/backend/file/test/test-dom-parser1.c
src/backend/file/test/test-kvp-frames.c
src/backend/file/test/test-load-xml2.c
src/backend/file/test/test-string-converters.c
src/backend/file/test/test-file-stuff.c
src/backend/file/test/test-kvp-frames.c
src/backend/file/test/test-load-example-account.c
src/backend/file/test/test-load-xml2.c
src/backend/file/test/test-save-in-lang.c
src/backend/file/test/test-string-converters.c
src/backend/file/test/test-xml-account.c
src/backend/file/test/test-xml-commodity.c
src/backend/file/test/test-xml2-is-file.c
src/backend/file/test/test-load-example-account.c
src/backend/file/test/test-save-in-lang.c
src/backend/file/test/test-date-converting.c
src/backend/file/test/test-xml-transaction.c
src/backend/file/test/test-xml-pricedb.c
src/backend/file/test/test-xml-transaction.c
src/backend/file/test/test-xml2-is-file.c
src/backend/file/gnc-account-xml-v2.c
src/backend/file/gnc-backend-file.c
src/backend/file/gnc-commodity-xml-v2.c
src/backend/file/gnc-freqspec-xml-v2.c
src/backend/file/gnc-schedxaction-xml-v2.c
src/backend/file/gnc-transaction-xml-v2.c
src/backend/file/gncmod-backend-file.c
src/backend/file/io-example-account.c
src/backend/file/io-gncbin-r.c
src/backend/file/io-gncxml-gen.c
@ -35,7 +60,6 @@ src/backend/file/sixtp-utils.c
src/backend/file/sixtp.c
src/backend/file/gnc-pricedb-xml-v2.c
src/backend/file/gnc-book-xml-v2.c
src/backend/file/gncmod-backend-file.c
src/backend/rpc/RpcBackend.c
src/backend/rpc/RpcServer.c
src/backend/rpc/RpcSock.c
@ -51,6 +75,7 @@ src/backend/rpc/xprt_thrd.c
src/backend/postgres/test/test-db.c
src/backend/postgres/test/test-escape.c
src/backend/postgres/test/test-period.c
src/backend/postgres/PostgresBackend.c
src/backend/postgres/account.c
src/backend/postgres/builder.c
src/backend/postgres/checkpoint.c
@ -64,163 +89,14 @@ src/backend/postgres/price.c
src/backend/postgres/txn.c
src/backend/postgres/txnmass.c
src/backend/postgres/upgrade.c
src/backend/postgres/PostgresBackend.c
src/backend/postgres/book.c
src/backend/net/NetIO.c
src/app-utils/test/test-link-module.c
src/app-utils/test/test-exp-parser.c
src/app-utils/test/test-print-parse-amount.c
src/app-utils/gfec.c
src/app-utils/global-options.c
src/app-utils/gnc-component-manager.c
src/app-utils/gnc-gettext-util.c
src/app-utils/gnc-helpers.c
src/app-utils/gnc-ui-util.c
src/app-utils/guile-util.c
src/app-utils/option-util.c
src/app-utils/file-utils.c
src/app-utils/gnc-euro.c
src/app-utils/gncmod-app-utils.c
src/app-utils/gnc-exp-parser.c
src/tax/us/test/test-link-module.c
src/tax/us/gncmod-tax-us.c
src/business/business-core/test/test-address.c
src/business/business-core/test/test-business.c
src/business/business-core/test/test-customer.c
src/business/business-core/test/test-employee.c
src/business/business-core/test/test-job.c
src/business/business-core/test/test-vendor.c
src/business/business-core/test/test-load-module.c
src/business/business-core/businessmod-core.c
src/business/business-core/gncAddress.c
src/business/business-core/gncBusiness.c
src/business/business-core/gncCustomer.c
src/business/business-core/gncEmployee.c
src/business/business-core/gncJob.c
src/business/business-core/gncVendor.c
src/business/business-core/gncEntry.c
src/business/business-core/gncInvoice.c
src/business/business-core/gncOrder.c
src/business/business-core/gncOwner.c
src/business/business-gnome/businessmod-gnome.c
src/business/business-gnome/customer.glade
src/business/business-gnome/dialog-customer.c
src/business/business-gnome/dialog-employee.c
src/business/business-gnome/dialog-job-select.c
src/business/business-gnome/dialog-job.c
src/business/business-gnome/dialog-vendor.c
src/business/business-gnome/employee.glade
src/business/business-gnome/gnc-business-utils.c
src/business/business-gnome/job.glade
src/business/business-gnome/vendor.glade
src/business/business-gnome/dialog-order.c
src/business/business-gnome/dialog-invoice.c
src/business/business-gnome/order.glade
src/business/business-gnome/business-utils.c
src/business/business-gnome/date-close.glade
src/business/business-gnome/dialog-date-close.c
src/business/business-gnome/invoice.glade
src/business/business-ledger/gncEntryLedgerControl.c
src/business/business-ledger/gncEntryLedgerLayout.c
src/business/business-ledger/gncEntryLedgerModel.c
src/business/business-ledger/gncEntryLedgerLoad.c
src/business/business-ledger/gncEntryLedger.c
src/business/business-ledger/gncEntryLedgerDisplay.c
src/gnome-utils/dialog-utils.c
src/gnome-utils/druid-utils.c
src/gnome-utils/dialog-commodity.c
src/gnome-utils/test/test-link-module.c
src/gnome-utils/gnc-amount-edit.c
src/gnome-utils/gnc-account-tree.c
src/gnome-utils/gnc-commodity-edit.c
src/gnome-utils/cursors.c
src/gnome-utils/gnc-html.c
src/gnome-utils/commodity.glade
src/gnome-utils/gnc-menu-extensions.c
src/gnome-utils/gnc-currency-edit.c
src/gnome-utils/gnc-gui-query.c
src/gnome-utils/gnc-date-edit.c
src/gnome-utils/gnc-html-history.c
src/gnome-utils/gnc-html-guppi.c
src/gnome-utils/gnc-frequency.c
src/gnome-utils/gncmod-gnome-utils.c
src/gnome-utils/gnc-date-delta.c
src/gnome-utils/gnc-gnome-utils.c
src/gnome-utils/dialog-options.c
src/gnome-utils/window-help.c
src/gnome-utils/gnc-general-select.c
src/gnome-utils/gtkselect.c
src/gnome-utils/print-session.c
src/gnome-utils/gnc-mdi-utils.c
src/gnome-utils/argv-list-converters.c
src/network-utils/gnc-gpg.c
src/network-utils/gnc-http.c
src/network-utils/test/test-link-module.c
src/network-utils/gncmod-network-utils.c
src/calculation/amort_opt.c
src/calculation/amort_prt.c
src/calculation/expression_parser.c
src/calculation/fin-interactive.c
src/calculation/fin-main.c
src/calculation/fin.c
src/calculation/numeric_ops.c
src/calculation/gncmod-calculation.c
src/calculation/test/test-link.c
src/engine/Account.c
src/engine/Backend.c
src/engine/DateUtils.c
src/engine/FreqSpec.c
src/engine/GNCId.c
src/engine/Group.c
src/engine/Query.c
src/engine/SchedXaction.c
src/engine/Scrub.c
src/engine/TransLog.c
src/engine/Transaction.c
src/engine/date.c
src/engine/engine-helpers.c
src/engine/glib-helpers.c
src/engine/gnc-associate-account.c
src/engine/gnc-book.c
src/engine/gnc-commodity.c
src/engine/gnc-engine.c
src/engine/gnc-event.c
src/engine/gnc-numeric.c
src/engine/gnc-pricedb.c
src/engine/gncmod-engine.c
src/engine/guid.c
src/engine/kvp_frame.c
src/engine/md5.c
src/engine/test/test-load-engine.c
src/engine/test/test-commodities.c
src/engine/test/test-resolve-file-path.c
src/engine/test/test-split-vs-account.c
src/engine/test/test-freq-spec.c
src/engine/test/test-scm-query.c
src/engine/test/test-group-vs-book.c
src/engine/test/test-transaction-voiding.c
src/engine/test/test-query.c
src/engine/test/test-date.c
src/engine/test/test-period.c
src/engine/Period.c
src/engine/kvp-scm.c
src/engine/messages.c
src/engine/kvp-util.c
src/engine/gnc-session.c
src/engine/SX-ttinfo.c
src/engine/test-core/test-engine-stuff.c
src/engine/test-core/gncmod-test-engine.c
src/engine/gnc-engine-util.c
src/app-file/gnome/gnc-file-dialog.c
src/app-file/gnome/gnc-file-history.c
src/app-file/gnome/gw-app-file-gnome.c
src/app-file/gnc-file.c
src/app-file/gncmod-app-file.c
src/app-file/test/test-link.c
src/app-file/gnome/gnc-file-history.c
src/app-file/gnome/gnc-file-dialog.c
src/experimental/cgi-bin/fastcgi-hello.c
src/experimental/cgi-bin/gnc-server.c
src/experimental/cgi-bin/hello.c
src/experimental/cgi-bin/hello2.c
src/experimental/cgi-bin/hello3.c
src/gnc-module/test/misc-mods/agedver.c
src/gnc-module/test/misc-mods/futuremodsys.c
src/gnc-module/test/misc-mods/incompatdep.c
@ -236,22 +112,190 @@ src/gnc-module/test/mod-baz/gnc-mod-baz.c
src/gnc-module/test/mod-foo/foo.c
src/gnc-module/test/mod-foo/gnc-mod-foo.c
src/gnc-module/gnc-module.c
src/import-export/binary-import/test/test-link-module.c
src/import-export/binary-import/binary-import.glade
src/import-export/binary-import/druid-commodity.c
src/import-export/binary-import/gncmod-binary-import.c
src/import-export/qif-import/test/test-link.c
src/import-export/qif-import/dialog-account-picker.c
src/import-export/qif-import/druid-qif-import.c
src/import-export/qif-import/gncmod-qif-import.c
src/import-export/qif-import/qif.glade
src/import-export/qif-io-core/gncmod-qifiocore.c
src/gnome-utils/test/test-link-module.c
src/gnome-utils/cursors.c
src/gnome-utils/dialog-commodity.c
src/gnome-utils/dialog-utils.c
src/gnome-utils/druid-utils.c
src/gnome-utils/gnc-account-tree.c
src/gnome-utils/gnc-amount-edit.c
src/gnome-utils/gnc-commodity-edit.c
src/gnome-utils/gnc-currency-edit.c
src/gnome-utils/gnc-date-delta.c
src/gnome-utils/gnc-date-edit.c
src/gnome-utils/gnc-frequency.c
src/gnome-utils/gnc-gui-query.c
src/gnome-utils/gnc-html-guppi.c
src/gnome-utils/gnc-html-history.c
src/gnome-utils/gnc-html.c
src/gnome-utils/gnc-mdi-utils.c
src/gnome-utils/gnc-menu-extensions.c
src/gnome-utils/gncmod-gnome-utils.c
src/gnome-utils/gtkselect.c
src/gnome-utils/print-session.c
src/gnome-utils/gnc-general-select.c
src/gnome-utils/commodity.glade
src/gnome-utils/dialog-options.c
src/gnome-utils/window-help.c
src/gnome-utils/argv-list-converters.c
src/gnome-utils/gnc-gnome-utils.c
src/report/locale-specific/us/test/test-link-module.c
src/report/locale-specific/us/gncmod-locale-reports-us.c
src/report/report-system/test/test-link-module.c
src/report/report-system/gncmod-report-system.c
src/report/report-system/gnc-report.c
src/report/standard-reports/gncmod-standard-reports.c
src/report/stylesheets/gncmod-stylesheets.c
src/report/utility-reports/gncmod-utility-reports.c
src/report/report-gnome/gncmod-report-gnome.c
src/report/report-gnome/window-report.c
src/report/report-gnome/test/test-link-module.c
src/report/report-gnome/dialog-column-view.c
src/report/report-gnome/dialog-style-sheet.c
src/report/report-gnome/report.glade
src/business/business-core/test/test-address.c
src/business/business-core/test/test-business.c
src/business/business-core/test/test-customer.c
src/business/business-core/test/test-employee.c
src/business/business-core/test/test-job.c
src/business/business-core/test/test-vendor.c
src/business/business-core/test/test-load-module.c
src/business/business-core/file/gnc-address-xml-v2.c
src/business/business-core/file/gnc-customer-xml-v2.c
src/business/business-core/file/gnc-employee-xml-v2.c
src/business/business-core/file/gnc-entry-xml-v2.c
src/business/business-core/file/gnc-invoice-xml-v2.c
src/business/business-core/file/gnc-job-xml-v2.c
src/business/business-core/file/gnc-order-xml-v2.c
src/business/business-core/file/gnc-owner-xml-v2.c
src/business/business-core/file/gnc-vendor-xml-v2.c
src/business/business-core/file/gncmod-business-backend-file.c
src/business/business-core/businessmod-core.c
src/business/business-core/gncAddress.c
src/business/business-core/gncBusiness.c
src/business/business-core/gncCustomer.c
src/business/business-core/gncEmployee.c
src/business/business-core/gncEntry.c
src/business/business-core/gncInvoice.c
src/business/business-core/gncJob.c
src/business/business-core/gncOrder.c
src/business/business-core/gncVendor.c
src/business/business-core/gncOwner.c
src/business/business-gnome/businessmod-gnome.c
src/business/business-gnome/customer.glade
src/business/business-gnome/dialog-customer.c
src/business/business-gnome/dialog-employee.c
src/business/business-gnome/dialog-job-select.c
src/business/business-gnome/dialog-job.c
src/business/business-gnome/dialog-vendor.c
src/business/business-gnome/employee.glade
src/business/business-gnome/gnc-business-utils.c
src/business/business-gnome/job.glade
src/business/business-gnome/vendor.glade
src/business/business-gnome/dialog-order.c
src/business/business-gnome/order.glade
src/business/business-gnome/business-utils.c
src/business/business-gnome/date-close.glade
src/business/business-gnome/dialog-date-close.c
src/business/business-gnome/dialog-invoice.c
src/business/business-gnome/invoice.glade
src/business/business-ledger/gncEntryLedger.c
src/business/business-ledger/gncEntryLedgerControl.c
src/business/business-ledger/gncEntryLedgerLayout.c
src/business/business-ledger/gncEntryLedgerModel.c
src/business/business-ledger/gncEntryLedgerLoad.c
src/business/business-ledger/gncEntryLedgerDisplay.c
src/tax/us/test/test-link-module.c
src/tax/us/gncmod-tax-us.c
src/engine/Account.c
src/engine/Backend.c
src/engine/DateUtils.c
src/engine/FreqSpec.c
src/engine/GNCId.c
src/engine/Group.c
src/engine/test/test-commodities.c
src/engine/test/test-freq-spec.c
src/engine/test/test-group-vs-book.c
src/engine/test/test-load-engine.c
src/engine/test/test-resolve-file-path.c
src/engine/test/test-scm-query.c
src/engine/test/test-split-vs-account.c
src/engine/test/test-transaction-voiding.c
src/engine/test/test-date.c
src/engine/test/test-query.c
src/engine/test/test-period.c
src/engine/test/test-object.c
src/engine/test/test-querynew.c
src/engine/Query.c
src/engine/SchedXaction.c
src/engine/Scrub.c
src/engine/TransLog.c
src/engine/Transaction.c
src/engine/date.c
src/engine/gnc-associate-account.c
src/engine/gnc-book.c
src/engine/gncmod-engine.c
src/engine/gnc-commodity.c
src/engine/gnc-engine-util.c
src/engine/gnc-engine.c
src/engine/gnc-event.c
src/engine/gnc-numeric.c
src/engine/gnc-pricedb.c
src/engine/kvp-scm.c
src/engine/test-core/gncmod-test-engine.c
src/engine/test-core/test-engine-stuff.c
src/engine/guid.c
src/engine/kvp_frame.c
src/engine/md5.c
src/engine/Period.c
src/engine/SX-ttinfo.c
src/engine/gnc-session.c
src/engine/engine-helpers.c
src/engine/glib-helpers.c
src/engine/messages.c
src/engine/QueryCore.c
src/engine/kvp-util.c
src/engine/QueryNew.c
src/engine/QueryObject.c
src/engine/gncObject.c
src/experimental/cgi-bin/fastcgi-hello.c
src/experimental/cgi-bin/gnc-server.c
src/experimental/cgi-bin/hello.c
src/experimental/cgi-bin/hello2.c
src/experimental/cgi-bin/hello3.c
src/network-utils/test/test-link-module.c
src/network-utils/gnc-gpg.c
src/network-utils/gnc-http.c
src/network-utils/gncmod-network-utils.c
src/gnome/glade/account.glade
src/gnome/glade/commodities.glade
src/gnome/glade/sched-xact.glade
src/gnome/glade/fincalc.glade
src/gnome/glade/sched-xact_strings.c
src/gnome/glade/find.glade
src/gnome/glade/help.glade
src/gnome/glade/newuser.glade
src/gnome/glade/print.glade
src/gnome/glade/commodities.glade
src/gnome/glade/price.glade
src/gnome/glade/print.glade
src/gnome/glade/progress.glade
src/gnome/glade/register.glade
src/gnome/glade/stocks.glade
src/gnome/glade/sched-xact.glade
src/gnome/glade/tax.glade
src/gnome/glade/transfer.glade
src/gnome/glade/userpass.glade
src/gnome/gnucash.desktop.in
src/gnome/dialog-commodities.c
src/gnome/tip-of-the-day.c
src/gnome/dialog-fincalc.c
src/gnome/dialog-find-transactions.c
src/gnome/dialog-new-user.c
@ -259,53 +303,42 @@ src/gnome/dialog-price-editor.c
src/gnome/dialog-print-check.c
src/gnome/dialog-progress.c
src/gnome/dialog-scheduledxaction.c
src/gnome/dialog-sxsincelast.c
src/gnome/dialog-tax-info.c
src/gnome/dialog-totd.c
src/gnome/dialog-transfer.c
src/gnome/dialog-userpass.c
src/gnome/reconcile-list.c
src/gnome/window-main.c
src/gnome/druid-hierarchy.c
src/gnome/top-level.c
src/gnome/dialog-sx-from-trans.c
src/gnome/druid-stock-split.c
src/gnome/window-main-summarybar.c
src/gnome/gnc-network.c
src/gnome/gnc-splash.c
src/gnome/gnucash.keys.in
src/gnome/mainwindow-account-tree.c
src/gnome/window-reconcile.c
src/gnome/reconcile-list.c
src/gnome/top-level.c
src/gnome/window-acct-tree.c
src/gnome/window-main-summarybar.c
src/gnome/window-main.c
src/gnome/window-reconcile.c
src/gnome/regwidget-window-register.c
src/gnome/window-register.c
src/gnome/tip-of-the-day.c
src/gnome/dialog-sx-from-trans.c
src/gnome/gnucash.desktop.in
src/import-export/qif-import/dialog-account-picker.c
src/import-export/qif-import/druid-qif-import.c
src/import-export/qif-import/gncmod-qif-import.c
src/import-export/qif-import/qif.glade
src/import-export/qif-import/test/test-link.c
src/import-export/qif-io-core/gncmod-qifiocore.c
src/import-export/binary-import/druid-commodity.c
src/import-export/binary-import/gncmod-binary-import.c
src/import-export/binary-import/test/test-link-module.c
src/import-export/binary-import/binary-import.glade
src/gnome/dialog-sxsincelast.c
src/guile/gw-gnc.c
src/guile/gnucash.c
src/optional/swig/gnucash-swig-defines.c
src/optional/swig/helperfuncs.c
src/core-utils/core-utils.c
src/test-core/test-stuff.c
src/test-core/gncmod-test.c
src/register/ledger-core/test/test-link-module.c
src/register/ledger-core/gnc-ledger-display.c
src/register/ledger-core/gncmod-ledger-core.c
src/register/ledger-core/split-register-layout.c
src/register/ledger-core/split-register-control.c
src/register/ledger-core/split-register-load.c
src/register/ledger-core/split-register-model-save.c
src/register/ledger-core/split-register-model.c
src/register/ledger-core/split-register-util.c
src/register/ledger-core/split-register.c
src/register/ledger-core/split-register-control.c
src/register/ledger-core/split-register-layout.c
src/register/ledger-core/dialog-dup-trans.c
src/register/ledger-core/test/test-link-module.c
src/register/ledger-core/gnc-regwidget.c
src/register/register-core/QuickFill.c
src/register/register-core/basiccell.c
src/register/register-core/cell-factory.c
@ -317,11 +350,11 @@ src/register/register-core/pricecell.c
src/register/register-core/quickfillcell.c
src/register/register-core/recncell.c
src/register/register-core/register-common.c
src/register/register-core/test/test-link-module.c
src/register/register-core/table-allgui.c
src/register/register-core/table-control.c
src/register/register-core/table-layout.c
src/register/register-core/table-model.c
src/register/register-core/test/test-link-module.c
src/register/register-gnome/combocell-gnome.c
src/register/register-gnome/datecell-gnome.c
src/register/register-gnome/gncmod-register-gnome.c
@ -329,29 +362,35 @@ src/register/register-gnome/gnucash-color.c
src/register/register-gnome/gnucash-cursor.c
src/register/register-gnome/gnucash-date-picker.c
src/register/register-gnome/gnucash-grid.c
src/register/register-gnome/gnucash-header.c
src/register/register-gnome/gnucash-item-edit.c
src/register/register-gnome/gnucash-item-list.c
src/register/register-gnome/gnucash-scrolled-window.c
src/register/register-gnome/gnucash-sheet.c
src/register/register-gnome/gnucash-style.c
src/register/register-gnome/gnucash-item-edit.c
src/register/register-gnome/pricecell-gnome.c
src/register/register-gnome/quickfillcell-gnome.c
src/register/register-gnome/table-gnome.c
src/register/register-gnome/test/test-link-module.c
src/register/register-gnome/gnucash-sheet.c
src/register/register-gnome/gnucash-header.c
src/register/register-gnome/gnucash-style.c
src/scm/gnumeric/guile-strings.c
src/scm/guile-strings.c
src/scm/printing/guile-strings.c
src/scm/qif-import/guile-strings.c
src/scm/report/guile-strings.c
src/test-core/gncmod-test.c
src/test-core/test-stuff.c
src/core-utils/core-utils.c
src/dialog-account/dialog-account.c
src/report/locale-specific/us/test/test-link-module.c
src/report/locale-specific/us/gncmod-locale-reports-us.c
src/report/report-system/test/test-link-module.c
src/report/report-system/gncmod-report-system.c
src/report/report-system/gnc-report.c
src/report/standard-reports/gncmod-standard-reports.c
src/report/stylesheets/gncmod-stylesheets.c
src/report/utility-reports/gncmod-utility-reports.c
src/report/report-gnome/window-report.c
src/report/report-gnome/gncmod-report-gnome.c
src/report/report-gnome/report.glade
src/report/report-gnome/test/test-link-module.c
src/report/report-gnome/dialog-column-view.c
src/report/report-gnome/dialog-style-sheet.c
src/gnome-search/dialog-search.c
src/gnome-search/gncmod-gnome-search.c
src/gnome-search/search-boolean.c
src/gnome-search/search-core-type.c
src/gnome-search/search-date.c
src/gnome-search/search-double.c
src/gnome-search/search-int64.c
src/gnome-search/search-numeric.c
src/gnome-search/search-param.c
src/gnome-search/search-string.c
src/gnome-search/search.glade
src/gnome-search/search-account.c
intl-scm/guile-strings.c

View File

@ -3,20 +3,6 @@ Author: jsled@asynchronous.org
Main Scheduled Transaction todo list
------------------------------------
##################################################
### Done
##################################################
X add the ...GetFreqStr() code for the complex composite FreqSpecs
X fix the ...GetNextInstance() code
X XMLv2 I/O
X need policy for start-dates in GNCFrequency
X fix GetNextInstance and GetInstanceAfter, mostly for composite FreqSpecs
X also needs to deal with >28-mday values WRT last-occur date + multipliers
X Engine ...Init() functions should be private.
X would like "don't even tell me you instantiated it, just fscking do
it!" option for non-manual-conf SXes
##################################################
### To-Do
###
@ -24,6 +10,8 @@ X would like "don't even tell me you instantiated it, just fscking do
###
##################################################
. Meta
. fulfill everything on http://linas.org/linux/gnucash/projects.html#alerts
. FreqSpec.c
. xaccFreqSpecGetFreqStr [display] needs to go away [?]
@ -32,10 +20,11 @@ X create a template register
X store account and amount data in kvp_frames.
. find a way to list multiple registers for template transaction purposes.
. this is a "normal" general ledger + a "stock" general ledger
. warlord's business stuff may extend this to more ledgers...
. this is going to be: a tabbed notebook in which the tabs contain
the number of transactions the GL they hold contain.
. register macro-widget
. register macro-widget [src/register/ledger-core/gnc-regWidget.{h,c}]
. should support
. toolbar
. Close
@ -64,13 +53,21 @@ X create a template register
. Blank
. Jump
. extended to support previously-menu-accessible options in embedded case
. status bar
. configurable UI elts [menu, toolbar, status]
. re-configurable UI elts
. menu: the register itself should provide a sub-menu for inclusion
into other menus [the window-register, for instance]
. toolbar: As seen above, certain toolbar elts are common, some are
appl.-specific.
. status: the status bar is sort-of a boolean option; applications
may wish to place the status bar in a more acceptable location.
. default callbacks
. override-able
. can "orverridable" mean "[gtk-style-]signal-based"?
. bitmask of supported functionality
. !"Schedule..." for the embedded-in-SX-editor case, gray-out
. !"Schedule..." for the embedded-in-SX-editor case => gray-out
. shouldn't [necessarily] support
. date range [may be fixed/irrelevant by caller]
. style changes [caller may enforce]
@ -79,15 +76,52 @@ X create a template register
? Hook into 'book data changed' save-on-exit decision
. GNCFrequency
. bugs
. transitioning to a new tab doesn't correctly setup the agreement
between the startdate and the page elements.
X why does the accounts window go crazy when we change the FreqSpec parameters?
X probably component-manager related... yup; FreqSpec Malloc/Free
generates events, which cause GUI refreshes.
X Example calendar month change isn't handled correctly/doesn't refresh the
marks.
X fixed by removing any ability to change the example calendar.
X "Inappropriate FreqSpec type" on new-SX editing.
X "new; weekly: click on day, click off day: GLib-CRITICAL **: file gdate.c: line 1236 (g_date_to_struct_tm): assertion `g_date_valid (d)' failed."
. no longer reproducable
. SX list
. add a big calendar [gnome-pim? evo?] to SXaction List/overview
. tab order
. SX editor
X 'Cancel' button should auto-cancel ledger changes
. tab order
. Can't click-out of the register
. 'ESC' while editing template register causes window to go away badly
. attempting to create a Weekly SX with no days selected causes a segfault.
. the user should be prevented from doing this.
X composite SX shouldn't segfault when asked to getFreqSpecStr for this
X should use regWidget
X Size/space issues [?]
X auto-shrink on window create [the register is too wide, leading to too
much whitespace on the two top panels -- sometimes].
X Un-selecting "End Date" leaves calendar widget sensitive
X 'Cancel' button should auto-cancel ledger changes
. make-from-transaction
. bugs
. you can delete a freshly-from-trans'd SX from the list with the
from-trans dlg still open, then 'ok' the dlg to get a segfault.
. creating a SX from trans with the SX list open does not update it.
. general: there's going to be all sorts of interaction issues like these
between these things [SX-from-trans, SX list, SX editor] that should be
handled.
. tab-order
. better frequency guess?
[related...]
. match existing transactions for long-time users
. based off template-transaction data, some big existing-transaction
scanning code.
X credit/debit pull-over issues
X need to remove '-' from printed credit value.
X pull accounts over.
@ -95,15 +129,39 @@ X create a template register
X need start-date on Make dialog
X [initially starts as the next occurance after the created-from SX,
which may not be the Right Thing]
. better frequency guess?
. non-trivial problem
[related...]
. match existing transactions for long-time users
. based off template-transaction data, some big existing-transaction
scanning code.
. tab-order
. need "since-last-run" UI for instanatiation.
. need effective cancellation support
. need nifty visual style
. use color-setting code in src/gnome-utils/druid-utils.[ch]
. support sorting in clists
. tab-order
. variable-binding table:
. tab through variables -- if on last one: ( if something's unfilled,
tab back to there, else, tab back to clist:( if no more unfilled
entries, then tab down to back/next/cancel. ))
. Double-clicking on auto-create list should jump to transaction
. register of first split?
. Need some way to defer to-create SXes?
. need some configuration for constantly-running GnuCash users of when to
pop up the 'new scheduled transactions' dialog [option, time-of-day]
. fix first/last page issues.
. bugs
. correct "Back" button behavior in Druid paradigm
. tab-order on variable-entry window isn't always correct.
. created SXes are put in GL forever... :(
. inital "To-Create Transactions" varbinding table doesn't setup table correctly.
X twunder reports [2002.01.29] register growing a little bit at a time if
tab is hit to switch between register fields -- started with update on
1/21.
X I _bet_ this is fixed with magic gnc-regWidget sizing fix -- 2002.04.15
X "0" and "0.0" don't work for variable values?
X correct "Cancel" behavior in Druid
X reset SX state to before creation
X delete any created SXes.
X restore any obsolete-n-deleted SXes.
X variable expressions don't get re-eval'd [as formula]?
X need to do this only on tab-out of the field.
X Change from dialogs to druid
X/O create transactions
X numeric
@ -111,6 +169,7 @@ X create a template register
X need variable fill-in UI...
X re-use gnome-sheet code for a variable-binding table? -- ended up
using GtkTable [for now?]
X variables should default to '0', and '0' should be acceptable.
X need way to expire/purge scheduled transactions which have no chance of
being created [outside their end date; once-scheduled and past].
X infrequent enough that a dialog should suffice.
@ -118,33 +177,31 @@ X create a template register
X Is it sufficient to look at the next instance of ea. transaction only?
I think not... we probably want to look out until the transaction is
outside the reminder range.
. support sorting in clists
. tab-order
. need some configuration for constantly-running GnuCash users of when to
pop up the 'new scheduled transactions' dialog [option, time-of-day]
X Should deal with "nothing-to-do" better [not even show up in the worst
[read: no auto-notify/to-create/reminders] case].
X don't load/init/create the GUI if we're not about to use it.
X this is different between the auto-invoked since-last-run dialog [show
nothing] and the menu-invoked since-last-run [show a dialog to the user
stating there's nothing to do].
. Double-clicking on auto-create list should jump to transaction
. register of first split?
X double-clicking a reminder should [probably] move it up to the to-create
list.
X Easy UI way of moving through the SXes which need variable bindings.
[This presently is: click "Ok" and the next clist row which needs
bindings is selected.]
. Need some way to defer to-create SXes?
X any [horizontal] window size change height-grows the top/auto-create GL.
X always goes one date past the instantiation date.
X credit and debit seem reversed at instantiation time...
X this is fixed, but is the fix correct?
. register mods
. to see upcoming xactions, modifying future balance
. to note which are "recurring"
. the mozilla "reload" glyph is kinda neat...
. Differently-colored "not-yet-created" entries for a configurable
time window.
. Context menus/sensitive toolbar button/menu item for creation of
not-yet-created transactions.
. register mods?
. to see upcoming xactions, modifying future balance?
. to note which are "recurring"
. the mozilla "reload" glyph is kinda neat...
. prolly should use existing PIM "recurring" glyphs
. Differently-colored "not-yet-created" entries for a configurable
time window?
. Context menus/sensitive toolbar button/menu item for creation of
not-yet-created transactions?
. The ability to turn a non-recurring transaction into a recurring one...
X [see from-trans section]
. inactive cells
@ -161,21 +218,38 @@ X create a template register
. only a couple left; which ones?
. backend support
. PostgreSQL
. SQL
. others?
##################################################
### Done
### ... don't put stuff here ... just move it to the bottom of the
### appropriate list, above, and 'X' it -- jsled
##################################################
X add the ...GetFreqStr() code for the complex composite FreqSpecs
X fix the ...GetNextInstance() code
X XMLv2 I/O
X need policy for start-dates in GNCFrequency
X fix GetNextInstance and GetInstanceAfter, mostly for composite FreqSpecs
X also needs to deal with >28-mday values WRT last-occur date + multipliers
X Engine ...Init() functions should be private.
X would like "don't even tell me you instantiated it, just fscking do
it!" option for non-manual-conf SXes
---------------
Random Notes
. SX Creation...
. Creation occurs due to a variety of circumstances:
X GnuCash starts and hasn't been run in some length of time; the
transactions which have "come due" since the last run are available for
creation.
. A user opens a register with future transactions in it; they manually
force the creation of the [perhaps not immediately next [though this
seems a bit weird]] one.
. A user is reminded of something which hasn't come due, but will w/in a
configurable amount of time, and thus they pay/create it.
X GnuCash starts and hasn't been run in some length of time; the
transactions which have "come due" since the last run are available for
creation.
. Configuration options...
. Overall
@ -220,49 +294,10 @@ X General
X Date l10n.
. GNCFreqency
X why does the accounts window go crazy when we change the FreqSpec parameters?
X probably component-manager related... yup; FreqSpec Malloc/Free
generates events, which cause GUI refreshes.
. transitioning to a new tab doesn't correctly setup the agreement between
the startdate and the page elements.
X Example calendar month change isn't handled correctly/doesn't refresh the
marks.
X fixed by removing any ability to change the example calendar.
X "Inappropriate FreqSpec type" on new-SX editing.
X "new; weekly: click on day, click off day: GLib-CRITICAL **: file gdate.c: line 1236 (g_date_to_struct_tm): assertion `g_date_valid (d)' failed."
. no longer reproducable
. Scheduled Transaction Editor
. Can't click-out of the register
. 'ESC' while editing template register causes window to go away [badly].
. attempting to create a Weekly SX with no days selected causes a segfault.
. the user should be prevented from doing this.
X composite SX shouldn't segfault when asked to getFreqSpecStr for this
X Size/space issues [?]
X auto-shrink on window create [the register is too wide, leading to too
much whitespace on the two top panels -- sometimes].
X Un-selecting "End Date" leaves calendar widget sensitive
. Scheduled Transaction List
. Since-last-run
. correct "Back" button behavior in new Druid paradigm
. correct "Cancel" behavior in Druid
. reset SX state to before creation
. delete any created SXes.
. restore any obsolete-n-deleted SXes.
. tab-order on variable-entry window isn't always correct.
X any [horizontal] window size change height-grows the top/auto-create GL.
X always goes one date past the instantiation date.
X credit and debit seem reversed at instantiation time...
X this is fixed, but is the fix correct?
. SX-from-trans
. you can delete a freshly-from-trans'd SX from the list with the
from-trans dlg still open, then 'ok' the dlg to get a segfault.
. creating a SX from trans with the SX list open does not update it.
. general: there's going to be all sorts of interaction issues like these
between these things [SX-from-trans, SX list, SX editor] that should be handled.
##################################################
### Enhancements
@ -405,7 +440,7 @@ window-register notes:
. RegWindow *regWindowSimple (Account *account)
. RegWindow *regWindowAccGroup (Account *account)
. functionality should remain, probably in reg mwidget
. I now disagree; this should be the caller [for templates, especially]
. void gnc_register_raise (RegWindow *regData)
. probably should remain here; if the reg mwidget has knowledge of it's
@ -416,12 +451,13 @@ window-register notes:
. should be part of mwidget
. static void gnc_register_change_style (RegWindow *regData, SplitRegisterStyle style)
. static void gnc_register_style_(ledger|auto_ledger|journal|double_line_cb (GtkWidget *w, gpointer data)
. mwidget
. static void gnc_register_style_(ledger|auto_ledger|journal|double_line)_cb (GtkWidget *w, gpointer data)
. mwidget [no]
. static void gnc_register_sort_(standard|date|date_entered|date_reconciled|num|amount|memo|desc)_cb(GtkWidget *w, gpointer data)
. static void gnc_register_sort (RegWindow *regData, sort_type_t sort_code)
. mwidget
. mwidget? -- actually seems like container's responsibility.
. then, need some way to get the ledger->query for manip.
. some of these may not make sense in embedded applications
. static time_t gnc_register_(min|max)_day_time(time_t time_val)
@ -437,15 +473,19 @@ window-register notes:
. static void gnc_register_show_date_window(RegWindow *regData)
. static RegDateWindow *gnc_register_date_window (RegWindow *regData, gboolean show_all)
. need DateWindow policy/decision.
. decision: caller's responsibility.
. static GtkWidget *gnc_register_create_tool_bar (RegWindow *regData)
. mwidget
. should use passed-in toolbar, with clear contract about how the caller
should add/manip the [modified] toolbar provided.
. static void gnc_ui_find_transactions_cb (GtkWidget *widget, gpointer data)
. necessary for embedded applications?
. necessary for embedded applications? [nope]
. static GtkWidget *add_summary_label (GtkWidget *summarybar, const char *label_str)
. mwidget [option]
. eh?
. static GtkWidget *gnc_register_create_summary_bar (RegWindow *regData)
. static GtkWidget *gnc_register_create_status_bar (RegWindow *regData)
@ -480,7 +520,7 @@ window-register notes:
. static gnc_numeric gnc_account_present_balance (Account *account)
. static GNCPrice *account_latest_price (Account *account)
. mwidget?
. mwidget? [nope ... in fact, not even in window-register]
. static void startRecnCB(GtkWidget * w, gpointer data)
. recn: configurable behavior

View File

@ -162,9 +162,9 @@ gncmod-engine.c: gw-engine.h
gnc-commodity.c: iso-4217-currencies.c
iso-4217-currencies.c: .scm-links iso-4217-currencies.scm iso-currencies-to-c
chmod u+x ${srcdir}/iso-currencies-to-c
GUILE_LOAD_PATH=${top_srcdir}/lib/ ${srcdir}/iso-currencies-to-c
iso-4217-currencies.c: iso-4217-currencies.scm iso-currencies-to-c
chmod u+x ./iso-currencies-to-c
GUILE_LOAD_PATH=${top_srcdir}/lib/:${GUILE_LOAD_PATH} ${srcdir}/iso-currencies-to-c
gw-engine.scm gw-engine.c gw-engine.h: .scm-links gw-engine-spec.scm
FLAVOR=gnome guile -c \

View File

@ -72,6 +72,9 @@ struct query_s
/* list of books that will be participating in the query */
BookList *books;
/* Flag to indicate if we're searching over template-transactions, too. */
gboolean templates_too;
/* cache the results so we don't have to run the whole search
* again until it's really necessary */
int changed;
@ -103,7 +106,6 @@ static int xaccValueMatchPredicate(Split * s, PredicateData * pd);
/********************************************************************
********************************************************************/
void
xaccQueryPrint(Query * q)
{
@ -288,6 +290,14 @@ xaccQueryPrint(Query * q)
}
}
void
xaccQuerySearchTemplateGroup( Query *q, gboolean newState )
{
if (!q)
return;
q->templates_too = newState;
}
/********************************************************************
* xaccInitQuery
@ -328,6 +338,8 @@ xaccInitQuery(Query * q, QueryTerm * initial_term)
q->primary_increasing = TRUE;
q->secondary_increasing = TRUE;
q->tertiary_increasing = TRUE;
q->templates_too = FALSE;
}
@ -646,6 +658,8 @@ xaccQueryCopy(Query *q)
copy->changed = q->changed;
copy->split_list = g_list_copy (q->split_list);
copy->xtn_list = g_list_copy (q->xtn_list);
copy->templates_too = q->templates_too;
return copy;
}
@ -1328,6 +1342,12 @@ xaccQueryGetSplits(Query * q)
GNCBook *book = node->data;
all_accts = g_list_concat (all_accts,
xaccGroupGetSubAccounts (gnc_book_get_group(book)));
/* If we're searching template accounts, then add them. */
if ( q->templates_too ) {
all_accts =
g_list_concat( all_accts,
xaccGroupGetSubAccounts( gnc_book_get_template_group(book) ) );
}
}
for (node = all_accts; node; node = node->next)

View File

@ -229,6 +229,10 @@ gboolean xaccQueryEqual(Query *q1, Query *q2);
/* handy for debugging */
void xaccQueryPrint(Query *q);
/* (Un-)set the Query's search to look at the template account group used by
* scheduled transactions, as well. */
void xaccQuerySearchTemplateGroup( Query *, gboolean );
/*******************************************************************
* match-adding API
*******************************************************************/

View File

@ -43,10 +43,19 @@
static short module = MOD_SX;
/** Local data defs *****/
void sxprivtransactionListMapDelete( gpointer data, gpointer user_data );
/* Just the temporal bits from the SX structure. */
typedef struct _temporalStateData {
GDate last_date;
GDate start_date;
GDate end_date;
gint num_occur_total;
gint num_occur_rem;
} temporalStateData;
/** Local Prototypes *****/
void sxprivtransactionListMapDelete( gpointer data, gpointer user_data );
static void
xaccSchedXactionInit( SchedXaction *sx, GNCBook *book)
@ -635,8 +644,10 @@ xaccSchedXactionSetTemplateTrans(SchedXaction *sx, GList *t_t_list,
void*
xaccSchedXactionCreateSequenceState( SchedXaction *sx )
{
void *toRet = NULL;
//void *toRet = NULL;
return gnc_sx_create_temporal_state_snapshot( sx );
/*
if ( xaccSchedXactionHasOccurDef( sx ) ) {
toRet = g_new0( gint, 1 );
*(gint*)toRet = xaccSchedXactionGetRemOccur( sx );
@ -644,26 +655,65 @@ xaccSchedXactionCreateSequenceState( SchedXaction *sx )
} else {
DEBUG( "Returning null state data" );
}
return toRet;
*/
//return toRet;
}
void
xaccSchedXactionIncrSequenceState( SchedXaction *sx,
void *stateData )
{
if ( xaccSchedXactionHasOccurDef( sx ) ) {
temporalStateData *tsd = (temporalStateData*)stateData;
tsd->num_occur_rem -= 1;
}
#if 0 /* change to temporal_state */
if ( xaccSchedXactionHasOccurDef( sx ) ) {
gint *remaining;
remaining = (gint*)stateData;
*remaining = *remaining - 1;
}
#endif /* 0 */
}
void
xaccSchedXactionDestroySequenceState( SchedXaction *sx,
void *stateData )
xaccSchedXactionDestroySequenceState( void *stateData )
{
gnc_sx_destroy_temporal_state_snapshot( stateData );
#if 0 /* change to temporal_state */
if ( xaccSchedXactionHasOccurDef( sx ) ) {
g_free( (gint*)stateData );
}
#endif /* 0 */
}
void
*gnc_sx_create_temporal_state_snapshot( SchedXaction *sx )
{
temporalStateData *toRet = g_new0( temporalStateData, 1 );
toRet->last_date = sx->last_date;
toRet->start_date = sx->start_date;
toRet->end_date = sx->end_date;
toRet->num_occur_total = sx->num_occurances_total;
toRet->num_occur_rem = sx->num_occurances_remain;
return (void*)toRet;
}
void
gnc_sx_revert_to_temporal_state_snapshot( SchedXaction *sx, void *stateData )
{
temporalStateData *tsd = (temporalStateData*)stateData;
sx->last_date = tsd->last_date;
sx->start_date = tsd->start_date;
sx->end_date = tsd->end_date;
sx->num_occurances_total = tsd->num_occur_total;
sx->num_occurances_remain = tsd->num_occur_rem;
sx->dirty = TRUE;
}
void
gnc_sx_destroy_temporal_state_snapshot( void *stateData )
{
g_free( (temporalStateData*)stateData );
}

View File

@ -161,6 +161,7 @@ void xaccSchedXactionSetSlot( SchedXaction *sx,
const GUID *xaccSchedXactionGetGUID( SchedXaction *sx );
void xaccSchedXactionSetGUID( SchedXaction *sx, GUID g );
///@{
/**
* Next-Instance state data.
*
@ -179,7 +180,26 @@ void xaccSchedXactionSetGUID( SchedXaction *sx, GUID g );
**/
void *xaccSchedXactionCreateSequenceState( SchedXaction *sx );
void xaccSchedXactionIncrSequenceState( SchedXaction *sx, void *stateData );
void xaccSchedXactionDestroySequenceState( SchedXaction *sx, void *stateData );
void xaccSchedXactionDestroySequenceState( void *stateData );
///@}
///@{
/**
* Temporal state data.
*
* These functions allow us to opaquely save the entire temporal state of
* ScheduledTransactions. This is used by the "since-last-run" dialog to
* store the initial state of SXes before modification ... if it later
* becomes necessary to revert an entire set of changes, we can 'revert' the
* SX without having to rollback all the individual state changes.
*
* NOTE that this is similar to the above SequenceState interface, and
* perhaps can be seen as entailing the above interface.
**/
void *gnc_sx_create_temporal_state_snapshot( SchedXaction *sx );
void gnc_sx_revert_to_temporal_state_snapshot( SchedXaction *sx, void *stateData );
void gnc_sx_destroy_temporal_state_snapshot( void *stateData );
///@}
/**
* Returns the next occurance of a scheduled transaction. If the

View File

@ -47,6 +47,8 @@
#include "window-help.h"
#include "window-register.h"
#include "gnc-regwidget.h"
/* FIXME: temp until variable-related-stuff settled. */
#include "dialog-sxsincelast.h"
@ -72,6 +74,8 @@ static short module = MOD_SX;
#define END_DATE_OPTION 1
#define NUM_OCCUR_OPTION 2
#define NUM_LEDGER_LINES_DEFAULT 6
/** Datatypes ***********************************************************/
/* FIXME: this is stolen from window-register.c */
@ -98,18 +102,18 @@ struct _SchedXactionDialog
struct _SchedXactionEditorDialog
{
GladeXML *gxml;
GtkWidget *dialog;
SchedXactionDialog *sxd;
SchedXaction *sx;
GladeXML *gxml;
GtkWidget *dialog;
SchedXactionDialog *sxd;
SchedXaction *sx;
int new;
GNCLedgerDisplay *ledger;
GnucashRegister *reg;
GNCLedgerDisplay *ledger;
GnucashRegister *reg;
GNCFrequency *gncfreq;
GNCFrequency *gncfreq;
char *sxGUIDstr;
char *sxGUIDstr;
GtkWidget *toolbar;
};
@ -178,8 +182,8 @@ sxed_close_handler ( gpointer user_data )
gnc_sxed_reg_check_close( sxed );
gnc_ledger_display_close( sxed->ledger );
sxed->ledger = NULL;
/*gnc_ledger_display_close( sxed->ledger );*/
/*sxed->ledger = NULL;*/
g_free (sxed->sxGUIDstr);
sxed->sxGUIDstr = NULL;
@ -485,7 +489,7 @@ gnc_ui_scheduled_xaction_dialog_create(void)
gnc_register_gui_component( DIALOG_SCHEDXACTION_CM_CLASS,
NULL, /* no refresh handler */
sxd_close_handler,
sxd_close_handler,
sxd );
gtk_signal_connect( sxdo, "destroy",
@ -719,238 +723,6 @@ schedXact_editor_init( SchedXactionEditorDialog *sxed )
}
static
GtkWidget *
schedXaction_editor_create_reg_popup( SchedXactionEditorDialog *sxed )
{
GtkWidget *popup;
static GnomeUIInfo transaction_menu[] =
{
{
GNOME_APP_UI_ITEM,
N_("_Enter"),
N_("Record the current transaction"),
sxed_reg_recordCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("_Cancel"),
N_("Cancel the current transaction"),
sxed_reg_cancelCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("_Delete"),
N_("Delete the current transaction"),
sxed_reg_deleteCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
{
GNOME_APP_UI_ITEM,
N_("D_uplicate"),
N_("Make a copy of the current transaction"),
sxed_reg_duplicateCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("_Schedule..."),
N_("Create a scheduled transaction using the current one as a template"),
NULL, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
{
GNOME_APP_UI_TOGGLEITEM,
N_("_Split"),
N_("Show all splits in the current transaction"),
sxed_reg_expand_trans_checkCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("_Blank"),
N_("Move to the blank transaction at the "
"bottom of the register"),
sxed_reg_new_transCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("_Jump"),
N_("Jump to the corresponding transaction in "
"the other account"),
sxed_reg_jumpCB, NULL, NULL,
GNOME_APP_PIXMAP_NONE, NULL,
0, 0, NULL
},
GNOMEUIINFO_END
};
gnc_fill_menu_with_data( transaction_menu, sxed );
popup = gnome_popup_menu_new (transaction_menu);
return popup;
}
static GtkWidget *
schedXaction_editor_create_reg_tool_bar( SchedXactionEditorDialog *sxed )
{
/* RegWindow *regData */
GtkWidget *toolbar;
static GnomeUIInfo toolbar_info[] =
{
/*
{
GNOME_APP_UI_ITEM,
N_("Close"),
N_("Close this register window"),
sxed_close_handler, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_CLOSE,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
*/
{
GNOME_APP_UI_ITEM,
N_("Enter"),
N_("Record the current transaction"),
sxed_reg_recordCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_ADD,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("Cancel"),
N_("Cancel the current transaction"),
sxed_reg_cancelCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_UNDELETE,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("Delete"),
N_("Delete the current transaction"),
sxed_reg_deleteCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_TRASH,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
{
GNOME_APP_UI_ITEM,
N_("Duplicate"),
N_("Make a copy of the current transaction"),
sxed_reg_duplicateCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_COPY,
0, 0, NULL
},
/*
{
GNOME_APP_UI_ITEM,
N_("Schedule"),
N_("Create a scheduled transaction using the current one as a template"),
NULL, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_LINE_IN,
0, 0, NULL
},
*/
GNOMEUIINFO_SEPARATOR,
/*
{
GNOME_APP_UI_TOGGLEITEM,
N_("Split"),
N_("Show all splits in the current transaction"),
expand_trans_cb, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_BOOK_OPEN,
0, 0, NULL
},
*/
{
GNOME_APP_UI_ITEM,
N_("Blank"),
N_("Move to the blank transaction at the "
"bottom of the register"),
sxed_reg_new_transCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_NEW,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("Jump"),
N_("Jump to the corresponding transaction in "
"the other account"),
sxed_reg_jumpCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_JUMP_TO,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
{
GNOME_APP_UI_ITEM,
N_("Transfer"),
N_("Transfer funds from one account to another"),
sxed_reg_xferCB, NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_CONVERT,
0, 0, NULL
},
GNOMEUIINFO_SEPARATOR,
{
GNOME_APP_UI_ITEM,
N_("Find"),
N_("Find transactions with a search"),
/* FIXME:gnc_ui_find_transactions_cb */ NULL,
NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_SEARCH,
0, 0, NULL
},
/*
{
GNOME_APP_UI_ITEM,
N_("Report"),
N_("Open a report window for this register"),
reportCB,
NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_BOOK_GREEN,
0, 0, NULL
},
{
GNOME_APP_UI_ITEM,
N_("Print"),
N_("Print a report for this register"),
printReportCB,
NULL, NULL,
GNOME_APP_PIXMAP_STOCK, GNOME_STOCK_PIXMAP_PRINT,
0, 0, NULL
},
*/
GNOMEUIINFO_END
};
toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
gnome_app_fill_toolbar_with_data (GTK_TOOLBAR(toolbar), toolbar_info,
NULL, sxed);
sxed->toolbar = toolbar;
/* regData->split_button = toolbar_info[9].widget; */
return toolbar;
}
static
void
schedXact_editor_create_freq_sel( SchedXactionEditorDialog *sxed )
@ -986,27 +758,61 @@ schedXact_editor_create_ledger( SchedXactionEditorDialog *sxed )
{
GtkFrame *tempxaction_frame;
SplitRegister *splitreg;
GtkWidget *regWidget, *vbox, *popup, *toolbar;
#define NUM_LEDGER_LINES_DEFAULT 6
GtkWidget *regWidget, *vbox, *toolbar;
int numLedgerLines = NUM_LEDGER_LINES_DEFAULT;
tempxaction_frame =
GTK_FRAME( glade_xml_get_widget( sxed->gxml,
"tempxaction_frame" ) );
vbox = glade_xml_get_widget( sxed->gxml, "register_vbox" );
sxed->sxGUIDstr = guid_to_string( xaccSchedXactionGetGUID(sxed->sx) );
sxed->ledger = gnc_ledger_display_template_gl( sxed->sxGUIDstr );
gnc_ledger_display_set_handlers( sxed->ledger,
sxe_ledger_destroy,
sxe_ledger_get_parent );
gnc_ledger_display_set_user_data( sxed->ledger, (gpointer)sxed );
splitreg = gnc_ledger_display_get_split_register( sxed->ledger );
numLedgerLines =
(int)gnc_lookup_number_option( SX_OPT_STR,
"Template Register Lines",
NUM_LEDGER_LINES_DEFAULT );
gnucash_register_set_initial_rows(numLedgerLines);
regWidget = gnc_regWidget_new( sxed->ledger,
GTK_WINDOW(sxed->dialog) );
gtk_box_pack_start( GTK_BOX(vbox),
gnc_regWidget_get_toolbar( GNC_REGWIDGET(regWidget) ),
TRUE, TRUE, 2 );
{
GtkWidget *popup, *tmpMenu, *tmpMI;
/* Fixup the popup menu with the menus that would normally be in the
* menu-bar of the window-register. */
popup = gnc_regWidget_get_popup( GNC_REGWIDGET(regWidget) );
gtk_menu_append( GTK_MENU(popup), gtk_menu_item_new() );
tmpMenu = gnc_regWidget_get_edit_menu( GNC_REGWIDGET(regWidget) );
tmpMI = gtk_menu_item_new_with_label( N_("Edit") );
gtk_menu_item_set_submenu( GTK_MENU_ITEM(tmpMI), tmpMenu );
gtk_menu_append( GTK_MENU(popup), tmpMI );
tmpMenu = gnc_regWidget_get_style_menu( GNC_REGWIDGET(regWidget) );
tmpMI = gtk_menu_item_new_with_label( N_("Style") );
gtk_menu_item_set_submenu( GTK_MENU_ITEM(tmpMI), tmpMenu );
gtk_menu_append( GTK_MENU(popup), tmpMI );
tmpMenu = gnc_regWidget_get_sort_menu( GNC_REGWIDGET(regWidget) );
tmpMI = gtk_menu_item_new_with_label( N_("Sort") );
gtk_menu_item_set_submenu( GTK_MENU_ITEM(tmpMI), tmpMenu );
gtk_menu_append( GTK_MENU(popup), tmpMI );
gtk_widget_show_all( popup );
}
gtk_box_pack_start( GTK_BOX(vbox), regWidget, TRUE, TRUE, 2 );
#if 0
gnc_ledger_display_set_handlers( sxed->ledger,
sxe_ledger_destroy,
sxe_ledger_get_parent );
gnc_ledger_display_set_user_data( sxed->ledger, (gpointer)sxed );
/* Watch the order of operations, here... */
gnucash_register_set_initial_rows( numLedgerLines );
@ -1015,8 +821,6 @@ schedXact_editor_create_ledger( SchedXactionEditorDialog *sxed )
sxed->reg = GNUCASH_REGISTER(regWidget);
GNUCASH_SHEET(sxed->reg->sheet)->window = GTK_WIDGET(sxed->dialog);
vbox = glade_xml_get_widget( sxed->gxml, "register_vbox" );
popup = schedXaction_editor_create_reg_popup( sxed );
gnucash_register_attach_popup( sxed->reg, popup, sxed );
@ -1025,6 +829,7 @@ schedXact_editor_create_ledger( SchedXactionEditorDialog *sxed )
gtk_box_pack_start( GTK_BOX(vbox), toolbar, FALSE, FALSE, 2 );
gtk_box_pack_end( GTK_BOX(vbox), regWidget, TRUE, TRUE, 2 );
#endif /* 0 */
#if 0
gtk_signal_connect( GTK_OBJECT(sxed->dialog), "activate_cursor",
@ -1569,115 +1374,6 @@ refactor_transaction_delete_query(GtkWindow *parent)
return return_value;
}
static
void
sxed_reg_deleteCB( GtkWidget *w, gpointer d )
{
/* FIXME: this is C&P from window-register.c. As it's the
identical code [modulo the SplitReg userdata-lookup], it
should be refactored. */
SchedXactionEditorDialog *sxed = d;
SplitRegisterStyle style;
CursorClass cursor_class;
SplitRegister *reg;
Transaction *trans;
char *buf = NULL;
Split *split;
gint result;
reg = gnc_ledger_display_get_split_register (sxed->ledger);
/* get the current split based on cursor position */
split = gnc_split_register_get_current_split (reg);
if (split == NULL)
{
gnc_split_register_cancel_cursor_split_changes (reg);
return;
}
trans = xaccSplitGetParent(split);
style = reg->style;
cursor_class = gnc_split_register_get_current_cursor_class(reg);
/* Deleting the blank split just cancels */
{
Split *blank_split = gnc_split_register_get_blank_split (reg);
if (split == blank_split)
{
gnc_split_register_cancel_cursor_trans_changes (reg);
return;
}
}
if (cursor_class == CURSOR_CLASS_NONE)
return;
/* On a split cursor, just delete the one split. */
if (cursor_class == CURSOR_CLASS_SPLIT)
{
const char *format = _("Are you sure you want to delete\n %s\n"
"from the transaction\n %s ?");
/* ask for user confirmation before performing permanent damage */
buf = g_strdup_printf(format, xaccSplitGetMemo(split),
xaccTransGetDescription(trans));
/* result = gnc_verify_dialog_parented(sxed->dialog, buf, FALSE); */
result = TRUE;
g_free(buf);
if (!result)
return;
gnc_split_register_delete_current_split (reg);
return;
}
g_return_if_fail (cursor_class == CURSOR_CLASS_TRANS);
/* On a transaction cursor with 2 or fewer splits in single or double
* mode, we just delete the whole transaction, kerblooie */
if ((xaccTransCountSplits(trans) <= 2) && (style == REG_STYLE_LEDGER))
{
const char *message = _("Are you sure you want to delete the current "
"transaction?");
result = gnc_verify_dialog_parented(sxed->dialog, message, FALSE);
if (!result)
return;
gnc_split_register_delete_current_trans (reg);
return;
}
/* At this point we are on a transaction cursor with more than 2 splits
* or we are on a transaction cursor in multi-line mode or an auto mode.
* We give the user two choices: delete the whole transaction or delete
* all the splits except the transaction split. */
{
DeleteType del_type;
del_type = refactor_transaction_delete_query(GTK_WINDOW(sxed->dialog));
if (del_type == DELETE_CANCEL)
return;
if (del_type == DELETE_TRANS)
{
gnc_split_register_delete_current_trans (reg);
return;
}
if (del_type == DELETE_SPLITS)
{
gnc_split_register_emtpy_current_trans (reg);
return;
}
}
}
static
void
sxed_reg_duplicateCB( GtkWidget *w, gpointer d )

File diff suppressed because it is too large Load Diff

View File

@ -4613,18 +4613,6 @@ Anually
<class>GnomeDruid</class>
<name>sincelast_druid</name>
<widget>
<class>GnomeDruidPageStart</class>
<name>druidpagestart1</name>
<title>Start page</title>
<text>I don't know exactly what we do here, but this is just a test, anyways...</text>
<title_color>255,255,255</title_color>
<text_color>0,0,0</text_color>
<background_color>25,25,112</background_color>
<logo_background_color>255,255,255</logo_background_color>
<textbox_color>255,255,255</textbox_color>
</widget>
<widget>
<class>GnomeDruidPageStandard</class>
<name>reminders_page</name>

View File

@ -12,7 +12,8 @@ libgncmod_ledger_core_la_SOURCES = \
split-register-load.c \
split-register-model.c \
split-register-model-save.c \
split-register-util.c
split-register-util.c \
gnc-regwidget.c
noinst_HEADERS = \
gnc-ledger-display.h \
@ -21,7 +22,8 @@ noinst_HEADERS = \
split-register-layout.h \
split-register-model.h \
split-register-model-save.h \
split-register-p.h
split-register-p.h \
gnc-regwidget.h
libgncmod_ledger_core_la_LDFLAGS = -module
libgncmod_ledger_core_la_LIBADD = \
@ -38,6 +40,7 @@ AM_CFLAGS = \
-I${top_srcdir}/src/app-utils \
-I${top_srcdir}/src/gnome-utils \
-I${top_srcdir}/src/register/register-core \
-I${top_srcdir}/src/register/register-gnome \
${GUILE_INCS} \
${GLADE_CFLAGS} \
${GNOME_INCLUDEDIR} \

View File

@ -417,10 +417,7 @@ gnc_ledger_display_gl (void)
/**
* id is some identifier that can be:
* . used in a query to look for the transaction which belong to this
* template ledger
* . set in a specific key value for new transactions which belong to
* this template ledger.
* FIXME: what's the correct description of 'id'?
**/
GNCLedgerDisplay *
gnc_ledger_display_template_gl (char *id)
@ -440,22 +437,23 @@ gnc_ledger_display_template_gl (char *id)
acct = xaccGetAccountFromName (ag, id);
if (!acct)
{
/* FIXME */
printf( "can't get template account for id \"%s\"\n", id );
/* FIXME: this should be a more serious error, somehow */
PERR( "can't get template account for id \"%s\"\n", id );
}
xaccQueryAddSingleBookMatch( q, book, QUERY_AND );
xaccQueryAddSingleAccountMatch (q, acct, QUERY_AND);
xaccQuerySearchTemplateGroup( q, TRUE );
PWARN ("cannot use queries in this way call <linas@linas.org> to fix");
DxaccQuerySetGroup (q, gnc_book_get_template_group(book));
//PWARN ("cannot use queries in this way call <linas@linas.org> to fix");
//DxaccQuerySetGroup (q, gnc_book_get_template_group(book));
ld = gnc_ledger_display_internal (NULL, q, LD_GL,
GENERAL_LEDGER,
REG_STYLE_JOURNAL,
TRUE); /* template mode? TRUE. */
TRUE); /* TRUE : template mode */
sr = gnc_ledger_display_get_split_register (ld);
gnc_split_register_set_template_account (sr, acct);
return ld;
@ -577,7 +575,6 @@ gnc_ledger_display_make_query (GNCLedgerDisplay *ld,
break;
case LD_GL:
case LD_TEMPLATE:
return;
default:
@ -692,12 +689,6 @@ gnc_ledger_display_internal (Account *lead_account, Query *q,
break;
case LD_TEMPLATE:
class = REGISTER_TEMPLATE_CM_CLASS;
/* FIXME: sanity checks?
Check for kvp-frame data? */
break;
default:
PERR ("bad ledger type: %d", ld_type);
return NULL;

View File

@ -50,7 +50,6 @@ typedef enum
LD_SINGLE,
LD_SUBACCOUNT,
LD_GL,
LD_TEMPLATE,
} GNCLedgerDisplayType;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,104 @@
/********************************************************************\
* gnc-regwidget.h -- A widget for the common register look-n-feel. *
* Copyright (C) 2001 Joshua Sled <jsled@asynchronous.org> *
* *
* This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation; either version 2 of *
* the License, or (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License*
* along with this program; if not, contact: *
* *
* Free Software Foundation Voice: +1-617-542-5942 *
* 59 Temple Place - Suite 330 Fax: +1-617-542-2652 *
* Boston, MA 02111-1307, USA gnu@gnu.org *
\********************************************************************/
#ifndef GNC_REGWIDGET_H
#define GNC_REGWIDGET_H
#include <g-wrap-runtime-guile.h>
#include <gtk/gtk.h>
#include "config.h"
#include "gnc-ledger-display.h"
#include "gnucash-sheet.h"
#define GNC_REGWIDGET(obj) GTK_CHECK_CAST( obj, gnc_regWidget_get_type(), GNCRegWidget )
#define GNC_REGWIDGET_CLASS(klass) GTK_CHECK_CLASS_CAST( klass, gnc_regWidget_get_type(), GNCRegWidgetClass )
#define IS_GNC_REGWIDGET(obj) GTK_CHECK_TYPE( obj, gnc_regWidget_get_type() )
typedef struct _GNCRegWidget GNCRegWidget;
typedef struct _GNCRegWidgetClass GNCRegWidgetClass;
struct _GNCRegWidget {
/* The "parent" widget */
GtkVBox vbox;
/* Top level window */
/* jsled: used by the jump cbs; can we get by w/o knowing this? inv. layering */
GtkWidget * window;
gint width;
gint height;
SCM toolbar_change_callback_id;
GtkWidget * toolbar;
GtkWidget * statusbar;
GtkWidget * popup_menu;
GtkWidget * style_menu;
GtkWidget * sort_menu;
GtkWidget * edit_menu;
GtkWidget * transaction_menu;
GtkWidget * help_menu;
GtkWidget * double_line_check;
GtkWidget * split_button;
GtkWidget * split_menu_check;
GtkWidget * split_popup_check;
GNCLedgerDisplay * ledger;
/* The actual sheet widget */
GnucashRegister *reg;
sort_type_t sort_type;
};
struct _GNCRegWidgetClass {
GtkVBoxClass parent_class;
/* Signal prototype holders */
void (*enter_ent_cb)( GNCRegWidget *w, gpointer user_data );
void (*cancel_ent_cb)( GNCRegWidget *w, gpointer user_data );
void (*delete_ent_cb)( GNCRegWidget *w, gpointer user_data );
void (*dup_ent_cb)( GNCRegWidget *w, gpointer user_data );
void (*expand_ent_cb)( GNCRegWidget *w, gpointer user_data );
void (*blank_cb)( GNCRegWidget *w, gpointer user_data );
void (*jump_cb)( GNCRegWidget *w, gpointer user_data );
};
guint gnc_regWidget_get_type( void );
GtkWidget *gnc_regWidget_new( GNCLedgerDisplay *ld, GtkWindow *parent );
GnucashSheet *gnc_regWidget_get_sheet( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_style_menu( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_sort_menu( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_edit_menu( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_transaction_menu( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_help_menu( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_toolbar( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_statusbar( GNCRegWidget *rw );
GtkWidget *gnc_regWidget_get_popup( GNCRegWidget *rw );
#endif /* !defined(GNC_REGWIDGET_H) */