Ryan Lortie
148f731748
Add test case and fix some bugs
...
Add the first test case for the schema source functionality and fix a
couple of bugs that got uncovered by that.
2011-11-17 14:03:39 +00:00
Ryan Lortie
fee2c87ba1
Add g_settings_schema_source_new_from_directory()
...
It is now possible for plugin loading systems to do the right thing.
2011-11-17 14:03:39 +00:00
Ryan Lortie
446eda8c2b
Clarify docs/params for 'schema' vs 'schema id'
...
Clean up our parameter naming and documentation to draw a clearer line
between a schema and its identifier.
2011-11-17 14:03:39 +00:00
Ryan Lortie
1e70072065
Add g_settings_new_full() taking GSettingsSchema
2011-11-17 14:03:39 +00:00
Ryan Lortie
1c8ae819ed
GSettings: add 'settings-schema' property
...
Ideally we'd have called this 'schema', but it is already used.
2011-11-17 14:03:39 +00:00
Ryan Lortie
269c999463
add boxed types for GSettingSchema{,Source}
2011-11-17 14:03:39 +00:00
Ryan Lortie
c25a36c920
Drop the 'schema_name' field of GSettings
...
This is strictly redundant now that we can get the ID from the schema
itself. Its only other purpose was to get the schema name from the
set_property() call to the constructed() call and we can avoid that by
doing the schema lookup at the time of the property being set.
2011-11-17 14:03:39 +00:00
Ryan Lortie
48b99017de
speak of 'schema id' rather than 'schema name'
...
Schemas are identified by id='' in the xml file, so we should use the
same language on the C and GObject property APIs.
2011-11-17 14:03:39 +00:00
Ryan Lortie
736a286dce
GSettings: deprecate 'schema' property
...
This should have been called 'schema-name'.
2011-11-17 14:03:39 +00:00
Ryan Lortie
3bcf1137f4
drop the now-trivial g_settings_schema_new
...
Combine it into g_settings_constructed()
2011-11-17 14:03:39 +00:00
Ryan Lortie
d5fb032f72
new public header: gsettingsschema.h
...
Expose some GSettingsSchemaSource and GSettingsSchema APIs.
These are mostly useless so far...
2011-11-17 14:03:39 +00:00
Ryan Lortie
2633f2903e
Add non-aborting g_settings_schema_source_lookup()
...
And rewrite g_settings_schema_new() in terms of it
2011-11-17 14:03:39 +00:00
Ryan Lortie
bf5626ddc2
GSettingSchemaSource: add refcounting
2011-11-17 14:03:39 +00:00
Ryan Lortie
e01a43b621
GSettingsSchema: use our own linked lists
...
Switch from GSList for the list of schema sources to using our own
linked list type called GSettingsSchemaSource.
2011-11-17 14:03:39 +00:00
Ryan Lortie
5ec84e8056
GSettingsSchema: alter our 'reverse' technology
...
Instead of building a reversed linked list by prepending in order and
then reversing it at the end, prepend in reverse by iterating backwards
through the directories (to get a list in-order when we're done).
2011-11-17 14:03:38 +00:00
Ryan Lortie
104f7353a7
move GSettingsSchemaKey to gsettingsschema.c
...
These functions no longer have anything to do with GSettings itself, so
they should not be in that file anymore.
GSettings still wants direct access to the GSettingsSchemaKey structure,
so put that one in gsettingsschema-internal.h.
2011-11-17 14:03:38 +00:00
Ryan Lortie
53b5918545
GSettingsSchemaKey: store the GSettingsSchema*
2011-11-17 14:03:38 +00:00
Ryan Lortie
54964e22d4
g_settings_schema_key_init: take GSettingsSchema*
...
instead of of GSettings *
2011-11-17 14:03:38 +00:00
Ryan Lortie
10907cafc3
add internal g_settings_schema_get_name()
2011-11-17 14:03:38 +00:00
Ryan Lortie
e6b4074e41
rename GSettingsKeyInfo to GSettingsSchemaKey
2011-11-17 14:03:38 +00:00
Ryan Lortie
426b146e5f
GSettingsKeyInfo: rename field 'key' to 'name'
2011-11-17 14:03:38 +00:00
Ryan Lortie
ca2004fe73
remove GSettings* from GSettingsKeyInfo
...
This way GSettingsKeyInfo depends strictly on the information in the
schema. Pass the GSettings* around separately where we need it.
2011-11-17 14:03:38 +00:00
Ryan Lortie
d6c3c2f3c2
store some extra info in GSettingsKeyInfo
2011-11-17 14:03:38 +00:00
Ryan Lortie
f60e0e7242
GSettingsKeyInfo: drop unused variable
2011-11-17 14:03:38 +00:00
Ryan Lortie
11ef4d7981
rename gsettingsschema.h to -internal.h
2011-11-17 14:03:38 +00:00
Ryan Lortie
577faeae5b
unGObjectify GSettingsSchema
2011-11-17 14:03:38 +00:00
Christian Persch
eaaf18960f
Fix the fix for G*_TO_POINTER casts on 32 bits
...
The 'fix' from commit 16292dd753
broke the
build on 32 bit because it was missing the parentheses around "gint" / "guint"
in glib_gp[u]i_cast.
https://bugzilla.gnome.org/show_bug.cgi?id=661546
2011-11-17 14:24:09 +01:00
Jorge González
affbdd8206
Updated Spanish translation
2011-11-17 14:21:12 +01:00
Daniel Mustieles
6d405f81c2
Updated Spanish translation
2011-11-17 12:36:54 +01:00
Matthias Clasen
9e19b6fe0f
Fix doc formatting
2011-11-17 00:01:18 -05:00
Matthias Clasen
1a08591c3a
Deal gracefully with NULL log domains
2011-11-16 21:42:28 -05:00
Ryan Lortie
877c0ad5b8
[notify] remove some rather bogus 'inline' use
2011-11-16 17:50:13 +00:00
Ryan Lortie
9253f38a90
[notify] add warning to gobjectnotifyqueue.c
...
Mention that this file gets installed, so people should probably not
modify it.
2011-11-16 17:50:13 +00:00
Ryan Lortie
ac0ddcf23f
[notify] dispatch 'notify' directly if not frozen
...
Avoid the notify queue in the case that we're not already frozen.
2011-11-16 17:50:13 +00:00
Ryan Lortie
39458748dd
[notify] add 'conditional' to _notify_queue_freeze
...
When the 'conditional' parameter is TRUE, the queue will only be frozen
(ie: have its freeze count increase by one) if it is already frozen.
This will allow us to avoid a freeze-notify-thaw in the case that we
just want to notify on a single property.
Another approach may have been to add an is_frozen() type call and avoid
even increasing the freeze count at all in this case. Unfortunately,
I'm not totally sure what is the exact expected semantics of
simultaneous notifications in multiple threads and this may interact
badly with someone freezing or thawing in between our check and
emission.
2011-11-16 17:50:13 +00:00
Ryan Lortie
393d4c28b4
[notify] Remove GObjectNotifyContext indirection
...
This silly abstraction is causing more trouble than it's worth -- just
use the relevant bits directly.
2011-11-16 17:50:13 +00:00
Ryan Lortie
8215fc5f25
[notify] lift some logic out of _notify_queue_add
...
Lift the check-if-READABLE and redirect-target logic from out of
g_object_notify_queue_add() into its own function, get_notify_pspec().
Use that function at the site of our two calls to
g_object_notify_queue_add().
2011-11-16 17:50:12 +00:00
Ryan Lortie
760037ec46
[notify] remove an obviously false comment
2011-11-16 17:50:12 +00:00
Ryan Lortie
45d80cf9bd
[notify] lift some code outside of critical region
2011-11-16 17:50:12 +00:00
Ryan Lortie
1d98f93194
[notify] drop some unused code
2011-11-16 17:50:12 +00:00
Ryan Lortie
128862eafe
[notify] merge gobjectnotifyqueue.c into gobject.c
...
This was done as a separate file before, and #include brought it into
gobject.c. That's a bit mad, so stop doing that.
Unfortunately, the insanity steps up a level: gobjectnotifyqueue.c is
installed in the public include dir, so we can't just get rid of it
entirely.
2011-11-16 17:50:12 +00:00
Ryan Lortie
688059cb94
[notify] remove some useless forward declarations
...
These cause trouble in the next commit.
2011-11-16 17:50:12 +00:00
Benjamin Otte
3c66ada435
localfileenumerator: Improve non-stat'ing code
...
We now avoid the per-enumerated-file stat for type and names. We could
improve this further by moving things to the no_stat function, but this
is what the file chooser needs for autocomplete, so I am happy.
2011-11-16 17:22:17 +01:00
Benjamin Otte
93aea49bd7
localfileinfo: Split out attributes that don't need a stat
...
This will be used in the next commit.
2011-11-16 17:22:10 +01:00
Benjamin Otte
8863071b9d
localfileenumerator: Take the type from the readdir() call
...
That way, we can avoid stat() calls for all enumerated files in various
cases. In particular in the autocompletion code in the GTK filechooser.
2011-11-16 17:22:03 +01:00
Benjamin Otte
6fe9791f24
gio: Add tests for g_file_attribute_matcher_subtract()
2011-11-16 17:21:21 +01:00
Benjamin Otte
1985d54bb2
fileinfo: Add g_file_attribute_matcher_subtract()
...
Added as public API so I can write tests, the use case is local.
2011-11-16 17:19:02 +01:00
Benjamin Otte
60c42f6648
tests: Add tests for fileattributematchers
2011-11-16 17:18:58 +01:00
Benjamin Otte
b400127b3e
fileinfo: Add g_file_attribute_matcher_to_string()
...
This is to be mainly used for debugging and tests.
2011-11-16 17:18:13 +01:00
Benjamin Otte
86d29e4e73
fileinfo: Store namespace::* as 0th attribute
...
This way, we can get_attribute() namespaces. This will be important in
the next commit.
2011-11-16 17:11:52 +01:00