Commit Graph

173 Commits

Author SHA1 Message Date
David Hampton
2b16fa1f41 Use GNC_TYPE_NUMERIC instead of GNC_NUMERIC.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15967 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-21 20:07:23 +00:00
David Hampton
c6a609b8f7 Move more account properties from the public data structure to a
private data structure, with access to them as properties of the
object.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15921 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-18 04:50:34 +00:00
Andreas Köhler
70af105a88 Add qof-gobject.h to qofinclude_HEADERS.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15890 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-14 22:30:11 +00:00
Derek Atkins
b15d6171c7 Phil Longstaff's patch to enable gnc_numeric to be a GValue
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15854 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-09 23:02:47 +00:00
Derek Atkins
7990568f9b Phil Longstaff's patch to fix a kvp_frame bug.
Save the current frame so we know where to build the new one.
BP


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15853 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-09 23:02:33 +00:00
Andreas Köhler
ec22b196e5 Remove unused code for gnc_timet_get_day_{start,end}_gdate from qof.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15850 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-09 00:51:45 +00:00
Derek Atkins
18c4cbf122 First step of QOF/Object GObjectification.
- Merge QofEntity into QofInstance
- Derive QofInstance from GObject
- Convert all QofInstance-derived objects to use GObject framework
- renamed qof_instance_init() to qof_instance_init_data()
- removed qof_instance_release() because it's no longer needed

Merge from branches/gobject-engine-dev-warlord  (r15827)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15846 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-07 16:02:27 +00:00
Andreas Köhler
3fc5e23b51 Remove unused functions qof_print_{hours,minutes}_elapsed_buff().
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15845 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-06 23:29:56 +00:00
Andreas Köhler
8f8a8a33b1 Remove unused function qof_is_same_day().
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15844 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-06 22:59:34 +00:00
Joshua Sled
897633f01b Combine two copies of "dow abbrev[iation]" code.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15837 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-06 02:22:29 +00:00
Derek Atkins
8c6e7b8394 Add hooks for the gobject dispose() function so that we can
migrate each object's "free()" function to a combination of
dispose() and finalize().
(and yes, "make check" still passes all its tests)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15827 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-05 03:10:26 +00:00
Derek Atkins
b4323dbfcf Get "make check" to work with the gobjectified objects.
- fix a bunch of tests to use the new gobject defs
- make sure we initialize g_type_init() in qof_init()
- fix qofbook's destruction sequence (I broke it earlier)
- use dispose() in QofInstance
- use qof_init() for the business tests.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15826 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-05 02:44:47 +00:00
Joshua Sled
4a35a0eac8 unused variable removal.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15801 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-04 22:21:38 +00:00
Andreas Köhler
e111fd32b0 Use qof_strftime instead of strftime in the C source code.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15796 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-04 18:48:48 +00:00
Andreas Köhler
095c71a5f1 Improve printing of dates and times with non-UTF-8 locales and on Windows.
* qof_time_format_from_utf8 converts an strftime format specification
  from UTF-8 to the locale encoding
* qof_format_time calls strftime repeatedly with growing allocated
  buffers until the result fits into one, or return NULL
* qof_formatted_time_to_utf8 converts the result back to UTF-8
* qof_strftime takes similar arguments to strftime, but in UTF-8
* the conversion functions on Windows are implemented in qof-win32.c to
  allow them to use windows.h, as they need wcstombs and mbstowcs


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15795 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-04 18:48:42 +00:00
Derek Atkins
5bee77e41a get libqof to build using GObject
- migrate QofBook to GObject
- move around some typedef to get libqof to build again


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15784 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-03 22:30:58 +00:00
Derek Atkins
44103fd12f convert QofInstance to using GObject
note that this breaks the build of this branch, and that the
build will remain broken until each of the objects is converted
over to basic GObject support.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev-warlord@15781 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-03 13:51:35 +00:00
Derek Atkins
06ec94e59c Hey, look! QofInstance has a GObject.
Granted, it's not used, yet.  But it's there.
Also add some helpful macros for instances.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/gobject-engine-dev-warlord@15778 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-03 02:14:13 +00:00
Derek Atkins
12461c5b30 * Merge QofEntity into QofInstance
- QofEntity -> QofInstance
  - qof_entity -> qof_instance
  - QOF_ENTITY -> QOF_INSTANCE
