mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
*** 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:
parent
92f50014ea
commit
1912f86f5a
4
CHANGES
4
CHANGES
@ -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
|
||||||
|
|
||||||
|
16
ChangeLog
16
ChangeLog
@ -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.
|
||||||
|
|
||||||
|
377
README.german
377
README.german
@ -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 !
|
@ -4,3 +4,4 @@ Comment=GnuCash Personal Finance
|
|||||||
Exec=gnucash
|
Exec=gnucash
|
||||||
Terminal=0
|
Terminal=0
|
||||||
Type=Application
|
Type=Application
|
||||||
|
Icon=gnome-money.png
|
||||||
|
@ -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 ... */
|
||||||
|
@ -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 *
|
||||||
|
@ -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
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -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++)
|
||||||
|
@ -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")))
|
||||||
|
@ -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 ()))
|
||||||
|
@ -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))))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user