*** empty log message ***

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@2063 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
Dave Peticolas 2000-03-07 09:51:35 +00:00
parent 92f50014ea
commit 1912f86f5a
14 changed files with 447 additions and 102 deletions

View File

@ -1,5 +1,9 @@
Version history: Version history:
------- ------- ------- -------
1.3.1 - 05 March 2000
o qif fixes
o French documentation
1.3.0 - 28 February 2000 1.3.0 - 28 February 2000
o many, many, many changes o many, many, many changes

View File

@ -1,5 +1,21 @@
2000-03-07 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/scm/report/transaction-report.scm: a few bug fixes.
* src/gnome/window-main.c (gnc_ui_delete_account): destroy the
windows *then* remove the account from the tree. Sometimes,
destroying the window can result in a refresh, which will do
strange things if we have already removed the account from the
tree.
2000-03-06 Dave Peticolas <peticola@cs.ucdavis.edu> 2000-03-06 Dave Peticolas <peticola@cs.ucdavis.edu>
* src/gnome/window-reconcile.c (recnRefresh): resize the window
* src/FileDialog.c (gncPostFileOpen): set the busy cursor while
reading the file.
(gncFileSave): ditto.
* src/register/gnome/gnucash-sheet.c * src/register/gnome/gnucash-sheet.c
(gnucash_sheet_update_adjustments): set the step increment. (gnucash_sheet_update_adjustments): set the step increment.

View File

