Ryan Lortie
4ece333afe
Don't assert on backend == settings->priv->backend
...
They could be different if a notification is queued for delivery and
someone calls g_settings_delay().
Bug #646843 .
2011-04-07 21:25:01 -04:00
Ryan Lortie
49fa69e05e
Add 'uint' convenience functions for GSettings
...
Without getting into a debate about the reasons why you may or may not
want to use unsigned integers, it's sufficient to note that people have
been using them and requesting this functionality.
Bug #641755 .
2011-03-31 12:47:03 +05:30
Matthias Clasen
098aa5639c
Document which files glib-compile-schemas looks at
...
Otherwise, your vendor override files are silently ignored...
2011-03-15 11:30:38 -04:00
Colin Walters
4196dfbc4a
gsettings: Minor typo in previous commit
2011-02-10 23:42:34 -05:00
Ryan Lortie
0f8d1933ad
GSettings: add paragraph with performance notes
...
summary: reads are very fast. writes are fast for you, but expensive
for the system, so don't do them except in response to explicit user
action.
2011-02-09 11:55:35 -05:00
Ray Strode
dc8b03027d
gsettings: Update documentation on schema naming convention
...
The existing docs are a bit inconsistent in that they say to follow
the dbus convention, but then give an example that doesn't.
This commit changes things to be how Ryan says they should be.
2011-01-17 17:31:14 -05:00
Matthias Clasen
a57c4c9066
GSettings: Fix a copy-paste error
...
https://bugzilla.gnome.org/show_bug.cgi?id=639084
2011-01-09 16:43:28 -05:00
Pavel Holejsovsky
f85909fb65
Add and update GI annotations in 'Settings'
...
'Settings' GIO group contains GSettings and GSettingsBackend.
2011-01-07 15:05:55 +01:00
Matthias Clasen
bc4e1fc622
Add a delay-apply property to GSettings
...
Bug 637147, patch by Matt Barnes.
2010-12-20 09:16:05 -05:00
Pavel Holejsovsky
f33ccd4b41
[gi] Fix GObject.Object annotations.
2010-12-16 21:06:51 +01:00
John (J5) Palmieri
6f215e477d
[gi] add annotations for methods which take a gpointer which are really GObjects
...
* bindings need to know how to marshal the pointer otherwise they send in
the raw wrapped pointer causing crashes
2010-12-16 13:48:31 -05:00
Matthew Barnes
9fe7fd9120
Bug 636100 - Can't read GSettings:backend property
...
The PROP_BACKEND case was missing from the switch statement in
g_settings_get_property().
2010-11-30 18:21:10 -06:00
Matthias Clasen
eed36d38d1
Various doc tweaks
2010-11-28 23:55:43 -05:00
Christian Persch
1797970720
Typo fix
2010-11-27 13:10:48 +01:00
Dan Winship
791d91a957
fix make check
2010-11-07 12:56:08 -05:00
Matthias Clasen
57b4b7099f
Fix markup
2010-11-05 14:50:01 -04:00
Matthias Clasen
67c03fee2a
Describe enum and flags types a bit
2010-11-05 14:28:44 -04:00
Matthias Clasen
bc793255bc
Report more useful errors from g_settings_set_value
2010-11-05 09:31:36 -04:00
Ryan Lortie
e81d856159
GSettings: add g_settings_range_check() API
...
Checks if a given value is within the correct range for a key.
2010-10-04 03:33:06 -04:00
Ryan Lortie
d6d76783ae
Bug 631263 - GSettings needs range/choice APIs
...
Add g_settings_get_range() to describe the possible values that may be
provided to g_settings_set_value() without causing an error.
Add a test case.
2010-10-04 02:58:46 -04:00
Ryan Lortie
c84441fbb3
GSettings big endian tweaks
...
GSettings relies on parts of the schema infromation remaining
unbyteswapped (the strinfo database, for example) while requiring other
parts to be in native order (the default value, constraints, etc.).
Lift the byteswapping into a place where we can do it selectively.
2010-10-03 23:04:00 -04:00
Ryan Lortie
ed9db23f9a
GSettings: implement .property_get('path')
...
This was unimplemented in g_settings_get_property(), leading to a failed
'g_assert_not_reached()'.
2010-10-03 01:53:09 -04:00
Colin Walters
755c2dad72
introspection: Fix one annotation syntax
2010-09-29 10:38:59 -04:00
Johan Dahlin
30132c44c1
Add a lot of missing annotations
2010-09-24 18:24:41 -03:00
Johan Dahlin
835f9cb310
[introspection] Move over annotations
...
Move all the annotations over from gobject-introspection.
They will not be used directly by the introspection scanner for now,
instead they will be extracted by a script and updated manually
until introspection is properly integrated into the glib build
2010-09-24 15:52:38 -03:00
Ryan Lortie
681a72ea99
GSettings: no writability->value change assumption
...
GSettings internally assumed that a change in key writability implied a
change in value. That may be true for some backends. Let those
backends deal with the situation for themselves.
2010-09-12 13:37:04 -04:00
Ryan Lortie
77e3badcf3
split GSettings.list_items => list_{children,keys}
...
This is an incompatible public API/ABI change.
2010-09-09 16:42:55 -04:00
Ryan Lortie
7b4cbbb7b2
Create GSettingsListenerVTable
...
...instead of passing a whole whack of function pointers around
This is an internal API.
2010-09-09 16:42:55 -04:00
Matthias Clasen
ea8a963936
Document vendor override files
...
Features without documentation, tsk tsk.
2010-08-13 21:23:22 -04:00
Ryan Lortie
ca3b7b75bf
GSettings: add G_SETTINGS_BIND_INVERT_BOOLEAN flag
...
When binding a boolean setting to a boolean property, invert the values.
This avoids the requirement for writing a pair of mapping functions for
this extremely common case.
Add a test.
https://bugzilla.gnome.org/show_bug.cgi?id=625833
2010-08-03 02:09:10 -04:00
Ryan Lortie
aed440815e
GSettings: add g_settings_reset()
...
Resets a key to its default value.
2010-07-22 17:50:05 -04:00
Ryan Lortie
5344c22810
gio/ docs fixup
2010-07-12 18:30:14 -04:00
Matthias Clasen
41f4aba2d2
Chain up in g_settings_finalize
...
Requested in bug 623954
2010-07-10 17:12:31 -04:00
Matthias Clasen
607fec50e6
xinclude the dtd
...
Keeping two copies in sync manually gets tiresome.
2010-07-08 14:38:55 -04:00
Ryan Lortie
5b946e0504
gio/: fully remove gioalias hacks
2010-07-07 19:53:22 -04:00
Ryan Lortie
6ae4d31e75
trivial GSettings docs fix
2010-07-07 10:46:13 -04:00
Matthias Clasen
05a865344b
Fix the get_property implementation for GSettings::schema
2010-07-05 23:13:17 -04:00
Ryan Lortie
5383c7110f
Bug 622124 - implement flags for GSettings
...
Add a <flags> tag to the schema file format and a flags='' attribute to
go along with. Add some extra test cases for those.
Add new g_settings_{get,set}_flags() calls and support binding to
GParamSpecFlags properties. Add test cases.
2010-07-01 19:06:02 -04:00
Ryan Lortie
137ae2413c
g_settings_list_keys() -> _list_items()
...
This function returns children as well.
2010-06-30 10:02:45 -04:00
Ryan Lortie
168cfc5922
Bug 622127 - GSettings extended key validation
...
First shot at attempting to implement this in a reasonable way. See
the bug for more information about why this is needed.
2010-06-28 10:20:50 -04:00
Ryan Lortie
7cdc592ae4
Bug 622128 - retry with default for failed mapping
...
Hold the GSettingsKeyInfo as part of the binding structure to save work
on each get/set. Use our copy of this structure to call the internal
get/set APIs. Give more descriptive error messages in the case of
invalid data on sets and retry using the translated default then schema
default value in case of failure to map on reads.
2010-06-25 10:56:41 -04:00
Ryan Lortie
de0464cf89
Tweak GSettings key/schema listing APIs
2010-06-24 12:25:48 -04:00
Ryan Lortie
e3d0d07b04
Clarify GSettings documentation wrt errors
...
Make it clear about exactly what "@key is valid" means.
2010-06-24 02:28:01 -04:00
Ryan Lortie
123699465d
GSettings: add g_settings_list_keys()
...
Second half of bug #622554 .
2010-06-24 02:17:34 -04:00
Matthias Clasen
13ac216ca3
GIO doc cleanups
2010-06-23 09:25:30 -04:00
Matthias Clasen
2c5e1d5193
Fix a typo
2010-06-17 15:08:37 -04:00
Ryan Lortie
6c3ae976e6
Bug 621266 - GSettings "context" clarification
...
Remove the concept of "context" in favour of dealing with
GSettingsBackend directly.
2010-06-17 14:05:40 -04:00
Ryan Lortie
e7cd94a481
More GSettings doc fixups
2010-06-17 08:57:19 -04:00
Ryan Lortie
92375a8c8e
<alias> takes mandatory target='' arg
2010-06-17 08:08:28 -04:00
Ryan Lortie
d405ad8a09
GSettings: Fix comment formatting, whitespace.
2010-06-17 08:06:52 -04:00
Matthias Clasen
61af83c5b6
Add some schema examples
2010-06-17 01:38:14 -04:00
Matthias Clasen
fbf93c371a
Typo fix
2010-06-17 00:45:43 -04:00
Matthias Clasen
345a1ee31c
Update the dtd to match the schema parser
...
The aliases element was not mentioned here.
2010-06-17 00:37:49 -04:00
Ryan Lortie
f0d30e0c0c
Bug 621319 - more leaked GVariants in GSettings
...
Caught by Felix Riemann.
2010-06-16 18:36:24 -04:00
Ryan Lortie
597290d5c8
GSettings: major refactor. Add enums, range.
2010-06-16 18:17:53 -04:00
Felix Riemann
0fc60514fc
Close memory leak in GSettings
...
Fixes bug #621252 .
2010-06-11 20:38:48 +02:00
Ryan Lortie
a8b5353b14
Add g_settings_sync() and use it
2010-06-10 22:30:44 -04:00
Ryan Lortie
3a062d2e33
GSettings: store (default, options) in gvdb
...
gvdb just dropped the ability to have a separate "options" field. We
now store the options into a GVariant along with the default value.
For now, we use a small shim in GSettingsSchema in order not to touch
too much code. A more complete rewrite will follow.
This represents a change to the schema file format with another likely
to follow. glib-compile-schemas needs to be re-run after installing
this change.
2010-06-10 13:49:57 -04:00
Milan Bouchet-Valat
3682666140
Annotate GVariant and GSettings _strv() functions
...
Add GObject introspection annotations so that the length parameter is
correctly detected for g_variant_new_strv(), g_variant_get_strv() and
g_variant_dup_strv(). Also specify that it can be a NULL pointer in
g_variant_get_strv() and g_variant_dup_strv().
For g_settings_set_strv(), detect that a NULL value is allowed, meaning
empty array.
Closes bug #620384 .
Signed-off-by: Ryan Lortie <desrt@desrt.ca>
2010-06-02 19:37:30 +02:00
Ryan Lortie
b5c8496b4c
Support NULL value for g_settings_set_strv()
...
Allow easy setting of the empty array that we lost with the last patch.
2010-06-02 04:00:58 +02:00
Milan Bouchet-Valat
bf9edb5cd5
Remove length parameter for g_settings_[gs]et_strv
...
Length of the array is redundant since it's NULL-terminated. This is not
consistent with many GLib and GTK+ functions, and adds complexity with
no real gain, while these convenience functions should be kept simple.
Closes bug #620312
2010-06-02 03:54:23 +02:00
Christian Persch
41b3f6885d
Add g_dc[p]gettext, and use it in gsettings
...
Avoid using LC_MESSAGES, and just call g_d[c]gettext directly.
Bug #617004 .
2010-05-20 21:16:29 +02:00
Ryan Lortie
799e0242ae
improve thread safety in GDelayedSettingsBackend
...
- hold a lock while accessing the tree of delayed values
- use weak reference counts with the owner object to avoid doing
g_object_notify on a dead object
- dispatch the "has-unapplied" notify to the proper main context
2010-05-17 07:16:37 -04:00
Ryan Lortie
61219e2640
GSettingsBackend: make signal dispatch threadsafe
...
This commit fixes up a few race conditions in the GSettingsBackend, mostly with
respect to change notifications occuring at the same time as the last reference
count on a GSettings is dropped. With GDBus feeding us our incoming signals in
a separate thread, this is something that could easily happen.
2010-05-17 07:16:37 -04:00
Ryan Lortie
984258c662
GSettings: support emitting signals in threads
...
The thread-default context that was in effect at the time that the
GSettings was created will be used for emitting signals on that
GSettings.
2010-05-17 07:16:37 -04:00
Ryan Lortie
8e060adb2c
intern a key name instead of using strdup()
2010-05-17 07:16:37 -04:00
Matthias Clasen
e8bc8c6cbf
Document length parameter of g_settings_get/set_strv
...
This parameter was not mentioned in the doc comment, as pointed
out in bug 617767.
2010-05-08 20:14:41 -04:00
Vincent Untz
5b4189fc42
Fix binding between writability of key and sensitivity of a widget
...
We were not setting the key correctly, result in usage of invalid keys.
Bug 617788.
2010-05-06 11:15:24 -05:00
Ryan Lortie
8dddf6499e
GSettingsBackend API/ABI change
...
- add list() virtual method
- add 'default_value' flag to read() call
2010-04-28 14:41:42 -05:00
Ryan Lortie
22ce6ed82d
Add range restriction to gschema-compiler
...
Patch from Christian Persch, with minor modifications.
Bug #616102
2010-04-25 20:06:13 -05:00
Matthias Clasen
ec664445a9
Rename gschema-compile to glib-compile-schemas
...
And clean up the autofoo a bit: use an uppercase variable,
check for pkg-config, check for presence of glib-compile-schemas.
2010-04-23 17:27:26 -04:00
Javier Jardón
0fa791b29d
[gsettings] Add g_return_*_if_fail() guards
...
Reported by Christian Persch here:
https://bugzilla.gnome.org/show_bug.cgi?id=616405
2010-04-22 03:10:42 +02:00
Matthias Clasen
585a37f374
Handle NULL string properties in bindings
...
Admittely, we just handle them by failing the conversion...
2010-04-21 14:49:05 -04:00
Matthias Clasen
ccf9361490
Handle non-readable/-writable properties when binding
...
And document readability/writability requirements for binding flags.
2010-04-21 12:33:55 -04:00
Ryan Lortie
8b6d2c1fc1
remove empty initialisers { } for MSVC's sake
2010-04-20 20:14:50 -04:00
Matthias Clasen
1b61680abb
Flesh out the porting guide some more
2010-04-20 19:40:26 -04:00
Matthias Clasen
3277b77769
Document g_settings_bind_writable
2010-04-20 19:40:26 -04:00
Ryan Lortie
f5990c1aef
GSettings: bind to writablity of a key
2010-04-20 12:30:40 -04:00
Richard Hughes
890a842b26
Fix up the gtk-doc comment for the GSettings::changed signal
2010-04-20 16:14:11 +01:00
Matthias Clasen
32477d4fbf
Another shadowed variable fix
...
See bug 616154.
2010-04-19 11:49:12 -04:00
Christian Persch
dd98785e85
Rename shadowed variables
...
Bug #616154 .
2010-04-19 09:46:32 -04:00
Ryan Lortie
265ca3db9d
let binding functions return a floating GVariant
2010-04-17 01:27:00 -04:00
Ryan Lortie
a187634b29
merge GSettings
2010-04-16 23:23:40 -04:00