diff options
author | Matthew Barnes <mbarnes@src.gnome.org> | 2009-02-08 04:04:52 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@src.gnome.org> | 2009-02-08 04:04:52 +0800 |
commit | 14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f (patch) | |
tree | ec49b42bc6e0cfb3115ca56f41106e63a0b67d85 /mail/mail-config.c | |
parent | fee5916b60c605ff5086d8fdc2a85c5ea21351f6 (diff) | |
download | gsoc2013-evolution-14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f.tar.gz gsoc2013-evolution-14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f.tar.zst gsoc2013-evolution-14e8637d6b1a98b4ed6bedc70d0fca744b7b3e0f.zip |
Rewrite the mail label code from top to bottom.
- Kill the e-util-labels API and read label information into a
single-column GtkListStore. Use GConfBridge to automatically
keep GConf synched with the list store.
- The list store (a singleton instance) is stored in EShellSettings
so it's available everywhere.
- The list store serves as the model for EMailLabelTreeView,
which itself is embedded in EMailLabelManager; a complete
label management UI as seen in the preferences dialog.
- EMailLabelDialog is used to add or edit a label. Avoid using a
color button, instead embed a GtkColorSelection directly in the
dialog so everything is in one window.
Open issues:
- The weird toggle/color/text menu items in the popup menu aren't
there. For now they're just regular toggle items. I'll deal
with it later.
- Filter intergration is broken at the moment.
svn path=/branches/kill-bonobo/; revision=37233
Diffstat (limited to 'mail/mail-config.c')
-rw-r--r-- | mail/mail-config.c | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/mail/mail-config.c b/mail/mail-config.c index 00c847b3c4..2186ce0e21 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -52,7 +52,6 @@ #include <libedataserver/e-data-server-util.h> #include <e-util/e-util.h> #include <misc/e-gui-utils.h> -#include "e-util/e-util-labels.h" #include "e-util/e-account-utils.h" #include "e-util/e-signature-utils.h" @@ -192,33 +191,6 @@ config_write_style (void) } static void -config_clear_labels (void) -{ - if (!config) - return; - - e_util_labels_free (config->labels); - config->labels = NULL; -} - -static void -config_cache_labels (GConfClient *client) -{ - if (!config) - return; - - config->labels = e_util_labels_parse (client); -} - -static void -gconf_labels_changed (GConfClient *client, guint cnxn_id, - GConfEntry *entry, gpointer user_data) -{ - config_clear_labels (); - config_cache_labels (client); -} - -static void gconf_style_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data) { @@ -449,18 +421,6 @@ mail_config_init (void) gconf_client_notify_add ( config->gconf, key, func, NULL, NULL, NULL); - /* Label Configuration */ - - gconf_client_add_dir ( - config->gconf, E_UTIL_LABELS_GCONF_KEY, - GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); - - gconf_client_notify_add ( - config->gconf, E_UTIL_LABELS_GCONF_KEY, - gconf_labels_changed, NULL, NULL, NULL); - - config_cache_labels (config->gconf); - /* MIME Type Configuration */ gconf_client_add_dir ( @@ -525,7 +485,6 @@ mail_config_clear (void) if (!config) return; - config_clear_labels (); config_clear_mime_types (); } @@ -696,18 +655,6 @@ mail_config_get_enable_magic_spacebar () return config->magic_spacebar; } -/** - * mail_config_get_labels - * - * @return list of known labels, each member data is EUtilLabel structure. - * Returned list should not be freed, neither data inside it. - **/ -GSList * -mail_config_get_labels (void) -{ - return config->labels; -} - const char ** mail_config_get_allowable_mime_types (void) { |