Commit Graph

15300 Commits

Author SHA1 Message Date
Geert Janssens
a89f2059ed Gnc-Prefs: migrate GncPeriodSelect widgets (and associated preferences)
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
2013-10-07 14:18:49 +00:00
Geert Janssens
369071bfe6 Gnc-Prefs: migrate GncCurrencyEdit widgets (and associated preferences)
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
2013-10-07 14:18:06 +00:00
Geert Janssens
b712968386 Gnc-Prefs: migrate gnc-plugin gconf machinery
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
2013-10-07 14:16:59 +00:00
Geert Janssens
b453bf3838 Gnc-Prefs: migrate GtkRadiobutton widgets (and associated preferences)
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
2013-10-07 14:16:36 +00:00
Geert Janssens
526bee354a Gnc-Prefs: remove toolbar_style preference
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
2013-10-07 14:16:11 +00:00
Geert Janssens
57e0143551 Gnc-Prefs: migrate date_format preference
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
2013-10-07 14:15:55 +00:00
Geert Janssens
a91c0a9c3a Resave preferences dialog with a recent glade-3 version
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
2013-10-07 14:15:43 +00:00
Geert Janssens
939d8f5f3a Gnc-Prefs: migrate account_separator preference (and associated GtkEntry widget)
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
2013-10-07 14:15:18 +00:00
Geert Janssens
8c6d8fe3b0 Gnc-Prefs: migrate file history plugin
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23242 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:14:27 +00:00
Geert Janssens
14e8f5620f Gnc-Prefs: migrate int-typed preferences (and GtkCombobox widgets linked to them)
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
2013-10-07 14:14:11 +00:00
Geert Janssens
f9e0da38f4 Gnc-Prefs: migrate GtkSpinbutton widgets (and associated preferences)
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
2013-10-07 14:13:51 +00:00
Geert Janssens
2291ef5249 Gnc-Prefs: migrate GtkCheckbutton widgets (and associated preferences) - last batch
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
2013-10-07 14:13:11 +00:00
Geert Janssens
e174893d25 Gnc-Prefs: migrate GtkCheckbutton widgets (and associated preferences) - second batch
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23238 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:12:39 +00:00
Geert Janssens
33604eb686 Gnc-Prefs: migrate extra_toolbuttons preference (business option)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23237 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:12:13 +00:00
Geert Janssens
5de9112787 Gnc-Prefs: migrate 24hour_clock preference and fix the code
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
2013-10-07 14:12:01 +00:00
Geert Janssens
b1739ace18 Gnc-Prefs: migrate GtkCheckbutton widgets (and associated preferences) - first batch
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23235 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:11:42 +00:00
Geert Janssens
4ab1086746 Gnc-Prefs: migrate all GtkFontButton widgets (default_font property)
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
2013-10-07 14:11:18 +00:00
Geert Janssens
56d9c94c00 Prepare preferences dialog to work with gnc-prefs instead of gconf.
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
2013-10-07 14:10:46 +00:00
Geert Janssens
55ce498c11 GncDateEdit: add gobject property "time"
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
2013-10-07 14:10:20 +00:00
Geert Janssens
336d3cb6fd GncPeriodSelect: add gobject property active
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
2013-10-07 14:10:05 +00:00
Geert Janssens
dd0a9b1564 GncCurrencyEdit: add gobject property mnemonic
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
2013-10-07 14:09:42 +00:00
Geert Janssens
84dda7abea Gnc-Prefs: migrate search dialog and saved window geometry preferences
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
2013-10-07 14:09:14 +00:00
Geert Janssens
8984c78f94 Gnc-Prefs: migrate most preferences found in app-utils
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
2013-10-07 14:08:17 +00:00
Geert Janssens
ac1003cc4e Gnc-Prefs: migrate first preference option (first_user) to new preference system
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23227 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:07:50 +00:00
Geert Janssens
9c2c7e12cc Temporarily use gconf as gsettings backend
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23226 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:07:28 +00:00
Geert Janssens
cfd8c1a162 Amend XDG_DATA_DIRS if not installed in default prefix
This ensures gsettings schemas are properly found

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23225 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:07:14 +00:00
Geert Janssens
ee9f38df63 Create gsettings schema entries for all gconf keys currently in use
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
2013-10-07 14:07:00 +00:00
Geert Janssens
2332407ec9 Remove obsolete gconf setup assistant.
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
2013-10-07 14:06:38 +00:00
Geert Janssens
ae4b6a0c5a Refactor preferences
- 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
2013-10-07 14:06:23 +00:00
Geert Janssens
4f776ae5b1 GSettings: add function to bind a gsettings key to a gobject property
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23221 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:06:02 +00:00
Geert Janssens
b8536e8802 GSettings: add functions to unset a key or complete schema
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23220 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:05:14 +00:00
Geert Janssens
6775120df8 GSettings: add functions to get/set most common data types
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
2013-10-07 14:05:02 +00:00
Geert Janssens
588218f554 GSettings: add functions to listen for changes
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23218 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:04:50 +00:00
Geert Janssens
a51380fa5e Add some initialization code for GSettings
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23217 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:04:19 +00:00
Geert Janssens
14208cbfb0 Add GSettings schemas and build rules
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
2013-10-07 14:03:59 +00:00
Geert Janssens
e87957e632 Prepare for GSettings conversion
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23215 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:03:22 +00:00
Geert Janssens
2e2cc12e6d Use more generic parameter name to cut association with gconf
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23214 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:02:48 +00:00
Geert Janssens
07e144ba39 Whitespace cleanup, comment improvements and spelling fixes
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23213 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:02:27 +00:00
Geert Janssens
302fb3bfb0 Cleanup after file backend settings refactoring
This affects many other components as well, including the
python bindings

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23212 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:02:08 +00:00
Geert Janssens
3861de653d Remove obsolete enable_euro key from gconf
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23211 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:01:51 +00:00
Geert Janssens
a050fcfa7d Remove redundant call
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23210 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-07 14:01:35 +00:00
John Ralls
cf5c84880e Fix pre-glib-2.38 definition of _Q in tests
Thanks to Frédéric Perrin <fred@fperrin.net> for pointing this out.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23209 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-06 15:59:29 +00:00
John Ralls
db4285f549 Remove ancient #if-0'd code from Engine
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23208 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-03 21:40:11 +00:00
John Ralls
44af452d48 Work around quote change in assertion messages
glib-2.38 changed the leading quote from ` to ', e.g.
"assertion `foo' failed" to "assertion 'foo' failed".

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23207 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-03 21:39:59 +00:00
John Ralls
413aa58c40 Remove ancient if-0'd code from backends
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23206 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-03 21:39:43 +00:00
John Ralls
2e4c3e5f2f Remove ancient if-0'd code from libqof
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23205 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-03 21:39:24 +00:00
John Ralls
ac0e3b36bf Convert - in filenames to _ for function names
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23204 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-03 21:39:11 +00:00
John Ralls
a3417ff44b Fix test broken by r23192
The test in question was working around the ref-counting bug;
removed the workaround.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23203 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-03 21:39:01 +00:00
Mike Evans
e6911c1a35 Bug #699450
Reverses previous commit for this bug and applies patches for fix.

