forked from Gnucash/gnucash
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.1999
1294 lines (916 loc) · 46.2 KB
/
ChangeLog.1999
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
1999-12-31 Dave Peticolas <[email protected]>
* Code cleanup with -Wall. Deleted unused variables. Added missing
#include's and missing function declarations.
* src/engine/QIFIO.c (FavorDateType): Christopher Browne's QIF
import patch.
* configure.in: Albert Chin-A-Young's patch to configure.in for
perl config.
* src/MultiLedger.c: nix xaccRegisterCountHack.
It is no longer needed.
* Docs/En/xacc-about.html: added contributors.
* make-gnucash-patch: new script. Make a patch for submission.
* README: added contributors. Added sections on gnucash
development and submitting patches.
1999-12-30 Dave Peticolas <[email protected]>
* src/SplitLedger.c (xaccSRGetCurrentTrans): Fix error messages.
1999-12-29 Peter Pointner <[email protected]>
* src/motif/FileBox.c (closeBoxCB): reset fileName only if !done.
This fixes the FileBox problems with lesstiff 0.89.1, at least
for me.
* configure.in: change CPPFLAGS used to search for gtk-xmhtml
1999-12-26 Dave Peticolas <[email protected]>
* src/gnome/window-report.c (reportWindow): Add a properties
button to the html window icon bar to allow the report parameters
dialog to be brought up.
(reportWindow): Add a title to the properties dialog.
* src/gnome/window-html.c (htmlWindow): Add arguments to allow the
caller to add its own icons to the window.
1999-12-25 Dave Peticolas <[email protected]>
* src/gnome/global-options.c (gnc_show_options_dialog): Added
title.
* src/gnome/window-main.c: removed eperl reports menu items
* src/gnome/window-report.c: new file. Report-specific gnome
gui code will reside here.
1999-12-24 Dave Peticolas <[email protected]>
* src/gnome/window-html.c: take out help and report specific code.
* src/gnome/dialog-options.c: removed global options code.
These routines now with with arbitrary options databases.
* src/gnome/global-options.c: new function. global options are
implemented here. This uses dialog-options and option-util
functions.
* src/gnome/option-util.c: removed global options code.
* src/gnome/window-register.c (gnc_build_ledger_style_menu): set
the style menu to the default on creation.
1999-12-23 Dave Peticolas <[email protected]>
* src/gnome/account-tree.c (gnc_account_tree_refresh): thaw after
all changes.
1999-12-22 Dave Peticolas <[email protected]>
* src/gnome/option-util.c: many new functions. Rewrote this to
add the concept of option databases, a data structure which holds
a collection of options and allows access to them. This will be
used to hold, e.g., options for a report window. The old functions
now just call the new ones with the 'global' configuation option
database as the database argument.
* src/gnome/dialog-report.c: Rename dialog-trans-report.? to
dialog-report.?. This will construct a generic report dialog.
1999-12-21 Robert Graham Merkel <[email protected]>
* src/gnome/dialog-trans-report.c: New file. GNOME code for
creating a dialog box for information on the transaction report.
At the moment only contains a stub for the actual dialog box code.
* src/gnome/dialog-trans-report.h: New file. Headers for
the dialog box stuff, obviously!
* src/gnome/Makefile.in: modified to compile dialog-trans-report.c
1999-12-21 Dave Peticolas <[email protected]>
* src/gnome/window-reconcile.c: enhance this window with
new, edit, and delete transaction buttons.
1999-12-20 Heath Martin <[email protected]>
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_size_allocate): Configure the item_editor on a
resize.
* src/register/gnome/gnucash-cursor.c
(gnucash_cursor_get_pixel_coords): Don't use the horizontal scroll
offset.
* src/register/gnome/gnucash-item-edit.c
(item_edit_get_pixel_coords): Ditto.
* src/register/gnome/gnucash-item-list.c (gnc_item_list_new): Set
the "x" coordinate on creation.
1999-12-20 Dave Peticolas <[email protected]>
* src/gnome/window-register.c (regWindowLedger): get the default
register type guile option to set the register style.
(regRefresh): set the toolbar button display based on the guile
option value.
1999-12-19 Dave Peticolas <[email protected]>
* src/MultiLedger.c (xaccRegisterRefreshAllGUI): new function.
call gui refresh on all registers.
* src/MultiLedger.h: remove unecessary externs.
1999-12-19 Heath Martin <[email protected]>
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_update_adjustments): Update the horizontal
adjustments, too.
(gnucash_register_new): Attach the horizontal scrollbar to the
horizontal adjustment.
* src/register/gnome/gnucash-header.c (gnucash_header_set_arg):
Hook up the hadjustment from the sheet so that they scroll
horizontally together.
1999-12-19 Dave Peticolas <[email protected]>
* src/engine/util.c: applied Grant Likely's patch to the number
formatting routines.
* src/register/splitreg.c: applied Grant Likely's patch to make
stock register have 4 decimal places of accuracy.
* Applied Christopher Brown's html and QIFIO.c patch.
1999-12-19 Robert Graham Merkel <[email protected]>
* src/src/report/transaction-report.scm: New file. Will contain
code for doing a transaction report on an account. At this stage
all it does is display unformatted raw scheme lists.
* README.guile-hackers: Added general information about Scheme and
a pointer to net resources about it. Also explained a little
about g-wrap and gave a pointer to the documentation for it.
1999-12-18 Heath Martin <[email protected]>
* src/register/gnome/gnucash-header.c
(gnucash_header_reconfigure): Don't set the width of the widget,
let it find it's own width.
* src/register/gnome/gnucash-style.c
(gnucash_sheet_style_set_dimensions): Reworked extensively. It
now tries very hard to fit the cursors in the register window.
Supports a number of layout options for the cursors, as detailed
in the source.
1999-12-18 Dave Peticolas <[email protected]>
* src/gnome/window-register.c (gnc_register_create_tool_bar):
Don't cause a legister refresh.
1999-12-17 Dave Peticolas <[email protected]>
* src/gnome/dialog-edit.c (gnc_ui_EditAccWindow_ok_cb): refresh
all the registers.
* src/gnome/dialog-add.c (gnc_ui_accWindow_create_account):
refresh all the registers.
* src/gnome/window-register.c (regRefresh): reload the transfer
cells.
* src/SplitLedger.c (xaccSRLoadXferCells): new function. Load the
transfer cells in a split register.
* src/register/gnome/combocell-gnome.c (xaccClearComboCellMenu):
new function. clear all items in the combocell menu.
1999-12-16 Heath Martin <[email protected]>
* src/register/table-allgui.c (gnc_table_traverse_update): Use the
exit flags from the cellblock to decide how to set
exit_register, and don't change entries in the traverse arrays
to positive.
* src/register/splitreg.c (configTraverse): Mark all the exit rows
and columns, too.
* src/register/cellblock.h: Add variables to the CellBlock struct
that flag the exit cells. We can't use negative entries in the
traverse arrays anymore, since left traverses sometimes need
valid negative directions.
1999-12-16 Dave Peticolas <[email protected]>
* src/register/pricecell.c (xaccPriceCellPrintValue): new
function. return a pointer to a static string buffer with the
cell amount printed.
(xaccSetPriceCellValue): simplify with above function.
(PriceLeave): new leave callback for price cells. Pretty-prints
cell value using xaccPriceCellPrintValue.
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_cursor_move):
have this function take physical instead of virtual coordinates.
This function now 'does the move' using wrapVerifyCursorPosition.
It has smarts that were in the three functions below.
It returns TRUE if the current cell changed.
(gnucash_button_press_event): simplify
(gnucash_sheet_key_press_event): simplify
(gnucash_sheet_goto_virt_row_col): simplify
1999-12-15 Dave Peticolas <[email protected]>
* src/register/table-allgui.c (gnc_table_traverse_update): take
out the reverify fields. These are unnecessary for the auto modes
(at least for gnome) and complicate the leave semantics.
* src/SplitLedger.c (xaccSRGetCurrentTrans): use the register
physical row and not the table. needed for auto mode movement.
* src/register/table-allgui.c (gnc_table_leave_update): do the
wrapverify after we check for changes. I'm not sure if wrapverify
could change the outcome of this, but doing the check after the
wrap verify makes no sense since the row and col values aren't
meaningful anymore.
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_deactivate_cursor_cell): always call the leave
update, even for "bad" locations. We need the wrap verify that
happens in the gnc_table_leave_update.
1999-12-15 Robert Graham Merkel <[email protected]>
* src/gnome/dialog-add.c (xaccSetDefaultNewaccountCurrency): Added
an interface to set the default currency for new accounts.
* src/scm/prefs.scm (gnc:make-string-option) added a new option
generator for strings, used this to add a "default new account
currency" option
* src/gnome/top-level.c (gnc_configure_newacc_currency_cb)
callback to update the default currency when options are changed
(default_configure_newacc_currency) does the work of updating
(gnucash_ui_init) registered the new callback
1999-12-14 Dave Peticolas <[email protected]>
* src/register/table-allgui.c (gnc_table_traverse_update): a fix
for the auto modes.
* src/SplitLedger.c (xaccSRCountRows): Look for the cursor
position using the transaction, as well as the split. Useful when
changing modes when you are on a blank split in multi-line.
(xaccSRGetCurrentTrans): new function. Gets current transaction.
Works when you are on blank splits as well.
(LedgerTraverse): save the old register values and then restore
them.
1999-12-13 Dave Peticolas <[email protected]>
* src/register/gnome/gnucash-header.c
(gnucash_header_reconfigure): check for a valid header row before
proceeding.
1999-12-13 Heath Martin <[email protected]>
* src/register/gnome/gnucash-cursor.c (gnucash_cursor_set): Set
the type and row arguments in the header.
* src/register/gnome/gnucash-header.c (gnucash_header_draw): Tweak
the coords on the separator line a bit. Draw the header based on
header->type and header->row.
(gnucash_header_set_arg): Add two new arguments to support setting
the type of the header from the current cursor and the row within
the cursor to draw.
* src/register/gnome/gnucash-style.c
(gnucash_sheet_style_compile): Set the header font.
1999-12-13 Dave Peticolas <[email protected]>
* src/gnome/option-util.c (gnc_lookup_multichoice_option): Rob
Merkel's patch.
* src/engine/date.c (printDate): Rob Merkel's patch to i18n date
formats.
* src/gnome/top-level.c (gnc_configure_date_format): Rob Merkel's
patch to i18n date formats.
1999-12-12 Heath Martin <[email protected]>
* src/register/table-allgui.c (gnc_table_traverse_update): Put an
assert(0) in the default case, since now we handle all possible
cases.
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_key_press_event): Remove hack to wrap around when
moving the cursor. splitreg.c takes care of this, after a
fashion.
1999-12-12 Dave Peticolas <[email protected]>
* src/register/gnome/combocell-gnome.c (disconnect_list_signals):
if the list has been destroyed, don't bother.
(connect_list_signals): ditto.
1999-12-10 Heath Martin <[email protected]>
* src/register/splitreg.c (configTraverse): Configure left
traverses, too.
* src/register/cellblock.[c,h] (xaccInitCellBlock): Allocate left
traverse matrices.
(FreeCellBlockMem): Free left traverse matrices.
(xaccNextLeft): New function.
* src/register/table-allgui.c (gnc_table_traverse_update): Add
support for left traverses.
1999-12-10 Dave Peticolas <[email protected]>
* src/gnome/window-register.c (jump_cb): new callback. Used to
jump to 'other' account.
* src/gnome/option-util.c: modify multichoice
functions. multichoice options are now a list of vectors,
where each vector contains the value, name, and description.
* src/gnome/dialog-options.c (gnc_option_set_ui_widget): Rob
Merkel's patch to add the option name to a multichoice option.
1999-12-09 Dave Peticolas <[email protected]>
* src/gnome/dialog-utils.c (gnc_build_option_menu): change this
function so that the callback includes the index of the selection
as well as the user_data.
* src/gnome/option-util.c
(gnc_option_value_num_permissible_values): new function. return #
of permissible values.
(gnc_option_value_permissible_value_index): new function. search
for SCM value in permissible value list.
(gnc_option_value_permissible_value_name): new function. return
name of indexth permissible value.
(gnc_option_value_permissible_value_help): new function. return
help of indexth permissible value.
* src/gnome/dialog-options.c (gnc_option_set_ui_value): add
multichoice option.
(gnc_option_get_ui_value): add multichoice option.
(gnc_option_multichoice_cb): new function. callback for
multichoice buttons. We use an object data with key
"gnc_multichoice_index" to store the index with the option menu.
(gnc_option_create_multichoice_widget): new function. create the
widget for multichoice options.
(gnc_option_set_ui_widget): add multichoice option.
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_block_destroy): Don't free the entries and colors,
that is done by gnucash_sheet_block_clear_entries now.
(gnucash_sheet_block_clear_entries): Set the freed pointers to
NULL for safety.
1999-12-09 Heath Martin <[email protected]>
* src/register/gnome/gnucash-color.c (color_hash): The argument is
an argb, not a GdkColor. So we'll just use its value directly.
This fixes a bug in that we were getting lots of failed color
lookups in the hash table, and therefore lots of redundant
insertions.
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_block_clear_entries): Free entries, fg_colors,
bg_colors here. We were leaking [fg,bg]_colors.
1999-12-09 Dave Peticolas <[email protected]>
* src/gnome/window-register.c (regWindowLedger): set the window
policy to allow shrinking and growing.
* src/SplitLedger.c (xaccSRSaveRegEntry): change the memo
before you create the 'other' split, so it gets the same memo.
Also, if we are committing the blank split, insert it into the
account before we create the 'other' split, so the other split
can get a parent account, too.
1999-12-08 Dave Peticolas <[email protected]>
* src/scm/main.scm (gnc:ui-finish): destroy the ui subwindows
before doing a file-query-save. The register windows need to
be closed before saving, in case there are edited transactions.
* src/gnome/top-level.c (gnc_ui_destroy_all_subwindows): new
function. used by guile to destroy all non-main windows.
* src/gnome/window-help.c (gnc_ui_destroy_html_windows): new
function. destroy any help or report windows open.
1999-12-08 Heath Martin <[email protected]>
* src/register/gnome/gnucash-cursor.c (gnucash_item_cursor_draw):
Draw an inner rectangle in the cell cursor. This balances the
cursor top/bottom versus sides, and fixes some ugliness especially
in double line mode.
1999-12-08 Dave Peticolas <[email protected]>
* src/SplitLedger.c (xaccSRLoadRegister): restore original
position a bit more accurately.
1999-12-07 Dave Peticolas <[email protected]>
* src/scm/text-export.scm (gnc:account-transactions-export-as-text):
return #f as value so the traversal keeps going. (See Group.h).
* src/g-wrap/gnc-helpers.c: use gh_long2scm instead of the
long long version. This is incorrect for very large values,
but longlong doesn't seem to be working right now.
* src/engine/LedgerUtils.c (accListHasAccount): new function.
search for account in list.
* src/MultiLedger.c: Only add the leader if it wasn't in the list.
* src/gnome/window-register.c (gnc_register_create_menu_bar):
Added an option to scrub the account. Changed Register menu
to Account menu.
* src/engine/Transaction.c (MARK_SPLIT): mark the account group
as not saved. Ensures we get a "do you want to save" dialog.
* src/register/gnome/gnucash-sheet.c (compute_optimal_height):
request height for DEFAULT_REGISTER_ROWS rows.
* src/gnome/window-register.c (deleteCB): fancy deletes.
1999-12-06 Dave Peticolas <[email protected]>
* src/SplitLedger.c (xaccSRSaveRegEntry): Insert the blank split
into the account when it is committed, not when it is created.
Otherwise, the blank split gets saved to a file if you save with
an open register. Also, it gets stuck in the reconcile window if
you open that with an open register.
* src/register/pricecell.c (xaccSetDebCredCellValue): simplify
and fix value setting bug.
* src/SplitLedger.c (xaccSRCancelCursorTransChanges): new
function. Cancel the changes to the current transaction.
* src/motif/RegWindow.c (cancelCB): use SR functions instead.
* src/g-wrap/gnc.gwp: add wrapper for xaccGroupGetBalance
* src/gnome/window-register.c (regWindowLedger): take out the size
code altogether.
1999-12-06 Heath Martin <[email protected]>
* src/register/gnome/gnucash-sheet.c (DEFAULT_REGISTER_WIDTH):
Increase this a little, so at least a checking account register is
drawn correctly. This is a hack for now anyway until the
computations in gnucash-style.c are reworked.
* src/gnome/window-register.c (regWindowLedger): Comment out the
call to gtk_widget_set_usize (), so the register window finds it's
own natural size.
* src/register/gnome/gnucash-header.c
(gnucash_header_reconfigure): Compute w, h correctly.
1999-12-05 Dave Peticolas <[email protected]>
* src/gnome/window-register.c (closeCB): Query the user as to
whether or not to save a changed transaction.
* src/MultiLedger.c (xaccLedgerDisplayClose): Only refresh
if there were really changes.
* src/SplitLedger.c (LedgerDestroy): Paranoia checks.
* src/gnome/window-register.c (regWindowLedger): catch the register
"activate_cursor" signal. Upon receipt, record the transaction and
move to the next virtual row.
* src/register/gnome/gnucash-sheet.c
(gnucash_register_goto_next_virt_row): new function. Cause the
register cursor to advance to the next virtual row.
* src/register/gnome/gnucash-sheet.h: Add a "activate_cursor"
callback to the register that is emitted when the user pressed
return.
1999-12-04 Dave Peticolas <[email protected]>
* src/gnome/window-main.c (gnc_ui_mainWindow_scrub): new function.
Scrub the current account.
(gnc_ui_mainWindow_toolbar_open_subs): new function.
Open subaccounts.
* src/gnome/window-register.c (gnc_register_raise): new function.
Cause the given register window to be raised to the top.
* src/gnome/scripts_menu.c (gnc_extensions_menu_add_item): We have
to register the scheme scripts to make sure they aren't
garbage-collected.
(gnc_extensions_shutdown): New function. Call when shutting down
to free memory structures and unregister scheme scripts.
* src/gnome/window-register.c (gnc_register_create_popup_menu): new
function. Create a popup menu for the register.
(regWindowLedger): Add the popup menu to the register.
* src/register/gnome/gnucash-sheet.c (gnucash_button_press_event):
return FALSE for unused events so they are passed up the hierarchy.
* src/gnome/window-adjust.c (adjBWindow): use fully qualified
account name in window title.
* src/gnome/window-register.c (regWindowLedger): use fully
qualified name in the title of the window.
* src/gnome/dialog-utils.c (gnc_ui_get_account_full_name): new
function. Construct the fully-qualified account name using the
given separator string.
* src/engine/Account.c (xaccAccountGetParentAccount): new function.
Return the parent account of an account.
* src/engine/Group.c (xaccGroupGetParentAccount): new function.
Return the parent account of a group.
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_key_press_event):
respond to keypad directional keys.
1999-12-03 Dave Peticolas <[email protected]>
* src/SplitLedger.c (xaccSRLoadRegister): When we refresh, look
for the pending transaction. If we don't find it, clear the
pending transaction to prevent it being committed later.
* src/g-wrap/gnc.gwp: added binding for reportWindowDirect
* src/gnome/window-register.c (helpCB): help window should not
be parented.
* src/gnome/window-main.c (gnc_ui_help_cb): help window should
not be parented.
(gnc_ui_reports_cb): reports window should not be parented.
* src/engine/Transaction.c (xaccTransBeginEdit): Check for an
already open transaction.
(xaccTransIsOpen): new function. returns true if transaction
is open for editing.
* src/gnome/window-register.c (regWindowLedger): Use a gnome dock
to hold the window contents. This is more flexible.
(gnc_register_create_tool_bar): use graphical buttons. Also, don't
create the handle box, the gnome dock item will handle that.
(gnc_register_create_menu_bar): don't create the handle box.
* src/reports/Sheet.c: Rob Merkel's patch for locating eperl
* src/gnome/account-tree.c (gnc_account_tree_refresh): tighter
bounds on adjustment value. Prevents quirks when refreshing to
a smaller number of accounts.
* configure.in: Rob Merkel's eperl and gtkxmhtml build patches
* Makefile.in: Rob Merkel's patch to enforce gtkxmhtml requirement
* src/gnome/window-register.c (deleteCB): use
xaccSRDeleteCurrentSplit to delete the split.
1999-12-02 Dave Peticolas <[email protected]>
* src/register/gnome/combocell-gnome.c (moveCombo): disconnect
the list signals.
* src/SplitLedger.c (LedgerMoveCursor): update cursor_phys_row and
cursor_virt_row in the SplitRegiter.
(xaccSRDeleteCurrentSplit): new function. delete the current split
in the register.
(xaccSRCountRows): don't move the saved physical and virtual rows
if the current split was NULL.
* Makefile.in: Added Tyson Dowd's rules to rerun autoconf
and configure when needed.
1999-12-01 Rob Browning <[email protected]>
* src/scm/txn-create.scm: remove trailing garbage.
* src/scm/srfi: new directory containing source for various Scheme
Requests for Implementation. We now have srfi-8 and srfi-1.
These are very useful. Docs are available at
http://srfi.schemers.org/.
* src/scm/report/folio.scm: new file implementing
Reports/report-folio.phtml. Not finished, but not loaded either.
* src/scm/report/dummy.scm: new file to test the report system.
Shows the current date.
* src/scm/report/balance-and-pnl.scm: new file to generate balance
sheet and profit and loss reports. Implements
Reports/report-baln.phtml and Reports/report-pnl.phtml. The code
in here could be better, but it's not awful. It's mostly a
straight eperl port.
* src/scm/report.scm: new file implementing the initial
scheme-based report system.
* src/scm/main.scm: use the new depend mechanism and load the new
srfis
* src/scm/extensions.scm: reformat so all the code doesn't go off
the right side of a normal screen (with tabs set to 8, etc).
Linas might veto this, but I thought it was worthwhile.
* src/scm/depend.scm: new file adding a support/depend mechanism.
Modify other files to start using it.
1999-11-30 Dave Peticolas <[email protected]>
* src/gnome/window-help.c: extensive rewrite. Revamped look to use
dockable toolbar. Handle motion keys. Escape key closes window.
Graphics are now loaded.
1999-11-28 Dave Peticolas <[email protected]>
* src/register/table-allgui.c (doMoveCursor): don't scroll when we
update the cursor after the the callback.
* src/register/table-gnome.c (doRefreshCursorGUI): same as below
* src/register/table-motif.c (doRefreshCursorGUI): same as below
* src/register/table-allgui.c (xaccRefreshCursorGUI): add a
do_scroll argument to determine whether the gui should scroll to
make the cursor visible. This lets us cut down on flashing.
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_table_load):
try to avoid scrolling
(gnucash_sheet_cursor_set_from_table): remove redundant call to
update adjustments.
* src/gnome/window-register.c (cancelCB): use
xaccSplitRegisterClearChangeFlag.
(gnc_register_create_tool_bar): right-align the displayed balances
* src/register/splitreg.c (xaccSplitRegisterClearChangeFlag): new
function. Clear the change flags of the register.
* src/SplitLedger.c (xaccSRCancelCursorChanges): new
function. Cancel the changes made to the current cursor.
1999-11-27 Dave Peticolas <[email protected]>
* src/gnome/window-register.c (regWindowLedger): set default sort
order to the standard order.
(gnc_build_ledger_sort_order_menu): add the standard order to the
list of options.
(gnc_ledger_sort_cb): handle the standard order
* src/engine/Query.c (xaccQuerySetSortOrder): added BY_STANDARD and
BY_NONE sort orders.
* src/register/splitreg.c (configLayout): configure the single
cursor last so the header is the most reasonable. This is a
hack. Eventually, we should probably switch headers dyamically.
* src/register/gnome/gnucash-sheet.c
(gnucash_register_goto_virt_row_col): replaces and generalizes
gnucash_sheet_go_to_last_row.
* src/gnome/window-register.c (gnc_register_jump_to_blank): new
function to jump to the blank split.
(new_trans_cb): use gnc_register_jump_to_blank
(regWindowLedger): jump to the blank split with above function
before returning
* src/SplitLedger.c (xaccSRGetSplitRowCol): new function
(xaccSRGetBlankSplit): new function
* src/register/splitreg.c (configLabels): apply Rob Walker's patch
to fix the labels.
* src/gnome/window-register.c (gnc_register_date_cb): set start
date to the first second of the day selected and the end date to
the last second of the day selected.
* src/engine/Query.c (xaccQueryGetSplits): fixed a problem to
prevent returning one split too many. We need to check for the
max date before we add the split.
1999-11-23 Dave Peticolas <[email protected]>
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_go_to_last_row):
jump to the last row in the sheet. This will be the blank split.
* src/gnome/window-register.c (gnc_register_create_menu_bar): add
a menu item for moving to the blank split
(regWindowLedger): jump to the last row, i.e., the blank split,
before you return.
* src/register/gnome/gnucash-style.c (gnucash_style_layout_init):
make the reconcile cell visible in mult-line mode. It's not
active, but it looks better.
* src/SplitLedger.c (LedgerMoveCursor): tell xaccSRSaveRegEntry
which transaction we are moving to.
(xaccSRSaveRegEntry): add an argument to indicate which
transaction will be current after the save. This allows us to
commit right away if we are changing transactions and keeps the
register gui in sync with the engine.
* src/register/table-allgui.c (doMoveCursor): refresh the gui
cursor after the second makePassive if we are moving the gui.
This fixes a refresh bug that happens if the splits get reordered.
* configure.in and src/gnome/Makefile.in: Rob Merkel's patch
to check for gtkxmhtml
* src/scm: applied Rob Walker's patch to add a version argument
* src/gnome/account-tree.c (gnc_account_tree_init): auto resize
the first column
* src/gnome/window-main.c (mainWindow): give focus to the
account tree before we exit
1999-11-22 Rob Browning <[email protected]>
* src/register/table-motif.c (modifyCB): *trivial* modification to
support modify_verify cursor_position arg. I'm not in a position
to easily deal with the XmBae callback complexity. This should
just leave the status-quo.
* src/motif/RegWindow.c (dateChangeCB): ditto.
* src/register/table-allgui.[hc]: quickfill fixes, support the new
modify_verify cursor_position arg.
* src/register/gnome/gnucash-sheet.c: quickfill fixes, use the new
modify_verify cursor_position arg.
* ChangeLog: merge all the src/register/gnome/ChangeLog entries
into this file and delete that file to finish up what Dave started
on 1999-11-20. Aside from being cleaner, it also makes emacs (and
I suspect other editors) automatically find the right file when
you do a "C-x 4 a" (changelog-add-entry).
* src/register/*cell.h: added position (int *) parameter to
all cell MV calls. This allows the callback to reposition the
cursor within the text if needed. This was required by the
quickfill fix, but is probably useful elsewhere.
* src/register/quickfillcell.c (quick_modify): fixed so that
cursor tracks as you type along with some other important bugs
(quickfill divergences now cause the remainder of the stale fill
to be deleted, etc.)
1999-11-21 Dave Peticolas <[email protected]>
* src/gnome/window-register.c: (recordCB): when when record
a new or existing transaction, make sure it will be in the
date range we are viewing.
* src/register/table-allgui.c: (gnc_table_traverse_update): handle
pointer traversals a bit more intelligently.
* src/register/gnome/gnucash-item-edit.c: (item_edit_set_cursor_pos)
fix for when you enter a cell that's right-aligned.
1999-11-20 Dave Peticolas <[email protected]>
* src/register/gnome/ChangeLog: we're going to stop using this
changlog file and put all changes in the top-level ChangLog file.
* src/gnome/reconcile-list.[ch]: Use a hash table to remember
reconcile flags after a refresh. Also remember scroll position.
Change row styles so active row isn't highlited.
* src/register/gnome/gnucash-sheet.c:
(gnucash_button_press_event): For now, we need to enter the cell,
even if we're already there. The reconcile cell, for instance,
depends on this behavior. But, if we're entering the cell where we
already are, we remember the cursor position and try to go back to
it. Also, when we're entering a new cell it's drawn as if we're at
cursor position 0, so tell item_edit_set_cursor.
* src/register/gnome/gnucash-item-edit.c (item_edit_draw_info):
new function to calculate drawing parameters for the item
editor. This is used both in drawing and in calculating the place
to move the cursor to for mouse traversals.
(item_edit_draw): use item_edit_draw_info
(item_edit_set_cursor_pos): use item_edit_draw_info
1999-11-19 Heath Martin <[email protected]>
* gnucash-cursor.c (gnucash_item_cursor_draw): Use light gray for
the cell cursor; experimental to see if we like it.
(gnucash_item_cursor_draw): Draw the inside rectangle slightly
inside.
(gnucash_cursor_request_redraw): Tighten up the bounds now that we
don't have the outside rectangle.
* gnucash-sheet.c (gnucash_button_press_event): Only move the cursor
if the button press moves us to a new cell. Set the editing cursor.
* gnucash-item-edit.c (item_edit_draw): Take justification into
account here. Use CELL_HPADDING, CELL_VPADDING instead of magic
constants to set the clip rectangle and the offsets.
(item_edit_set_cursor_pos): New function.
(item_edit_update): Adjust the positioning of the list now that we
don't have the outer rectangle.
1999-11-19 Dave Peticolas <[email protected]>
* src/gnome/account-tree.c: remember expansion state and
scroll position after a refresh.
* src/gnome/query-user.[ch]: add parented versions of the
query dialogs.
* src/gnome/: modify dialogs to use parented dialogs
* src/register/gnome/gnucash-cursor.c: (gnucash_item_cursor_draw):
Heath's mod which removes the outer rectangle.
* src/register/gnome/gnucash-item-edit.c: (item_edit_update):
Heath's mod to make the combo list draw correctly
1999-11-18 Dave Peticolas <[email protected]>
* src/engine/util.c: (PrtAmtComma): fixed
rounding error when remainder is close to 1.
1999-11-17 Dave Peticolas <[email protected]>
* src/register/gnome/gnucash-header.[ch]: removed type
variable. The header should always be type GNUCASH_CURSOR_HEADER
* src/register/gnome/gnucash-style.c:
(gnucash_sheet_style_compile): use the cell labels for the header
style labels
* src/register/gnome/gnucash-item-edit.[ch]: Added a toggle button
for popping the combo list.
* src/register/gnome/gnucash-style.c: (gnucash_style_layout_init)
make the width of the 'num' column of the split cursor the same as
the others.
1999-11-15 Dave Peticolas <[email protected]>
* src/register/gnome/gnucash-sheet.c: (gnucash_sheet_delete_cb)
and
(gnucash_sheet_insert_cb): use malloc/free instead of glib
routines for newval. newval may be free()d by routines in the
register code. You can't mix-n-match.
* src/register/gnome/gnucash-sheet.c (gnucash_sheet_destroy) and
(gnucash_sheet_new): sink the entry and unref it after the item
editor is destroyed. This fixes a memory leak, the entry was not
being finalized.
* src/register/gnome/gnucash-sheet.c add
(gnucash_sheet_key_press): allow outside entities to pass
keystrokes to the sheet. Used by the combocell.
* src/register/gnome/combocell-gnome-c: extensive modifications to
support the new list item.
* src/register/gnome/gnucash-item-edit.[ch]: ditto
1999-11-12 Dave Peticolas <[email protected]>
* src/engine/util.c: (xaccSPrintAmount): print values
very close to 0 as 0 without negative sign.
* lib/README: updated to indicate obsolete packages.
* lib/Makefile.in: don't build g-wrap if g-wrap-install
directory exists
* src/guile-util.c: (gnc_register_c_side_scheme_ptr):
modified to return SCM handle, which is used with
(gnc_unregister_c_side_scheme_ptr) to unregister.
* src/gnome/option-util.c: added (gnc_options_init)
and (gnc_options_shutdown).
* src/gnome/top-level.c: call above functions at
appropriate times.
* src/gnome/account-tree.c: (gnc_account_tree_select_account):
scroll to make sure account is visible.
* src/register/gnome/gnucash-item-edit.c: (item_edit_draw): make
the cursor larger and allow it to be seen even when it's at the
end of a too-long-to-fit-in-cell string.
* src/register/gnome/gnucash-item-list.[ch]: new code to support
the combo cell.
1999-11-10 Dave Peticolas <[email protected]>
* src/gnome/dialog-filebox.c: Use GtkFileSelection instead
of GtkFileSelection2.
* build: Changed configure.in/Makefile.in's to remove dependencies
on gtkfilel2.
* build: automatically rebuild gnc.[ch] when gnc.gwp changes *or*
if you switch from motif to gnome build or vice versa.
* src/gnome/window-main.: added Save As menu item.
* src/register/gnome/combocell-gnome.c: reformatted to be
idiomatic
* src/register/gnome/gnucash-sheet.c:
(gnucash_sheet_key_press_event): Added support for pageup/down and
home/end keypressed.
1999-11-07 Dave Peticolas <[email protected]>
* src/Refresh.c: Added this code for refreshing account-related
windows when accounts change. Right now, this is registers and
reconcile windows.
* src/gnome/window-register.c: fixed deleting of blank split
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_activate_cursor_cell): handle enter updates when
new_text is non-null by updating the cell from the table and *not*
src/register/gnome/starting the editing widget.
* gnucash-grid.c (draw_cell): used CELL_HPADDING for right justify
adjustment on x value instead of CELL_VPADDING.
1999-11-05 Dave Peticolas <[email protected]>
* src/register/gnome/gnucash-grid.c (gnucash_grid_draw): use
g_return_if_fail for error checks.
* src/register/gnome/gnucash-grid.c (gnucash_grid_unrealize):
Sanity checks before unrefing the gc's.
* src/register/gnome/gnucash-header.c (gnucash_header_unrealize):
sanity checks
* src/register/gnome/gnucash-currsor.c (gnucash_cursor_unrealize):
sanity checks
* src/register/gnome/gnucash-sheet.h (GnucashRegisterClass):
parent class should be GtkTableClass
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_update_adjustments): update page_increment, so
clicking on the rest of the scrollbar scrolls one page
* src/register/gnome/gnucash-sheet.c
(gnucash_sheet_key_press_event): call gnc_table_traverse_update on
up/down motion.
1999-11-04 Dave Peticolas <[email protected]>
* Add this changelog entry which I should have done a long
time ago.
* Rework most of the src/gnome stuff to be compliant with
gnome-standards.
* Add QIF fixes.