When the register is obscured by another window, the sheet would get
lot of draw events. This was tracked down to getting the foreground
colour for the item-edit widget for the state GTK_STATE_FLAG_NORMAL.
Changed this to use the value obtained from gtk_widget_get_state_flags.
In a previous commit I wrongly believed xgettext might not find
our strings if we used the fully namespaced boost::locale::translate or
aliased bl::translate instead of just translate. However that's
wrong, so I have changed the code to always use bl::translate.
There is now a directory for each respective file type directly in the gnucash source directory
(This was already started for gschema files before).
In principle all files of each type should go into these global directories. The only
exception is if such a file belongs to an optional module. In that case the file
remains located inside that module's directory. Currently we have ui, glade and gschema file
exceptions in aqb and ofx importers.
As part of this also:
- Drop POTFILIES.ignore. Relevant lines have been moved to POTFILES.skip
- Remove skip lines for scm file links. With intltool out of the way these are never picked up any more.
By default we require gettext 0.19.6 as this is needed to generate a translated version of gnucash.desktop and gnucash.appdata.xml.
However this version is not available on some platforms (most notably our own ubuntu 14.04LTS travis instance).
By setting ALLOW_OLD_GETTEXT=ON, the build configuration falls back to generating untranslated versions of said files instead.
At present these are
- log.conf
- config-user.scm (previously config.user-2.0)
Implement one-time migration of these files to the proper directory if they previously exist
Look for a log.conf file in gnc_userconfig_dir instead of gnc_userdata_dir
Note this commit also uses boost::locale::translate for the first time.
We may need to fine-tune our use, but in the current state strings marked
for translation using that function are already picked up for gnucash.pot.
Turns out the stream facet parser is really slow. Since we have a
well-constrained universe of input formats we don't really need that
overhead. This got a 33% improvement in loading a large SQLite database.
This way is a safer way to update the cache values in case the settings
changed signal fails to trigger or there is a double trigger and the
cached value gets out of sync with the preference value.
A previous commit 5b40df510 has eaten the <html> opening
tag which makes the whole document an invalid XML tree.
After this fix, the document is still not valid XHTML.
Until the exact DOCTYPE is finalised I suggest we
restore the root <html> tag.
Two preferences were being used heavily in the drawing of the register
so it makes sense for them to be saved in the split_register structure
so they can be easily be referenced.
transaction number or split action (requires at least GnuCash 2.5.0)
Strip leading delimiters from KVP keys when reading them from the
database. Leading delimiters are incorrectly included in databases
created with GnuCash 2.6.x.