From d4c2e5853d0f81347c9bdc2fe94c09717d632fd3 Mon Sep 17 00:00:00 2001 From: Not Zed Date: Wed, 30 Jan 2002 07:28:21 +0000 Subject: re-enable popup menu. (populate_folder_context_menu): If we're on a 2002-01-30 Not Zed * component-factory.c (create_component): re-enable popup menu. (populate_folder_context_menu): If we're on a vfolder, and its not UNMATCHED, create a change properties item, and set it up approriately. (change_prop_popup): Callback to edit the vfolder rule. For #3358. svn path=/trunk/; revision=15523 --- mail/ChangeLog | 9 +++++++++ mail/component-factory.c | 30 ++++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/mail/ChangeLog b/mail/ChangeLog index 02144c733f..2547011c7a 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,12 @@ +2002-01-30 Not Zed + + * component-factory.c (create_component): re-enable popup menu. + (populate_folder_context_menu): If we're on a vfolder, and its not + UNMATCHED, create a change properties item, and set it up + approriately. + (change_prop_popup): Callback to edit the vfolder rule. For + #3358. + 2002-01-29 Dave West * mail-callbacks.c (create_msg_composer): Changed the function diff --git a/mail/component-factory.c b/mail/component-factory.c index cfd4478875..b754887c5e 100644 --- a/mail/component-factory.c +++ b/mail/component-factory.c @@ -420,7 +420,14 @@ xfer_folder (EvolutionShellComponent *shell_component, camel_url_free(dst); } -#if 0 +static void +configure_folder_popup(BonoboUIComponent *component, void *user_data, const char *cname) +{ + char *uri = user_data; + + vfolder_edit_rule(uri); +} + static void populate_folder_context_menu (EvolutionShellComponent *shell_component, BonoboUIComponent *uic, @@ -432,16 +439,23 @@ populate_folder_context_menu (EvolutionShellComponent *shell_component, static char popup_xml_i18n[] = {N_("Properties..."), N_("Change this folder's properties")}; #endif static char popup_xml[] = - ""; - + if (strcmp (type, "mail") != 0) return; - - bonobo_ui_component_set_translate (uic, EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER, - popup_xml, NULL); + + /* FIXME: handle other types */ + + /* the unmatched test is a bit of a hack but it works */ + if (strncmp(physical_uri, "vfolder:", 8) != 0 + || strstr(physical_uri, "#" CAMEL_UNMATCHED_NAME) != NULL) + return; + + bonobo_ui_component_add_verb_full(uic, "ChangeFolderPropertiesPopUp", configure_folder_popup, g_strdup(physical_uri), g_free); + + bonobo_ui_component_set_translate (uic, EVOLUTION_SHELL_COMPONENT_POPUP_PLACEHOLDER, popup_xml, NULL); } -#endif static char * get_dnd_selection (EvolutionShellComponent *shell_component, @@ -938,7 +952,7 @@ create_component (void) create_folder, remove_folder, xfer_folder, - /*populate_folder_context_menu*/NULL, + populate_folder_context_menu, get_dnd_selection, NULL); -- cgit v1.2.3