* remove references to instance.entity
* keep qof_entity_init() and qof_entity_release() for now


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/gobject-engine-dev-warlord@15773 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-01 22:18:50 +00:00
Derek Atkins
4e43ae10f3 Preparation for QofEntity -> QofInstance:
- Convert (QofEntity*)x to QOF_ENTITY(x)
- Move qof_entity_init() and friends into qof_instance and rename
- Move QofEntity contents into QofInstance
(note:  this doesn't compile)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/gobject-engine-dev-warlord@15772 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-04-01 22:18:30 +00:00
Joshua Sled
09d90de350 Unused identifier cleanup.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15718 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-03-15 00:56:52 +00:00
David Hampton
5246632fb4 ISO 8601 requires a four digit year.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15708 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-03-13 01:18:42 +00:00
David Hampton
6fbada92ec Remove all traces of the AccountGroup data structure. Accounts now
point directly to their parent and have a simple GList of children.
(The old method was alternating data structures in the form Account,
AccountGroup, Account, AccountGroup, etc.)


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15647 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-23 01:23:31 +00:00
Joshua Sled
016afcf3da More doc updates.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15579 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-14 01:34:02 +00:00
Joshua Sled
41e5b3540f Update qoflog documentation.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15576 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-14 00:59:40 +00:00
Joshua Sled
5cc69350f4 Better handling of NULL filename.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15556 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-10 20:05:56 +00:00
Joshua Sled
ff3405f4c8 Fix parsing of log config file without [output] sections.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15553 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-10 18:52:39 +00:00
Joshua Sled
1e1077078f use correct datatype.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15552 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-10 16:28:24 +00:00
Joshua Sled
8ebec0de11 Support for ~/.gnucash/log.conf, a key-value file of logging settings; see comment-doc for qof_log_parse_log_config(...) for the file format.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15545 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-10 01:29:29 +00:00
Joshua Sled
f9863e3ba9 Add G_LOG_DOMAIN for qof.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15544 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-10 01:28:10 +00:00
Joshua Sled
d372dbb81a Restore enter/leave indentation. Cleanup some deprecated and (nearly-)unused qoflog code. Audit fraction enter/leave pairs. :/
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15539 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-09 21:52:09 +00:00
Joshua Sled
c91cb881bd Overhaul gnc/qof logging: Add default log handler that implements a "log4x"-style log level hierarchy. Correctly use G_LOG_DOMAIN, raw glib logging. Cleanup tests that are too loud afterwards.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15537 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-09 17:35:00 +00:00
Joshua Sled
b39d84252c Remove basically-unused qof date manipulation code better provided by GDate.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15499 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-04 16:50:27 +00:00
Andreas Köhler
c71c7ecd24 Add lib/libc/pow.h to avoid calculation errors on Windows.
If the return value of pow is not saved in a double but rather used for
other calculations or casts, results can be bad, like pow(10, 2) being
99 instead of 100. Wrap pow and store the return value first before
continuing.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15484 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-02-01 01:08:05 +00:00
Andreas Köhler
f0d6aab958 Replace mkstemp and rename by g_mkstemp and g_rename.
Mkstemp is unavailable on Windows and g_rename is preferred. Completes
r15435 on trunk and must not be backported.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15449 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-28 13:40:54 +00:00
Derek Atkins
a929bcdf33 /tmp/qof.trace or /tmp/gnucash.trace is opened for writing directly.
This could be a security issue if someone else, say, makes a symlink
to somewhere else.  Instead, create a tempfile and then rename it
into place which is safe against the symlink attack.
Patch by Bill Nottingham <notting@redhat.com>
BP



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15435 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-28 03:16:39 +00:00
Andreas Köhler
5c126dea86 Use g_open, g_fopen, g_stat and g_unlink.
Replace open, fopen, stat and unlink by their GLib wrappers so that
files on Windows will be handled with the wide character api.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15407 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-21 16:38:42 +00:00
Andreas Köhler
6783775210 Use g_dir_{open,read_name,close}.
Replace opendir, readdir and closedir by their GLib wrappers so that
files on Windows will be retrieved with the wide character api.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15403 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-20 18:37:35 +00:00
Andreas Köhler
b34a1c9f3f Unify library names and installation directories.
Rename libcore-utils        to libgnc-core-utils
Rename libgncgnome          to libgnc-gnome
Rename libgncmodule         to libgnc-module
Rename libgncqof            to libgnc-qof
Rename libgnc-backend-file  to libgncmod-backend-file
Move libgnc-business-ledger to $prefix/lib
Move libgncqof-backend-qsf  to $prefix/lib/gnucash
Move libgncmod-backend-file to $prefix/lib/gnucash


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15321 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-07 07:04:23 +00:00
Andreas Köhler
96e1ed071d Call g_module_make_resident in qof backend provider modules.
If the GncModule system finds a QofBackendProvider module M before that
has been initialized by QOF, M will register itself with QOF but does
not mark itself as resident, so the module system will unload it again,
leaving bogus pointers in QOF. Now it does.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15320 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-07 07:04:17 +00:00
Derek Atkins
7a763898d3 Use G_GINT64_MODIFIER for qofmath test.
Fixes the problem Andreas noticed on amd64.


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15304 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-03 00:12:19 +00:00
Derek Atkins
d122eddbb6 Fix the printf routines in the qofmath tests.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15303 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-02 18:37:16 +00:00
Derek Atkins
078d3d0cd8 Uncomment the test-qofmath to make it easier to use.
Change it to check_PROGRAMS
use <prog>_CPPFLAGS instead of DEFS -- this works great!


git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15302 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-02 18:00:13 +00:00
Christian Stimming
def1a50c61 For convenience, add commented-out build rules for testing the qofmath128 test program
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15301 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-02 17:26:18 +00:00
Christian Stimming
bf3e8f4c1b Make math128 test program compilable again
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15300 57a11ea4-9604-0410-9ed3-97b8803252fd
2007-01-02 17:18:19 +00:00
Christian Stimming
320c1af625 Code cleanup: Move variable declaration into block where it is used.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15209 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-12-12 11:34:42 +00:00
Christian Stimming
a95ff05967 Check for return value of regcomp() and return NULL on failure, as suggested by Jon Arney.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15208 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-12-12 11:33:03 +00:00
Andreas Köhler
47f406a9b7 Fix some printf's of NULL in DEBUG, ENTER and LEAVE macro invocations.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15188 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-12-06 20:03:30 +00:00
Chris Shoemaker
60e5a01dfd Fix bug #353450 - Crash on quit during save.
Add a lock to the QofSession object, and use it in qof_session_save() to 
protect against re-entrance.

The lock always starts at 1 and is 0 while inside qof_session_save().  
If another call is made to qof_session_save() while one is in progress, 
the lock will momentarily drop below 0 before returning to zero.

Note: The per-session nature of the lock would make it appear that we support
concurrent saving of different sessions.  In fact, we do not, because the 
file backend blocks the main process until the forked gzip process is 
finished, and it only knows how to keep track of one child pid at a time. 



git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15168 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-12-02 22:13:13 +00:00
Christian Stimming
f60c817a45 Remove unneeded extra Makefile variable
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15150 57a11ea4-9604-0410-9ed3-97b8803252fd
2006-11-27 13:32:32 +00:00