@ -1,3 +1,12 @@
************ Unstabile Version ******************
Alle Versionen der 1.3.x Serie von GnuCash sind experimentelle
Entwicklungsversionen. Sie koennen normal funktionieren, muessen aber
nicht. Benutzung auf eigene Gefahr !
Die letzte stabile Version war gnucash-1.2.5.
Die naechste stabile Version wird gnucash-1.4.x sein.
##############################################
GnuCash GnuCash
------- -------
@ -23,11 +32,11 @@ Funktionen von GnuCash sind :
aktuelle Stand kann einzeln (eine Aktie = ein Konto) aktuelle Stand kann einzeln (eine Aktie = ein Konto)
oder als Portfolio (alle Aktien = ein Konto) oder als Portfolio (alle Aktien = ein Konto)
verwaltet werden. verwaltet werden.
- Verschiedene Waehrungen und Waehrungshandel : - Verschiedene Waehrungen und Devisenhandel :
Mehrere Waehrungen werden unterstuetzt und koennen Mehrere Waehrungen werden unterstuetzt und koennen
ge- und verkauft werden. Waehrungsbewegungen auf ge- und verkauft werden. Waehrungsbewegungen auf
den Konten werden ausgeglichen.(Einige Teile von den Konten werden ausgeglichen.(Einige Teile von
Waehrungshandel sind aber noch nicht vollstaendig Devisenhandel sind aber noch nicht vollstaendig
implementiert) implementiert)
- Import von Dateien im Quicken Interchange Format - Import von Dateien im Quicken Interchange Format
(QIF). (QIF).
@ -66,16 +75,78 @@ Home Page:
---------- ----------
http://gnucash.org http://gnucash.org
Original X-Accountant Homepage:
http://www.cs.hmc.edu/~rclark/xacc
Fertig ausfuehrbare Dateien:
http://www.gnucash.org/pub/gnucash/redhat-6.x/1.2.5/
Entwicklungs Versionen:
http://www.gnucash.org/source_code.php3
Ausführen von GnuCash: Ausführen von GnuCash:
---------------------- ----------------------
Nur die Motif-Version von GnuCash funktioniert zur Zeit. Die Gnome Version Die Motif-Version von GnuCash ist die letzte stabile Version, wird zur Zeit
gibt einen Ueberblick ueber die Funktionen, aber die meisten funktionieren aber nicht mehr aktiv weitentwickelt.
nicht. Die qt-Version kann zur Zeit nicht uebersetzt werden, die meisten Die Gnome Version dagegen schon ;-) Allerdings ist sie noch nicht so stabil, wie es
wuenschenswert waere.
Die qt-Version kann zur Zeit nicht uebersetzt werden, die meisten
Funktionen fehlen. Weiter unten sind Hinweise fuer andere Betriebssysteme Funktionen fehlen. Weiter unten sind Hinweise fuer andere Betriebssysteme
als Linux/*BSD . als Linux/*BSD .
Die folgenden Pakete muessen installiert sein, um die Motif-Version starten
zu koennen :
guile -- Ist die Haupterweiterungs- und Skriptsprache.
Wird extensiv bei Initialisierung und Start benutzt.
Version 1.3 oder hoeher wird benoetigt. Guile-1.3-7.rpm
funktioniert.
Motif oder Lesstif --
Entweder ein kommerzielles Motif oder die freie Software-Variante
Lesstif. Bei Benutzung der kommerziellen Variante achten sie darauf,
eine Version zu bekommen, die mit ihrer glibc und libXt-Version
kompatibel ist.
Lesstif arbeitet meist, aber eben nicht immer. Hier unsere Erfahrungen :
Lesstif 0.81 funktioniert
Lesstif 0.82 funktioniert nicht
Lesstif 0.83 funktioniert ... aber produziert einen schnell blinkenden
Cursor ...
Lesstif 0.86.0 soll angeblich funktionieren..
Lesstif 0.86.5 funktioniert nicht -> Crash.
Lesstif 0.86.9 funktioniert... aber einige Menues werden nur 2 Pixel hoch.
Lesstif 0.87.0: f. nicht. (missing symbols for XmeDrawShadows, etc.)
Lesstif 0.88.1 funktioniert
Lesstif 0.89.0 funktioniert
XmHTML -- Stellt HTML-Anzeigefaehigkeit bereit.
Wird fuer Hilfe-Funktionen und Berihte gebraucht.
Version 1.1.4 oder hoeher.
http://www.llp.fu-berlin.de/lsoft/F/5/XMHTML.html
http://www.xs4all.nl/~ripley/XmHTML/XmHTML.html
ftp://ftp.ultra.net/pub/eugene/RPMS/i386/XmHTML-1.1.5-1.i386.rpm
ftp://ftp.ultra.net/pub/eugene/SRPMS/XmHTML-1.1.5-1.src.rpm
Hinweis: Einige Versionen wurden mit Motif kompiliert. Wenn sie
mit Lesstif benutzt werden, kann es zu einem
"undefined symbol XmeDrawShadows" Fehler kommen. Es gibt mehrere
Loesungen, die einfachste ist, den XmHTML-Quellcode selber zu
kompilieren.
slib -- scheme Bibliotheken fuer guile. Version slib2c4 oder hoeher.
libpng -- portable network graphics Bibliothek. Alle Versionen.
libjpeg -- JPEG image handling Bibliothek. Alle Versionen.
libz -- Pack-Bibliothek. Alle Versionen.
xpm -- X Pixmap Erweiterung. Alle Versionen.
Um einige der Funktionen wie Berichte und Herunterladen von Aktienkursen Um einige der Funktionen wie Berichte und Herunterladen von Aktienkursen
nutzen zu koennen, muessen die folgenden Pakete installiert sein : nutzen zu koennen, muessen die folgenden Pakete installiert sein :
(Natuerlich zusaetzlich zu den Paketen, die benoetigt werden ,um GnuCash (Natuerlich zusaetzlich zu den Paketen, die benoetigt werden ,um GnuCash
@ -84,7 +155,7 @@ Hinweise zu "Uebersetzen und Installieren" weiter unten !
RPM's sind teilweise hier erhaeltlich : RPM's sind teilweise hier erhaeltlich :
http://rufus.w3.org/linux/ http://rufus.w3.org/linux/
slib -- scheme libraries fuerr guile. Version slib2c0 oder hoeher . slib -- scheme Bibliotheken fuer guile. Version slib2c4 oder hoeher .
perl -- Fast jede Version von perl5 sollte funktionieren. Ich habe perl-5.004 perl -- Fast jede Version von perl5 sollte funktionieren. Ich habe perl-5.004
eperl -- Fast jede Version von eperl sollte funktionieren. Ich habe eperl-2.2.14 eperl -- Fast jede Version von eperl sollte funktionieren. Ich habe eperl-2.2.14
@ -103,19 +174,95 @@ perl-HTML/HTML-Parser-2.20
http://www.cpan.org/CPAN.html http://www.cpan.org/CPAN.html
Die Binärdistribution beinhaltet zwei Dateien: 'gnucash.bin' und
'gnucash-static.bin'. Erstere benötigt eine (kommerziell erhältliche) Folgende Pakete muessen installiert sein, um GnuCash Gnome Version
Laufzeitbibliothek für Motif; die zweite ist statisch mit Motif zu starten:
gelinkt. Wenn Sie Motif installiert haben, starten sie einfach xacc;
wenn nicht müssen sie erst 'gnucash-static.bin' auf 'gnucash.bin' kopieren. gnome-libs -- Version 1.0.40 oder hoeher. Diese Bibliotheken brauchen
viele andere Bibliotheken zur Unterstuetzung, z.B.:
gtk und glib.
guile -- wie bei Motif
slib -- wie bei Motif
Starten von GnuCash:
--------------------
GnuCash kann von der Kommandozeile aus gestartet werden, und zwar einfach
mit "gnucash" oder mit "gnucash <filename>", wobei filename der Name eines
gespeicherten Gnucash-Daten-Files sein muss.
*.dat-Dateien koennen mit "Datei oeffnen" eingelesen werden.
*.qif-Dateien muessen mit "QIF-Datei importieren" eingelesen werden.
Von der Kommandozeile wird das Programm mit 'gnucash' oder 'gnucash GnuCash reagiert auf folgende Umgebungs-Variablen :
<dateiname>' gestartet, wobei '<dateiname>' eine gnucash-Kontodatei
ist. Beispieldateien befinden sich im Unterverzeichnis 'data'. Dateien GNC_RUN_AS_SHELL - GnuCash startet in eine guile-shell, alle
mit der Endung '.dat' können mit dem Menüeintrag 'Datei Öffnen' gnuCash-Funktionen sind geladen. Von hier koennen sie normal
geladen werden, Dateien mit der Endug '.qif' sind im Quicken Import starten :
Format und werden mit dem Menüeintrag 'QIF Importieren' geladen.
GNC_RUN_AS_SHELL=t ./gnucash
guile> (primitive-load (getenv "GNC_BOOTSTRAP_SCM"))
guile> (gnc:load "startup.scm")
guile> (gnc:main)
Das ist das selbe, als ob man keine Umgebungs-Variablen benutzt.
Nuetzlich, wenn man neue .scm-Dateien schreibt und testet.
GNC_BOOTSTRAP_SCM - Der Ort der beim Start benutzten Scheme Algorithmen.
GNC_SCM_LOAD_PATH - Enthaelt den Pfad zu Scheme und ueberstimmt den
Standard-Pfad. Sollte eine saubere Scheme Zeichenkette sein. Jedes Element
kann eine Zeichenkette sein, die ein Verzeichnis repraesentiert,
das Symbol 'standard , das zum vollen Pfad wird, oder 'current.
GNC_DEBUG - Debugging einschalten. Dadurch wird das Debugging eher gestartet,
als beim normalen Start-Prozess
Internationalization:
---------------------
Es gibt Ausgabe-Files fuer Franzoesisch und Deutsch.
Diese werden ueber Umgebungsvariablen aktiviert.
Z.B.:
Francais, en bash:
export LANG=fr_FR
export LC_ALL=fr_FR
export LINGUAS=fr_FR
Francais, en tcsh:
setenv LANG fr_FR
setenv LC_ALL fr_FR
setenv LINGUAS fr_FR
Deutsche Version:
export LANG=de_DE
export LC_ALL=de_DE
export LINGUAS=de_DE
Weitere Moeglichekiten, die eigentlich funktionieren,
obwohl noch dran gearbeitet wird :
en_US
en_GB
fr_CH
de_CH
Weitere Werkzeuge :
-------------------
Ein Tool, um Ascii-Berichte aus gnucash/xacc Dateien zu extrahieren
kann man hier herunterladen :
http://www.zeta.org.au/~grahamc/xacc_rpts.html.
Ein Tool um Quicken Dateien aufzuraeumen und zu importieren :
(noch nicht da..).
Übersetzung und Installation Übersetzung und Installation
@ -124,15 +271,59 @@ Format und werden mit dem Men
Diese Schritte sind nur für die Sourcedistribution erforderlich, nicht Diese Schritte sind nur für die Sourcedistribution erforderlich, nicht
für die Binärdistribution. für die Binärdistribution.
Nur beim Uebersetzen von GnuCash braucht man zusaetzlich die folgenden
Pakete:
libtool -- Um unsere interne Version von g-wrap zu uebersetzen, die
unsere guile-C 'wrappers' enthaelt.
Erhaeltlich bei ftp://ftp.gnu.org/gnu.
RPM's und deb's sind in ihrer Betriebssystem-Distribution.
SWIG -- Um perl 'wrapper' automatisch zu generieren.
Erhaeltlich bei : www.swig.org. Version 1.1p5 oder hoeher
Normalerweise wird GnuCash wie folgt übersetzt und installiert: Normalerweise wird GnuCash wie folgt übersetzt und installiert:
# ./configure # ./configure
# make # make
# make install # make install
Um deutsche oder franzoesische Versionen zu uebersetzen, oder das Um deutsche oder franzoesische Versionen zu uebersetzen, muss die
europaeische Datumsformat zu aktivieren, muessen sie den Inhalt des Umgebungsvariable entsprechend gesetzt sein.
/include -Verzeichnis untersuchen und modifizieren.
Es koennen Motif, Gnome, oder Qt Versionen erzeugt werden. Zur Zeit ist die
Motif Version die stabilste, fehleraermste, korrekteste.
Die gtk/gnome-Version kann uebersetzt werden, und wird aktiv weiterentwickelt, sie
reicht aber noch nicht an die Stabilitaet der Motif-Version heran. Sie hat
aber bedeutend mehr Features.
Die Qt Version ist vermutlich nicht uebersetzbar.
Je nach make target, kommt danach folgendes heraus :
gnucash.motif
gnucash.motif.static
gnucash.gnome
gnucash.gnome.static
gnucash.qt
Die 'static' Version linkt die benoetigten Bibliotheken statisch.
gnucash.motif.static ist zum Beispiel praktisch, wenn man gegen
eine kommerzielle Version von Motif uebersetzt und diese Version
der Allgemeinheit zur Verfuegung stellt.
Welche Version erzeugt wird, haengt letzlich vom lokalen
gnucash.bin-Link ab, so dass man mit Hilfe des lokalen .gnucash -Skripts
immer pruefen kann, welche Version zuletzt erzeugt wurde.
Dieser Link stellt auch sicher, dass die Files aus dem Source-Verzeichnis
genutzt werdden.
The ./gnucash script
also handles making sure that you're using files from the source dir
rather than an install tree just like the old ./xacc script did.
"make install" fuehrt zu einer normalen FSSTND /usr/ oder /usr/local/ "make install" fuehrt zu einer normalen FSSTND /usr/ oder /usr/local/
Installation bei der alles andere sich in /foo/gnucash/*-Verzeichnissen Installation bei der alles andere sich in /foo/gnucash/*-Verzeichnissen
@ -159,6 +350,9 @@ Beispiele einiger weiterer Konfigurations-Optionen:
--with-xmhtml-includes=/home/rlb/XmHTML-1.1.5/include\ --with-xmhtml-includes=/home/rlb/XmHTML-1.1.5/include\
--with-xmhtml-libraries=/home/rlb/XmHTML-1.1.5/src --with-xmhtml-libraries=/home/rlb/XmHTML-1.1.5/src
Flag --with-gtk-config : Wegen der GTK-Philosophie am besten *nur*
den Ort des Config-Programms angeben, und es dem Programm ueberlassen,
die richtigen CFLAG und XLIBS-Werte auszugeben.
Runtime und Installations-Orte sind verschieden . Der --prefix Runtime und Installations-Orte sind verschieden . Der --prefix
, den sie angeben legt fest, wo das lauffaehige Programm waehrend , den sie angeben legt fest, wo das lauffaehige Programm waehrend
@ -192,22 +386,34 @@ general ledger Hauptbuch
Unterstuetzte Betriebssysteme : Unterstuetzte Betriebssysteme :
------------------------------- -------------------------------
GnuCash Version 1.2.x arbeitet unter folgenden Systemen : GnuCash Version 1.3.x arbeitet unter folgenden Systemen :
Linux 2.x.x -- Intel GNU/Linux -- Intel
FreeBSD -- Intel FreeBSD -- Intel
OpenBSD -- Intel OpenBSD -- Intel
Download Sites: Xacc-1.0.18, der Vorgaenger arbeitet mit diesen Systemen :
---------------
Slackware 3.4 -- Intel w/ Mootif (OSF Motif 2.0.1)
SGI IRIX -- MIPS
IBM AIX 4.1.5 -- RS/6000 http://www-frec.bull.com/
Unixware 7 -- Intel
SCO OpenServer 5.0.4 -- Intel
Solaris -- Sparc
Siehe ftp://ftp.gnucash.org/pub/xacc (high-bandwidth)
oder http://linas.org/linux/gnucash (slow-www )
fuer fertig kompilierte Versionen.
ftp://ftp.gnucash.org/pub/
Weitere Download Sites: Weitere Download Sites:
----------------------- -----------------------
Fertige Versionen und Packete unter :
IBM AIX 4.1.5 IBM AIX 4.1.5
-- SMIT-installable images -- SMIT-installable images
http://www.bull.de/pub/ http://www.bull.de/pub/
@ -236,12 +442,94 @@ Das Passwort ist "guest"
Um eine Kopie des Quellcodes aus dem gnucash-1.2 stable production Um eine Kopie des Quellcodes aus dem gnucash-1.2 stable production
Baum zu bekommen (stabile Version): Baum zu bekommen (stabile Version):
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -P -rxacc-12-patch gnucash cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -P -rxacc-12-patch gnucash
Um eine Kopie des Quellcodes aus dem experimentellen Entwickler-Baum Um eine Kopie des Quellcodes aus dem experimentellen Entwickler-Baum
zu bekommen (unstabile Version): zu bekommen (unstabile Version):
cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -P -rHEAD gnucash cvs -z3 -Pd :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout -P -rHEAD gnucash
An GnuCash mitentwickeln :
--------------------------
Bevor Sie an GnuCash mitentickeln , sollten sie folgendes tun:
1. Lesen von : src/coding-style.txt ,um die Richtlinien kennzulernen.
2. Viele der Verzeichnisse unter 'src' enthalten desing.txt-Dateien,
die viele Aspekte des GnuCash-Designs erklaeren. Auch lesen.
3. Die Gnucash development mailing Liste ueberfliegen, das Archiv ist
auf der GnuCash-Website.
4. Abonnieren der GnuCash development mailing Liste. Details dazu auf
der Website.
Einen Patch einsenden
---------------------
Wenn sie etwas Arebit geleistet haben, wollen sie ihr Ergebnis
anderen zur Verfuegung stellen. Dazu senden sie einen Patch ein.
Es gibt ein Perl-Skript in Gnucash, das diesen Patch fuer sie
erzeugen kann.
'make-gnucash-patch' wird so benutzt:
Als erstes die Entwicklungsverzeichnisse wie folgt aufsetzen :
< GnuCash home development directory >
|
|---- < directory containing original GnuCash sources >
|
|---- < directory containing your modified GnuCash sources >
Ein konkrete Beispiel koennte wie folgt aussehen :
/home/me/gnucash
|
|---- /home/me/gnucash/gnucash.pristine (original sources)
|
|---- /home/me/gnucash/gnucash.mywork (original sources + my edits)
Kopieren des 'make-gnucash-patch'-Skripts in das Haupt-Entwicklungsverzeichnis.
Danach die folgenden Variablen veraendern, damit diese die Namen ihrer
Verzeichnisse enthalten :(am obigen Beispiel orientiert)
my $old = 'gnucash.pristine';
my $new = 'gnucash.mywork';
my $gnc_home = '/home/me/gnucash';
Jetzt das Skript in Gang setzen. Hinweis: Das Skript benoetigt die
Programme 'makepatch', 'gzip', 'diff', und 'uuencode'
(und natuerlich 'perl') um zu funktionieren.
Drei Dateien werden erzeugt, wenn man das Skript laufen laesst :
gnc.diff - Eine Ascii Text-DAtei, die die Unterschiede zwischen
den Original Sourcen und den von ihnen bearbeiteten enthaelt.
Am Schluss ist eine Liste, die die Files enthaelt, die
hinzugefuegt, veraendert oder geloescht wurden.
Bitte untersuchen sie dieses File !(insbesondere die Liste
am Schluss) um sicherzustellen, dass alle Aenderungen in der
Datei vorhanden sind.
Diese Datei nicht einschicken !
gnucash.diff.gz - Die gzipp'te Version der obigen Datei.
Nicht einschicken!
gnucash.diff.gz.uue - Die uuencoded (ascii-encoded) Version
der obigen Datei.
Dies ist die Datei, die eingeschickt werden muss.
gnucash.diff.gz.uue an gnucash-patches@gnucash.org per E-Mail schicken.
Wie sonst.. :-)
Vielen Dank schon mal im Vorraus !
Haupt-Entwickler: Haupt-Entwickler:
@ -277,47 +565,74 @@ und Konfigurierbarkeit auch seine Sache.
Dirk Schoenberger <schoenberger@signsoft.com> arbeitet an der Qt/KDE Version Dirk Schoenberger <schoenberger@signsoft.com> arbeitet an der Qt/KDE Version
Fixes & Patches: Fixes & Patches:
---------------- ----------------
Andrew Arensburger <arensb@cfar.umd.edu> for FreeBSD & other patches Andrew Arensburger <arensb@cfar.umd.edu> for FreeBSD & other patches
Matt Armstrong <matt_armstrong@bigfoot.com> for misc fixes Matt Armstrong <matt_armstrong@bigfoot.com> for misc fixes
Fred Baube <fred@moremagic.com> for attempted Java port/MoneyDance Fred Baube <fred@moremagic.com> for attempted Java port/MoneyDance
Christopher B. Browne <cbbrowne@hex.net> for perl stock scripts Per Bojsen <bojsen@worldnet.att.net> several core dump fixes
Christopher B. Browne <cbbrowne@hex.net> for perl, scheme scripts
Graham Chapman <grahamc@zeta.org.au> for the xacc-rpts addon package Graham Chapman <grahamc@zeta.org.au> for the xacc-rpts addon package
George Chen <georgec@sco.com> for MS-Money QIF's & fixes George Chen <georgec@sco.com> for MS-Money QIF's & fixes
Albert Chin-A-Young <china@thewrittenword.com> configure.in patch
Jeremey Collins <jcollins@gnucash.org> for GnoMoney & GTK port Jeremey Collins <jcollins@gnucash.org> for GnoMoney & GTK port
Patrick Condron <pcondon@rackspace.com> for webserver and T1 connection. Patrick Condron <pcondon@rackspace.com> for webserver and T1 connection.
Ciaran Deignan <Ciaran.Deignan@bull.net> for AIX binary version Ciaran Deignan <Ciaran.Deignan@bull.net> for AIX binary version
Tyson Dowd <tyson@tyse.net> for config/make patches & debian maint. Tyson Dowd <tyson@tyse.net> for config/make patches & debian maint.
Koen D'Hondt <ripley@xs4all.nl> for Solaris patches to XmHTML Koen D'Hondt <ripley@xs4all.nl> for Solaris patches to XmHTML
Bob Drzyzgula <bob@mostly.com> for budgeting design notes Bob Drzyzgula <bob@mostly.com> for budgeting design notes
Jan-Uwe Finck <ju_finck@mail.netwave.de> for German message translation Jan-Uwe Finck <Jan-Uwe.Finck@bigfoot.de> for German message translation
Ron Forrester <rjf@aracnet.com> for gnome patches Ron Forrester <rjf@aracnet.com> for gnome patches
Dave Freese <DFreese@osc.uscg.mil> for leap-year fix Dave Freese <DFreese@osc.uscg.mil> for leap-year fix
Otto Hammersmith <otto@bug.redhat.com> for RedHat RPM version Otto Hammersmith <otto@bug.redhat.com> for RedHat RPM version
Alexandru Harsanyi <haral@codec.ro> for misc core dumps & lockups. Alexandru Harsanyi <haral@codec.ro> for core dumps, lockups, gtk work.
Jon K}re Hellan <jk@isdn-a33.itea.ntnu.no> misc core dump fixes Jon K}re Hellan <jk@isdn-a33.itea.ntnu.no> misc core dump fixes
Prakash Kailasa <PrakashK@bigfoot.com> for gnome build fixes Prakash Kailasa <PrakashK@bigfoot.com> for gnome build fixes
Ben Kelly <ben.kelly@ieee.org> for motif menu bug fix, core dump fixes
Tom Kludy <tkludy@csd.sgi.com> for SGI Irix port Tom Kludy <tkludy@csd.sgi.com> for SGI Irix port
Sven Kuenzler <sk@xgm.de> for SuSE README file Sven Kuenzler <sk@xgm.de> for SuSE README file
Graham Leggett <minfrin@sharp.fm> for fixing a hang
Ted Lemon <mellon@andare.fugue.com> for NetBSD port Ted Lemon <mellon@andare.fugue.com> for NetBSD port
Yannick Le Ny <y-le-ny@ifrance.com> pour la traduction en francais Yannick Le Ny <y-le-ny@ifrance.com> pour la traduction en francais
Grant Likely <glikely@nortelnetworks.com> gnome and engine patches
Heath Martin <martinh@pegasus.cc.ucf.edu> gnome and register patches
Matt Martin <mgmartin@abacusnet.net> guile error handling code
Robert Graham Merkel <rgmerk@mira.net> reporting, gnome, and config patches.
Tim Mooney <mooney@dogbert.cc.ndsu.NoDak.edu> port to alpha-dec-osf4.0f
G. Allen Morris III <gam3@ann.softgams.com> for QIF core dump G. Allen Morris III <gam3@ann.softgams.com> for QIF core dump
Peter Norton <spacey@inch.com> for a valiant attempt at a GTK port Peter Norton <spacey@inch.com> for a valiant attempt at a GTK port
OmNiBuS <webmaster@obsidian.uia.net> web site graphics & content OmNiBuS <webmaster@obsidian.uia.net> web site graphics & content
Myroslav Opyr <mopyr@IPM.Lviv.UA> for misc patches Myroslav Opyr <mopyr@IPM.Lviv.UA> for misc patches
Dave Peticolas <peticola@morpheus.cs.ucdavis.edu> extensive intelligent patches
Laurent P{'e}lecq <laurent.pelecq@wanadoo.fr> i18n patches with gettext
Alain Peyrat <Alain.Peyrat@nmu.alcatel.fr> for configure.in patches Alain Peyrat <Alain.Peyrat@nmu.alcatel.fr> for configure.in patches
Peter Pointner <peter@wuzel.m.isar.de> QIF import fixes, Qt patches
Gavin Porter <maufk@csv.warwick.ac.uk> for euro style dates Gavin Porter <maufk@csv.warwick.ac.uk> for euro style dates
Ron Record <rr@sco.com> for SCO Unixware & OpenServer binaries Ron Record <rr@sco.com> for SCO Unixware & OpenServer binaries
Jan Schrage <jan.schrage@urz.uni-heidelberg.de> documentation patches
Christopher Seawood <cls@seawood.org> for XbaeMatrix core dump Christopher Seawood <cls@seawood.org> for XbaeMatrix core dump
Mike Simons <msimons@fsimons01.erols.com> misc configure.in patches Mike Simons <msimons@fsimons01.erols.com> misc configure.in patches
Richard Skelton <rich@brake.demon.co.uk> for Solaris cleanup Richard Skelton <rich@brake.demon.co.uk> for Solaris cleanup
Henning Spruth <spruth@bigfoot.com> for German text & euro date rework Henning Spruth <spruth@bigfoot.com> for German text & euro date rework
Diane Trout <detrout@earthlink.net> scheme qif import patch
Rob Walker <rob@valinux.com> guile and register patches
Ken Yamaguchi <gooch@ic.EECS.Berkeley.EDU> QIF import fixes; MYM import Ken Yamaguchi <gooch@ic.EECS.Berkeley.EDU> QIF import fixes; MYM import
... and I am sure that I have missed many others ... ... and I am sure that I have missed many others ...
Stand : 29.07.99
Stand : 05.03.2000
P.S.: Dieses README ist eine Uebersetzung der englischen Version, und ist
damit eher selten auf aktuellem Stand, da diese den aktuellen Entwicklungen
angepasst wird.
Im Zweifel also bitte die englische Original-Version zu Rate ziehen.
Was Richtigkeit, Eleganz und Anwendbarkeit angeht, uebernehme ich keine Gewaehr.
Flames an /dev/null, 'Bug'-Reports, Vorschlaege und 'Patches' fuer dieses
README an Jan-Uwe.Finck@bigfoot.de und/oder an patch@gnucash.org.
Viel Spass !

View File

@ -4,3 +4,4 @@ Comment=GnuCash Personal Finance
Exec=gnucash Exec=gnucash
Terminal=0 Terminal=0
Type=Application Type=Application
Icon=gnome-money.png

View File

@ -2,7 +2,7 @@
* FileDialog.c -- file-handling utility dialogs for gnucash. * * FileDialog.c -- file-handling utility dialogs for gnucash. *
* * * *
* Copyright (C) 1997 Robin D. Clark * * Copyright (C) 1997 Robin D. Clark *
* Copyright (C) 1998, 1999 Linas Vepstas * * Copyright (C) 1998, 1999,2000 Linas Vepstas *
* * * *
* This program is free software; you can redistribute it and/or * * This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as * * modify it under the terms of the GNU General Public License as *
@ -180,6 +180,7 @@ gncPostFileOpen (const char * filename)
int io_error, uh_oh=0; int io_error, uh_oh=0;
char buf[BUFSIZE]; char buf[BUFSIZE];
AccountGroup *newgrp; AccountGroup *newgrp;
gncUIWidget app;
char * newfile; char * newfile;
if (!filename) return; if (!filename) return;
@ -199,9 +200,12 @@ gncPostFileOpen (const char * filename)
/* disable logging while we move over to the new set of accounts to /* disable logging while we move over to the new set of accounts to
* edit; the mass deletetion of accounts and transactions during * edit; the mass deletetion of accounts and transactions during
* switchover is not something we want to keep in a journal. */ * switchover is not something we want to keep in a journal. */
app = gnc_get_ui_data();
gnc_set_busy_cursor(app);
xaccLogDisable(); xaccLogDisable();
newgrp = xaccSessionBeginFile (newsess, newfile); newgrp = xaccSessionBeginFile (newsess, newfile);
xaccLogEnable(); xaccLogEnable();
gnc_unset_busy_cursor(app);
/* check for session errors, put up appropriate dialog */ /* check for session errors, put up appropriate dialog */
SHOW_LOCK_ERR_MSG (newsess); SHOW_LOCK_ERR_MSG (newsess);
@ -347,6 +351,7 @@ gncFileSave (void)
char * newfile; char * newfile;
char buf[BUFSIZE]; char buf[BUFSIZE];
int io_error, norr, uh_oh = 0; int io_error, norr, uh_oh = 0;
gncUIWidget app;
/* hack alert -- Somehow make sure all in-progress edits get committed! */ /* hack alert -- Somehow make sure all in-progress edits get committed! */
/* if no session exists, then we don't have a filename/path /* if no session exists, then we don't have a filename/path
@ -359,7 +364,10 @@ gncFileSave (void)
} }
/* use the current session to save to file */ /* use the current session to save to file */
app = gnc_get_ui_data();
gnc_set_busy_cursor(app);
xaccSessionSave (current_session); xaccSessionSave (current_session);
gnc_unset_busy_cursor(app);
/* in theory, no error should have occured, but just in case, /* in theory, no error should have occured, but just in case,
* we're gonna check and handle ... */ * we're gonna check and handle ... */

