aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/mailing-list-actions/ChangeLog16
-rw-r--r--plugins/mailing-list-actions/mailing-list-actions.c23
-rw-r--r--plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml6
-rw-r--r--plugins/mailing-list-actions/org-gnome-mailing-list-actions-errors.xml.h4
-rw-r--r--plugins/mailing-list-actions/org-gnome-mailing-list-actions.eplug.in46
-rw-r--r--plugins/mailing-list-actions/org-gnome-mailing-list-actions.xml32
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>