GtkWidget *chkbtn_swapfrom;
GtkWidget *chkbtn_hscrollbar;
+ GtkWidget *chkbtn_useaddrbook;
} display;
static struct Message {
{"enable_hscrollbar", "TRUE", &prefs_common.enable_hscrollbar, P_BOOL,
&display.chkbtn_hscrollbar,
prefs_set_data_from_toggle, prefs_set_toggle},
+ {"use_address_book", "TRUE", &prefs_common.use_addr_book, P_BOOL,
+ &display.chkbtn_useaddrbook,
+ prefs_set_data_from_toggle, prefs_set_toggle},
{"date_format", "%y/%m/%d(%a) %H:%M", &prefs_common.date_format,
P_STRING, &entry_datefmt,
prefs_set_data_from_entry, prefs_set_entry},
GtkWidget *vbox2;
GtkWidget *chkbtn_swapfrom;
GtkWidget *chkbtn_hscrollbar;
+ GtkWidget *chkbtn_useaddrbook;
GtkWidget *hbox1;
GtkWidget *label_datefmt;
GtkWidget *button_dispitem;
PACK_CHECK_BUTTON
(vbox2, chkbtn_swapfrom,
_("Display recipient on `From' column if sender is yourself"));
+ PACK_CHECK_BUTTON
+ (vbox2, chkbtn_useaddrbook,
+ _("Display sender using address book"));
PACK_CHECK_BUTTON
(vbox2, chkbtn_hscrollbar, _("Enable horizontal scroll bar"));
display.chkbtn_folder_unread = chkbtn_folder_unread;
display.chkbtn_transhdr = chkbtn_transhdr;
- display.chkbtn_swapfrom = chkbtn_swapfrom;
- display.chkbtn_hscrollbar = chkbtn_hscrollbar;
+ display.chkbtn_swapfrom = chkbtn_swapfrom;
+ display.chkbtn_hscrollbar = chkbtn_hscrollbar;
+ display.chkbtn_useaddrbook = chkbtn_useaddrbook;
}
static void prefs_message_create(void)
#include "filter.h"
#include "folder.h"
#include "addressbook.h"
+#include "addr_compl.h"
#include "scoring.h"
#include "pixmaps/dir-open.xpm"
msgid_table = g_hash_table_new(g_str_hash, g_str_equal);
summaryview->msgid_table = msgid_table;
+ if (prefs_common.use_addr_book)
+ start_address_completion();
+
if (prefs_common.enable_thread) {
for (; mlist != NULL; mlist = mlist->next) {
msginfo = (MsgInfo *)mlist->data;
optimal_width);
}
+ if (prefs_common.use_addr_book)
+ end_address_completion();
+
debug_print(_("done.\n"));
STATUSBAR_POP(summaryview->mainwin);
if (debug_mode)
{
static gchar date_modified[80];
static gchar *to = NULL;
+ static gchar *from_name = NULL;
static gchar col_number[11];
static gchar col_score[11];
}
}
+ if ((text[S_COL_FROM] != to) && prefs_common.use_addr_book &&
+ msginfo->from) {
+ gint count;
+ gchar *from;
+
+ Xalloca(from, strlen(msginfo->from) + 1, return);
+ strcpy(from, msginfo->from);
+ extract_address(from);
+ count = complete_address(from);
+ if (count > 1) {
+ g_free(from_name);
+ from = get_complete_address(1);
+ from_name = procheader_get_fromname(from);
+ g_free(from);
+ text[S_COL_FROM] = from_name;
+ }
+ }
+
text[S_COL_SUBJECT] = msginfo->subject ? msginfo->subject :
_("(No Subject)");
}