diff options
-rw-r--r-- | mail/ChangeLog | 12 | ||||
-rw-r--r-- | mail/em-folder-view.c | 22 | ||||
-rw-r--r-- | mail/em-utils.c | 6 |
3 files changed, 37 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index d1bc0381b3..50be5e14f9 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,15 @@ +2005-12-23 Srinivasa Ragavan <sragavan@novell.com> + + ** Fixes bug #228040, #324677 + + * em-folder-view.c (emfv_popup_flag_completed), + (emfv_popup_flag_clear), (emfv_enable_menus): Added menus for complete + and clear. Also added code to refresh preview on setting flags. Also + added code to hide junk/not-junk menu depending on their sensitivity. + + * em-utils.c: (tag_editor_response), (em_utils_flag_for_followup): + Added code to refresh preview. + 2005-12-22 Shreyas Srinivasan <sshreyas@novell.com> * mail-component.[c,h]: Handle Network Disconnect diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index ecaf010f80..4d0e964019 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -837,6 +837,9 @@ emfv_popup_flag_completed(EPopup *ep, EPopupItem *pitem, void *data) uids = message_list_get_selected(emfv->list); em_utils_flag_for_followup_completed((GtkWidget *)emfv, emfv->folder, uids); + + if (emfv->preview) + em_format_redraw (emfv->preview); } static void @@ -846,6 +849,9 @@ emfv_popup_flag_clear(EPopup *ep, EPopupItem *pitem, void *data) GPtrArray *uids = message_list_get_selected(emfv->list); em_utils_flag_for_followup_clear((GtkWidget *)emfv, emfv->folder, uids); + + if (emfv->preview) + em_format_redraw (emfv->preview); } static void @@ -1242,8 +1248,8 @@ EMFV_MAP_CALLBACK(emfv_message_mark_nojunk, emfv_popup_mark_nojunk) EMFV_MAP_CALLBACK(emfv_message_delete, emfv_popup_delete) EMFV_MAP_CALLBACK(emfv_message_undelete, emfv_popup_undelete) EMFV_MAP_CALLBACK(emfv_message_followup_flag, emfv_popup_flag_followup) -/*EMFV_MAP_CALLBACK(emfv_message_followup_clear, emfv_popup_flag_clear) - EMFV_MAP_CALLBACK(emfv_message_followup_completed, emfv_popup_flag_completed)*/ +EMFV_MAP_CALLBACK(emfv_message_followup_clear, emfv_popup_flag_clear) +EMFV_MAP_CALLBACK(emfv_message_followup_completed, emfv_popup_flag_completed) EMFV_MAP_CALLBACK(emfv_message_open, emfv_popup_open) EMFV_MAP_CALLBACK(emfv_message_edit, emfv_popup_edit) EMFV_MAP_CALLBACK(emfv_message_saveas, emfv_popup_saveas) @@ -1694,6 +1700,8 @@ static BonoboUIVerb emfv_message_verbs[] = { BONOBO_UI_UNSAFE_VERB ("MessageMarkAsJunk", emfv_message_mark_junk), BONOBO_UI_UNSAFE_VERB ("MessageMarkAsNotJunk", emfv_message_mark_nojunk), BONOBO_UI_UNSAFE_VERB ("MessageFollowUpFlag", emfv_message_followup_flag), + BONOBO_UI_UNSAFE_VERB ("MessageFollowUpComplete", emfv_message_followup_completed), + BONOBO_UI_UNSAFE_VERB ("MessageFollowUpClear", emfv_message_followup_clear), BONOBO_UI_UNSAFE_VERB ("MessageMove", emfv_message_move), BONOBO_UI_UNSAFE_VERB ("MessageOpen", emfv_message_open), BONOBO_UI_UNSAFE_VERB ("MessagePostReply", emfv_message_post_reply), @@ -1808,7 +1816,9 @@ static const EMFolderViewEnable emfv_enable_map[] = { { "MessageMarkAsUnimportant", EM_POPUP_SELECT_MANY|EM_POPUP_SELECT_MARK_UNIMPORTANT }, { "MessageMarkAsJunk", EM_POPUP_SELECT_MANY|EM_POPUP_SELECT_JUNK }, { "MessageMarkAsNotJunk", EM_POPUP_SELECT_MANY|EM_POPUP_SELECT_NOT_JUNK }, - { "MessageFollowUpFlag", EM_POPUP_SELECT_MANY }, + { "MessageFollowUpFlag", EM_POPUP_SELECT_MANY|EM_POPUP_SELECT_FLAG_FOLLOWUP }, + { "MessageFollowUpComplete", EM_POPUP_SELECT_MANY|EM_POPUP_SELECT_FLAG_COMPLETED }, + { "MessageFollowUpClear", EM_POPUP_SELECT_MANY|EM_POPUP_SELECT_FLAG_CLEAR }, { "MessageMove", EM_POPUP_SELECT_MANY }, { "MessageOpen", EM_POPUP_SELECT_MANY }, { "MessagePostReply", EM_POPUP_SELECT_ONE }, @@ -1896,6 +1906,12 @@ emfv_enable_menus(EMFolderView *emfv) } } + /* Just Hide/Unhide Junk-Not Junk*/ + bonobo_ui_component_set_prop(emfv->uic, "/commands/MessageMarkAsJunk", "hidden", + *(bonobo_ui_component_get_prop(emfv->uic, "/commands/MessageMarkAsJunk", "sensitive",NULL)) == '1'?"0":"1", NULL); + bonobo_ui_component_set_prop(emfv->uic, "/commands/MessageMarkAsNotJunk", "hidden", + *(bonobo_ui_component_get_prop(emfv->uic, "/commands/MessageMarkAsNotJunk", "sensitive",NULL)) == '1'?"0":"1", NULL); + g_string_free(name, TRUE); } diff --git a/mail/em-utils.c b/mail/em-utils.c index dcc8ec7971..4041d82a46 100644 --- a/mail/em-utils.c +++ b/mail/em-utils.c @@ -78,6 +78,7 @@ #include "em-utils.h" #include "em-composer-utils.h" +#include "em-folder-view.h" #include "em-format-quote.h" #include "em-account-editor.h" #include "e-attachment.h" @@ -739,6 +740,7 @@ void em_utils_add_address(struct _GtkWidget *parent, const char *email) /* tag-editor callback data */ struct ted_t { + EMFolderView *emfv; MessageTagEditor *editor; CamelFolder *folder; GPtrArray *uids; @@ -778,6 +780,9 @@ tag_editor_response (GtkWidget *dialog, int button, struct ted_t *ted) camel_folder_thaw (folder); camel_tag_list_free (&tags); + + if (ted->emfv->preview) + em_format_redraw(ted->emfv->preview); } gtk_widget_destroy (dialog); @@ -810,6 +815,7 @@ em_utils_flag_for_followup (GtkWidget *parent, CamelFolder *folder, GPtrArray *u camel_object_ref (folder); ted = g_new (struct ted_t, 1); + ted->emfv = (EMFolderView *) parent; ted->editor = MESSAGE_TAG_EDITOR (editor); ted->folder = folder; ted->uids = uids; |