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@2142 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
75e96e2ee8
commit
47abc657dd
@ -15,6 +15,11 @@
|
|||||||
# OBJS is for flavor independent files
|
# OBJS is for flavor independent files
|
||||||
# GNOME/MOTIF_OBJS is for flavor dependent files
|
# GNOME/MOTIF_OBJS is for flavor dependent files
|
||||||
|
|
||||||
|
# Clear all of the default suffix rules. They were causing a great
|
||||||
|
# deal of agony when trying to get the .tmpl rules to work. In
|
||||||
|
# general, we want to take charge of these for now.
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
OBJS := $(addprefix obj/,${INDEP_SRCS:.c=.o})
|
OBJS := $(addprefix obj/,${INDEP_SRCS:.c=.o})
|
||||||
GNOME_OBJS := $(addprefix obj/gnome/,${COMMON_SRCS:.c=.o})
|
GNOME_OBJS := $(addprefix obj/gnome/,${COMMON_SRCS:.c=.o})
|
||||||
GNOME_OBJS += $(addprefix obj/gnome/,${GNOME_SRCS:.c=.o})
|
GNOME_OBJS += $(addprefix obj/gnome/,${GNOME_SRCS:.c=.o})
|
||||||
@ -32,6 +37,7 @@ endif
|
|||||||
QT_FLAGS :=
|
QT_FLAGS :=
|
||||||
|
|
||||||
|
|
||||||
|
# All c files depend on headers with the same names.
|
||||||
%.c : %.h
|
%.c : %.h
|
||||||
|
|
||||||
# Basically take the output foo.d file and put it in the right
|
# Basically take the output foo.d file and put it in the right
|
||||||
|
11
Makefile.in
11
Makefile.in
@ -54,8 +54,8 @@ gnome-static: gnome.static
|
|||||||
qt-static: qt.static
|
qt-static: qt.static
|
||||||
|
|
||||||
build-flavor: config.status
|
build-flavor: config.status
|
||||||
@cd lib; $(MAKE) ${FLAVOR}
|
@cd lib && ${MAKE} ${FLAVOR}
|
||||||
@cd src; $(MAKE) ${FLAVOR}
|
@cd src && ${MAKE} ${FLAVOR}
|
||||||
ln -sf gnucash.${FLAVOR} gnucash.bin
|
ln -sf gnucash.${FLAVOR} gnucash.bin
|
||||||
(cd share && rm -f scm && ln -sf ../src/scm scm)
|
(cd share && rm -f scm && ln -sf ../src/scm scm)
|
||||||
|
|
||||||
@ -101,6 +101,8 @@ qt.disable:
|
|||||||
echo "Qt build disabled by configure. Try configure --enable-qt"
|
echo "Qt build disabled by configure. Try configure --enable-qt"
|
||||||
false
|
false
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
|
||||||
depend:
|
depend:
|
||||||
@echo make depend is now superfluous.
|
@echo make depend is now superfluous.
|
||||||
|
|
||||||
@ -134,7 +136,8 @@ install-bin: gnucash.${FLAVOR}
|
|||||||
(cd ${GNC_BINDIR} && ln -sf gnucash.${FLAVOR} gnucash)
|
(cd ${GNC_BINDIR} && ln -sf gnucash.${FLAVOR} gnucash)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
$(INSTALL) -d ${GNC_BINDIR} ${GNC_LIBDIR} ${GNC_DOCDIR}
|
$(INSTALL) -d ${GNC_BINDIR} ${GNC_LIBDIR}
|
||||||
|
$(INSTALL) -d ${GNC_DOCDIR} ${GNC_CONFIGDIR}
|
||||||
$(INSTALL) -d ${GNC_DOCDIR}/examples ${GNC_MANDIR}/man1
|
$(INSTALL) -d ${GNC_DOCDIR}/examples ${GNC_MANDIR}/man1
|
||||||
$(INSTALL) -d ${GNC_SHAREDIR} ${GNC_SHAREDIR}/html
|
$(INSTALL) -d ${GNC_SHAREDIR} ${GNC_SHAREDIR}/html
|
||||||
$(INSTALL) -d ${GNC_SHAREDIR}/html/C ${GNC_SHAREDIR}/html/C/pix
|
$(INSTALL) -d ${GNC_SHAREDIR}/html/C ${GNC_SHAREDIR}/html/C/pix
|
||||||
@ -209,7 +212,7 @@ install:
|
|||||||
# place for this stuff ... For now, we will simply touch the one file that
|
# place for this stuff ... For now, we will simply touch the one file that
|
||||||
# the scheme initialization is looking for, and punt on the rest ...
|
# the scheme initialization is looking for, and punt on the rest ...
|
||||||
|
|
||||||
$(INSTALL_DATA) etc/conf* ${GNC_SHAREDIR}
|
$(INSTALL_DATA) etc/conf* ${GNC_CONFIGDIR}
|
||||||
|
|
||||||
$(MAKE) -C po install
|
$(MAKE) -C po install
|
||||||
|
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
# -*-makefile-*-
|
|
||||||
|
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
export PATH := @GUILE_BIN@:@ABSOLUTE_TOP_SRCDIR@/lib/g-wrap-install/bin/:${PATH}
|
export PATH := @GUILE_BIN@:@ABSOLUTE_TOP_SRCDIR@/lib/g-wrap-install/bin/:${PATH}
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
top_srcdir = @top_srcdir@
|
|
||||||
VPATH = @srcdir@
|
VPATH = @srcdir@
|
||||||
|
|
||||||
prefix=@prefix@
|
prefix=@prefix@
|
||||||
@ -23,6 +20,8 @@ sysconfdir=@sysconfdir@
|
|||||||
|
|
||||||
includedir=@includedir@
|
includedir=@includedir@
|
||||||
|
|
||||||
|
ABSOLUTE_TOP_SRCDIR=@ABSOLUTE_TOP_SRCDIR@
|
||||||
|
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CXX = @CXX@
|
CXX = @CXX@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
@ -33,7 +32,6 @@ RANLIB = @RANLIB@
|
|||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||||
SWIG = @SWIG@
|
SWIG = @SWIG@
|
||||||
GWRAP = @top_srcdir@/lib/g-wrap-install/bin
|
|
||||||
PERL = @PERL@
|
PERL = @PERL@
|
||||||
|
|
||||||
CPU = @target_cpu@
|
CPU = @target_cpu@
|
||||||
@ -51,3 +49,7 @@ GNC_MANDIR=@GNC_MANDIR@
|
|||||||
HAVE_PLOTUTILS=@HAVE_PLOTUTILS@
|
HAVE_PLOTUTILS=@HAVE_PLOTUTILS@
|
||||||
GLIB_CONFIG_BIN=@GLIB_CONFIG_BIN@
|
GLIB_CONFIG_BIN=@GLIB_CONFIG_BIN@
|
||||||
GNOME_CONFIG_BIN=@GNOME_CONFIG_BIN@
|
GNOME_CONFIG_BIN=@GNOME_CONFIG_BIN@
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: makefile
|
||||||
|
# End:
|
||||||
|
79
configure.in
79
configure.in
@ -16,6 +16,7 @@
|
|||||||
# Footer - Autoconf footer stuff
|
# Footer - Autoconf footer stuff
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### --------------------------------------------------------------------------
|
### --------------------------------------------------------------------------
|
||||||
### Headers
|
### Headers
|
||||||
### check for various programs, and stuff (do this first because later
|
### check for various programs, and stuff (do this first because later
|
||||||
@ -40,6 +41,28 @@ AC_PROG_MAKE_SET
|
|||||||
|
|
||||||
AC_CHECK_FUNCS(stpcpy)
|
AC_CHECK_FUNCS(stpcpy)
|
||||||
|
|
||||||
|
### --------------------------------------------------------------------------
|
||||||
|
### Useful POSIX shell functions
|
||||||
|
###
|
||||||
|
|
||||||
|
# This has to be a variable because we need to be able to export it,
|
||||||
|
# and POSIX shells AFAIK don't have "export -f"
|
||||||
|
|
||||||
|
gnc_recursively_expand_var () {
|
||||||
|
|
||||||
|
# Note that this function will only work for cases where any sign of
|
||||||
|
# a $ means that there is a variable reference that can be expanded.
|
||||||
|
# I.e. it would fail miserably for something like pattern='^bar.*$'.
|
||||||
|
|
||||||
|
local expanded_var=${1}
|
||||||
|
while echo $expanded_var | grep '\$' > /dev/null
|
||||||
|
do
|
||||||
|
expanded_var=$(eval echo ${expanded_var})
|
||||||
|
done
|
||||||
|
echo $expanded_var
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
### --------------------------------------------------------------------------
|
### --------------------------------------------------------------------------
|
||||||
### Variables
|
### Variables
|
||||||
### Set up all the initial variable values...
|
### Set up all the initial variable values...
|
||||||
@ -81,7 +104,11 @@ AC_ARG_WITH( locale-dir,
|
|||||||
[ --with-locale-dir=PATH specify where to look for locale-specific information],
|
[ --with-locale-dir=PATH specify where to look for locale-specific information],
|
||||||
LOCALE_DIR="$with_locale_dir",
|
LOCALE_DIR="$with_locale_dir",
|
||||||
LOCALE_DIR="$prefix/share/locale")
|
LOCALE_DIR="$prefix/share/locale")
|
||||||
|
|
||||||
|
GNC_EXPANDED_LOCALE_DIR=$(gnc_recursively_expand_var "${GNC_LOCALE_DIR}")
|
||||||
|
|
||||||
AC_SUBST(LOCALE_DIR)
|
AC_SUBST(LOCALE_DIR)
|
||||||
|
AC_SUBST(GNC_EXPANDED_LOCALE_DIR)
|
||||||
|
|
||||||
AC_CHECK_HEADER(locale.h, ac_cv_header_locale_h=yes, ac_cv_header_locale_h=no)
|
AC_CHECK_HEADER(locale.h, ac_cv_header_locale_h=yes, ac_cv_header_locale_h=no)
|
||||||
AC_CAN_USE_GNU_GETTEXT
|
AC_CAN_USE_GNU_GETTEXT
|
||||||
@ -164,9 +191,10 @@ fi
|
|||||||
# for some reason the code needs both the full path and the basename.
|
# for some reason the code needs both the full path and the basename.
|
||||||
# these get dumped into src/guile/pathconfig.h
|
# these get dumped into src/guile/pathconfig.h
|
||||||
|
|
||||||
EPERL_PATH="$EPERL"
|
GNC_EXPANDED_EPERL_PATH=$(gnc_recursively_expand_var "${EPERL}")
|
||||||
EPERL_NAME=`basename $EPERL`
|
EPERL_NAME=$(basename $EPERL)
|
||||||
AC_SUBST(EPERL_PATH)
|
|
||||||
|
AC_SUBST(GNC_EXPANDED_EPERL_PATH)
|
||||||
AC_SUBST(EPERL_NAME)
|
AC_SUBST(EPERL_NAME)
|
||||||
|
|
||||||
### -------------------------------------------------------------------
|
### -------------------------------------------------------------------
|
||||||
@ -510,6 +538,10 @@ else
|
|||||||
GNC_SHAREDIR=${datadir}/gnucash
|
GNC_SHAREDIR=${datadir}/gnucash
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
GNC_EXPANDED_LIBDIR=$(gnc_recursively_expand_var "${GNC_LIBDIR}")
|
||||||
|
GNC_EXPANDED_CONFIGDIR=$(gnc_recursively_expand_var "${GNC_CONFIGDIR}")
|
||||||
|
GNC_EXPANDED_SHAREDIR=$(gnc_recursively_expand_var "${GNC_SHAREDIR}")
|
||||||
|
|
||||||
GNC_MANDIR=${mandir}
|
GNC_MANDIR=${mandir}
|
||||||
|
|
||||||
AC_SUBST(GNC_DOCDIR)
|
AC_SUBST(GNC_DOCDIR)
|
||||||
@ -518,29 +550,24 @@ AC_SUBST(GNC_LIBDIR)
|
|||||||
AC_SUBST(GNC_CONFIGDIR)
|
AC_SUBST(GNC_CONFIGDIR)
|
||||||
AC_SUBST(GNC_SHAREDIR)
|
AC_SUBST(GNC_SHAREDIR)
|
||||||
AC_SUBST(GNC_MANDIR)
|
AC_SUBST(GNC_MANDIR)
|
||||||
|
AC_SUBST(GNC_EXPANDED_LIBDIR)
|
||||||
|
AC_SUBST(GNC_EXPANDED_CONFIGDIR)
|
||||||
|
AC_SUBST(GNC_EXPANDED_SHAREDIR)
|
||||||
|
|
||||||
# HACK : inserts the path to gnucash.pm, which is used in the
|
# HACK : inserts the path to gnucash.pm, which is used in the
|
||||||
# reporting code and is defined in gnucash.h
|
# reporting code and is defined in gnucash.h
|
||||||
|
|
||||||
GNC_RUNTIME_PERLLIBPATH=`eval echo ${GNC_LIBDIR}`
|
GNC_EXPANDED_PERLLIBPATH=$(gnc_recursively_expand_var "${GNC_LIBDIR}")
|
||||||
|
|
||||||
AC_SUBST(GNC_RUNTIME_PERLLIBPATH)
|
AC_SUBST(GNC_EXPANDED_PERLLIBPATH)
|
||||||
|
|
||||||
|
|
||||||
# The variables GNC_RUNTIME_SHAREDIR and GNC_RUNTIME_CONFIGDIR are used
|
|
||||||
# to configure bootstrap.scm and gnucash.h. This configuration is performed
|
|
||||||
# by Makefile.config.finish, invoked at the end of AC_OUTPUT. We have to
|
|
||||||
# handle these separately, because they are the *runtime* (not install
|
|
||||||
# time) defaults, and thus
|
|
||||||
# 1) We don't want them to change if you do
|
|
||||||
# make prefix=foo install
|
|
||||||
# This allows you to build distributions in a separate directory.
|
|
||||||
# 2) They are normally defined in terms of $prefix, and AC_OUPUT does
|
|
||||||
# not do recursive substitution, i.e., if we USED AC_OUTPUT to
|
|
||||||
# generate them, we would get ${prefix}/share/gnucash instead
|
|
||||||
# of the fully expanded directory name.
|
|
||||||
|
|
||||||
|
# Get the absolute top level directory. This is only used to add some
|
||||||
|
# ./lib/* paths to PATH for local build binaries like gwrap. For all
|
||||||
|
# other purposes, you should probably be using top_srcdir. configure
|
||||||
|
# automagically provides it, but you have to be careful to set it
|
||||||
|
# directly within each Makefile.in since it's the *relative* path to
|
||||||
|
# the top of the source tree rather than an absolute path. You can't
|
||||||
|
# just put it in Makefile.init.in or Makefile.common.
|
||||||
|
|
||||||
ABSOLUTE_TOP_SRCDIR=`pwd`
|
ABSOLUTE_TOP_SRCDIR=`pwd`
|
||||||
AC_SUBST(ABSOLUTE_TOP_SRCDIR)
|
AC_SUBST(ABSOLUTE_TOP_SRCDIR)
|
||||||
@ -549,27 +576,31 @@ AC_CONFIG_HEADER(config.h)
|
|||||||
|
|
||||||
AC_OUTPUT(Makefile
|
AC_OUTPUT(Makefile
|
||||||
Makefile.init
|
Makefile.init
|
||||||
|
make-gnucash-patch
|
||||||
src/Makefile
|
src/Makefile
|
||||||
src/engine/Makefile
|
src/engine/Makefile
|
||||||
src/guile/Makefile
|
src/guile/Makefile
|
||||||
|
src/guile/gnucash.h
|
||||||
src/guile/i18n.h
|
src/guile/i18n.h
|
||||||
src/scm/Makefile
|
src/scm/Makefile
|
||||||
|
src/scm/bootstrap.scm
|
||||||
src/g-wrap/Makefile
|
src/g-wrap/Makefile
|
||||||
src/gnome/Makefile
|
src/gnome/Makefile
|
||||||
src/motif/Makefile
|
src/motif/Makefile
|
||||||
src/qt/Makefile
|
src/qt/Makefile
|
||||||
|
src/quotes/gnc-prices
|
||||||
src/register/Makefile
|
src/register/Makefile
|
||||||
src/register/gnome/Makefile
|
src/register/gnome/Makefile
|
||||||
src/reports/Makefile
|
src/reports/Makefile
|
||||||
src/reports/pathconfig.h
|
src/reports/pathconfig.h
|
||||||
src/swig/Makefile
|
src/swig/Makefile
|
||||||
src/swig/perl5/Makefile
|
src/swig/perl5/Makefile
|
||||||
po/Makefile.in
|
po/Makefile.in
|
||||||
po/extract-macros.perl
|
po/extract-macros.perl
|
||||||
include/messages_i18n.h
|
include/messages_i18n.h
|
||||||
lib/Makefile
|
lib/Makefile
|
||||||
lib/Xbae-4.6.2-linas/Makefile
|
lib/Xbae-4.6.2-linas/Makefile
|
||||||
lib/Xbae-4.6.2-linas/src/Makefile
|
lib/Xbae-4.6.2-linas/src/Makefile
|
||||||
lib/ComboBox-1.33/Makefile,
|
lib/ComboBox-1.33/Makefile,
|
||||||
chmod +x gnucash
|
chmod a+x ./gnucash
|
||||||
${MAKE-make} -f Makefile.config.finish)
|
chmod a+x ./make-gnucash-patch)
|
||||||
|
38
doc/build-system
Normal file
38
doc/build-system
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
-*-text-*-
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
Deleting .SUFFIX rules
|
||||||
|
|
||||||
|
While working on some other problems, I discovered that this implicit
|
||||||
|
rule
|
||||||
|
|
||||||
|
% : %.tmpl
|
||||||
|
...
|
||||||
|
|
||||||
|
fails for files like message_i18n.h.tmpl because some other .h
|
||||||
|
implicit rule that's been defined is keeping this one from working. I
|
||||||
|
could have worked around it by defining a "terminal rule" using "::"
|
||||||
|
instead (See "Match-Anything Pattern Rules" in the make info pages),
|
||||||
|
and in truth, :: might be more appropriate here anyway, but instead I
|
||||||
|
used .SUFFIX: to delete all the default suffix rules. I think that we
|
||||||
|
probably want control of this anyhow...
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
*EXPANDED* .in file variables:
|
||||||
|
|
||||||
|
I've added some rules to configure.in that look like GNC_EXPANDED_*.
|
||||||
|
These are intended for use in any non-makefile .in files. The
|
||||||
|
difference between them and another variable of the same name
|
||||||
|
(i.e. the difference between GNC_LIBDIR and GNC_EXPANDED_LIBDIR is
|
||||||
|
that the latter has been expended in configure.in via
|
||||||
|
recursively_expand(). This is critical for variables that are going
|
||||||
|
in to non-makefiles because there's no other way for any variable
|
||||||
|
references to get expanded. For example, what if configure were to
|
||||||
|
assign GNC_CONFIGDIR to be "${prefix}/etc/gnucash" and then this exact
|
||||||
|
string were substituted into gnucash.h.in or bootstrap.scm? The C
|
||||||
|
compiler and Scheme interpreter would have no idea what to do with
|
||||||
|
$prefix, so you'd be stuck. recursively_expand fixes this.
|
||||||
|
|
||||||
|
===========================================================================
|
2
gnucash
2
gnucash
@ -9,5 +9,5 @@ exec ./gnucash.bin \
|
|||||||
--debug \
|
--debug \
|
||||||
--share-dir ./share \
|
--share-dir ./share \
|
||||||
--config-dir ./etc \
|
--config-dir ./etc \
|
||||||
--doc-path '("./Docs/En" "./Docs" "./Reports")' \
|
--doc-path '("./doc/html/C")' \
|
||||||
"$@"
|
"$@"
|
||||||
|
6
make-gnucash-patch → make-gnucash-patch.in
Executable file → Normal file
6
make-gnucash-patch → make-gnucash-patch.in
Executable file → Normal file
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/perl
|
#!@PERL@
|
||||||
#
|
#
|
||||||
# This perl script is used to make a patch for your GnuCash
|
# This perl script is used to make a patch for your GnuCash
|
||||||
# development work. All patches should be submitted to the
|
# development work. All patches should be submitted to the
|
||||||
@ -79,6 +79,10 @@ system('uuencode gnucash.diff.gz gnucash.diff.gz > gnucash.diff.gz.uue');
|
|||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
|
|
||||||
|
# Local Variables:
|
||||||
|
# mode: perl
|
||||||
|
# End:
|
||||||
|
|
||||||
__DATA__
|
__DATA__
|
||||||
|
|
||||||
obj
|
obj
|
@ -147,7 +147,7 @@ ledgerIsMember (xaccLedgerDisplay *reg, Account * acc)
|
|||||||
|
|
||||||
xaccLedgerDisplay *
|
xaccLedgerDisplay *
|
||||||
xaccLedgerDisplaySimple (Account *acc)
|
xaccLedgerDisplaySimple (Account *acc)
|
||||||
{
|
{
|
||||||
xaccLedgerDisplay *retval;
|
xaccLedgerDisplay *retval;
|
||||||
int acc_type;
|
int acc_type;
|
||||||
int reg_type = -1;
|
int reg_type = -1;
|
||||||
@ -197,7 +197,7 @@ xaccLedgerDisplaySimple (Account *acc)
|
|||||||
|
|
||||||
retval = xaccLedgerDisplayGeneral (acc, NULL, reg_type);
|
retval = xaccLedgerDisplayGeneral (acc, NULL, reg_type);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************\
|
/********************************************************************\
|
||||||
* xaccLedgerDisplayAccGroup *
|
* xaccLedgerDisplayAccGroup *
|
||||||
@ -229,8 +229,8 @@ xaccLedgerDisplayAccGroup (Account *acc)
|
|||||||
case CREDIT:
|
case CREDIT:
|
||||||
case LIABILITY:
|
case LIABILITY:
|
||||||
/* if any of the sub-accounts have STOCK or MUTUAL types,
|
/* if any of the sub-accounts have STOCK or MUTUAL types,
|
||||||
* then we must use the PORTFOLIO type ledger. Otherise,
|
* then we must use the PORTFOLIO_LEDGER ledger. Otherwise,
|
||||||
* a plain old GEN_LEDGER will do. */
|
* a plain old GENERAL_LEDGER will do. */
|
||||||
ledger_type = GENERAL_LEDGER;
|
ledger_type = GENERAL_LEDGER;
|
||||||
|
|
||||||
le = list[0];
|
le = list[0];
|
||||||
@ -238,7 +238,7 @@ xaccLedgerDisplayAccGroup (Account *acc)
|
|||||||
while (le) {
|
while (le) {
|
||||||
le_type = xaccAccountGetType (le);
|
le_type = xaccAccountGetType (le);
|
||||||
if ((STOCK == le_type) || (MUTUAL == le_type)) {
|
if ((STOCK == le_type) || (MUTUAL == le_type)) {
|
||||||
ledger_type = PORTFOLIO;
|
ledger_type = PORTFOLIO_LEDGER;
|
||||||
}
|
}
|
||||||
n++;
|
n++;
|
||||||
le = list[n];
|
le = list[n];
|
||||||
@ -247,9 +247,9 @@ xaccLedgerDisplayAccGroup (Account *acc)
|
|||||||
|
|
||||||
case STOCK:
|
case STOCK:
|
||||||
case MUTUAL:
|
case MUTUAL:
|
||||||
ledger_type = PORTFOLIO;
|
ledger_type = PORTFOLIO_LEDGER;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case INCOME:
|
case INCOME:
|
||||||
case EXPENSE:
|
case EXPENSE:
|
||||||
ledger_type = INCOME_LEDGER;
|
ledger_type = INCOME_LEDGER;
|
||||||
@ -314,7 +314,8 @@ xaccLedgerDisplaySetHelp(void *user_data, const char *help_str)
|
|||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
|
|
||||||
xaccLedgerDisplay *
|
xaccLedgerDisplay *
|
||||||
xaccLedgerDisplayGeneral (Account *lead_acc, Account **acclist, int ledger_type)
|
xaccLedgerDisplayGeneral (Account *lead_acc, Account **acclist,
|
||||||
|
int ledger_type)
|
||||||
{
|
{
|
||||||
xaccLedgerDisplay *regData = NULL;
|
xaccLedgerDisplay *regData = NULL;
|
||||||
|
|
||||||
@ -333,7 +334,7 @@ xaccLedgerDisplayGeneral (Account *lead_acc, Account **acclist, int ledger_type)
|
|||||||
*
|
*
|
||||||
* A third possibility exists: a multiple-account register, with
|
* A third possibility exists: a multiple-account register, with
|
||||||
* no leader account. In such a case, the list of accounts being
|
* no leader account. In such a case, the list of accounts being
|
||||||
* displayed have no particular relationshp to each other. There
|
* displayed have no particular relationship to each other. There
|
||||||
* can be an arbitrary number of multiple-account leader-less
|
* can be an arbitrary number of multiple-account leader-less
|
||||||
* registers.
|
* registers.
|
||||||
*/
|
*/
|
||||||
@ -345,7 +346,7 @@ xaccLedgerDisplayGeneral (Account *lead_acc, Account **acclist, int ledger_type)
|
|||||||
FETCH_FROM_LIST (xaccLedgerDisplay, ledgerList, lead_acc, leader, regData);
|
FETCH_FROM_LIST (xaccLedgerDisplay, ledgerList, lead_acc, leader, regData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if regData is null, then no leader account was specified */
|
/* if regData is null, then no leader account was specified */
|
||||||
if (!regData) {
|
if (!regData) {
|
||||||
regData = (xaccLedgerDisplay *) malloc (sizeof (xaccLedgerDisplay));
|
regData = (xaccLedgerDisplay *) malloc (sizeof (xaccLedgerDisplay));
|
||||||
@ -395,7 +396,7 @@ xaccLedgerDisplayGeneral (Account *lead_acc, Account **acclist, int ledger_type)
|
|||||||
|
|
||||||
regData->dirty = 1;
|
regData->dirty = 1;
|
||||||
xaccLedgerDisplayRefresh (regData);
|
xaccLedgerDisplayRefresh (regData);
|
||||||
|
|
||||||
return regData;
|
return regData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1341,7 +1341,7 @@ xaccSRSaveRegEntry (SplitRegister *reg, Transaction *newtrans)
|
|||||||
if (((MOD_AMNT | MOD_PRIC | MOD_VALU) & changed) &&
|
if (((MOD_AMNT | MOD_PRIC | MOD_VALU) & changed) &&
|
||||||
((STOCK_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
((STOCK_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
||||||
(CURRENCY_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
(CURRENCY_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
||||||
(PORTFOLIO == (reg->type & REG_TYPE_MASK)))) {
|
(PORTFOLIO_LEDGER == (reg->type & REG_TYPE_MASK)))) {
|
||||||
|
|
||||||
double value;
|
double value;
|
||||||
double price;
|
double price;
|
||||||
@ -1469,62 +1469,32 @@ xaccSRSaveRegEntry (SplitRegister *reg, Transaction *newtrans)
|
|||||||
if ((EQUITY_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
if ((EQUITY_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
||||||
(STOCK_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
(STOCK_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
||||||
(CURRENCY_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
(CURRENCY_REGISTER == (reg->type & REG_TYPE_MASK)) ||
|
||||||
(PORTFOLIO == (reg->type & REG_TYPE_MASK)))
|
(PORTFOLIO_LEDGER == (reg->type & REG_TYPE_MASK)))
|
||||||
xaccSplitSetShareAmount (split, new_amount);
|
xaccSplitSetShareAmount (split, new_amount);
|
||||||
else
|
else
|
||||||
xaccSplitSetValue (split, new_amount);
|
xaccSplitSetValue (split, new_amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MOD_PRIC & changed) {
|
if (MOD_PRIC & changed) {
|
||||||
Account *acc;
|
|
||||||
double price;
|
double price;
|
||||||
int n;
|
|
||||||
|
|
||||||
price = xaccGetPriceCellValue(reg->priceCell);
|
price = xaccGetPriceCellValue(reg->priceCell);
|
||||||
|
|
||||||
DEBUG ("xaccSRSaveRegEntry(): MOD_PRIC: %f\n", price);
|
DEBUG ("xaccSRSaveRegEntry(): MOD_PRIC: %f\n", price);
|
||||||
|
|
||||||
xaccSplitSetSharePrice (split, price);
|
xaccSplitSetSharePrice (split, price);
|
||||||
|
|
||||||
/* Here we handle a very special case: the user just created
|
|
||||||
* an account, which now has two splits in it, and the user
|
|
||||||
* is editing the opening balance split. Then copy the price
|
|
||||||
* over to the last split, so that the account balance, when
|
|
||||||
* computed, won't be obviously bad. Strictly speaking, everything
|
|
||||||
* will automatically fix itself once the user closes the window,
|
|
||||||
* or if they start editing the second split, and so we don't
|
|
||||||
* really have to do this. This is more of a feel-good thing,
|
|
||||||
* so that they won't see even briefly what looks like bad values,
|
|
||||||
* and that might give them the willies. We want them to feel good.
|
|
||||||
*/
|
|
||||||
acc = xaccSplitGetAccount (split);
|
|
||||||
n = xaccAccountGetNumSplits (acc);
|
|
||||||
if (2 == n) {
|
|
||||||
Split *s = xaccAccountGetSplit (acc, 0);
|
|
||||||
if (s == split) {
|
|
||||||
Transaction *t;
|
|
||||||
double currprice;
|
|
||||||
s = xaccAccountGetSplit (acc, 1);
|
|
||||||
currprice = xaccSplitGetSharePrice (s);
|
|
||||||
if (DEQ (currprice, 1.0)) {
|
|
||||||
t = xaccSplitGetParent (s);
|
|
||||||
xaccTransBeginEdit (t, 0);
|
|
||||||
xaccSplitSetSharePrice (s, price);
|
|
||||||
xaccTransCommitEdit (t);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MOD_VALU & changed) {
|
if (MOD_VALU & changed) {
|
||||||
double value = xaccGetPriceCellValue(reg->valueCell);
|
double value = xaccGetPriceCellValue(reg->valueCell);
|
||||||
|
|
||||||
DEBUG ("xaccSRSaveRegEntry(): MOD_VALU: %f\n", value);
|
DEBUG ("xaccSRSaveRegEntry(): MOD_VALU: %f\n", value);
|
||||||
|
|
||||||
xaccSplitSetValue (split, value);
|
xaccSplitSetValue (split, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
PINFO ("xaccSRSaveRegEntry(): finished saving split %s of trans %s \n",
|
PINFO ("xaccSRSaveRegEntry(): finished saving split %s of trans %s \n",
|
||||||
xaccSplitGetMemo(split), xaccTransGetDescription(trans));
|
xaccSplitGetMemo(split), xaccTransGetDescription(trans));
|
||||||
|
|
||||||
/* If the modified split is the "blank split", then it is now an
|
/* If the modified split is the "blank split", then it is now an
|
||||||
* official part of the account. Set the blank split to NULL, so
|
* official part of the account. Set the blank split to NULL, so
|
||||||
@ -1668,7 +1638,7 @@ xaccSRLoadTransEntry (SplitRegister *reg, Split *split, int do_commit)
|
|||||||
if ((EQUITY_REGISTER == typo) ||
|
if ((EQUITY_REGISTER == typo) ||
|
||||||
(STOCK_REGISTER == typo) ||
|
(STOCK_REGISTER == typo) ||
|
||||||
(CURRENCY_REGISTER == typo) ||
|
(CURRENCY_REGISTER == typo) ||
|
||||||
(PORTFOLIO == typo))
|
(PORTFOLIO_LEDGER == typo))
|
||||||
{
|
{
|
||||||
amt = xaccSplitGetShareAmount (split);
|
amt = xaccSplitGetShareAmount (split);
|
||||||
} else {
|
} else {
|
||||||
@ -2071,8 +2041,8 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
|||||||
* when doing stock accounts. This will guess incorrectly for a
|
* when doing stock accounts. This will guess incorrectly for a
|
||||||
* ledger showing multiple stocks, but seems cool for a single stock.
|
* ledger showing multiple stocks, but seems cool for a single stock.
|
||||||
*/
|
*/
|
||||||
if ((STOCK_REGISTER == type) ||
|
if ((STOCK_REGISTER == type) ||
|
||||||
(PORTFOLIO == type))
|
(PORTFOLIO_LEDGER == type))
|
||||||
{
|
{
|
||||||
last_price = xaccSplitGetSharePrice (last_split);
|
last_price = xaccSplitGetSharePrice (last_split);
|
||||||
xaccSplitSetSharePrice (split, last_price);
|
xaccSplitSetSharePrice (split, last_price);
|
||||||
@ -2120,10 +2090,14 @@ xaccSRLoadRegister (SplitRegister *reg, Split **slist,
|
|||||||
{
|
{
|
||||||
xaccSplitRegisterRestoreCursorChanged(reg, reg_buffer);
|
xaccSplitRegisterRestoreCursorChanged(reg, reg_buffer);
|
||||||
xaccCommitCursor (reg->table);
|
xaccCommitCursor (reg->table);
|
||||||
xaccDestroySplitRegisterBuffer(reg_buffer);
|
|
||||||
reg_buffer = NULL;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (reg_buffer != NULL)
|
||||||
|
{
|
||||||
|
xaccDestroySplitRegisterBuffer(reg_buffer);
|
||||||
|
reg_buffer = NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If we didn't find the pending transaction, it was removed
|
/* If we didn't find the pending transaction, it was removed
|
||||||
|
@ -838,6 +838,21 @@ gnc_register_create_status_bar(RegWindow *regData)
|
|||||||
GNC_T, /* has status area */
|
GNC_T, /* has status area */
|
||||||
GNOME_PREFERENCES_USER);
|
GNOME_PREFERENCES_USER);
|
||||||
|
|
||||||
|
regData->statusbar = statusbar;
|
||||||
|
|
||||||
|
switch (regData->ledger->ledger->type & REG_TYPE_MASK)
|
||||||
|
{
|
||||||
|
case GENERAL_LEDGER:
|
||||||
|
case INCOME_LEDGER:
|
||||||
|
case PORTFOLIO_LEDGER:
|
||||||
|
case SEARCH_LEDGER:
|
||||||
|
regData->cleared_label = NULL;
|
||||||
|
regData->balance_label = NULL;
|
||||||
|
return statusbar;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
hbox = gtk_hbox_new(FALSE, 2);
|
hbox = gtk_hbox_new(FALSE, 2);
|
||||||
gtk_box_pack_end(GTK_BOX(statusbar), hbox, FALSE, FALSE, 5);
|
gtk_box_pack_end(GTK_BOX(statusbar), hbox, FALSE, FALSE, 5);
|
||||||
|
|
||||||
@ -862,8 +877,6 @@ gnc_register_create_status_bar(RegWindow *regData)
|
|||||||
regData->balance_label = label;
|
regData->balance_label = label;
|
||||||
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
|
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
|
||||||
|
|
||||||
regData->statusbar = statusbar;
|
|
||||||
|
|
||||||
return statusbar;
|
return statusbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1382,36 +1395,44 @@ gnc_reg_set_window_name(RegWindow *regData)
|
|||||||
gchar *windowname;
|
gchar *windowname;
|
||||||
gchar *account_name;
|
gchar *account_name;
|
||||||
gchar *reg_name;
|
gchar *reg_name;
|
||||||
|
gboolean single_account;
|
||||||
|
|
||||||
if (regData == NULL)
|
if (regData == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
switch (regData->ledger->type & REG_TYPE_MASK)
|
||||||
|
{
|
||||||
|
case GENERAL_LEDGER:
|
||||||
|
case INCOME_LEDGER:
|
||||||
|
reg_name = GENERAL_LEDGER_STR;
|
||||||
|
single_account = GNC_F;
|
||||||
|
break;
|
||||||
|
case PORTFOLIO_LEDGER:
|
||||||
|
reg_name = PORTFOLIO_STR;
|
||||||
|
single_account = GNC_F;
|
||||||
|
break;
|
||||||
|
case SEARCH_LEDGER:
|
||||||
|
reg_name = SEARCH_RESULTS_STR;
|
||||||
|
single_account = GNC_F;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
reg_name = REGISTER_STR;
|
||||||
|
single_account = GNC_T;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
leader = regData->ledger->leader;
|
leader = regData->ledger->leader;
|
||||||
|
|
||||||
if (leader != NULL)
|
if ((leader != NULL) && single_account)
|
||||||
{
|
{
|
||||||
account_name = xaccAccountGetFullName(leader, gnc_get_account_separator());
|
account_name = xaccAccountGetFullName(leader, gnc_get_account_separator());
|
||||||
|
|
||||||
switch (regData->ledger->type)
|
|
||||||
{
|
|
||||||
case GENERAL_LEDGER:
|
|
||||||
case INCOME_LEDGER:
|
|
||||||
reg_name = GENERAL_LEDGER_STR;
|
|
||||||
break;
|
|
||||||
case PORTFOLIO:
|
|
||||||
reg_name = PORTFOLIO_STR;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
reg_name = REGISTER_STR;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
windowname = g_strconcat(account_name, " - ", reg_name, NULL);
|
windowname = g_strconcat(account_name, " - ", reg_name, NULL);
|
||||||
|
|
||||||
free(account_name);
|
free(account_name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
windowname = g_strdup(GENERAL_LEDGER_STR);
|
windowname = g_strdup(reg_name);
|
||||||
|
|
||||||
gtk_window_set_title(GTK_WINDOW(regData->window), windowname);
|
gtk_window_set_title(GTK_WINDOW(regData->window), windowname);
|
||||||
|
|
||||||
@ -1431,7 +1452,7 @@ gnc_toolbar_change_cb(void *data)
|
|||||||
* opens up a ledger window for the account list *
|
* opens up a ledger window for the account list *
|
||||||
* *
|
* *
|
||||||
* Args: ledger - ledger data structure *
|
* Args: ledger - ledger data structure *
|
||||||
* Return: regData - the register window instance *
|
* Return: regData - the register window instance *
|
||||||
\********************************************************************/
|
\********************************************************************/
|
||||||
RegWindow *
|
RegWindow *
|
||||||
regWindowLedger(xaccLedgerDisplay *ledger)
|
regWindowLedger(xaccLedgerDisplay *ledger)
|
||||||
@ -1474,8 +1495,7 @@ regWindowLedger(xaccLedgerDisplay *ledger)
|
|||||||
|
|
||||||
/* Invoked when window is being destroyed. */
|
/* Invoked when window is being destroyed. */
|
||||||
gtk_signal_connect(GTK_OBJECT(regData->window), "destroy",
|
gtk_signal_connect(GTK_OBJECT(regData->window), "destroy",
|
||||||
GTK_SIGNAL_FUNC (gnc_register_destroy_cb),
|
GTK_SIGNAL_FUNC (gnc_register_destroy_cb), regData);
|
||||||
(gpointer) regData);
|
|
||||||
|
|
||||||
regData->date_window = gnc_register_date_window(regData);
|
regData->date_window = gnc_register_date_window(regData);
|
||||||
gnc_register_set_date_range(regData);
|
gnc_register_set_date_range(regData);
|
||||||
@ -1563,7 +1583,7 @@ regWindowLedger(xaccLedgerDisplay *ledger)
|
|||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case STOCK_REGISTER:
|
case STOCK_REGISTER:
|
||||||
case PORTFOLIO:
|
case PORTFOLIO_LEDGER:
|
||||||
case CURRENCY_REGISTER:
|
case CURRENCY_REGISTER:
|
||||||
prefix = "reg_stock_win";
|
prefix = "reg_stock_win";
|
||||||
width = &last_stock_width;
|
width = &last_stock_width;
|
||||||
@ -1619,21 +1639,27 @@ regRefresh(xaccLedgerDisplay *ledger)
|
|||||||
gboolean reverse = gnc_reverse_balance(ledger->leader);
|
gboolean reverse = gnc_reverse_balance(ledger->leader);
|
||||||
double amount;
|
double amount;
|
||||||
|
|
||||||
amount = ledger->balance;
|
if (regData->balance_label != NULL)
|
||||||
if (reverse)
|
{
|
||||||
amount = -amount;
|
amount = ledger->balance;
|
||||||
|
if (reverse)
|
||||||
|
amount = -amount;
|
||||||
|
|
||||||
gnc_set_label_color(regData->balance_label, amount);
|
gnc_set_label_color(regData->balance_label, amount);
|
||||||
gtk_label_set_text(GTK_LABEL(regData->balance_label),
|
gtk_label_set_text(GTK_LABEL(regData->balance_label),
|
||||||
xaccPrintAmount(amount, print_flags));
|
xaccPrintAmount(amount, print_flags));
|
||||||
|
}
|
||||||
|
|
||||||
amount = ledger->clearedBalance;
|
if (regData->cleared_label != NULL)
|
||||||
if (reverse)
|
{
|
||||||
amount = -amount;
|
amount = ledger->clearedBalance;
|
||||||
|
if (reverse)
|
||||||
|
amount = -amount;
|
||||||
|
|
||||||
gnc_set_label_color(regData->cleared_label, amount);
|
gnc_set_label_color(regData->cleared_label, amount);
|
||||||
gtk_label_set_text(GTK_LABEL(regData->cleared_label),
|
gtk_label_set_text(GTK_LABEL(regData->cleared_label),
|
||||||
xaccPrintAmount(amount, print_flags));
|
xaccPrintAmount(amount, print_flags));
|
||||||
|
}
|
||||||
|
|
||||||
gnc_reg_set_window_name(regData);
|
gnc_reg_set_window_name(regData);
|
||||||
}
|
}
|
||||||
@ -1643,15 +1669,13 @@ regRefresh(xaccLedgerDisplay *ledger)
|
|||||||
static void
|
static void
|
||||||
gnc_reg_save_size(RegWindow *regData)
|
gnc_reg_save_size(RegWindow *regData)
|
||||||
{
|
{
|
||||||
int type;
|
|
||||||
int *width;
|
int *width;
|
||||||
char *prefix;
|
char *prefix;
|
||||||
|
|
||||||
type = regData->ledger->ledger->type & REG_TYPE_MASK;
|
switch (regData->ledger->ledger->type & REG_TYPE_MASK)
|
||||||
switch (type)
|
|
||||||
{
|
{
|
||||||
case STOCK_REGISTER:
|
case STOCK_REGISTER:
|
||||||
case PORTFOLIO:
|
case PORTFOLIO_LEDGER:
|
||||||
case CURRENCY_REGISTER:
|
case CURRENCY_REGISTER:
|
||||||
prefix = "reg_stock_win";
|
prefix = "reg_stock_win";
|
||||||
width = &last_stock_width;
|
width = &last_stock_width;
|
||||||
@ -1989,13 +2013,15 @@ gnc_transaction_delete_query(GtkWindow *parent)
|
|||||||
gchar *usual = DEL_USUAL_MSG;
|
gchar *usual = DEL_USUAL_MSG;
|
||||||
gchar *warn = DEL_WARN_MSG;
|
gchar *warn = DEL_WARN_MSG;
|
||||||
|
|
||||||
|
DeleteType return_value;
|
||||||
|
|
||||||
dialog = gnome_dialog_new(DEL_TRANS_STR,
|
dialog = gnome_dialog_new(DEL_TRANS_STR,
|
||||||
GNOME_STOCK_BUTTON_OK,
|
GNOME_STOCK_BUTTON_OK,
|
||||||
GNOME_STOCK_BUTTON_CANCEL,
|
GNOME_STOCK_BUTTON_CANCEL,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
gnome_dialog_set_default(GNOME_DIALOG(dialog), 0);
|
gnome_dialog_set_default(GNOME_DIALOG(dialog), 0);
|
||||||
gnome_dialog_close_hides(GNOME_DIALOG(dialog), FALSE);
|
gnome_dialog_close_hides(GNOME_DIALOG(dialog), TRUE);
|
||||||
gnome_dialog_set_parent(GNOME_DIALOG(dialog), parent);
|
gnome_dialog_set_parent(GNOME_DIALOG(dialog), parent);
|
||||||
|
|
||||||
dvbox = GNOME_DIALOG(dialog)->vbox;
|
dvbox = GNOME_DIALOG(dialog)->vbox;
|
||||||
@ -2037,15 +2063,17 @@ gnc_transaction_delete_query(GtkWindow *parent)
|
|||||||
result = gnome_dialog_run_and_close(GNOME_DIALOG(dialog));
|
result = gnome_dialog_run_and_close(GNOME_DIALOG(dialog));
|
||||||
|
|
||||||
if (result != 0)
|
if (result != 0)
|
||||||
return DELETE_CANCEL;
|
return_value = DELETE_CANCEL;
|
||||||
|
else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(trans_button)))
|
||||||
|
return_value = DELETE_TRANS;
|
||||||
|
else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(splits_button)))
|
||||||
|
return_value = DELETE_SPLITS;
|
||||||
|
else
|
||||||
|
return_value = DELETE_CANCEL;
|
||||||
|
|
||||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(trans_button)))
|
gtk_widget_destroy(dialog);
|
||||||
return DELETE_TRANS;
|
|
||||||
|
|
||||||
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(splits_button)))
|
return return_value;
|
||||||
return DELETE_SPLITS;
|
|
||||||
|
|
||||||
return DELETE_CANCEL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2132,7 +2160,8 @@ deleteCB(GtkWidget *widget, gpointer data)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* At this point we are on a transaction cursor with more than 2 splits.
|
/* At this point we are on a transaction cursor with more than 2 splits
|
||||||
|
* or we are on a transaction cursor in multi-line mode or an auto mode.
|
||||||
* We give the user two choices: delete the whole transaction or delete
|
* We give the user two choices: delete the whole transaction or delete
|
||||||
* all the splits except the transaction split. */
|
* all the splits except the transaction split. */
|
||||||
{
|
{
|
||||||
|
@ -15,7 +15,9 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
include @top_srcdir@/Makefile.init
|
top_srcdir = @top_srcdir@
|
||||||
|
|
||||||
|
include ${top_srcdir}/Makefile.init
|
||||||
|
|
||||||
######################################################################
|
######################################################################
|
||||||
# See Makefile.common for information about these variables.
|
# See Makefile.common for information about these variables.
|
||||||
|
@ -74,8 +74,8 @@
|
|||||||
(primitive-load boot-file)))
|
(primitive-load boot-file)))
|
||||||
|
|
||||||
;; Automatically generated defaults...
|
;; Automatically generated defaults...
|
||||||
(define gnc:_config-dir-default_ "@GNC_RUNTIME_CONFIGDIR@")
|
(define gnc:_config-dir-default_ "@GNC_EXPANDED_CONFIGDIR@")
|
||||||
(define gnc:_share-dir-default_ "@GNC_RUNTIME_SHAREDIR@")
|
(define gnc:_share-dir-default_ "@GNC_EXPANDED_SHAREDIR@")
|
||||||
|
|
||||||
;; These will be converted to config vars later (see prefs.scm)
|
;; These will be converted to config vars later (see prefs.scm)
|
||||||
(define gnc:*load-path* #f)
|
(define gnc:*load-path* #f)
|
||||||
|
@ -19,21 +19,8 @@
|
|||||||
(gnc:depend "text-export.scm")
|
(gnc:depend "text-export.scm")
|
||||||
(gnc:depend "report.scm")
|
(gnc:depend "report.scm")
|
||||||
(gnc:depend "report/report-list.scm")
|
(gnc:depend "report/report-list.scm")
|
||||||
|
(gnc:depend "qif-import/qif-import.scm")
|
||||||
(gnc:config-var-value-set!
|
(gnc:depend "printing/print-check.scm")
|
||||||
gnc:*load-path* #f
|
|
||||||
(let loop ((load-path (gnc:config-var-value-get gnc:*load-path*)))
|
|
||||||
(if (null? load-path) '()
|
|
||||||
(cons
|
|
||||||
(string-append (car load-path) "/printing")
|
|
||||||
(cons
|
|
||||||
(string-append (car load-path) "/qif-import")
|
|
||||||
(cons
|
|
||||||
(car load-path)
|
|
||||||
(loop (cdr load-path))))))))
|
|
||||||
|
|
||||||
(gnc:depend "qif-import.scm")
|
|
||||||
(gnc:depend "print-check.scm")
|
|
||||||
|
|
||||||
;; Load the system configs
|
;; Load the system configs
|
||||||
(if (not (gnc:load-system-config-if-needed))
|
(if (not (gnc:load-system-config-if-needed))
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "number-to-words.scm")
|
(gnc:support "printing/number-to-words.scm")
|
||||||
|
|
||||||
(define (integer-to-words val)
|
(define (integer-to-words val)
|
||||||
(let ((current-string "")
|
(let ((current-string "")
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "print-check.scm")
|
(gnc:support "printing/print-check.scm")
|
||||||
(gnc:depend "number-to-words.scm")
|
(gnc:depend "printing/number-to-words.scm")
|
||||||
(gnc:depend "simple-obj.scm")
|
(gnc:depend "qif-import/simple-obj.scm")
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-dialog-utils.scm")
|
(gnc:support "qif-import/qif-dialog-utils.scm")
|
||||||
|
|
||||||
(define (qif-dialog:munge-account-mapping old-map new-info)
|
(define (qif-dialog:munge-account-mapping old-map new-info)
|
||||||
(let ((new-name (car new-info))
|
(let ((new-name (car new-info))
|
||||||
|
@ -6,10 +6,10 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-file.scm")
|
(gnc:support "qif-import/qif-file.scm")
|
||||||
(gnc:depend "qif-objects.scm")
|
(gnc:depend "qif-import/qif-objects.scm")
|
||||||
(gnc:depend "qif-parse.scm")
|
(gnc:depend "qif-import/qif-parse.scm")
|
||||||
(gnc:depend "qif-utils.scm")
|
(gnc:depend "qif-import/qif-utils.scm")
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; qif-file:read-file self path
|
;; qif-file:read-file self path
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-guess-map.scm")
|
(gnc:support "qif-import/qif-guess-map.scm")
|
||||||
|
|
||||||
(define GNC-BANK-TYPE 0)
|
(define GNC-BANK-TYPE 0)
|
||||||
(define GNC-CASH-TYPE 1)
|
(define GNC-CASH-TYPE 1)
|
||||||
|
@ -6,15 +6,15 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-import.scm")
|
(gnc:support "qif-import/qif-import.scm")
|
||||||
|
|
||||||
(gnc:depend "simple-obj.scm")
|
(gnc:depend "qif-import/simple-obj.scm")
|
||||||
(gnc:depend "qif-objects.scm") ;; class definitions
|
(gnc:depend "qif-import/qif-objects.scm") ;; class definitions
|
||||||
(gnc:depend "qif-parse.scm") ;; string-to-value, date parsing
|
(gnc:depend "qif-import/qif-parse.scm") ;; string-to-value, date parsing
|
||||||
(gnc:depend "qif-utils.scm")
|
(gnc:depend "qif-import/qif-utils.scm")
|
||||||
(gnc:depend "qif-file.scm") ;; actual file reading
|
(gnc:depend "qif-import/qif-file.scm") ;; actual file reading
|
||||||
(gnc:depend "qif-dialog-utils.scm") ;; build displays for dialog
|
(gnc:depend "qif-import/qif-dialog-utils.scm") ;; build displays for dialog
|
||||||
(gnc:depend "qif-guess-map.scm") ;; build QIF->gnc acct mappings
|
(gnc:depend "qif-import/qif-guess-map.scm") ;; build QIF->gnc acct mappings
|
||||||
(gnc:depend "qif-to-gnc.scm") ;; conv QIF xtns/acct to GNC xtns/acct
|
(gnc:depend "qif-import/qif-to-gnc.scm") ;; conv QIF xtns/acct to GNC xtns/acct
|
||||||
|
|
||||||
|
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-objects.scm")
|
(gnc:support "qif-import/qif-objects.scm")
|
||||||
(gnc:depend "simple-obj.scm")
|
(gnc:depend "qif-import/simple-obj.scm")
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-parse.scm")
|
(gnc:support "qif-import/qif-parse.scm")
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; qif-split:parse-category
|
;; qif-split:parse-category
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-to-gnc.scm")
|
(gnc:support "qif-import/qif-to-gnc.scm")
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; find-or-make-acct:
|
;; find-or-make-acct:
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "qif-utils.scm")
|
(gnc:support "qif-import/qif-utils.scm")
|
||||||
|
|
||||||
(define (simple-filter pred list)
|
(define (simple-filter pred list)
|
||||||
(let ((retval '()))
|
(let ((retval '()))
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
;;; $Id$
|
;;; $Id$
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(gnc:support "simple-obj.scm")
|
(gnc:support "qif-import/simple-obj.scm")
|
||||||
|
|
||||||
;; this is an extremely rudimentary object system. Each object is a
|
;; this is an extremely rudimentary object system. Each object is a
|
||||||
;; cons cell, where the car is a symbol with the class name and the
|
;; cons cell, where the car is a symbol with the class name and the
|
||||||
|
Loading…
Reference in New Issue
Block a user