Last Bigpatch.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2025 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas 2000-02-27 22:20:19 +00:00
parent 11529e91c1
commit 1fa751680d
8 changed files with 430 additions and 89 deletions

406
ChangeLog
View File

@ -1,5 +1,405 @@
2000-02-26 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/window-adjust.c (gnc_adjust_update_cb): only update if
the new string is different from the old. ditto for the reconcile
and transfer windows.
2000-02-25 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/pricecell.c (PriceHelp): print out full number for
help value.
* src/register/table-allgui.c (makePassive): implement alternative
passive colors.
* src/register/splitreg.h (struct _SplitRegisterColors): add color
for odd rows in single mode, and boolean argument determining
whether to alterative virtual or physical rows in double mode.
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_check_grab):
see if we need to release the grab.
* src/register/splitreg.c (xaccInitSplitRegister): configure the
mxfer cell with an ignore string (SPLIT_STR) and a help string
explaining multi-line transactions.
* src/register/gnome/combocell-gnome.c: added help handler and
ignore string functions.
* src/register/table-allgui.c (gnc_table_enter_update): don't set
changed flag if new string is identical.
2000-02-24 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/table-gnome.c (xaccRefreshTableGUI): redo the style
information so that new colors (and other info) get refreshed.
* src/register/gnome/gnucash-header.c (gnucash_header_draw): use
header style color to draw header background.
* src/gnome/option-util.c: new functions to support color options.
* src/gnome/dialog-options.c: gui implementation of color options.
* src/scm/report/hello-world.scm: used the new color option.
* src/scm/options.scm: added a new color option.
2000-02-23 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/scm/extensions.scm (gnc:new-menu-namer): new object that
automatically picks accelerator keys for a group of menu items.
2000-02-22 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_delete_cb):
don't bother with the callback if the ending position of the
deleted section is <= to the starting position. This can happen.
* include/messages_i18n.h.in: added menu item strings with
underscore accelerators. Changed several gnome files to use
these strings.
2000-02-21 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/gnome/gnucash-header.c
(gnucash_header_reconfigure): scroll region width should be the
style width, not the allocation width.
2000-02-20 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/guile/gfec.c (gfec_catcher): use a guile function for
printing the error instead of the C interfaces. This removes
a dependency on guile 1.3.4.
* src/scm/c-interface.scm: add function for return an error string.
Used by the C-side error catcher in gfec.c.
2000-02-19 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/scm/report/hello-world.scm: added a 'crash the report'
option for testing the reports code.
* src/register/gnome/gnucash-header.c (gnucash_header_event):
modify per changes to pointer_on_resize_line. Allow the user to
resize by double-clicking anywhere in a column heading.
(pointer_on_resize_line): set the column with a pointer argument.
return true if on a resize line, false otherwise.
(gnucash_header_init): initialize normal_cursor to NULL, which
selects the default gdk cursor.
2000-02-18 Heath Martin <martinh@pegasus.cc.ucf.edu>
* src/register/gnome/gnucash-style.c (gnucash_style_layout_init):
Make only the description cell a FILL cell.
2000-02-18 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/engine/util.c (gnc_localeconv): Diane Trout's patch to set
the default values with a function.
* src/register/datecell.c (DateMV): validate change values longer
than a single character. Also, update the date value after a
non-accelerator change.
* src/register/pricecell.c (PriceMV): validate change values
longer than a single character.
* src/engine/util.c (gnc_localeconv): add in default values for
the sign and currency positions if their values are out of range.
* src/gnome/window-reconcile.c (recnRecalculateBalance): colorize
the negative values in the summary frame.
2000-02-17 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/window-register.c (gnc_register_create_menu_bar):
added an edit menu with cut/copy/paste.
(gnc_register_create_menu_bar): use 'blank' instead of 'new' to
describe the command to jump to the blank split. Use a new tooltip
too. Ditto for the popup menu and the toolbar.
* Makefile.in: reversed order of gnucash linking so gnucash.gnome
gets linked last, so it overides the motif version. Also, install
the gnucash.desktop entry so gnucash appears in the gnome panel.
* src/register/splitreg.c: right-align the xfer cells
* src/register/gnome/gnucash-item-edit.c: handle selections the
gtk way with the gtk_selection_ routines. Grabbed this stuff from
gtkeditable and gtkentry.
* src/register/gnome/gnucash-sheet.c: use the new selection handling
code in the item editor to do cutting and pasting.
2000-02-16 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/gnome/gnucash-item-edit.c: added code to support
real gtk selection handling. Adapted this from the gtk editable
widget.
2000-02-15 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/dialog-transfer.c (gnc_xfer_dialog_create): allow the
user to resize the window
* src/gnome/window-register.c: save and restore window size
* src/gnome/window-main.c: save and restore window size
* src/gnome/dialog-edit.c: save and restore window size
2000-02-14 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/dialog-add.c (accWindow): save and restore window size
* many files: use the configured account separator
* src/gnome/dialog-utils.c (gnc_get_account_separator): new function
to get the account separator
* src/scm/prefs.scm: new option for the account separator
2000-02-13 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/splitreg.c (configLayout): swap the xfer and desc
cells. Add the debit and credit cells to the transaction cursor
so we get totals.
* src/register/quickfillcell.h: add a GUI-specific initializer.
The motif version does nothing. The gnome version add a direct
callback to handle auto-completion keystrokes.
* src/register/table-allgui.c (gnc_table_direct_update): new
function for passing direct gui input to the table, and then the
cells.
* src/register/basiccell.h: added a direct_update callback for
responding to raw gui input.
* src/register/gnome/combocell-gnome.c (ComboDirect): add complete
to char and complete as far as possible functionality.
2000-02-12 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/window-register.c: add new account menu item
* src/engine/Transaction.c (xaccTransCommitEdit): always check the
split ordering on a commit. Only checking the transaction date won't
work, because other fields in the transaction and the split affect
the order.
* src/engine/Account.c (xaccCheckDateOrder): use
xaccSplitDateOrder, the same routine as xaccAccountInsertSplit to
do the ordering.
* src/register/table-allgui.c (gnc_table_modify_update): new
function, a direct gui callback.
2000-02-11 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/report/transaction-report.scm
((gnc:tr-report-get-first-acc-name split-scm)): Fixed crash when
it's a lone split, and somebody's not using proper double-entry
accounting!
* Doc: Extensive clean-up and documentation of new features,
including several new images.
2000-02-11 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/splitreg.c (xaccInitSplitRegister): change memo
cell to be a quickfill cell.
* src/gnome/window-main.c (gnc_refresh_main_window): refresh all
account trees.
(gnc_ui_delete_account): remove account from all trees.
* src/gnome/account-tree.c: added a global list of account trees.
added functions for refreshing all trees and deleting an account
from all trees.
* src/register/basiccell.h: (and lots more files) added a cell
callback for getting the 'help' string of a cell. This uses a
default which uses the value of the cell, if its not blank, and
a "blank help" otherwise. The blank help string can be set on a
per-cell basis.
The date cell replaces the help callback with one that prints the
date out in full, according to the current locale.
The split register initialization sets a few of the cells with
blank help values.
Finally, the gnome register uses the help strings to set the
status of the statusbar.
2000-02-10 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/engine/util.c (loglevel): print warnings and errors in
all modules.
* src/gnome/window-main.c: change the sensitivity of menu and
toolbar items that need a selected account.
* src/gnome/dialog-edit.c (editAccWindow): allow dialog to be
resized
* src/scm/extensions.scm: add code for a more flexible menu
definition process under guile. Comment out extensions menu
stuff -- it's not complete.
* src/register/gnome/gnucash-sheet.c (gnucash_button_press_event):
after moving, get the cursor position again before setting the
item editor cursor position because the cursor position may have
changed due to auto-mode rearrangement.
* src/scm/prefs.scm:comment out locale-based date parsing
* src/gnome/window-main.c (gnc_main_create_menus): modify the
names and order of the items per gnome standards.
* src/scm/options.scm: Only save options that have been changed
from their default values.
* include/messages_i18n.h.in: removed periods from end of tooltips
(gnome standard).
2000-02-09 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/window-reconcile.c (recnFinishCB): rewrote to be more
like the other top-level windows.
* src/gnome/dialog-transfer.c (gnc_xfer_dialog): have the amount
entry grab focus.
2000-02-08 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/scm/options.scm: add a number-range option
* src/scm/prefs.scm: add an option of number of register rows.
* src/gnome/option-util.c: add utility functions for number
range options.
* src/gnome/dialog-options.c: implement number range options
* src/scm/prefs.scm: added a register 'show all transactions'
option.
* src/gnome/window-register.c (gnc_register_date_window): lookup
guile 'show all' option to determine how to set the date range.
* src/register/splitreg.c (xaccInitSplitRegister): Set the minimum
trailing zeros for share quantities to 0. All price cells are now
monetary values.
* src/register/pricecell.c: modify to use integer arg for trailing
zeros. Add function for changing blank_zero option.
* src/engine/util.c (PrintAmt): change the trailing zeros argument
to an integer indicating the minimum number of trailing zeros to
print.
* src/register/gnome/gnucash-item-list.c: handle mouse wheel
scrolling from the clist.
2000-02-07 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/window-main.c (gnc_ui_refresh_statusbar): set the
color of deficit values to red in the main window status bar.
* src/gnome/account-tree.c (gnc_account_tree_insert_row): only set
values as red if they are less than but not extremely close to
zero.
* src/gnome/window-main.c (mainWindow): separate profit and asset
labels in the status bar.
2000-02-07 Robert Graham Merkel <rgmerk@mira.net>
* src/gnome/global-options.c (gnc_options_dialog_help_cb): pops
up a help window.
* src/gnome/dialog-edit.c (gnc_ui_EditAccWindow_help_cb): callback
now displays help page instead of placeholder dialog.
* Docs/En/xacc-accountedit.html: New file explaining account edit
dialog.
* Docs/En/xacc-globalprefs.html: New file explaining preferences.
* Docs/En/xacc-main.html: Added pointers to new help pages for
account-edit and preferences dialog boxes.
* src/top-level.h: Added new HH_* macros for new help pages for
dialog boxes
2000-02-06 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/SplitLedger.c (xaccSRSaveRegEntry): don't refresh if the
transfer account hasn't really changed.
* src/gnome/window-adjust.c (gnc_ui_AdjBWindow_ok_cb): parse
amount with xaccParseAmount. When the amount entry goes out of
focus, reformat the value with separators.
* src/gnome/dialog-transfer.c: parse amount with xaccParseAmount.
When the amount entry goes out of focus, reformat the value with
separators.
* src/gnome/reconcile-list.c (gnc_reconcile_list_fill): print the
amount with xaccPrintAmount, with separators.
* src/gnome/window-reconcile.c (startRecnWindow): print the amount
with separators and parse it with xaccParseAmount. When the amount
entry goes out of focus, parse it and reformat it.
* src/register/splitreg.c (xaccInitSplitRegister): set the stock
register cell options appropriately.
* src/register/pricecell.c: add functions for setting the precision
and trailing zeros option. removed the 'shares' option.
* src/engine/util.c (xaccSPrintAmountGeneral): add a generalized
amount printing function.
* src/gnome/window-register.c (gnc_register_date_window): add a
button to the date range window for setting the date range when
the user changes a date without 'enter' or 'double-click'.
* src/engine/Account.c (xaccAccountGetFullName): moved this function
from gnome to here to make it gui independent. Returns a malloc'd
string with the fully-qualified name of the account using the given
separator char.
2000-02-06 Heath Martin <martinh@pegasus.cc.ucf.edu>
* src/register/gnome/gnucash-header.c
(gnucash_header_auto_resize_column): Support for auto sizing.
(gnucash_header_event): Double clicks on the resize lines will
auto resize the column to fit the text.
* src/register/gnome/gnucash-sheet.c (compute_optimal_width): Use
the style layout to compute a good width for the sheet.
* src/register/gnome/gnucash-header.c (gnucash_header_draw): Draw
the big rectangle correctly.
(gnucash_header_reconfigure): Set the scroll region and header
width based on the size of the sheet, not the current style.
2000-02-05 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/splitreg.c (xaccInitSplitRegister): flag the share
quantities as such.
(xaccInitSplitRegister): initialize the physical column to 0.
* src/register/pricecell.c: get rid of the format string, add an
option for printing share quantities.
* src/engine/Session.c (MakeHomeDir): just because ~/.gnucash
exists doens't mean ~/.gnucash/data exists.
* src/scm/report/hello-world.scm: renamed from dummy.scm. Added
documentation to the source code and additional help text in the
report. This is intended to be an example for how to write reports.
@ -91,6 +491,12 @@
* src/scm/bootstrap.scm.in: Used Matt Martin's guile error catching
code to print errors from gnc:load.
2000-01-28 Heath Martin <martinh@pegasus.cc.ucf.edu>
* src/register/gnome/gnucash-header.c (pointer_on_resize_line): Fix a
problem with the limits. Now the last column is resizable.
(gnucash_header_event): Check for which button is pressed/released.
2000-01-27 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/register/splitreg.c (xaccInitSplitRegister): set format of

