aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog17
-rw-r--r--mail/folder-browser-ui.c14
-rw-r--r--mail/folder-browser.c6
-rw-r--r--mail/mail-callbacks.c9
-rw-r--r--mail/message-tag-editor.c1
-rw-r--r--mail/message-tag-followup.c6
6 files changed, 39 insertions, 14 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 431839223e..24d3881708 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,22 @@
2002-02-12 Jeffrey Stedfast <fejj@ximian.com>
+ * message-tag-followup.c (set_widget_values): Fixed a bug.
+
+ * mail-callbacks.c (flag_for_followup): If only 1 message is
+ selected and it happens to already be marked for follow-up, set
+ the value of the flag on the editor so the settings are restored.
+
+ * folder-browser-ui.c: Set the pixmaps on MarkAsRead, MarkAsUnread
+ and MarkAsImportant bonobo verbs. Also connect to
+ flag-for-followup verb.
+ (folder_browser_ui_set_selection_state): Added MessageFollowUpFlag
+ verb to the array of verb strings.
+
+ * folder-browser.c: Set key accelerators on the follow-up
+ right-click menu items to match Outlook.
+
+2002-02-12 Jeffrey Stedfast <fejj@ximian.com>
+
* mail-callbacks.c (create_msg_composer): No longer need to call
e_msg_composer_show_sig_file(). This gets handled auto-magically
by a signal emition when the default From address chooser gets
diff --git a/mail/folder-browser-ui.c b/mail/folder-browser-ui.c
index d6e27d1711..538675e144 100644
--- a/mail/folder-browser-ui.c
+++ b/mail/folder-browser-ui.c
@@ -56,6 +56,7 @@ static BonoboUIVerb message_verbs [] = {
BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnRead", mark_as_unseen),
BONOBO_UI_UNSAFE_VERB ("MessageMarkAsImportant", mark_as_important),
BONOBO_UI_UNSAFE_VERB ("MessageMarkAsUnimportant", mark_as_unimportant),
+ BONOBO_UI_UNSAFE_VERB ("MessageFollowUpFlag", flag_for_followup),
BONOBO_UI_UNSAFE_VERB ("MessageMove", move_msg),
BONOBO_UI_UNSAFE_VERB ("MessageOpen", open_message),
BONOBO_UI_UNSAFE_VERB ("MessageReplyAll", reply_to_all),
@@ -131,7 +132,11 @@ static EPixmap message_pixcache [] = {
E_PIXMAP ("/commands/MessageApplyFilters", "apply-filters-16.xpm"),
E_PIXMAP ("/commands/MessageSearch", "search-16.png"),
E_PIXMAP ("/commands/MessageSaveAs", "save-as-16.png"),
-
+ E_PIXMAP ("/commands/MessageMarkAsRead", "mail-read.xpm"),
+ E_PIXMAP ("/commands/MessageMarkAsUnRead", "mail-new.xpm"),
+ E_PIXMAP ("/commands/MessageMarkAsImportant", "priority-high.xpm"),
+ E_PIXMAP ("/commands/MessageFollowUpFlag", "priority-high.xpm"),
+
E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageReplySender", "buttons/reply.png"),
E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageReplyAll", "buttons/reply-to-all.png"),
E_PIXMAP ("/Toolbar/MailMessageToolbar/MessageForward", "buttons/forward.png"),
@@ -151,7 +156,7 @@ static EPixmap list_pixcache [] = {
E_PIXMAP ("/commands/ViewHideRead", "hide_read_messages.xpm"),
E_PIXMAP ("/commands/ViewHideSelected", "hide_selected_messages.xpm"),
E_PIXMAP ("/commands/ViewShowAll", "show_all_messages.xpm"),
-
+
E_PIXMAP ("/commands/EditCut", "16_cut.png"),
E_PIXMAP ("/commands/EditCopy", "16_copy.png"),
E_PIXMAP ("/commands/EditPaste", "16_paste.png"),
@@ -594,12 +599,11 @@ folder_browser_ui_set_selection_state (FolderBrowser *fb, FolderBrowserSelection
static const char *none_disables[] = {
/* actions that work on > 0 messages */
- "MessageApplyFilters",
- "MessageCopy", "MessageMove",
+ "MessageApplyFilters", "MessageCopy", "MessageMove",
"MessageDelete", "MessageUndelete",
"MessageMarkAsRead", "MessageMarkAsUnRead",
"MessageMarkAsImportant", "MessageMarkAsUnimportant",
- "MessageOpen", "MessageSaveAs",
+ "MessageFollowUpFlag", "MessageOpen", "MessageSaveAs",
"MessageForward", "MessageForwardAttached",
"MessageRedirect",
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index da955ff525..d4e63c54c1 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -1473,9 +1473,9 @@ static EPopupMenu context_menu[] = {
E_POPUP_SEPARATOR,
- { N_("Flag for Follow-up"), NULL, GTK_SIGNAL_FUNC (flag_for_followup), NULL, CAN_FLAG_FOR_FOLLOWUP },
- { N_("Flag Completed"), NULL, GTK_SIGNAL_FUNC (flag_followup_completed), NULL, CAN_FLAG_COMPLETED },
- { N_("Clear Flag"), NULL, GTK_SIGNAL_FUNC (flag_followup_clear), NULL, CAN_CLEAR_FLAG },
+ { N_("Follow _Up..."), NULL, GTK_SIGNAL_FUNC (flag_for_followup), NULL, CAN_FLAG_FOR_FOLLOWUP },
+ { N_("Flag Com_pleted"), NULL, GTK_SIGNAL_FUNC (flag_followup_completed), NULL, CAN_FLAG_COMPLETED },
+ { N_("Clear Fla_g"), NULL, GTK_SIGNAL_FUNC (flag_followup_clear), NULL, CAN_CLEAR_FLAG },
/* separator here? */
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 16676620d2..dc57cf8d68 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -1892,6 +1892,15 @@ flag_for_followup (BonoboUIComponent *uih, void *user_data, const char *path)
gnome_dialog_button_connect (GNOME_DIALOG (editor), 1, tag_editor_cancel, data);
gnome_dialog_set_close (GNOME_DIALOG (editor), TRUE);
+ /* special-case... */
+ if (uids->len == 1) {
+ const char *tag_value;
+
+ tag_value = camel_folder_get_message_user_tag (fb->folder, uids->pdata[0], "follow-up");
+ if (tag_value)
+ message_tag_editor_set_value (MESSAGE_TAG_EDITOR (editor), tag_value);
+ }
+
gtk_signal_connect (GTK_OBJECT (editor), "destroy",
tag_editor_destroy, data);
diff --git a/mail/message-tag-editor.c b/mail/message-tag-editor.c
index 01934eaec9..13967bab0e 100644
--- a/mail/message-tag-editor.c
+++ b/mail/message-tag-editor.c
@@ -146,6 +146,7 @@ void
message_tag_editor_set_value (MessageTagEditor *editor, const char *value)
{
g_return_if_fail (IS_MESSAGE_TAG_EDITOR (editor));
+ g_return_if_fail (value != NULL);
((MessageTagEditorClass *)((GtkObject *) editor)->klass)->set_value (editor, value);
}
diff --git a/mail/message-tag-followup.c b/mail/message-tag-followup.c
index 067dd941ee..8306fead8b 100644
--- a/mail/message-tag-followup.c
+++ b/mail/message-tag-followup.c
@@ -152,14 +152,8 @@ static void
set_widget_values (MessageTagFollowUp *followup)
{
time_t completed;
- GtkWidget *item;
- GList *items;
-
- items = GTK_MENU_SHELL (followup->type)->children;
- item = g_list_nth_data (items, followup->tag->type);
gtk_option_menu_set_history (followup->type, followup->tag->type);
- gtk_signal_emit_by_name (GTK_OBJECT (followup->type), "activate", followup);
e_date_edit_set_time (followup->target_date, followup->tag->target_date);