diff options
-rw-r--r-- | mail/ChangeLog | 17 | ||||
-rw-r--r-- | mail/folder-browser-ui.c | 14 | ||||
-rw-r--r-- | mail/folder-browser.c | 6 | ||||
-rw-r--r-- | mail/mail-callbacks.c | 9 | ||||
-rw-r--r-- | mail/message-tag-editor.c | 1 | ||||
-rw-r--r-- | mail/message-tag-followup.c | 6 |
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); |