diff options
6 files changed, 78 insertions, 49 deletions
diff --git a/plugins/mailing-list-actions/ChangeLog b/plugins/mailing-list-actions/ChangeLog index 60f4d154ab..1a91a30939 100644 --- a/plugins/mailing-list-actions/ChangeLog +++ b/plugins/mailing-list-actions/ChangeLog @@ -1,3 +1,19 @@ +2004-11-04 Meilof Veeningen <meilof@wanadoo.nl> + + * org-gnome-mailing-list-actions.eplug.in: Added author tag, fixed + description, removed "plugin" from name, changed position of item + in popup menu, using "enable" rather than "visible" for bonobo menus + + * org-gnome-mailing-list-actions.xml: Now place menus in + MailMessageActions placeholder; moved label to <commands> section + + * org-gnome-mailing-list-actions-errors.xml: fixed button order: + "Cancel" now leftmost button; added e-mail address to send confirm + dialog + + * mailing-list-actions.c: account guessing now first based on message; + added e-mail address to send confirm dialog + 2004-11-09 Rodney Dawes <dobey@novell.com> * Makefile.am: Add org-gnome-mailing-list-actions.xml to EXTRA_DIST diff --git a/plugins/mailing-list-actions/mailing-list-actions.c b/plugins/mailing-list-actions/mailing-list-actions.c index c8fbddb971..c8b0e15ea8 100644 --- a/plugins/mailing-list-actions/mailing-list-actions.c +++ b/plugins/mailing-list-actions/mailing-list-actions.c @@ -95,13 +95,13 @@ void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage { emla_action_data *action_data = (emla_action_data *) data; EmlaAction action = action_data->action; - const char* header = NULL, *headerpos; + const char* header = NULL, *headerpos, *fromurl = NULL; char *end, *url = NULL; int t; GError *err; EMsgComposer *composer; int send_message_response; - EAccount *account; + EAccount *account = NULL; for (t = 0; t < emla_n_action_headers; t++) { if (emla_action_headers[t].action == action && @@ -140,20 +140,29 @@ void emla_list_action_do (CamelFolder *folder, const char *uid, CamelMimeMessage url[end-headerpos] = '\0'; if (strncmp (url, "mailto:", 6) == 0) { - if (emla_action_headers[t].interactive) + if (emla_action_headers[t].interactive) { send_message_response = GTK_RESPONSE_NO; - else - send_message_response = e_error_run (NULL, "org.gnome.mailing-list-actions:ask-send-message", url, NULL); + } else { + fromurl = camel_mime_message_get_source (msg); + account = mail_config_get_account_by_source_url (fromurl); + if (!account) { + fromurl = action_data->uri; + account = mail_config_get_account_by_source_url (fromurl); + } + send_message_response = e_error_run (NULL, "org.gnome.mailing-list-actions:ask-send-message", + (account && account->id && account->id->address) ? account->id->address : "(default e-mail)", + url, NULL); + } if (send_message_response == GTK_RESPONSE_YES) { /* directly send message */ composer = e_msg_composer_new_from_url (url); - if ((account = mail_config_get_account_by_source_url (action_data->uri))) + if (account) e_msg_composer_hdrs_set_from_account ((EMsgComposerHdrs *) composer->hdrs, account->name); em_utils_composer_send_cb (composer, NULL); } else if (send_message_response == GTK_RESPONSE_NO) { /* show composer */ - em_utils_compose_new_message_with_mailto (url, action_data->uri); + em_utils_compose_new_message_with_mailto (url, fromurl); } goto exit; diff --git a/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml b/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml index 69b20fa834..2a7192638f 100644 --- a/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml +++ b/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml @@ -13,12 +13,12 @@ <error id="ask-send-message" type="question" default="GTK_RESPONSE_YES"> <primary>Send e-mail message to mailing list?</primary> - <secondary>An e-mail message will be sent to the URL "{0}". You can either send the message automatically, or see and change it first. + <secondary>An e-mail message will be sent to the URL "{1}", using the e-mail address "{0}". You can either send the message automatically, or see and change it first. You should receive an answer from the mailing list shortly after the message has been sent.</secondary> - <button label="_Send message" response="GTK_RESPONSE_YES"/> - <button label="_Edit message" response="GTK_RESPONSE_NO"/> <button stock="gtk-cancel" response="GTK_RESPONSE_CANCEL"/> + <button label="_Edit message" response="GTK_RESPONSE_NO"/> + <button label="_Send message" response="GTK_RESPONSE_YES"/> </error> <error id="malformed-header" type="error"> diff --git a/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h b/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h index a5bbbbcc20..9518fc4318 100644 --- a/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h +++ b/plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h @@ -9,11 +9,11 @@ char *s = N_("Posting to this mailing list is not allowed. Possibly, this is a r /* org.gnome.mailing-list-actions:ask-send-message primary */ char *s = N_("Send e-mail message to mailing list?"); /* org.gnome.mailing-list-actions:ask-send-message secondary */ -char *s = N_("An e-mail message will be sent to the URL \"{0}\". You can either send the message automatically, or see and change it first.\n" +char *s = N_("An e-mail message will be sent to the URL \"{1}\", using the e-mail address \"{0}\". You can either send the message automatically, or see and change it first.\n" "\n" "You should receive an answer from the mailing list shortly after the message has been sent."); -char *s = N_("_Send message"); char *s = N_("_Edit message"); +char *s = N_("_Send message"); /* org.gnome.mailing-list-actions:malformed-header primary */ char *s = N_("Malformed header"); /* org.gnome.mailing-list-actions:malformed-header secondary */ diff --git a/plugins/mailing-list-actions/org-gnome-mailing-list-actions.eplug.in b/plugins/mailing-list-actions/org-gnome-mailing-list-actions.eplug.in index 749bc9fdc3..d8418bff75 100644 --- a/plugins/mailing-list-actions/org-gnome-mailing-list-actions.eplug.in +++ b/plugins/mailing-list-actions/org-gnome-mailing-list-actions.eplug.in @@ -5,38 +5,38 @@ id="org.gnome.plugin.mailing-list.actions" domain="eplug-mailing-list-actions" location="@PLUGINDIR@/liborg-gnome-mailing-list-actions.so" - name="Mailing List Actions plugin" - description="Provide actions for common mailing list commands (subscribe, unsubscribe, ...)"> + name="Mailing List Actions"> + <author name="Meilof Veeningen" email="meilof@wanadoo.nl"/> + <description>Provide actions for common mailing list commands such as subscribing, unsubscribing and posting to the mailing list</description> <hook class="org.gnome.evolution.mail.bonobomenu:1.0"> <menu id="org.gnome.evolution.mail.browser" target="select"> <ui file="@PLUGINDIR@/org-gnome-mailing-list-actions.xml"/> - <item type="item" verb="ListHelp" path="/commands/ListHelp" visible="mailing_list" activate="emla_list_help"/> - <item type="item" verb="ListSubscribe" path="/commands/ListSubscribe" visible="mailing_list" activate="emla_list_subscribe"/> - <item type="item" verb="ListUnsubscribe" path="/commands/ListUnsubscribe" visible="mailing_list" activate="emla_list_unsubscribe"/> - <item type="item" verb="ListPost" path="/commands/ListPost" visible="mailing_list" activate="emla_list_post"/> - <item type="item" verb="ListOwner" path="/commands/ListOwner" visible="mailing_list" activate="emla_list_owner"/> - <item type="item" verb="ListArchive" path="/commands/ListArchive" visible="mailing_list" activate="emla_list_archive"/> + <item type="item" verb="ListHelp" path="/commands/ListHelp" enable="mailing_list" activate="emla_list_help"/> + <item type="item" verb="ListSubscribe" path="/commands/ListSubscribe" enable="mailing_list" activate="emla_list_subscribe"/> + <item type="item" verb="ListUnsubscribe" path="/commands/ListUnsubscribe" enable="mailing_list" activate="emla_list_unsubscribe"/> + <item type="item" verb="ListPost" path="/commands/ListPost" enable="mailing_list" activate="emla_list_post"/> + <item type="item" verb="ListOwner" path="/commands/ListOwner" enable="mailing_list" activate="emla_list_owner"/> + <item type="item" verb="ListArchive" path="/commands/ListArchive" enable="mailing_list" activate="emla_list_archive"/> </menu> <menu id="org.gnome.evolution.mail.messagebrowser" target="select"> <ui file="@PLUGINDIR@/org-gnome-mailing-list-actions.xml"/> - <item type="item" verb="ListHelp" path="/commands/ListHelp" visible="mailing_list" activate="emla_list_help"/> - <item type="item" verb="ListSubscribe" path="/commands/ListSubscribe" visible="mailing_list" activate="emla_list_subscribe"/> - <item type="item" verb="ListUnsubscribe" path="/commands/ListUnsubscribe" visible="mailing_list" activate="emla_list_unsubscribe"/> - <item type="item" verb="ListPost" path="/commands/ListPost" visible="mailing_list" activate="emla_list_post"/> - <item type="item" verb="ListOwner" path="/commands/ListOwner" visible="mailing_list" activate="emla_list_owner"/> - <item type="item" verb="ListArchive" path="/commands/ListArchive" visible="mailing_list" activate="emla_list_archive"/> + <item type="item" verb="ListHelp" path="/commands/ListHelp" enable="mailing_list" activate="emla_list_help"/> + <item type="item" verb="ListSubscribe" path="/commands/ListSubscribe" enable="mailing_list" activate="emla_list_subscribe"/> + <item type="item" verb="ListUnsubscribe" path="/commands/ListUnsubscribe" enable="mailing_list" activate="emla_list_unsubscribe"/> + <item type="item" verb="ListPost" path="/commands/ListPost" enable="mailing_list" activate="emla_list_post"/> + <item type="item" verb="ListOwner" path="/commands/ListOwner" enable="mailing_list" activate="emla_list_owner"/> + <item type="item" verb="ListArchive" path="/commands/ListArchive" enable="mailing_list" activate="emla_list_archive"/> </menu> </hook> <hook class="org.gnome.evolution.mail.popup:1.0"> - <menu id="org.gnome.mail.folderview.popup.select" target="select"> - <item type="bar" path="96.list" visible="mailing_list" activate=""/> - <item type="submenu" path="96.list.00" visible="mailing_list" activate="" label="Mailing _List"/> - <item type="item" verb="ListHelp" path="96.list.00/00.help" label="Get list _usage information" visible="mailing_list" activate="emla_list_help"/> - <item type="item" verb="ListSubscribe" path="96.list.00/10.subscribe" label="_Subscribe to list" visible="mailing_list" activate="emla_list_subscribe"/> - <item type="item" verb="ListUnsubscribe" path="96.list.00/20.unsubscribe" label="_Un-subscribe to list" visible="mailing_list" activate="emla_list_unsubscribe"/> - <item type="item" verb="ListPost" path="96.list.00/30.post" label="_Post message to list" visible="mailing_list" activate="emla_list_post"/> - <item type="item" verb="ListOwner" path="96.list.00/40.owner" label="Contact list _owner" visible="mailing_list" activate="emla_list_owner"/> - <item type="item" verb="ListArchive" path="96.list.00/50.archive" label="Get list _archive" visible="mailing_list" activate="emla_list_archive"/> + <menu id="org.gnome.evolution.mail.folderview.popup" target="select"> + <item type="submenu" path="20.emfv.50" visible="mailing_list" activate="" label="Mailing _List"/> + <item type="item" verb="ListHelp" path="20.emfv.50/00.help" label="Get list _usage information" visible="mailing_list" activate="emla_list_help"/> + <item type="item" verb="ListSubscribe" path="20.emfv.50/10.subscribe" label="_Subscribe to list" visible="mailing_list" activate="emla_list_subscribe"/> + <item type="item" verb="ListUnsubscribe" path="20.emfv.50/20.unsubscribe" label="_Un-subscribe to list" visible="mailing_list" activate="emla_list_unsubscribe"/> + <item type="item" verb="ListPost" path="20.emfv.50/30.post" label="_Post message to list" visible="mailing_list" activate="emla_list_post"/> + <item type="item" verb="ListOwner" path="20.emfv.50/40.owner" label="Contact list _owner" visible="mailing_list" activate="emla_list_owner"/> + <item type="item" verb="ListArchive" path="20.emfv.50/50.archive" label="Get list _archive" visible="mailing_list" activate="emla_list_archive"/> </menu> </hook> </e-plugin> diff --git a/plugins/mailing-list-actions/org-gnome-mailing-list-actions.xml b/plugins/mailing-list-actions/org-gnome-mailing-list-actions.xml index 726a9dbaa8..a5b5d73acc 100644 --- a/plugins/mailing-list-actions/org-gnome-mailing-list-actions.xml +++ b/plugins/mailing-list-actions/org-gnome-mailing-list-actions.xml @@ -1,23 +1,27 @@ <Root> <commands> - <cmd name="ListHelp" _tip="Get information about the usage of the list this message belongs to"/> - <cmd name="ListSubscribe" _tip="Subscribe to the mailing list this message belongs to"/> - <cmd name="ListUnsubscribe" _tip="Unsubscribe to the mailing list this message belongs to"/> - <cmd name="ListPost" _tip="Post a message to the mailing list this message belongs to"/> - <cmd name="ListOwner" _tip="Contact the owner of the mailing list this message belongs to"/> - <cmd name="ListArchive" _tip="Get an archive of the list this message belongs to"/> + <cmd name="ListHelp" _label="Get list _usage information" _tip="Get information about the usage of the list this message belongs to"/> + <cmd name="ListSubscribe" _label="_Subscribe to list" _tip="Subscribe to the mailing list this message belongs to"/> + <cmd name="ListUnsubscribe" _label="_Un-subscribe to list" _tip="Unsubscribe to the mailing list this message belongs to"/> + <cmd name="ListPost" _label="_Post message to list" _tip="Post a message to the mailing list this message belongs to"/> + <cmd name="ListOwner" _label="Contact list _owner" _tip="Contact the owner of the mailing list this message belongs to"/> + <cmd name="ListArchive" _label="Get list _archive" _tip="Get an archive of the list this message belongs to"/> </commands> <menu> <submenu name="Actions"> - <submenu name="List" _label="Mailing _List"> - <menuitem verb="ListHelp" _label="Get list _usage information"/> - <menuitem verb="ListSubscribe" _label="_Subscribe to list"/> - <menuitem verb="ListUnsubscribe" _label="_Un-subscribe to list"/> - <menuitem verb="ListPost" _label="_Post message to list"/> - <menuitem verb="ListOwner" _label="Contact list _owner"/> - <menuitem verb="ListArchive" _label="Get list _archive"/> - </submenu> + <placeholder name="ComponentActionsPlaceholder"> + <placeholder name="MailMessageActions"> + <submenu name="List" _label="Mailing _List"> + <menuitem name="ListHelp" verb=""/> + <menuitem name="ListSubscribe" verb=""/> + <menuitem name="ListUnsubscribe" verb=""/> + <menuitem name="ListPost" verb=""/> + <menuitem name="ListOwner" verb=""/> + <menuitem name="ListArchive" verb=""/> + </submenu> + </placeholder> + </placeholder> </submenu> </menu> </Root> |