View File

@ -141,12 +141,12 @@ install:
-[ -e gnucash.qt.static ] && \
${MAKE} FLAVOR=qt.static GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.qt ] && ${MAKE} FLAVOR=qt GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.gnome.static ] && \
${MAKE} FLAVOR=gnome.static GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.gnome ] && ${MAKE} FLAVOR=gnome GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.motif.static ] && \
${MAKE} FLAVOR=motif.static GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.motif ] && ${MAKE} FLAVOR=motif GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.gnome.static ] && \
${MAKE} FLAVOR=gnome.static GNC_BINDIR=${GNC_BINDIR} install-bin
-[ -e gnucash.gnome ] && ${MAKE} FLAVOR=gnome GNC_BINDIR=${GNC_BINDIR} install-bin
# Make sure at least one succeeded
[ \
@ -225,6 +225,10 @@ install:
$(MAKE) -C po install
[ $(GNOME_CONFIG_BIN)x != x ] && \
$(INSTALL_DATA) gnucash.desktop \
$(shell $(GNOME_CONFIG_BIN) --datadir)/gnome/apps/Applications
# # Config directory
# @mkdir -p ${GNC_CONFIGDIR}
#
@ -240,7 +244,7 @@ install:
# ${INSTALL_DATA} $$file ${GNC_CONFIGDIR}/$$dest; \
# done
.PHONY: default install-private install
.PHONY: default install-bin install
.PHONY: motif motif-static motif.static
.PHONY: gnome gnome-static gnome.static
.PHONY: qt qt-static qt.static

16
README
View File

@ -85,10 +85,10 @@ Original X-Accountant home page:
http://www.cs.hmc.edu/~rclark/xacc
Precompiled binaries:
ftp://ftp.ultra.net/pub/eugene/RPMS/i386/
http://www.gnucash.org/pub/gnucash/redhat-6.x/1.2.5/
Development versions:
http://linas.org/linux/gnucash/
http://www.gnucash.org/source_code.php3
Running:
@ -103,10 +103,8 @@ Motif binary:
guile -- Provides main extension language infrastructure.
This is used extensively in gnucash for initialization & startup.
Require version 1.3 or later (or build 1998.08.18 or later) ...
ftp://ftp.gnucash.org/pub/gnucash/extra_libs/TAR/guile-core-19980818.tar.gz
guile-core-19980818-1.i386.rpm works
guile-1.3.1-1 from redhat.com/pub/rawhide works ...
Require version 1.3.4 or later.
The guile-1.3.4-1 rpm works.
Motif or Lesstif --
Either a commercial Motif, or the free software clone Lesstif is
@ -123,7 +121,7 @@ Motif or Lesstif --
Lesstif 0.86.9 works ... but some menus come out 2 pixels high.(?)
Lesstif 0.87.0: broken (missing symbols for XmeDrawShadows, etc.)
Lesstif 0.88.1 works
Lesstif 0.89.0 broken ... can't save files
Lesstif 0.89.0 works
XmHTML -- Provides HTML display capabilities. Used for Help Dialogues, Reports.
Require version 1.1.4 or later
@ -138,7 +136,7 @@ XmHTML -- Provides HTML display capabilities. Used for Help Dialogues, Reports.
solutions; the simplest is probably to download the XmHTML source
package and compile it yourself.
slib -- scheme libraries for guile. Need version slib2c6 or later.
slib -- scheme libraries for guile. Need version slib2c4 or later.
libpng -- portable network graphics library. Any version.
libjpeg -- JPEG image handling library. Any version.
@ -151,7 +149,7 @@ network stock price downloads, you must have the following packages
below installed (in addition to those listed above).
RPM's for most of these can be found at http://rufus.w3.org/linux/
slib -- scheme libraries for guile. Need version slib2c6 or later.
slib -- scheme libraries for guile. Need version slib2c4 or later.
perl -- Almost any version of perl5 should work. I run perl-5.004
eperl -- Almost any version of eperl should work. I run eperl-2.2.14

6
gnucash.desktop Normal file
View File

@ -0,0 +1,6 @@
[Desktop Entry]
Name=GnuCash
Comment=GnuCash Personal Finance
Exec=gnucash
Terminal=0
Type=Application

View File

@ -127,4 +127,6 @@ stamp-cat-id
po/extract-macros.perl
include/messages_i18n.h
lib/g-wrap/aclocal.m4
lib/g-wrap/conf-h.in
lib/g-wrap/*/Makefile.in
src/guile/i18n.h

View File

@ -12,7 +12,7 @@
# Copyright (c) 1999 Linas Vepstas
# hack alert -- this pathname should *NOT* be hard-coded.
use lib '/usr/lib/gnucash/';
use lib '/opt/gnucash/lib/gnucash/';
use Quote;
use gnucash;

View File

@ -1,42 +0,0 @@
(define (gnc:create-account AccPtr name description notes type)
(display "start creation")(newline)
(gnc:xaccAccountBeginEdit AccPtr 0)
(display "edit")(newline)
(display (string-append "Name:" name)) (newline)
(gnc:xaccAccountSetName AccPtr name)
(display (string-append "Descr:" description)) (newline)
(gnc:xaccAccountSetDescription AccPtr description)
(display (string-append "notes:" notes)) (newline)
(gnc:xaccAccountSetNotes AccPtr notes)
(display (string-append "Type:" (number->string type))) (newline)
(gnc:xaccAccountSetType AccPtr type)
(gnc:xaccAccountCommitEdit AccPtr)
(display "committed")(newline)
)
(display "Create some accounts:")(newline)
(let ((cash
(list (gnc:malloc-account)
"Sample Cash"
"Sample Cash Description"
"No notes - this is just a sample"
1))
(inc1
(list (gnc:malloc-account)
"Misc Income"
"Miscellaneous Income"
"Just a dumb income account"
8))
(exp1
(list (gnc:malloc-account)
"Misc Exp"
"Miscellaneous Expenses"
"Just a dumb expense account"
9)))
(display "Samples: ") (newline)
(display (list cash inc1 exp1)) (newline)
(apply gnc:create-account cash)
(apply gnc:create-account inc1)
(apply gnc:create-account exp1))
(display "Tried creation")(newline)

View File

@ -1,33 +0,0 @@
(gnc:support "test.scm")
(define (gnc:test-load group)
(let ((cash
(list (gnc:malloc-account)
"Sample Cash"
"Sample Cash Description"
"No notes - this is just a sample"
1))
(inc1
(list (gnc:malloc-account)
"Misc Income"
"Miscellaneous Income"
"Just a dumb income account"
8))
(exp1
(list (gnc:malloc-account)
"Misc Exp"
"Miscellaneous Expenses"
"Just a dumb expense account"
9)))
(display "Samples: ") (newline)
(display (list cash inc1 exp1)) (newline)
(apply gnc:create-account cash)
(apply gnc:create-account inc1)
(apply gnc:create-account exp1)
(display "group:") (display group) (newline)
(gnc:group-insert-account group (car cash))
(gnc:group-insert-account group (car inc1))
(gnc:group-insert-account group (car exp1))
(gnc:refresh-main-window))
(display "Tried creation")(newline))