Most changes are to rename the functions named gbr_* to gnc_gbr_*, so
that our modified binreloc (to provide mac bundle support) doesn't
collide with binreloc implementations in other libraries. (The instant
case was in libenchant.)
Also moved the IGE_MAC_CFLAGS and IGE_MAC_LIBS lines from
engine/Makefile.am to core-utils/Makefile.am. This was missed when
binreloc was moved.
And last, there was a minor error in the original OSX binreloc patch:
At line 68, #elif MAC_INTEGRATION should be (and now is) #elif defined
MAC_INTEGRATION.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18940 57a11ea4-9604-0410-9ed3-97b8803252fd
Register Account and our other types in the QMetaType system
so that QVariant can hold it and pass it between the model,
view, and delegate. Implement AccountSelectionDelegate that
presents a QComboBox editor widget for account selection.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18939 57a11ea4-9604-0410-9ed3-97b8803252fd
This patch contains only the changed widget order (no color yet).
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18932 57a11ea4-9604-0410-9ed3-97b8803252fd
This is the base class for Account, Book, Commodity, Split, Transaction.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18928 57a11ea4-9604-0410-9ed3-97b8803252fd
Also, use the new GDate setter/getter for the transaction time.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18926 57a11ea4-9604-0410-9ed3-97b8803252fd
In addition to the known timespec, the date is also stored
as a kvp_value of TYPE_GDATE so that we know afterwards this
date has really been set as a date.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18925 57a11ea4-9604-0410-9ed3-97b8803252fd
Also, removed the default: switch clauses when handling a
kvp_value so that the compiler will already complain about
unhandled enum values.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18924 57a11ea4-9604-0410-9ed3-97b8803252fd
- Allow amounts to be edited.
- Let the date column be handled by the QDate delegate with a QDateEdit widget
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18913 57a11ea4-9604-0410-9ed3-97b8803252fd
This way, the split view is updated correctly even on undo/redo.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18912 57a11ea4-9604-0410-9ed3-97b8803252fd
Bug #611014 mentions a problem where after setting the columns, clicking OK and selecting a target account, the Date column is lost. This is because of a difference in behaviour on windows and linux. The code attaches to the "edited" signal of the renderer. On linux, this signal is emitted when a new combo box item is selected. On windows, the combo box needs to be selected and focus lost before the signal is emitted. This is changed to the "changed" signal of the renderer which acts as expected on both platforms.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18911 57a11ea4-9604-0410-9ed3-97b8803252fd
Add a dialog which contains a list of objects referring to the account and an explanation that these need to be deleted or have the account reference modified.
Note: I'm no UI designer. This is functional, but if anybody wants to pretty it up, go ahead.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18910 57a11ea4-9604-0410-9ed3-97b8803252fd
Those files indeed belong better into app-utils; the app-utils defines
several not-yet-GUI parts of gnucash, like many conversions from and to
strings (more than those in these two files), so these files are well
suited in here.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18908 57a11ea4-9604-0410-9ed3-97b8803252fd
app-utils is needed for the conversion from and to string
for gnc_numeric, date, and other values.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18905 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit changes the text in the accounts druid to explain what a placeholder account is, together with some additional improvements in the wording of that page.
Since this increases the amount of text, the width of the label has been modified as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18903 57a11ea4-9604-0410-9ed3-97b8803252fd
Delete the custom report backup file before renaming the current custom report file.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18902 57a11ea4-9604-0410-9ed3-97b8803252fd
Test for no report selected before trying to use the selected report guid.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18899 57a11ea4-9604-0410-9ed3-97b8803252fd
Some routines are normal routines, and some routines use the gobject structure to allow different implementations by different object types.
Per-instance routine: gboolean qof_instance_refers_to_object(QofInstance* A, QofInstance* B) - returns TRUE/FALSE whether object A contains a reference to object B.
Normal routine: GList* qof_instance_get_referring_object_list_from_collection(QofCollection* c, QofInstance* B) - Calls qof_instance_refers_to_object() for each object in the collection, and returns a list of the objects which contain a reference to B.
Per-instance routine: GList* qof_instance_get_typed_referring_object_list(QofInstance* A, QofInstance* B) - returns a list of all objects of the same type as A which contain a reference to B. Being per-instance allows an object to use knowledge to avoid scanning cases where there are no references (e.g. billterms do not contain references to splits), or a scan is not needed (references from splits to an account can be determined using xaccAccountGetSplitList()). This routine can do a scan by calling qof_instnace_get_referring_object_list_from_collection().
Normal routine: qof_instance_get_referring_object_list(QofInstance* A) - For all collections in the book, gets an instance and calls its qof_instance_get_typed_referring_object_list() routine, concatenating all of the returned lists. This is the routine that external code can call to get a list of all objects with references to an object A. The list must be freed by the caller but the contents must not.
Per-instance routine: gchar* qof_instance_get_display_name(QofInstance* A) - returns a string which can identify object A to the user. This could be used to display a list of the objects returned by qof_instance_get_referring_object_list() ("Invoice 0004 for customer C") so that the user can modify those objects to remove the references. Note that this is going to require internationalization, which has not been implemented yet. If not overridden by the object class, the default string is "Object <type> <address>" e.g. "Object gncCustomer 0x12345678".
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18893 57a11ea4-9604-0410-9ed3-97b8803252fd
The Qt Undo framework is almost like magic. We just have to create a
command object instead of directly manipulating the value, and suddenly
the undo/redo just works. This is fun!
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18889 57a11ea4-9604-0410-9ed3-97b8803252fd
Also, change many main window slots to make use of the auto-connection
feature because it makes the slot intention much easier to read.
Also, note how we store the Tab position, title, isEnabled state
in dynamically allocated properties in the Tab widget itself -
this is a rather cool feature of QObject here (see reallyRemoveTab()
and viewOrHideTab()).
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18886 57a11ea4-9604-0410-9ed3-97b8803252fd