This is an amalgum of 7 patches.
Patch comments are reproduced below.  All patches supplied by R Ratcliff.

[PATCH 1/7] Fix budget view resizing issue

The fix here is to change the hardcoded width value from 86 to 60.
* Remove size-allocate signal bound to treeviewcolumn (columns
  don't emit signals)

[PATCH 2/7] Fix the way column width is determined

The budget tree view has a bunch of columns that have visible
set to false. These columns have a width of 0. Change
gbv_tree_view_resized_cb to ignore these columns.

[PATCH 3/7] Change column sizing method.

Not sure if this is crucial to the bug fix.

[PATCH 4/7] Fix regression for window horizontal resizing

This change does two things
* Set expand on totals_title_col to TRUE
* Not set the width of this column in gbv_treeview_resized_cb

Note: The second one is a bit tricky. It relies on the fact that
totals_title_col has a default sizing of GROW_ONLY. It only explicitly
sets the size on columns that have a sizing of FIXED

[PATCH 5/7] Fix horizontal scrolling

* Add a vbox inside the scrolled_window, and add the two treeviews to that.

This fixes horizontal scrolling. If the budget view is too wide for the
window, then a horizontal scrollbar will appear at the bottom, and scroll
both the main budget view and the totals view at the bottom.

However, it breaks vertical scrolling (vertical scrollbar will scroll the
entire view, instead of just the top view). I'll fix this in the next commit.

[PATCH 6/7] Fix vertical scrolling

Vertical scrolling will only apply to the top view (budget values) and not
to the bottom view (budget totals).

Implementation: add an inner scrolled window for the vertical scrollbar.
Set scrolled_window vertical scrollbar policy to NEVER.

Note: This design looks weird when both scrollbars are used because you
have to scroll horizontally to the right in order to see the vertical
scrollbar for the top section.

[PATCH 7/7] Clean up code before submitting patch

* Remove debugging and commented out code

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23202 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-10-01 12:22:00 +00:00
Christian Stimming
a81e9f6693 Fix typo in string (punctuation)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@23201 57a11ea4-9604-0410-9ed3-97b8803252fd
2013-09-30 19:38:23 +00:00