[evolution-patches] A better way to manage categories



With the release of Evolution 2.8 drawing near, many users may find that
their category icons no longer work after upgrading from 2.6.  I have a
proposal for dealing with this, as documented in bug #351930 [1].  I
would appreciate it if someone could review the attached patch in the
bug report.


The problem is that category icons are stored in a version-specific
evolution-data-server directory:

    /usr/share/pixmaps/evolution-data-server-1.x

Category configuration details are stored in GConf as an XML string, and
includes an absolute path for each category icon.  The configuration
string does not get updated without manual intervention.  So after
upgrading evolution-data-server from, say, 1.6 to 1.8 (and changing the
name of the category icons directory from evolution-data-server-1.6 to
evolution-data-server-1.8), the previously stored category configuration
in GConf now refers to the wrong category icon directory.


There is a simple solution to this:

1) Drop the version number from the icon directory, so that category
icons are stored in "/usr/share/pixmaps/evolution-data-server" and the
category configuration remains valid after a major evolution-data-server
upgrade.  Category icons are the only files that are stored in this
directory, so the name change will be transparent to other parts of
evolution-data-server.

2) We need to migrate users with an existing category configuration off
of the current GConf key [2].  It seems to me that GConf is not the best
place to be storing XML data in the first place, so I propose that we
instead store category configuration details in an XML file under the
user's home directory (~/.evolution/categories.xml).

Please provide feedback in the bug report.

Thanks,
Matthew Barnes


[1] http://bugzilla.gnome.org/show_bug.cgi?id=351930
[2] GConf key: /apps/evolution/general/category_master_list




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