forked from Gnucash/gnucash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.2000
3340 lines (2261 loc) · 116 KB
/
ChangeLog.2000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2000-12-20 Bill Gribble <grib@billgribble.com>
* src/scm/report.scm: minor changes to allow report URLs
(mainly a structure for "instantiated" reports and a global index
of instantiated reports).
* src/scm/help-topics-index.scm: first pass at an index of the
user manual. Mainly just to see how it looks.
* src/gnome/window-report.c: major surgery. Add embedded
parameters editor, constructor option for putting in an external
container, popup menu when no toolbar.
* src/gnome/window-help.c: major surgery. add topics browser,
keyword search, etc etc.
* src/gnome/print-session.{c,h}: fix b0rken printing stuff and
start using gnome-print's print dialog and preview. Now prints to
PDF!
* src/gnome/gnc-html*.c: new html infrastructure. gnc-html.c is
the basic struct and operations; gnc-html-history is the history
object; gnc-html-embedded is support for creating embedded graphs
in HTML.
* gnc-dialogs.glade: get rid of homemade print preview window;
we're using gnome's now. Add nifty features to help and
report windows.
* src/gnome/dialog-options.c: redo to allow embedding in a
pane within a report window. this means not being a
GnomePropertyBox.
* src/engine/gnc-commodity.c: memory management cleanups
(thanx memprof!)
* src/engine/Query.c: get rid of Split** internally and in
return from xaccQueryGetSplits
* src/SplitLedger.c: update for GList return from
xaccQueryGetSplits
* doc/html/C/guppi*.html: some simple demos of the guppi
plot system. You can get at them through the help topics
browser.
* build-help-index.pl : a dirt stupid HTML index builder.
Constructs a DB2 file from a list of input files.
* Add configure checks for guppi, libghttp
2000-12-18 Dave Peticolas <dave@krondo.com>
* src/register/gnome/quickfillcell-gnome.c: add support for mb
char sets
* src/register/gnome/pricecell-gnome.c: add support for mb char
sets
* src/register/gnome/gnucash-sheet.c: add support for mb char sets
* src/register/gnome/datecell-gnome.c: add support for mb char
sets
* src/register/gnome/combocell-gnome.c: add support for mb char
sets
* src/register/numcell.c: add support for mb char sets
* src/register/basiccell.c: add support for mb char sets
* src/register/QuickFill.c: add support for mb char sets
2000-12-14 Robert Graham Merkel <rgmerk@mira.net>
* src/guile/Makefile.am: replace hardwired g-wrap module dir
with value from configure.in.
* src/engine/gnc-associate-account.[ch] : New files with code for
associating income/expense accounts with a stock account. Not yet
hooked up to the UI.
2000-12-13 Rob Browning <rlb@cs.utexas.edu>
* src/scm/text-export.scm: kill pointer-token*
* src/scm/report/transaction-report.scm: minor formatting changes.
* src/scm/report/taxtxf.scm: kill pointer-token*
* src/scm/report/folio.scm: use new g-wrap enum support.
* src/scm/report/budget-report.scm:
disable report until we fix the enumeration usage.
* src/scm/report/balance-and-pnl.scm: kill pointer-token*
* src/scm/report/average-balance.scm: minor formatting changes.
* src/scm/report-utilities.scm: kill pointer-token*
(gnc:account-has-shares?): use new g-wrap enum support.
* src/scm/qif-import/qif-to-gnc.scm: kill pointer-token*
* src/scm/qif-import/qif-parse.scm:
delete unusd gif-parse:print-acct-type
* src/scm/qif-import/qif-guess-map.scm: kill pointer-token*
* src/scm/main.scm
(gnc:main): add handle-batch-mode-item so --evaluate works.
* src/scm/engine-interface.scm: kill pointer-token*.
* src/scm/c-interface.scm: kill pointer-token*.
* src/quotes/gnc-prices-2.in: various small fixes (big ones later).
* src/optional/swig/.cvsignore: add Makefile Makefile.in
* src/guile/option-util.c
(gnc_option_db_register_change_callback): update for new g-wrap.
* src/guile/guile-util.c
(gnc_copy_split): update for new g-wrap.
(gnc_copy_split_scm_onto_split): update for new g-wrap.
(gnc_copy_trans): update for new g-wrap.
(gnc_copy_trans_scm_onto_trans_swap_accounts): update for new g-wrap.
(gnc_glist_account_ptr_to_scm): use gnc_glist_to_scm_list.
(gnc_scm_to_glist_account_ptr): use gnc_scm_list_to_glist.
(gnc_scm_to_commodity): update for new g-wrap.
(gnc_commodity_to_scm): update for new g-wrap.
(gnc_glist_string_to_scm): double speed - use stack.
(gnc_scm_to_glist_string): don't reverse result.
(gnc_glist_commodity_ptr_to_scm): update for new g-wrap.
use gnc_glist_to_scm_list.
(gnc_scm_to_glist_commodity_ptr): use gnc_scm_list_to_glist.
* src/guile/gnucash.c.in
(gnucash_main_helper): add g-wrap module dir to %load-path.
(gnucash_main_helper): call init_g_wrapped_gnc, not init_gnc.
* src/guile/gnc.gwp: update for the new g-wrap.
* src/guile/gnc-helpers.h: add prototypes for new functions.
* src/guile/gnc-helpers.c
(glist_to_scm_list_helper): new (private) function.
(gnc_glist_to_scm_list): new public function.
(gnc_scm_list_to_glist): new public function.
(glist_map_helper): new (private) function.
(gnc_glist_scm_map): new public function.
(gnc_glist_scm_for_each): new public function.
(gnc_gettext_helper): always strdup result.
(gnc_timespec2timepair): use gint64, not long long.
(gnc_timepair2timespec): use gint64, not long long.
(gnc_timepair_p): use more accurate test (including range check).
(gnc_scm_traversal_adapter): use new g-wrap wcp code.
(gnc_gint64_to_scm): new public function.
(gnc_scm_to_gint64): new public function.
(gnc_gh_gint64_p): new public function.
(gnc_scm_to_numeric): use gint64, not long long.
(gnc_numeric_to_scm): use gint64, not long long.
(gnc_numeric_p): use gint64, not long long.
* src/guile/Makefile.am: update for new g-wrap.
* src/gnome/top-level.c (gnc_ui_main): use new g-wrap wcp code.
* src/gnome/druid-qif-import.c: use new g-wrap wcp code.
* src/engine/gnc-commodity.c: g_strdup the key.
(gnc_commodity_table_delete_namespace): g_free the key.
These fixes are probably not sufficient.
* src/engine/Account.c: make temp warnings more informative.
* configure.in: update for new g-wrap.
check for guile bug (sizeof long_long >= long long).
check that sizeof unsigned long >= guint32.
* acinclude.m4: update for new g-wrap.
2000-12-08 Dave Peticolas <dave@krondo.com>
* src/gnome/gnc-dateedit.c: use more care when using parsed
date values.
* src/register/gnome/datecell-gnome.c: use more care when using
parsed date values.
* src/engine/Query.c: make sure to use end-of-day times for the
end date in a search.
* src/engine/date.c: remove xaccValidateDate -- use mktime instead.
Use more care when setting struct tm values, especially with is_dst.
2000-12-05 Robert Graham Merkel <rgmerk@mira.net>
* src/gnome/account-tree.[ch] (gnc_account_tree_unselect_account):
Add unselect account functionality as required by mainwindow
account tree
2000-12-04 Robert Graham Merkel <rgmerk@mira.net>
* src/gnome/mainwindow-account-tree.[ch]: new file. Widgetizes
the current contents of the main window in preparation for
pane-ization.
* src/gnome/window-main.c: modified to take account of the above.
2000-11-17 James LewisMoss <dres@debian.org>
* src/doc/design/reports.texinfo (Reports): Reorder option
descriptions to match the order in the example function.
* src/doc/design/Makefile.am (gnucash_design_TEXINFOS): Add info
files to clean list (why the hell aren't they already cleaned?)
2000-11-15 James LewisMoss <dres@debian.org>
* src/doc/design/register.texinfo (Split Register): Move a little
something around to make sure dvi/ps output doesn't spill off side
of page.
* src/doc/design/intro.texinfo (Introduction): Move a little
something around to make sure dvi/ps output doesn't spill off side
of page.
* src/doc/design/fdl.texinfo (GNU Free Documentation License):
Comment out @bye causing texi2dvi to quit not completing the
output.
2000-11-09 Bill Gribble <grib@billgribble.com>
* src/engine/gnc_numeric.c: fix remainder-handling error
* src/scm/qif-import/qif-dialog-utils.scm: only ask about
stocks that are in the QIF files being loaded.
* src/scm/qif-import/qif-file.scm: add progress bar to file read
* src/scm/qif-import/qif-to-gnc.scm: add progress bar to
transaction mark and import.
2000-11-08 Bill Gribble <grib@billgribble.com>
* src/engine/SplitLedger.c: use new SetShareAmount/SetValue
semantics (need to make sure this is correct!)
* src/engine/Group.c: fix the "splits in GList with NULL data"
problem.
* src/engine/Transaction.c: get rid of Set***Directly functions,
and modify the gnc_numeric versions of SetValue and SetShareAmount
to use the direct semantics (i.e. SetValue doesn't affect the
ShareAmount any more unless you use the deprecated double API).
* src/engine/gnc-numeric.c: fix gnc_numeric_convert and
double_to_gnc_numeric to ameliorate overflow problems. This
should fix the wrong balance problems people are seeing.
* src/gnome/druid-qif-import.c: make selection persistent in
account/cat pick lists
* g-wrap gnc-numeric datatype and API; shuffle the Scheme API in
the same way the C was done to add the new gnc-numeric API using
the "real" function names and deprecate the old double API by
prefixing the names with d-. Now (for example)
gnc:split-set-value takes a gnc_numeric arg, and
d-gnc:split-set-value takes a double. All calling scheme code was
sed'ed to make this change.
* src/scm/qif-import/qif-dialog-utils.scm: fix stock name regexp
parsing bug in QIF importer. This should fix the crash that many
people have reported.
* src/scm/qif-import/qif-file.scm: fix an Opening Balance
processing bug that was causing some opening balance transactions
to be duplicated.
* src/scm/qif-import/qif-to-gnc.scm: fix double-counting of
Commissions. Change to use gnc_numeric and new Set semantics;
this should (maybe) fix some reported off-by-a-penny problems.
2000-11-05 Rob Browning <rlb@cs.utexas.edu>
* src/engine/io-gncxml-w.c: sort commodities by namespace and id
before writing so we get stable output.
2000-10-30 Dave Peticolas <dave@krondo.com>
* src/gnc-exp-parser.c: modify to use gnc_numerics instead of
doubles.
* src/engine/gnc-numeric.c: special case num == 0 to prevent
divide by zero exception.
2000-10-27 Dave Peticolas <dave@krondo.com>
* src/calculation/expression_parser.c: handle (num) as -num.
2000-10-26 Dave Peticolas <dave@krondo.com>
* src/engine/util.c (DxaccParseAmount): handle (num) as -num.
2000-10-23 Rob Browning <rlb@cs.utexas.edu>
* src/scm/main.scm:
(gnc:*batch-mode-things-to-do*): new var - keep track of startup bits.
(gnc:main): add --load processing for "things-to-do".
* src/scm/engine-utilities.scm:
(gnc:filename->account-group): new - likely temporary.
(gnc:call-with-account-data-from-file): new - likely temporary.
* src/scm/command-line.scm (gnc:*arg-defs*): add --load option in
addition to --evaluate.
* src/engine/sql/PostgresBackend.c: handle changes in the rest of
the code.
* src/engine/kvp_frame.c: change the datatype a little to pull the
union tag into the main struct. Also update the functions and
datatypes to more closely mirror glib types. i.e. lists are now
just GLists that must contain only kvp_value pointers. The kvp
docs have *not* been updated to reflect these changes (nor the
changes listed below).
(kvp_frame_set_slot): now setting a slot to a NULL value deletes
the slot. This is not in the docs yet.
(init_frame_body_if_needed): new function - only initialize the
guts of the kvp_frame if we need them. This helps in some
situations and should be free otherwise. All the other functions
should handle this properly now.
(kvp_value_new_binary_nc): new function - create a new binary
object using the pointer given directly.
(kvp_frame_for_each_slot): new function.
(kvp_value_compare): new function.
(kvp_frame_compare): new function.
* src/engine/kvp_frame.h: accomodate changes to kvp_frame.c.
* src/engine/guid.c:
(guid_compare): new function.
(guid_hash_to_guint): hash function from glib.
(guid_hash_table_new): new function.
(guid_g_hash_table_equal): new function.
* src/engine/guid.h: accomodate changes to guid.c.
* src/engine/date.c:
(timespec_equal): new function.
* src/engine/date.c: accomodate changes to date.c.
* src/engine/Transaction.c: update all functions to mark the
account's dirty flags when needed.
(xaccTransGetSlot): deleted - replaced by xaccTransGetSlots.
(xaccTransSetSlot): deleted - replaced by xaccTransGetSlots.
(xaccTransGetSlots): new function.
(xaccTransEqual): new function.
(DATE_CMP): don't use pointer to pointer args (unnecessary).
(xaccSplitDateOrder): now a total order - sort on guid if needed.
(xaccSplitOrder): deleted - unused.
(xaccTransOrder): now a total order - sort on guid if needed.
(xaccTransSetDocref): deleted.
(xaccTransGetDocref): deleted.
* src/engine/Transaction.h: accomodate changes to Transaction.c.
* src/engine/TransactionP.h: accomodate changes to Transaction.c.
* src/engine/Session.c:
(xaccSessionGetFileError): new function - migrate away from using
global for error status.
(xaccSessionBegin): change semantics - a begin does *not* load the
file automatically now. You must call xaccSessionLoad for that.
This is better, particularly in the SaveAs case when the load is
wasteful, and, until we fix the GUID code up so that loading the
same file twice doesn't cause a detonation, safer.
(xaccSessionBegin): change semantics - same as for
xaccSessionBegin.
(xaccSessionLoad): new function - loads the session data.
(xaccSessionSaveMayClobberData): new function - predicate.
(xaccSessionSave): change semantics - don't delete the file if
topgroup is NULL. This is too scary given all the other changes.
We can bring it back later if needed, but I'd probably rather see
an xaccSessionPurgeStorage, or similar.
* src/engine/Session.h: support changes to Session.c.
* src/engine/Makefile.am: handle new, deleted, and renamed files.
* src/engine/Group.c: handle vanished account id's, etc.
(xaccGroupEqual): new function.
(xaccGroupVisitUnvisitedTransactions): new function.
(xaccGroupForEachTransaction): new function.
(xaccGroupMapAccounts): new function (probably going away later).
(xaccGroupForEachAccountDeeply): ditto.
* src/engine/Group.h: handler changes to Acccount*'s and to Group.c.
* src/engine/GNCId.c:
(xaccGetAndResetEntityTable): new function - needed when you want
to load two files representing the same data for
comparison.
(xaccSetEntityTable): new function - needed when you want
to load two files representing the same data for
comparison.
* src/engine/GNCIdP.h: accomodate changes to GNCId.c
* src/engine/Account.c: many changes, removed some unused fields,
changed Account's to have a GList of splits rather than a NULL
terminated array of pointers - allowed optimizing several things
and made the code cleaner in spots.
(xaccAccountBeginEdit): remove defer argument - difficult to
handle with nesting - may add later if really needed. Change this
and
(xaccAccountCommitEdit): to handle nesting. Fix up all setter
routines to respect Begin/Commit, including ones for splits over
in Transaction.c.
(xaccInitAccount): Add/use sort_dirty and balance_dirty flags.
Change kvp_data to always be initialized (also changed kvp_frames
to be lighter weight when empty).
(xaccAccountEqual): new function.
(xaccSortSplits): new function.
(xaccAccountBringUpToDate): new function.
(xaccAccountGetSlot): deleted - replaced by xaccAccountGetSlots
(xaccAccountSetSlot): deleted - replaced by xaccAccountGetSlots
(xaccAccountGetSlots): new function - returns kvp_frame.
(xaccAccountGetID): deleted - accounts no longer have IDs.
(xaccAccountGetID): deleted - accounts no longer have flags.
(xaccAccountCheckDateOrder): renamed to xaccAccountFixSplitDateOrder.
(xaccCheckTransDateOrder): renamed to xaccTransFixSplitDateOrder.
(xaccAccountSetNotes): notes now stored in slot "notes".
(xaccAccountGetNotes): ditto.
(xaccAccountTypeEnumAsString): new function - required by text IO.
(xaccAccountStringToType): new function - required by text IO.
(xaccAccountSetPriceSrc): prices now stored in slot "old-price-source".
(xaccAccountGetPriceSrc): ditto.
(xaccAccountVisitUnvisitedTransactions): new function.
(xaccAccountForEachTransaction): new function.
* src/engine/Account.h: changes to accomodate above changes to
Account.c.
* src/engine/Account.h: changes to accomodate above changes to
Account.c.
* src/engine/io-gncxml-r.c: new xml format reader. This has a
semi-abstract incremental configurable low-ish memory XML tree
parser inside which should later be broken out into a separate
file.
* src/engine/io-gncxml-w.c: new xml format writer. This is pretty
straightforward, but due to limitations in libxml, has large
memory requirements. It has to build the entire XML tree in RAM
before it writes anything.
* src/engine/io-gncxml.h: new file - the current XML handling does
*not* have any transparent file compression. Expect that soon -
it doesn't make the performance any worse (thank goodness).
* src/engine/io-gncbin-r.c: renamed from src/engine/FileIO.c.
Only the reader is still active. All writing is as XML now.
* src/engine/io-gncbin.h: renamed from src/engine/FileIO.h.
* src/engine/FileIO.c: new file - now the meta-level file that has
functions that handle the various underlying file types. Any old
docref fields are stored in an "old-docref" slot and any old price
sources are stored in an "old-price-source" slot. Handle the fact
that account id's are gone.
* src/engine/FileIO.h: new file.
* make-gnucash-patch.in: ignore some more autogen files.
* src/FileDialog.c: update to handle new Session* semantics.
Saving and SavingAs are not the same anymore, session-wise. We
don't perform a pointless (and GUID dangerous) load before we
SaveAs.
* Many changes, not all of which will be documented right now.
This patch must get out. I'll come back and fix this up later.
The highlights are...
2000-10-16 Bill Gribble <grib@billgribble.com>
* Patch for new numeric representation, new commodity
representation, and rewritten QIF importer.
- numeric format: the engine's internal representation of values
changed from 'double' to 'gnc-numeric', an exact number format.
see src/doc/gnc-numeric.txt. This patch is step 1; the old
'double' engine API remains, but the names have been changed
from (for example) xaccSplitSetValue to DxaccSplitSetValue. The
D means deprecated. Will be gradually migrating the usage of
doubles to gnc-numeric throughout gnucash, eventually removing
the Dxacc API completely. ATM, there is no scheme support for
gnc-numeric, so I just left the Scheme API alone (old function
names still work, and work the same way).
- commodity representation: up to now, the engine has just used
strings to represent currencies. Now we use a struct
'gnc-commodity', which has more information about the
currency/stock/commodity than its name, including what exchange
it trades on and what the resolution of transactions is in
fractional units. When you read in an old gnucash file, you
will get a 'wizard' that will ask questions about the currencies
and stocks in your old file.
- QIF importer: I redid the GUI to be more of a wizard style.
This should get rid of a lot of people's problems using it since
it's more step-by-step oriented.
* src/scm/qif-import/qif-to-gnc.scm: set Reconcile correctly.
Also numerous other small changes.
* src/scm/qif-import/qif-parse.scm: handle 20000101 date formats
and MiscExpX category lines correctly.
* src/scm/qif-import/qif-file.scm: correctly handle ambiguous
date format by asking the right answer.
* src/scm/qif-import/qif-dialog-utils.scm: use the correct account
separator char for automatically created accounts
* src/scm/hooks.scm: added a file-opened-hook that gets run
any time a gnucash file is opened.
* src/engine/gnc-engine.{c,h}: new files for global engine
meta-operations. I mainly needed it to add a global list of known
'commodities' (currencies, stocks, etc), but there's now an
gnc-engine-init function called at startup with settable hooks.
* src/gnome/dialog-account.c: add "select" buttons for account
security and currency. Still need to make "smallest currency
unit" configurable per-account, but need to fix common-currency
problem first.
* src/gnome/dialog-find-transactions.c: use gnc_dateentry widget
* src/engine/Translog.c: warning! log format for numbers is
now "%Ld/%Ld", numerator/denominator.
* src/engine/Query.c: change date query functions to be more
useful. Start and end dates are optionally ignored, making it
possible to say "any date before.." or "any date after.."
2000-09-16 Dave Peticolas <dave@krondo.com>
* src/register/table-allgui.c: re-implement using gtables.
* src/register/cellblock.c: re-implement using gtables.
* src/register/gtable.c: implentation of a dynamic 2-d array.
2000-09-13 Dave Peticolas <dave@krondo.com>
* src/SplitLedger.c (xaccSRSaveChangedCells): don't copy memo
and action to other split.
2000-09-12 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-transfer.c (gnc_xfer_dialog_close_cb):
disconnect amount edit entry signals to avoid gtk warnings.
* src/engine/Transaction.h: make xaccInitTransaction a private
function.
* src/scm/qif-import/qif-to-gnc.scm: Don't init a new transaction.
gnc:transaction-create does this automatically. Doing it again leaks
memory.
2000-09-11 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-transfer.c: incorporate amount editing widget
into the transfer dialog.
* src/gnome/gnc-amount-edit.c: new widget to allow amount editing
with expression parsing.
2000-09-05 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/date-utilities.scm ((gnc:reldate-initialize)): New
function - initialise explicitly at startup rather than in ad-hoc
manner
2000-08-31 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/report/balance-and-pnl.scm: Bug fixes for new date
options.
* src/scm/report/transaction-report.scm: Bug fixes for new date
options.
* src/scm/report/budget-report.scm: Bug fixes for new date options.
2000-08-30 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/report/hello-world.scm: A couple of new functions to
test the relative and combination date style options.
* src/scm/report/*.scm: Modified date options to take the new
function. Most are still using absolute options at this stage,
will get modified to use relative dates later.
* src/scm/options.scm (gnc:make-option): new argument
(option-data-fns) for manipulating multi-choice style options.
Changes to option-makers to either support this.
(gnc:make-date-option): modified to support relative and
combination dates.
* src/scm/date-utilities.scm: Extensive additions for manipulating
relative dates.
* src/guile/option-util.c: Support for new relative-date and
combination options , and use of scheme getters
rather than direct data structure manipulation.
(gnc_oiption_db_lookup_date_option): modified to
support relative and combination date options.
(gnc_option_date_option_get_subtype: new function.
* src/guile/guile-util.c (gnc_timepair2timespec): Check to make
sure it's a timepair before doing conversion.
* src/gnome/dialog-options.c: Extensive changes to support relative
and combination date options. Also changed multichoice callback
to use wrapped scheme getter rather than directly manipulating
scheme data structure.
* make-gnucash-patch.in: Exclude generated HTML.
2000-08-26 Dave Peticolas <dave@krondo.com>
* src/engine/Group.c (xaccGetAccountRoot): remove unnecessary
casts.
* src/gnome/window-reconcile.c
(gnc_ui_reconcile_window_delete_cb): rewrite to use g_lists.
2000-08-23 Dave Peticolas <dave@krondo.com>
* src/engine/kvp_frame.c: use g_strdup, not strdup.
* src/calculation/expression_parser.c: use glib memory routines.
(exit_parser): fix a bug where pe->named_vars was freed twice.
2000-08-22 Dave Peticolas <dave@krondo.com>
* src/engine/Transaction.c (xaccSplitSetBaseValue): check to
make sure the security is not "" before allowing price changes.
* src/gnome/window-register.c (gnc_register_check_close): use
xaccSRCancelCursorTransChanges to cancel any pending changes.
2000-08-21 Dave Peticolas <dave@krondo.com>
* src/gnome/reconcile-list.c (gnc_reconcile_list_fill): fix
a memory leak. xaccTransGetDateStr returns a malloc'd string.
* src/engine/: Move transaction date routines from date.c to
Transaction.c. Move definition of Timespec from Transaction.h
to date.h. Some code cleanup in date.c.
* src/register/QuickFill.c (qfInsertTextRec): When inserting new
strings, don't replace older strings that are prefixes of the new
string.
* src/engine/gnc-common.h: remove gncBoolean type and constants.
Replace all uses with glib versions.
2000-08-12 Dave Peticolas <dave@krondo.com>
* src/engine/Transaction.c (xaccSplitSetBaseValue): don't adjust
the price when the base currency is the security of the account.
2000-08-10 Dave Peticolas <dave@krondo.com>
* src/register/table-allgui.c (gnc_table_physical_cell_valid): bug
fix -- get the virtual cell of the target location before getting
the cellblock.
2000-08-09 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-utils.c: remove unused code
* src/gnome/dialog-account.c: new file implementing the
consolidated account add and account edit windows using glade.
2000-08-07 Dave Peticolas <dave@krondo.com>
* src/register/*.c: Use glib memory allocation routines.
* src/register/cellblock.c: fix memory leaks and use glib memory
allocation routines.
* src/register/table-allgui.c: reimplement the Table code using
glib's dynamic arrays. Clean up the code and homogenize the
function naming convention.
2000-08-04 Dave Peticolas <dave@krondo.com>
* src/register/table-gnome.h: remove unused data members
* src/register/basiccell.h: remove the pixel_width argument
to the realize callback, it is no longer used.
* src/register/table-allgui.c: remove the gnc_table_column_width
call.
2000-08-07 Rob Browning <rlb@cs.utexas.edu>
* src/scm/tip-of-the-day.scm: don't initialize at startup.
* src/scm/main.scm (gnc:*batch-mode-forms-to-evaluate*): new
global to hold forms added by --evaluate for execution after
startup.
(gnc:main): support --evalutate properly.
* src/scm/engine-utilities.scm (gnc:transaction-map-splits): moved
here.
(gnc:group-map-accounts): moved here.
* src/scm/command-line.scm (gnc:*arg-defs*): add --evaluate
option. This should be considered beta, and it's not documented
yet, but it's useful for me right now, we need something like it,
and I'd like others to see what they think. Also, this will only
work right when I finish fixing up tip-of-the-day to not
initialize when the file loads.
* src/pixmaps/Makefile.am: minor typo.
* src/guile/option-util.c: include string.h
* src/guile/guile-util.c: include string.h
* src/guile/gfec.c: include string.h
* doc/gnucash.1: change filename extension in example to .gnc
* configure.in: always report missing templates as an error.
* README: updates (also change = to # for section seps (helps CVS))
2000-07-22 Dave Peticolas <dave@krondo.com>
* src/gnome/window-reconcile.c: After reconciliation, if the
account is a credit card account, automatically pop up a transfer
window with the appropriate amount and accounts.
2000-07-21 Dave Peticolas <dave@krondo.com>
* src/calculation/fin.c: Some cleanup and renaming of function
names to be longer and more descriptive.
* src/gnome/dialog-transfer.c: Add Num field to the transfer
dialog. Add APIs to change the amount, the description, and the
accounts. Fix a bug in the default sense of the show/hide buttons.
2000-07-20 Dave Peticolas <dave@krondo.com>
* src/gnome/top-level.c (gnc_ui_destroy_all_subwindows): destroy
open transfer windows.
* src/Destroy.c: remove notes window functions.
* src/AccWindow.h: remove notes window functions.
* src/gnome/dialog-transfer.c: Make transfer dialog modeless.
2000-07-19 Dave Peticolas <dave@krondo.com>
* src/gnome/account-tree.c: Use income_expense instead of
category for names.
2000-07-12 Dave Peticolas <dave@krondo.com>
* src/SplitLedger.c (LedgerAutoCompletion): simplify, and fix a
bug with split auto-completion.
* src/scm/bootstrap.scm.in: add HOME/.gnucash to scm search path.
2000-07-04 Dave Peticolas <dave@krondo.com>
* src/scm/bootstrap.scm.in: bump up the stack limit
* src/engine/date.c (xaccValidateDate): move this function from
src/register/datecell.c to here, so it can be used elsewhere.
* src/gnome/gnc-dateedit.c: make the widget respond to the same
accelerators as the register date cell.
2000-07-03 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/c-interface.scm: Added scheme definition for
pointer-token-null? if not already defined by g-wrap. Fixes bug
when compiling with g-wrap >= 0.9.4.
2000-06-28 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-budget.c (entry_down_button_clicked): bug fix.
* src/gnome/dialog-options.c: implement font options.
* src/scm/prefs.scm: add options for the register fonts.
* src/gnome/top-level.c: configure the register fonts from
callbacks.
* src/register/gnome/gnucash-style.c: make the register font and
hint fonts configurable outside the register.
2000-06-28 Robert Graham Merkel <rgmerk@mira.net>
* src/gnome/dialog-totd.c: If somebody tries to open a second
tip of the day window, just raise the original. Fixes a crash
when somebody tried to do this before.
2000-06-27 Robert Graham Merkel <rgmerk@mira.net>
* src/gnome/dialog-totd.c: Added code to make "Tip of the day"
dialog modeless
2000-06-27 Dave Peticolas <dave@krondo.com>
* src/gnome/top-level.c (gnucash_ui_init): set the reconciled cell
string getter to the dialog-utils function for i18ning the reconcile
flag value.
* src/engine/Transaction.c (xaccSplitSetReconcile): make sure the
reconciled flag given is good.
* src/register/splitreg.c: modify for the changes in the reconcile
cell.
* src/SplitLedger.c: modify for the changes in the reconcile cell.
* src/register/recncell.c: make the reconcile cell a real object,
not just a BasicCell with some extra functions. Add functionality
for distinguishing between the flag value and the displayed value.
2000-06-26 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-utils.c (gnc_get_reconcile_str): new function.
Return i18n'd string for reconciled flag.
* src/gnome/reconcile-list.c: use i18n'd reconciled flag string.
* src/scm/tip-of-the-day.scm: put the check for whether tips
should be shown or not inside the hook. We can't do the check
here because the options haven't been loaded yet.
* src/scm/options.scm: fix bug in writing options. Use 'write'
to output section and option names for proper escaping.
2000-06-27 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/date-utilities.scm: Added date-granularity timepair
comparison functions. Removed direct access functions to the time
structures in various functions (Dave also worked on this).
* src/scm/report/transaction-report.scm: Changed to use date
comparison functions in date-utilities.scm.
2000-06-26 Robert Graham Merkel <rgmerk@mira.net>
* src/guile/global-options.[ch] (gnc_option_refresh_ui_by_name):
New function to make refreshing the GUI options possible from C as
well as scheme.
(gnc_set_boolean_option): C function to set boolean options from
outside the options dialog.
* src/gnome/dialog-totd.[ch]: New files containing the GUI
functions for doing tips of the day.
* src/guile/tip-of-the-day.[ch]: New files with a C interface for
the scheme tip of the day engine.
* src/guile/option-util.[ch] (gnc_option_db_set_boolean_option):
New function to set a boolean option.
* src/scm/tip-of-the-day.scm: New file: an interface for reading
in and passing tips to the gui in text form.
* src/scm/tip-list.scm: A list of tips as a Scheme list. File
should probably be shifted somewhere else.
* src/scm/startup.scm: Loads tip-of-the-day.scm
* src/scm/prefs.scm: Add an option for displaying tips of the day
at startup. Also added gnc:support line.
* src/gnome/window-main.c (gnc_ui_totd_cb): Added menu entries and
callbacks to add "tips of the day" to help menu.
2000-06-23 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-utils.c (gnc_window_adjust_for_screen): new
function. if the window size is bigger than the screen, adjust
it down. Use this for the account add and edit, reconcile, and
register windows.
* doc/html/C/projects.html: update last version info
* doc/html/C/xacc-about.html: update last version info
* src/guile/gnucash.c.in: update last version info
2000-06-21 Dave Peticolas <dave@krondo.com>
* src/register/splitreg.h: break out the register type and the
register style into two separate struct members, instead of using
bitmasks. This is much, much simpler.
* src/optional/swig/Makefile.am (gnucash-engine-perl5_wrap.c):
remove the -stat argument, it's no longer support in later swig
versions.
* src/register/Makefile.am: don't compile table-html.c, it is
not needed for linking.
* src/gnome/window-register.c: remove include of table-html.c
* src/engine/gnc-common.h: use 'gboolean' to typedef gncBoolean.
We should probably just phase out the use of gncBoolean.
2000-06-20 Dave Peticolas <dave@krondo.com>
* src/engine/util.c (xaccParseAmount): accept 8 decimal places
instead of 6, and trucate if more than 8.
* src/gnome/dialog-add.c: make this window modeless.
(gnc_ui_accWindow_ok_cb): don't let the user add an account with
the same fully-qualified name as another account.
* src/gnome/top-level.c (gnc_ui_destroy_all_subwindows): destroy
all the account add windows, too.
* src/gnome/window-main.c (gnc_refresh_main_window_title): new
function to put the current filename in the main window title.
(gnc_refresh_main_window): use the above when refreshing.
* src/FileDialog.c (gncFileSaveAs): refresh the main window after
'saving as' to update the filename in the main window.
2000-06-19 Dave Peticolas <dave@krondo.com>
* src/guile/gnc.gwp: take out GUIDs for Groups.
* src/engine/Group.c: take out GUIDs for Groups. Groups are really
just lists with no additional structure, and giving them GUIDs
complicates matters without adding any utility. You can always use
the parent account GUID instead.
* src/gnome/top-level.c: configure list auto-popping from here.
* src/register/gnome/combocell-gnome.c: determine whether or not
to auto-pop lists based on a class variable, and not by looking
up the guile function. This removes a src/guile dependency from
src/register/gnome.
2000-06-14 Dave Peticolas <dave@krondo.com>
* src/register/gnome/gnucash-item-edit.c (item_edit_show_list):
make sure the current selected item is visible and, before doing
so, process all pending events to make sure the list is shown and
sized first.
2000-06-13 Dave Peticolas <dave@krondo.com>
* src/SplitLedger.c: refresh the main window before refreshing the
register. This makes sure balances are recomputed first.
* src/engine/Transaction.c (xaccSplitSetBaseValue): mark the split
as having changed.
* src/gnome/gnc-currency-edit.c: loosen the restrictions on what
can be typed in. The 'currency' could potentially be a stock
symbol.
2000-06-12 Dave Peticolas <dave@krondo.com>
* src/gnome/dialog-transfer.c: don't use 'Categories', it's a
confusing term.
* src/SplitLedger.c (LedgerAutoCompletion): open transaction
without deferring rebalancing.
2000-06-09 Robert Graham Merkel <rgmerk@mira.net>
* src/scm/report/transaction-report.scm (): commented out
"merged" style because of conflict with double-column amounts.
2000-06-08 Robert Graham Merkel <rgmerk@mira.net>