[anjuta-devel] GSettings migration



Hi all!

In the past weeks I started porting anjuta from gconf to the new
GSettings interface. GSettings is part of glib now and much more
convenient that gconf. In addition it's faster for reading which is nice
for desktop startup but doesn't really matter for us.

However some things changed, most important:

* You can only use settings that have been specified in a schema. If a
setting you query for isn't in a schema GSettings will call abort() for
security reasons.

* As the above implies you can rely on getting a valid value. Things
like:

gchar* test = g_settings_get_string (settings, "test");
if (test)
{ ...

are not needed anymore. test is garantueed to be non-null and contain a
string.

For us that means that all anjuta_preferences_get_*() methods are gone
and we use g_settings_get_*() instead. The preference options in the
dialog that are created using glade are automatically included in the
schemas as it was with gconf. Any other options must be specified in a
*.gschema-part.xml file that will be merged in the schema. See the
document-manager plugin for an example.

All the plugins in the plugin repository have been ported to the new
system, except gtodo which is currently disabled. I will write another
mail on that topic.

Anjuta-extras is most likely broken. We should probably take a look
which plugins we want to port and where it might be easier to create
more lightweight plugins in python (thinking about valgrind here for
example). I don't think I will have time to fix all these plugins in the
near future.

For scintilla, the question is if it builds with gtk+-3.0 which we will
require soon. I haven't found any information on that. GtkSourceView
will support code folding in the next version, btw.

The general preferences have been reduced a bit. We can get a good user
name with g_get_real_name() and the project default directory wasn't
ever very useful IMHO as one can set the directory when creating a
project easily and creating projects isn't a super common task. The
correct e-mail address for the user is also saved somewhere in GNOME but
I have to find a good way to receive it. So, these three options have
been removed.

So far, everything is merged into master. Please report if some things
don't work for you.

Regards,
Johannes

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]