} else {
if (mailto) {
compose_entry_append(compose, mailto, COMPOSE_NEWSGROUPS);
+ } else if (item) {
+ compose_entry_append(compose, item->path, COMPOSE_NEWSGROUPS);
}
/*
* CLAWS: just don't allow return receipt request, even if the user
PrefsAccount *reply_account;
GtkTextView *textview;
GtkTextBuffer *textbuf;
- GtkTextIter iter;
- int cursor_pos;
g_return_val_if_fail(msginfo != NULL, NULL);
g_return_val_if_fail(msginfo->folder != NULL, NULL);
if (account->auto_sig)
compose_insert_sig(compose, FALSE);
- cursor_pos = quote_fmt_get_cursor_pos();
- gtk_text_buffer_get_start_iter(textbuf, &iter);
- gtk_text_buffer_get_iter_at_offset(textbuf, &iter, cursor_pos);
- gtk_text_buffer_place_cursor(textbuf, &iter);
-
compose_wrap_all(compose);
gtk_widget_grab_focus(compose->text);
GtkTextIter start = *iter;
GtkTextIter end_iter;
int start_pos = gtk_text_iter_get_offset(&start);
-
+ gchar *str = NULL;
if (!compose->account->sig_sep)
return FALSE;
start_pos+strlen(compose->account->sig_sep));
/* check sig separator */
- if (!strcmp(gtk_text_iter_get_text(&start, &end_iter),
- compose->account->sig_sep)) {
+ str = gtk_text_iter_get_text(&start, &end_iter);
+ if (!strcmp(str, compose->account->sig_sep)) {
+ gchar *tmp = NULL;
/* check end of line (\n) */
gtk_text_buffer_get_iter_at_offset(textbuf, &start,
start_pos+strlen(compose->account->sig_sep));
gtk_text_buffer_get_iter_at_offset(textbuf, &end_iter,
start_pos+strlen(compose->account->sig_sep)+1);
-
- if (!strcmp(gtk_text_iter_get_text(&start, &end_iter),"\n"));
+ tmp = gtk_text_iter_get_text(&start, &end_iter);
+ if (!strcmp(tmp,"\n")) {
+ g_free(str);
+ g_free(tmp);
return TRUE;
-
-
+ }
+ g_free(tmp);
}
+ g_free(str);
return FALSE;
}
gint len;
gboolean prev_autowrap;
const gchar *trimmed_body = body;
+ gint cursor_pos = 0;
GtkTextView *text = GTK_TEXT_VIEW(compose->text);
GtkTextBuffer *buffer = gtk_text_view_get_buffer(text);
+ GtkTextIter iter;
if (!msginfo)
msginfo = &dummyinfo;
compose);
for (p = buf; *p != '\0'; ) {
GtkTextMark *mark;
- GtkTextIter iter;
-
mark = gtk_text_buffer_get_insert(buffer);
gtk_text_buffer_get_iter_at_mark(buffer, &iter, mark);
break;
}
+ cursor_pos = quote_fmt_get_cursor_pos();
+ gtk_text_buffer_get_start_iter(buffer, &iter);
+ gtk_text_buffer_get_iter_at_offset(buffer, &iter, cursor_pos);
+ gtk_text_buffer_place_cursor(buffer, &iter);
+
+
compose->autowrap = prev_autowrap;
if (compose->autowrap)
compose_wrap_all(compose);
compose_entry_append(compose,
msginfo->folder->prefs->default_reply_to,
COMPOSE_TO);
- } else
- compose_entry_append(compose,
+ compose_entry_mark_default_to(compose,
+ msginfo->folder->prefs->default_reply_to);
+ } else {
+ gchar *tmp1 = NULL;
+ Xstrdup_a(tmp1, msginfo->from, return);
+ extract_address(tmp1);
+ if (to_all || to_sender ||
+ !account_find_from_address(tmp1))
+ compose_entry_append(compose,
(compose->replyto && !to_sender)
- ? compose->replyto :
- msginfo->from ? msginfo->from : "",
- COMPOSE_TO);
+ ? compose->replyto :
+ msginfo->from ? msginfo->from : "",
+ COMPOSE_TO);
+ else if (!to_all && !to_sender) {
+ /* reply to the last list of recipients */
+ compose_entry_append(compose,
+ msginfo->to ? msginfo->to : "",
+ COMPOSE_TO);
+ compose_entry_append(compose,
+ msginfo->cc ? msginfo->cc : "",
+ COMPOSE_CC);
+ }
+ }
} else {
if (to_sender || (compose->followup_to &&
!strncmp(compose->followup_to, "poster", 6)))
g_free(compose->exteditor_file);
g_free(compose->orig_charset);
+
+ g_free(compose->privacy_system);
+
if (addressbook_get_target_compose() == compose)
addressbook_set_target_compose(NULL);