*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "defs.h"
#include "filtering.h"
#include "partial_download.h"
#include "gedit-print.h"
+#include "inc.h"
static GList *messageview_list = NULL;
static GtkItemFactoryEntry msgview_entries[] =
{
{N_("/_File"), NULL, NULL, 0, "<Branch>"},
- {N_("/_File/_Save as..."), NULL, save_as_cb, 0, NULL},
- {N_("/_File/_Print..."), NULL, print_cb, 0, NULL},
+ {N_("/_File/_Save as..."), "<control>S", save_as_cb, 0, NULL},
+ {N_("/_File/_Print..."), "<control>P", print_cb, 0, NULL},
{N_("/_File/---"), NULL, NULL, 0, "<Separator>"},
- {N_("/_File/_Close"), NULL, close_cb, 0, NULL},
+ {N_("/_File/_Close"), "<control>W", close_cb, 0, NULL},
{N_("/_Edit"), NULL, NULL, 0, "<Branch>"},
- {N_("/_Edit/_Copy"), NULL, copy_cb, 0, NULL},
- {N_("/_Edit/Select _all"), NULL, allsel_cb, 0, NULL},
+ {N_("/_Edit/_Copy"), "<control>C", copy_cb, 0, NULL},
+ {N_("/_Edit/Select _all"), "<control>A", allsel_cb, 0, NULL},
{N_("/_Edit/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Edit/_Find in current message..."),
- NULL, search_cb, 0, NULL},
+ "<control>F", search_cb, 0, NULL},
{N_("/_View"), NULL, NULL, 0, "<Branch>"},
#undef DEC_ACTION
{N_("/_View/---"), NULL, NULL, 0, "<Separator>"},
- {N_("/_View/Mess_age source"), NULL, view_source_cb, 0, NULL},
- {N_("/_View/Show all _headers"),NULL, show_all_header_cb, 0, "<ToggleItem>"},
+ {N_("/_View/Mess_age source"), "<control>U", view_source_cb, 0, NULL},
+ {N_("/_View/Show all _headers"),"<control>H", show_all_header_cb, 0, "<ToggleItem>"},
{N_("/_Message"), NULL, NULL, 0, "<Branch>"},
{N_("/_Message/Compose _new message"),
- NULL, compose_cb, 0, NULL},
+ "<control>M", compose_cb, 0, NULL},
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
- {N_("/_Message/_Reply"), NULL, reply_cb, COMPOSE_REPLY, NULL},
+ {N_("/_Message/_Reply"), "<control>R", reply_cb, COMPOSE_REPLY, NULL},
{N_("/_Message/Repl_y to/_all"),
- NULL, reply_cb, COMPOSE_REPLY_TO_ALL, NULL},
+ "<control><shift>R", reply_cb, COMPOSE_REPLY_TO_ALL, NULL},
{N_("/_Message/Repl_y to/_sender"),
NULL, reply_cb, COMPOSE_REPLY_TO_SENDER, NULL},
{N_("/_Message/Repl_y to/mailing _list"),
- NULL, reply_cb, COMPOSE_REPLY_TO_LIST, NULL},
+ "<control>L", reply_cb, COMPOSE_REPLY_TO_LIST, NULL},
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
- {N_("/_Message/_Forward"), NULL, reply_cb, COMPOSE_FORWARD, NULL},
+ {N_("/_Message/_Forward"), "<control><alt>F", reply_cb, COMPOSE_FORWARD_INLINE, NULL},
{N_("/_Message/For_ward as attachment"),
NULL, reply_cb, COMPOSE_FORWARD_AS_ATTACH, NULL},
{N_("/_Message/Redirec_t"), NULL, reply_cb, COMPOSE_REDIRECT, NULL},
{N_("/_Message/Re-_edit"), NULL, reedit_cb, 0, NULL},
{N_("/_Tools"), NULL, NULL, 0, "<Branch>"},
- {N_("/_Tools/_Address book"), NULL, addressbook_open_cb, 0, NULL},
+ {N_("/_Tools/_Address book"), "<control><shift>A", addressbook_open_cb, 0, NULL},
{N_("/_Tools/Add sender to address boo_k"),
NULL, add_address_cb, 0, NULL},
{N_("/_Tools/---"), NULL, NULL, 0, "<Separator>"},
AlertValue val;
gchar *message;
message = g_strdup_printf(
- _("The notification address to which the "
- "return receipt is to be sent\n"
- "does not correspond to the return path:\n"
- "Notification address: %s\n"
- "Return path: %s\n"
- "It is advised to not to send the return "
- "receipt."), to, buf);
- val = alertpanel_full(_("Warning"), message,
- _("Send"), _("+Don't Send"), NULL, FALSE,
+ _("The notification address to which the return receipt is\n"
+ "to be sent does not correspond to the return path:\n"
+ "Notification address: %s\n"
+ "Return path: %s\n"
+ "It is advised to not to send the return receipt."),
+ to, buf);
+ val = alertpanel_full(_("Warning"), message, _("_Send"),
+ _("+_Don't Send"), NULL, FALSE,
NULL, ALERT_WARNING, G_ALERTALTERNATE);
g_free(message);
if (val != G_ALERTDEFAULT)
if (ac_list == NULL) {
AlertValue val =
alertpanel_full(_("Warning"),
- _("This message is asking for a return "
- "receipt notification\n"
- "but according to its 'To:' and 'CC:' "
- "headers it was not\nofficially addressed "
- "to you.\n"
- "It is advised to not to send the return ."
- "receipt."),
- _("Send"), _("+Don't Send"),NULL, FALSE,
- NULL, ALERT_WARNING, G_ALERTALTERNATE);
+ _("This message is asking for a return receipt notification\n"
+ "but according to its 'To:' and 'CC:' headers it was not\n"
+ "officially addressed to you.\n"
+ "It is advised to not to send the return receipt."),
+ _("_Send"), _("+_Don't Send"),NULL, FALSE,
+ NULL, ALERT_WARNING, G_ALERTALTERNATE);
if (val != G_ALERTDEFAULT)
return -1;
}
- if (g_list_length(ac_list) > 1)
- account = select_account_from_list(ac_list);
+ if (g_list_length(ac_list) > 1) {
+ if ((account = select_account_from_list(ac_list)) == NULL)
+ return -1;
+ }
else if (ac_list != NULL)
account = (PrefsAccount *) ac_list->data;
g_list_free(ac_list);
g_snprintf(tmp, sizeof(tmp), "%s%ctmpmsg%d",
get_rc_dir(), G_DIR_SEPARATOR, (gint)msginfo);
- if ((fp = fopen(tmp, "wb")) == NULL) {
+ if ((fp = g_fopen(tmp, "wb")) == NULL) {
FILE_OP_ERROR(tmp, "fopen");
return -1;
}
if (fclose(fp) == EOF) {
FILE_OP_ERROR(tmp, "fclose");
- unlink(tmp);
+ g_unlink(tmp);
return -1;
}
if (!queue) queue = folder_get_default_queue();
if (!queue) {
g_warning("can't find queue folder\n");
- unlink(tmp);
+ g_unlink(tmp);
return -1;
}
folder_item_scan(queue);
if ((num = folder_item_add_msg(queue, tmp, NULL, TRUE)) < 0) {
g_warning("can't queue the message\n");
- unlink(tmp);
+ g_unlink(tmp);
return -1;
}
- if (prefs_common.work_offline)
- if (alertpanel(_("Offline warning"),
- _("You're working offline. Override?"),
- GTK_STOCK_YES, GTK_STOCK_NO, NULL) != G_ALERTDEFAULT)
- return 0;
+ if (prefs_common.work_offline && !inc_offline_should_override())
+ return 0;
/* send it */
path = folder_item_fetch_msg(queue, num);
{
gchar *file;
MimeInfo *mimeinfo, *encinfo;
-
+ gchar *subject = NULL;
g_return_val_if_fail(msginfo != NULL, -1);
mimeinfo = procmime_scan_message(msginfo);
messageview->all_headers);
mimeview_show_message(messageview->mimeview, mimeinfo, file);
+
+ if (messageview->window)
+ gtk_window_set_title(GTK_WINDOW(messageview->window),
+ _("Sylpheed-Claws - Message View"));
+ if (messageview->window && msginfo->subject) {
+ subject = g_strdup(msginfo->subject);
+ if (!g_utf8_validate(subject, -1, NULL)) {
+ g_free(subject);
+ subject = g_malloc(strlen(msginfo->subject)*2 +1);
+ conv_localetodisp(subject, strlen(msginfo->subject)*2 +1,
+ msginfo->subject);
+ }
+ if (g_utf8_validate(subject, -1, NULL))
+ gtk_window_set_title(GTK_WINDOW(messageview->window),
+ subject);
+ g_free(subject);
+ }
+
messageview_set_position(messageview, 0);
if (messageview->msginfo->partial_recv)
messageview_destroy(messageview);
return TRUE;
}
+ mimeview_pass_key_press_event(messageview->mimeview, event);
return FALSE;
}
"accounts.\n"
"Please choose which account do you want to "
"use for sending the receipt notification:"),
- _("Send Notification"), _("+Cancel"), NULL,
+ _("_Send Notification"), _("+_Cancel"), NULL,
optmenu) != G_ALERTDEFAULT)
return NULL;
return account_find_from_id(account_id);
if (!messageview->msginfo) return;
msginfo = messageview->msginfo;
if (!msginfo->folder) return;
- if (msginfo->folder->stype != F_OUTBOX &&
- msginfo->folder->stype != F_DRAFT &&
- msginfo->folder->stype != F_QUEUE) return;
+ if (!folder_has_parent_of_type(msginfo->folder, F_DRAFT) &&
+ !folder_has_parent_of_type(msginfo->folder, F_OUTBOX) &&
+ !folder_has_parent_of_type(msginfo->folder, F_QUEUE))
+ return;
compose_reedit(msginfo);
}