View File

@ -2,7 +2,7 @@
* FileIO.c -- read from and writing to a datafile for gnucash * * FileIO.c -- read from and writing to a datafile for gnucash *
* (GnuCash/X-Accountant) * * (GnuCash/X-Accountant) *
* Copyright (C) 1997 Robin D. Clark * * Copyright (C) 1997 Robin D. Clark *
* Copyright (C) 1997, 1998, 1999 Linas Vepstas * * Copyright (C) 1997, 1998, 1999,2000 Linas Vepstas *
* * * *
* This program is free software; you can redistribute it and/or * * This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as * * modify it under the terms of the GNU General Public License as *

View File

@ -7,7 +7,7 @@
* *
* HISTORY: * HISTORY:
* Created by Linas Vepstas December 1998 * Created by Linas Vepstas December 1998
* Copyright (c) 1998 Linas Vepstas * Copyright (c) 1998-2000 Linas Vepstas
*/ */
/********************************************************************\ /********************************************************************\

View File

@ -71,7 +71,7 @@ gnc_ui_set_cursor (GdkWindow *win, int type)
void void
gnc_set_busy_cursor(GtkWidget *w) gnc_set_busy_cursor(GtkWidget *w)
{ {
if (w) if (w != NULL)
gnc_ui_set_cursor(w->window, GNC_CURSOR_BUSY); gnc_ui_set_cursor(w->window, GNC_CURSOR_BUSY);
} }
@ -86,7 +86,7 @@ gnc_set_busy_cursor(GtkWidget *w)
void void
gnc_unset_busy_cursor(GtkWidget *w) gnc_unset_busy_cursor(GtkWidget *w)
{ {
if (w) if (w != NULL)
gnc_ui_set_cursor(w->window, GNC_CURSOR_NORMAL); gnc_ui_set_cursor(w->window, GNC_CURSOR_NORMAL);
} }

View File

@ -2,7 +2,7 @@
* window-main.c -- the main window, and associated helper functions* * window-main.c -- the main window, and associated helper functions*
* and callback functions for GnuCash * * and callback functions for GnuCash *
* Copyright (C) 1998,1999 Jeremy Collins * * Copyright (C) 1998,1999 Jeremy Collins *
* Copyright (C) 1998,1999 Linas Vepstas * * Copyright (C) 1998,1999,2000 Linas Vepstas *
* * * *
* This program is free software; you can redistribute it and/or * * This program is free software; you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as * * modify it under the terms of the GNU General Public License as *
@ -184,12 +184,12 @@ gnc_ui_add_account ( GtkWidget *widget, gpointer data )
static void static void
gnc_ui_delete_account ( Account *account ) gnc_ui_delete_account ( Account *account )
{ {
/* Step 1: Remove the account from all trees */ /* Step 1: Delete associated windows */
gnc_account_tree_remove_account_all(account);
/* Step 2: Delete associated windows */
xaccAccountWindowDestroy(account); xaccAccountWindowDestroy(account);
/* Step 2: Remove the account from all trees */
gnc_account_tree_remove_account_all(account);
/* Step 3: Delete the actual account */ /* Step 3: Delete the actual account */
xaccRemoveAccount(account); xaccRemoveAccount(account);
xaccFreeAccount(account); xaccFreeAccount(account);

