gchar buf[BUFFSIZE];
gchar *str;
gchar *name;
+ GSList *list;
+ gchar * std_headers[] = {"To", "Cc", "Bcc", "Newsgroups", "Reply-To", "Followup-To", NULL};
+
/* struct utsname utsbuf; */
g_return_val_if_fail(fp != NULL, -1);
fprintf(fp, "Disposition-Notification-To: %s\n", compose->account->address);
}
}
-
+
+ /* get special headers */
+ for (list = compose->header_list; list; list = list->next) {
+ ComposeHeaderEntry *headerentry;
+ gchar * headerentryname;
+ gchar * headerentryvalue;
+ gchar **string;
+ gboolean standard_header = FALSE;
+
+ headerentry = ((ComposeHeaderEntry *)list->data);
+ headerentryname = g_strdup(gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(headerentry->combo)->entry)));
+ headerentryvalue = gtk_entry_get_text(GTK_ENTRY(headerentry->entry));
+ if (strstr(headerentryname,":"))
+ headerentryname = strtok(headerentryname,":");
+ string = std_headers;
+ while (*string != NULL) {
+ if (!strcmp(*string,headerentryname))
+ standard_header = TRUE;
+ string++;
+ }
+ if (!standard_header && !IS_IN_CUSTOM_HEADER(headerentryname))
+ fprintf(fp,"%s: %s\n",headerentryname, headerentryvalue);
+
+ g_free(headerentryname);
+ }
+
/* separator between header and body */
fputs("\n", fp);
-
+
return 0;
}
GList *combo_list = NULL;
gchar **string, *header;
ComposeHeaderEntry *headerentry;
+ gboolean standard_header = FALSE;
headerentry = g_new0(ComposeHeaderEntry, 1);
}
gtk_combo_set_popdown_strings(GTK_COMBO(combo), combo_list);
g_list_free(combo_list);
- gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(combo)->entry), FALSE);
+ gtk_editable_set_editable(GTK_EDITABLE(GTK_COMBO(combo)->entry), TRUE);
gtk_widget_show(combo);
gtk_table_attach(GTK_TABLE(compose->header_table), combo, 0, 1, compose->header_nextrow, compose->header_nextrow+1, GTK_SHRINK, GTK_FILL, 0, 0);
if(compose->header_last) {
- header = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(compose->header_last->combo)->entry));
- } else {
+ gchar *last_header_entry = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(compose->header_last->combo)->entry));
+ string = headers;
+ while (*string != NULL) {
+ if (!strcmp(*string,last_header_entry))
+ standard_header = TRUE;
+ string++;
+ }
+ if (standard_header)
+ header = gtk_entry_get_text(GTK_ENTRY(GTK_COMBO(compose->header_last->combo)->entry));
+ }
+ if (!compose->header_last || !standard_header) {
switch(compose->account->protocol) {
case A_NNTP:
header = prefs_common.trans_hdr ? _("Newsgroups:") : "Newsgroups:";