This is similar to what the previous commit did for GncTreeView
and means column widths, column's visibility and register sort order
are currently no longer saved or restored for any register.
This is done because the state code relies heavily on gconf
and unfortunately can't be mapped to gsettings in its present
form. State save/restore will be added again later, once
the gconf conversion is complete.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23262 57a11ea4-9604-0410-9ed3-97b8803252fd
This means column widths, column's visibility and view sort order
are currently no longer saved or restored for any view based on
GncTreeView.
This is done because the state code relies heavily on gconf
and unfortunately can't be mapped to gsettings in its present
form.
State save/restore will be added again later, but likely only
after the gconf conversion is complete.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23261 57a11ea4-9604-0410-9ed3-97b8803252fd
This is a little more involved that a simple
find/replace of gconf->gsettings functions.
Gsettings doesn't allow introspection on the schema
like gconf does. So we need another way to extract
the warnings' summaries and long descriptions to
show the user. To fix this, a new set of source
files is auto-generated based on the gsettings schema
source file for the warnings: gnc-warnings.[ch]
gnc-warnings.c: contains an array of warning
description structs and the implementation of
an accessor function. The array is to be assumed
read only
gnc-warnings.h: defines each warning using #define
and exposes the accessor function to the rest of the
source tree.
The two source files are constructed using an xsl
transformation on the gsettings schema source file.
This is done using the tool xsltproc, which should
already be available on each platform GnuCash supports
because it gets installed together with libxml2,
which is already a required dependency for GnuCash.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23260 57a11ea4-9604-0410-9ed3-97b8803252fd
This reduces the cruft a bit, making it easier
to see what's still to be migrated
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23259 57a11ea4-9604-0410-9ed3-97b8803252fd
The only exception is gnc-split-reg2, which has it's own implementation
of sort parameters (also linked to gconf unfortunately).
Tree views store column visibility and sort preferences in gconf. This is
actually state information and should be kept in the gnucash state file
(*.gcm in .gnucash/books). It will definitely not be ported to gsettings,
simply because gsettings can't handle floating sections (sections not
strictly tied to schema).
So in the process, where it makes sense the word gconf is already
replaced with "state". That helps with cleaning up the remaining gconf
code in gnucash, and indicates these parts need to be reworked to
use the state file as backend.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23258 57a11ea4-9604-0410-9ed3-97b8803252fd
It is now fully converted to the new preferences system
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23252 57a11ea4-9604-0410-9ed3-97b8803252fd
All GncDateEdits now use the new preferences backend
so drop the GncDateEdit-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23251 57a11ea4-9604-0410-9ed3-97b8803252fd
All GncPeriodSelects now use the new preferences backend
so drop the GncPeriodSelect-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23250 57a11ea4-9604-0410-9ed3-97b8803252fd
All GncCurrencyEdits now use the new preferences backend
so drop the GncCurrencyEdit-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23249 57a11ea4-9604-0410-9ed3-97b8803252fd
Instead of storing a gconf callback function that will
eventually by attached to the preference when the
plugin is added to a window, simply do this for each
plugin internally in its own add_to_window override
function.
This had already been done in earlier commits for most
plugins. This commit cleans it up for the remaining
plugins and the base plugin code.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23248 57a11ea4-9604-0410-9ed3-97b8803252fd
All GtkRadiokButtons now use the new preferences backend
so drop the GtkRadiokButton-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23247 57a11ea4-9604-0410-9ed3-97b8803252fd
This option should be handled by the environment, not by GnuCash
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23246 57a11ea4-9604-0410-9ed3-97b8803252fd
This includes converting the radio button group in preferences
into a combobox
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23245 57a11ea4-9604-0410-9ed3-97b8803252fd
This is in a commit of its own to separate automatic
changes from the real ones
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23244 57a11ea4-9604-0410-9ed3-97b8803252fd
All GtkEntries now use the new preferences backend
so drop the GtkEntry-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23243 57a11ea4-9604-0410-9ed3-97b8803252fd
All GtkComboBoxes now use the new preferences backend
so drop the GtkComboBoxes-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23241 57a11ea4-9604-0410-9ed3-97b8803252fd
All GtkSpinkButtons now use the new preferences backend
so drop the GtkSpinkButton-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23240 57a11ea4-9604-0410-9ed3-97b8803252fd
All GtkCheckButtons now use the new preferences backend
so drop the GtkCheckButton-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23239 57a11ea4-9604-0410-9ed3-97b8803252fd
so it actually works. (It's not actively used though in GnuCash)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23236 57a11ea4-9604-0410-9ed3-97b8803252fd
All GtkFontButtons now use the new preferences backend
so drop the GtkFontButton-Gconf wiring as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23234 57a11ea4-9604-0410-9ed3-97b8803252fd
The actual migration will be gradually done in future commits.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23233 57a11ea4-9604-0410-9ed3-97b8803252fd
That will allow a one on one mapping between a widget property
and a preference in the preferences backend in a future commit.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23232 57a11ea4-9604-0410-9ed3-97b8803252fd
That will allow a one on one mapping between a widget property
and a preference in the preferences backend in a future commit.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23231 57a11ea4-9604-0410-9ed3-97b8803252fd
That will allow a one on one mapping between a widget property
and a preference in the preferences backend in a future commit.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23230 57a11ea4-9604-0410-9ed3-97b8803252fd
Note: the saved window geometry options (position and size) are
converted into a type that is incompatible with gconf. This has two
consequences:
1. while testing the gconf backend is used by gsettings. The
incompatible option (last_geometry) won't be saved in gconf. You will
see an error because of this. It does work when switching to gsettings'
native backend
2. The old geometry data won't be converted at user migration time (ie
when the user starts gnucash-with-gsettings for the first time. I don't
think this is very dramatical. The next time a dialog is used, the last
saved position is saved again already automatically.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23229 57a11ea4-9604-0410-9ed3-97b8803252fd
This required changes in dependent modules as well. And obviously
the gnc-gconf-utils.[ch] files are not removed yet. Too many
other files still require those.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23228 57a11ea4-9604-0410-9ed3-97b8803252fd
These entries were generated using a conversion tool supplied with
gsettings:
gsettings-schema-convert --force --gconf --xml -u
--schema-id <GSETTINGS_SCHEMA_ID>
-d GETTEXT_PACKAGE ../schemas/<GCONF_SCHEMA_FILE>
-o <GSETTINGS_SCHEMA_ID>.gschema.xml.in
Missing keys (gconf didn't *require* schema keys) were manually
added.
The only keys not converted are those that are used multiple times
in different paths, like budget/account register column widths.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23224 57a11ea4-9604-0410-9ed3-97b8803252fd
Gconf is being replaced by gsettings. The problem the obsolete assistant
is trying to solve will be solved differently for gsettings: in order
to locate the gsettings schema files, the XDG_DATA_DIR environment
variable will be set.
This is already configured for development builds. It's likely this
still has to be set up properly for the Windows/OS X installers
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23223 57a11ea4-9604-0410-9ed3-97b8803252fd
- rename core-utils/gnc-core-prefs* to core-utils/gnc-prefs*
- rename app-utils/gnc-prefs* to app-utils/gnc-prefs-utils*
- move preferences initialization fuctions to gnc-prefs-utils*
- define a gnc_prefs_* api that is independent of any
settings backend
- refactor gnc_gsettings_* api to serve as a backend for the
gnc_prefs_* api
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23222 57a11ea4-9604-0410-9ed3-97b8803252fd
These are
- integers
- floating point numbers
- strings
- enums
- arbitary combinations of values in a GVariant (this will
be used to replace the current GConf list getters/setters)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23219 57a11ea4-9604-0410-9ed3-97b8803252fd
These are converted from their GConf equivalents.
Some caveats:
- During the code updates from GConf to GSettings both systems
use the same backend and hence need the same key and
path names or they won't see each others changes.
- For this reason the conversion in this commit
preserves the GConf key names even though these can
contain illegal characters for GSettings.
- Once all code is successfully converted
to GSettings and we have a preferences conversion
script in place, we need one more round of fixing
the keys and paths (/apps is deprecated in GSettings
in favour of /org)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23216 57a11ea4-9604-0410-9ed3-97b8803252fd