View File

@ -131,6 +131,8 @@ recnRefresh(Account *account)
gnc_recn_set_window_name(recnData); gnc_recn_set_window_name(recnData);
recnRecalculateBalance(recnData); recnRecalculateBalance(recnData);
gtk_widget_queue_resize(recnData->window);
} }

View File

@ -2203,7 +2203,6 @@ gnucash_sheet_resize (GnucashSheet *sheet)
diff_rows = sheet->table->num_virt_rows - num_virt_rows; diff_rows = sheet->table->num_virt_rows - num_virt_rows;
sheet->num_virt_cols = 1; sheet->num_virt_cols = 1;
if (diff_rows < 0) { if (diff_rows < 0) {
/* we need to shrink the number of rows */ /* we need to shrink the number of rows */
for (i = 0; i < -diff_rows; i++) for (i = 0; i < -diff_rows; i++)

View File

@ -1,8 +1,37 @@
;;; $ID$ ;;; $Id$
;;; Reporting utilities ;;; Reporting utilities
(gnc:support "report-utilities.scm") (gnc:support "report-utilities.scm")
(define (gnc:account-separator-char)
(let ((option (gnc:lookup-option gnc:*options-entries*
"General" "Account Separator")))
(if option
(case (gnc:option-value option)
((colon) ":")
((slash) "/")
((backslash) "\\")
((dash) "-")
((period) ".")
(else ":"))
":")))
;; get a full account name
(define (gnc:account-get-full-name account)
(let ((separator (gnc:account-separator-char)))
(cond ((pointer-token-null? account) "")
(else
(let ((parent-name
(gnc:account-get-full-name
(gnc:group-get-parent
(gnc:account-get-parent account)))))
(if (string=? parent-name "")
(gnc:account-get-name account)
(string-append
parent-name
separator
(gnc:account-get-name account))))))))
(define (gnc:filter-list the-list predicate) (define (gnc:filter-list the-list predicate)
(cond ((not (list? the-list)) (cond ((not (list? the-list))
(gnc:error("Attempted to filter a non-list object"))) (gnc:error("Attempted to filter a non-list object")))

View File

@ -79,7 +79,8 @@
(if (string-ci=? name budget-account-name) (if (string-ci=? name budget-account-name)
(begin (begin
(vector-set! budget-report-line 0 (vector-set! budget-report-line 0
(+ (gnc:budget-report-get-actual budget-report-line) (+ (gnc:budget-report-get-actual
budget-report-line)
value))))) value)))))
(gnc:budget-get-accounts budget-line))))) (gnc:budget-get-accounts budget-line)))))
@ -91,7 +92,6 @@
budget-report-line) budget-report-line)
;; convert budget-report to an html table ;; convert budget-report to an html table
(define (gnc:budget-report-to-html budget budget-report) (define (gnc:budget-report-to-html budget budget-report)
(let ((budget-html ())) (let ((budget-html ()))

View File

@ -9,6 +9,7 @@
;hack alert - is this line necessary? ;hack alert - is this line necessary?
(gnc:depend "text-export.scm") (gnc:depend "text-export.scm")
(gnc:depend "report-utilities.scm")
;; hack alert - possibly unecessary globals ;; hack alert - possibly unecessary globals
@ -25,17 +26,15 @@
(define (gnc:set-total-outflow! x) (define (gnc:set-total-outflow! x)
(set! gnc:total-outflow x)) (set! gnc:total-outflow x))
(define gnc:tr-report-initialize-inflow-and-outflow! (define (gnc:tr-report-initialize-inflow-and-outflow!)
(begin
(set! gnc:total-inflow 0) (set! gnc:total-inflow 0)
(set! gnc:total-outflow 0) (set! gnc:total-outflow 0))
#f))
;;returns a list contains elements of the-list for which predictate is ;;returns a list contains elements of the-list for which predictate is
;; true ;; true
(define (gnc:filter-list the-list predicate) (define (gnc:filter-list the-list predicate)
(cond ((not (list? the-list)) (cond ((not (list? the-list))
(gnc:error("Attempted to filter a non-list object"))) (gnc:error "Attempted to filter a non-list object"))
((null? the-list) '()) ((null? the-list) '())
((predicate (car the-list)) ((predicate (car the-list))
(cons (car the-list) (cons (car the-list)
@ -47,10 +46,10 @@
(define (gnc:inorder-map the-list fn) (define (gnc:inorder-map the-list fn)
(cond ((not (list? the-list)) (cond ((not (list? the-list))
(gnc:error("Attempted to map a non-list object"))) (gnc:error "Attempted to map a non-list object"))
((not (procedure? fn)) ((not (procedure? fn))
(gnc:error("Attempted to map a non-function object to a list"))) (gnc:error "Attempted to map a non-function object to a list"))
((eq? the-list '()) '()) ((null? the-list) '())
(else (cons (fn (car the-list)) (else (cons (fn (car the-list))
(gnc:inorder-map (cdr the-list) fn))))) (gnc:inorder-map (cdr the-list) fn)))))
@ -241,22 +240,6 @@
(define (gnc:split-get-description-from-parent split) (define (gnc:split-get-description-from-parent split)
(gnc:transaction-get-description (gnc:split-get-parent split))) (gnc:transaction-get-description (gnc:split-get-parent split)))
;; get a full account name
(define (gnc:account-get-full-name account)
(cond ((pointer-token-null? account) "")
(else
(let ((parent-name
(gnc:account-get-full-name
(gnc:group-get-parent
(gnc:account-get-parent account)))))
(if (string=? parent-name "")
(gnc:account-get-name account)
(string-append
parent-name
":"
(gnc:account-get-name account)))))))
;; get the account name of a split ;; get the account name of a split
(define (gnc:split-get-account-name split) (define (gnc:split-get-account-name split)
(gnc:account-get-full-name (gnc:split-get-account split))) (gnc:account-get-full-name (gnc:split-get-account split)))
@ -435,17 +418,12 @@
;; does not match one of the accounts ;; does not match one of the accounts
(define (gnc:tr-report-make-sub-split-filter-predicate accounts) (define (gnc:tr-report-make-sub-split-filter-predicate accounts)
(lambda (sub-split) (lambda (sub-split)
(let ((result #t)) (let loop
(for-each ((list accounts))
(lambda (account) (if (null? list)
(set! #f
result (or (not (equal? (gnc:account-get-name (car list)) (car sub-split)))
(not (loop (cdr list)))))))
(string=?
(gnc:account-get-full-name account)
(car sub-split)))))
accounts)
result)))
;; converts a scheme split representation to a line of HTML, ;; converts a scheme split representation to a line of HTML,
;; updates the values of total-inflow and total-outflow based ;; updates the values of total-inflow and total-outflow based
@ -481,7 +459,7 @@
(cond (first (gnc:tr-report-get-memo split-scm)) (cond (first (gnc:tr-report-get-memo split-scm))
(else "")) (else ""))
"</TD><TD>" "</TD><TD>"
(car split-sub) (if (string? (car split-sub)) (car split-sub) "")
"</TD><TD>" "</TD><TD>"
(cond ((< (cadr split-sub) 0) (cond ((< (cadr split-sub) 0)
(string-append (string-append
@ -495,8 +473,12 @@
(cond ((not last) "</TR>") (cond ((not last) "</TR>")
(else ""))))) (else "")))))
other-splits other-splits
(append (list #t) (make-list (- (length other-splits) 1) #f)) (if (null? other-splits)
(append (make-list (- (length other-splits) 1) #f) (list #t))) ()
(append (list #t) (make-list (- (length other-splits) 1) #f)))
(if (null? other-splits)
()
(append (make-list (- (length other-splits) 1) #f) (list #t))))
(string-append (string-append
report-string report-string
"<TD>" "<TD>"
@ -532,8 +514,7 @@
trep-options-generator trep-options-generator
;; renderer ;; renderer
(lambda (options) (lambda (options)
(gnc:set-total-inflow! 0) (gnc:tr-report-initialize-inflow-and-outflow!)
(gnc:set-total-outflow! 0)
(let* ((begindate (gnc:lookup-option options "Report Options" "From")) (let* ((begindate (gnc:lookup-option options "Report Options" "From"))
(enddate (gnc:lookup-option options "Report Options" "To")) (enddate (gnc:lookup-option options "Report Options" "To"))
(tr-report-account-op (gnc:lookup-option options (tr-report-account-op (gnc:lookup-option options
@ -571,7 +552,6 @@
(sub-split-filter-pred (gnc:tr-report-make-sub-split-filter-predicate (sub-split-filter-pred (gnc:tr-report-make-sub-split-filter-predicate
accounts)) accounts))
(starting-balance 0)) (starting-balance 0))
gnc:tr-report-initialize-inflow-and-outflow!
(if (null? accounts) (if (null? accounts)
(set! report-lines (set! report-lines
(list "<TR><TD>There are no accounts to report on.</TD></TR>")) (list "<TR><TD>There are no accounts to report on.</TD></TR>"))
@ -594,9 +574,11 @@
(gnc:tr-report-make-sort-predicate (gnc:tr-report-make-sort-predicate
tr-report-primary-key-op tr-report-primary-order-op tr-report-primary-key-op tr-report-primary-order-op
tr-report-secondary-key-op tr-report-secondary-order-op))) tr-report-secondary-key-op tr-report-secondary-order-op)))
(let ((html-mapper (lambda (split-scm) (gnc:tr-report-split-to-html (let ((html-mapper (lambda (split-scm) (display "in!") (newline)
(gnc:tr-report-split-to-html
split-scm split-scm
starting-balance)))) starting-balance)
(display "out!") (newline))))
(set! report-lines (gnc:inorder-map report-lines html-mapper))) (set! report-lines (gnc:inorder-map report-lines html-mapper)))
(set! (set!
balance-line balance-line
@ -640,14 +622,3 @@
"</TD></STRONG></TR>")))) "</TD></STRONG></TR>"))))
(append prefix balance-line report-lines (append prefix balance-line report-lines
inflow-outflow-line net-inflow-line suffix)))) inflow-outflow-line net-inflow-line suffix))))