aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog12
-rw-r--r--mail/em-folder-view.c22
-rw-r--r--mail/em-utils.c6
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;