+2006-03-01 [colin] 2.0.0cvs95
+
+ * src/addr_compl.c
+ * src/addrbook.c
+ * src/addressbook.c
+ * src/addrindex.c
+ * src/folder_item_prefs.c
+ * src/headerview.c
+ * src/imap.c
+ * src/inc.c
+ * src/ldif.c
+ * src/mainwindow.c
+ * src/mh.c
+ * src/msgcache.c
+ * src/prefs_common.h
+ * src/prefs_msg_colors.c
+ * src/procheader.c
+ * src/procheader.h
+ * src/procmime.c
+ * src/procmsg.c
+ * src/procmsg.h
+ * src/send_message.h
+ * src/simple-gettext.c
+ * src/summaryview.c
+ * src/summaryview.h
+ * src/syldap.c
+ * src/textview.c
+ * src/undo.c
+ * src/common/ssl_certificate.c
+ * src/common/utils.c
+ * src/gtk/colorsel.c
+ * src/gtk/gtksctree.c
+ * src/gtk/gtkshruler.c
+ * src/plugins/trayicon/trayicon.c
+ #if 0 goes to /dev/null
+
2006-03-01 [colin] 2.0.0cvs94
* src/compose.c
( cvs diff -u -r 1.43.2.40 -r 1.43.2.41 src/toolbar.c; cvs diff -u -r 1.19.2.9 -r 1.19.2.10 src/toolbar.h; ) > 2.0.0cvs92.patchset
( cvs diff -u -r 1.18.2.26 -r 1.18.2.27 src/plugins/spamassassin/spamassassin.c; ) > 2.0.0cvs93.patchset
( cvs diff -u -r 1.382.2.248 -r 1.382.2.249 src/compose.c; cvs diff -u -r 1.179.2.94 -r 1.179.2.95 src/imap.c; cvs diff -u -r 1.149.2.43 -r 1.149.2.44 src/inc.c; cvs diff -u -r 1.29.2.8 -r 1.29.2.9 src/inc.h; cvs diff -u -r 1.94.2.79 -r 1.94.2.80 src/messageview.c; cvs diff -u -r 1.101.2.21 -r 1.101.2.22 src/news.c; cvs diff -u -r 1.18.2.27 -r 1.18.2.28 src/plugins/spamassassin/spamassassin.c; ) > 2.0.0cvs94.patchset
+( cvs diff -u -r 1.27.2.16 -r 1.27.2.17 src/addr_compl.c; cvs diff -u -r 1.22.2.7 -r 1.22.2.8 src/addrbook.c; cvs diff -u -r 1.60.2.48 -r 1.60.2.49 src/addressbook.c; cvs diff -u -r 1.28.2.14 -r 1.28.2.15 src/addrindex.c; cvs diff -u -r 1.2.2.11 -r 1.2.2.12 src/folder_item_prefs.c; cvs diff -u -r 1.8.2.15 -r 1.8.2.16 src/headerview.c; cvs diff -u -r 1.179.2.95 -r 1.179.2.96 src/imap.c; cvs diff -u -r 1.149.2.44 -r 1.149.2.45 src/inc.c; cvs diff -u -r 1.12.2.8 -r 1.12.2.9 src/ldif.c; cvs diff -u -r 1.274.2.101 -r 1.274.2.102 src/mainwindow.c; cvs diff -u -r 1.79.2.23 -r 1.79.2.24 src/mh.c; cvs diff -u -r 1.16.2.29 -r 1.16.2.30 src/msgcache.c; cvs diff -u -r 1.103.2.42 -r 1.103.2.43 src/prefs_common.h; cvs diff -u -r 1.1.2.14 -r 1.1.2.15 src/prefs_msg_colors.c; cvs diff -u -r 1.47.2.26 -r 1.47.2.27 src/procheader.c; cvs diff -u -r 1.11.2.5 -r 1.11.2.6 src/procheader.h; cvs diff -u -r 1.49.2.73 -r 1.49.2.74 src/procmime.c; cvs diff -u -r 1.150.2.55 -r 1.150.2.56 src/procmsg.c; cvs diff -u -r 1.60.2.25 -r 1.60.2.26 src/procmsg.h; cvs diff -u -r 1.1.4.3 -r 1.1.4.4 src/send_message.h; cvs diff -u -r 1.1.16.2 -r 1.1.16.3 src/simple-gettext.c; cvs diff -u -r 1.395.2.177 -r 1.395.2.178 src/summaryview.c; cvs diff -u -r 1.68.2.17 -r 1.68.2.18 src/summaryview.h; cvs diff -u -r 1.16.2.3 -r 1.16.2.4 src/syldap.c; cvs diff -u -r 1.96.2.97 -r 1.96.2.98 src/textview.c; cvs diff -u -r 1.13.2.6 -r 1.13.2.7 src/undo.c; cvs diff -u -r 1.4.2.5 -r 1.4.2.6 src/common/ssl_certificate.c; cvs diff -u -r 1.36.2.56 -r 1.36.2.57 src/common/utils.c; cvs diff -u -r 1.1.4.7 -r 1.1.4.8 src/gtk/colorsel.c; cvs diff -u -r 1.1.4.13 -r 1.1.4.14 src/gtk/gtksctree.c; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/gtk/gtkshruler.c; cvs diff -u -r 1.14.2.33 -r 1.14.2.34 src/plugins/trayicon/trayicon.c; ) > 2.0.0cvs95.patchset
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=94
+EXTRA_VERSION=95
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
return FALSE;
}
-#if 0
- /* also make tab / shift tab go to next previous completion entry. we're
- * changing the key value */
- if (event->keyval == GDK_Tab || event->keyval == GDK_ISO_Left_Tab) {
- event->keyval = (event->state & GDK_SHIFT_MASK)
- ? GDK_Up : GDK_Down;
- /* need to reset shift state if going up */
- if (event->state & GDK_SHIFT_MASK)
- event->state &= ~GDK_SHIFT_MASK;
- completion_window_advance_selection(GTK_CLIST(clist),
- event->keyval == GDK_Down ? TRUE : FALSE);
- return FALSE;
- }
-#endif
-
/* make tab move to next field */
if( event->keyval == GDK_Tab ) {
/* Reference to parent */
g_return_val_if_fail(book != NULL, NULL);
return addrcache_add_new_folder( book->addressCache, parent );
}
-#if 0
-{
- ItemFolder *folder = NULL;
- ItemFolder *p = parent;
-
- g_return_val_if_fail(book != NULL, NULL);
-
- if (!p)
- p = book->addressCache->rootFolder;
- folder = addritem_create_item_folder();
- addrcache_id_folder(book->addressCache, folder);
- if (addrcache_hash_add_folder(book->addressCache, folder)) {
- p->listFolder = g_list_append(p->listFolder, folder);
- ADDRITEM_PARENT(folder) = ADDRITEM_OBJECT(p);
- addrcache_set_dirty(book->addressCache, TRUE);
- }
- else {
- addritem_free_item_folder(folder);
- folder = NULL;
- }
- return folder;
-}
-#endif
/**
* Update address book attribute list for specified person. Note: The existing
GList *node,
gpointer *data );
-#if 0
-static void addressbook_entry_changed (GtkWidget *widget);
-#endif
-
static gboolean addressbook_list_button_pressed (GtkWidget *widget,
GdkEventButton *event,
gpointer data);
g_signal_connect(G_OBJECT(entry), "key_press_event",
G_CALLBACK(addressbook_entry_key_pressed),
NULL);
-#if 0
- g_signal_connect(G_OBJECT(entry), "changed",
- G_CALLBACK(addressbook_entry_changed), NULL);
-#endif
-
paned = gtk_hpaned_new();
gtk_box_pack_start(GTK_BOX(vbox2), paned, TRUE, TRUE, 0);
gtk_paned_add1(GTK_PANED(paned), ctree_swin);
}
-#if 0
-/**
- * Paste clipboard email addresses only into address list widget.
- */
-static void addressbook_clip_paste_address_cb( void ) {
- GtkCTree *clist = GTK_CTREE(addrbook.clist);
- GtkCTree *ctree;
- AddressObject *pobj = NULL;
- AddressDataSource *ds = NULL;
- AddressBookFile *abf = NULL;
- ItemFolder *folder = NULL;
- AddrItemObject *aio;
- gint cnt;
-
- if( addrbook.listSelected == NULL ) return;
-
- ctree = GTK_CTREE( addrbook.ctree );
- ds = addressbook_find_datasource( GTK_CTREE_NODE(addrbook.treeSelected) );
- if( ds == NULL ) return;
- if( addrindex_ds_get_readonly( ds ) ) {
- addressbook_ds_status_message(
- ds, _( "Cannot paste. Target address book is readonly." ) );
- return;
- }
-
- pobj = gtk_ctree_node_get_row_data( ctree, addrbook.treeSelected );
- if( pobj ) {
- if( pobj->type == ADDR_ITEM_FOLDER ) {
- folder = ADAPTER_FOLDER(pobj)->itemFolder;
- }
- }
-
- abf = addressbook_get_book_file();
- if( abf == NULL ) return;
-
- cnt = 0;
- aio = gtk_ctree_node_get_row_data( clist, addrbook.listSelected );
- if( aio->type == ADDR_ITEM_PERSON ) {
- ItemPerson *person;
-
- person = ( ItemPerson * ) aio;
- if( _clipBoard_->cutFlag ) {
- /* Paste/Cut */
- cnt = addrclip_paste_person_cut( _clipBoard_, abf, person );
-
- /* Remove all "cut" items */
- addrclip_delete_address( _clipBoard_ );
-
- /* Clear clipboard */
- addrclip_clear( _clipBoard_ );
- }
- else {
- /* Paste/Copy */
- cnt = addrclip_paste_person_copy( _clipBoard_, abf, person );
- }
- if( cnt > 0 ) {
- addritem_person_set_opened( person, TRUE );
- }
- }
-
- /* Display items pasted */
- if( cnt > 0 ) {
- gtk_sctree_select( GTK_SCTREE(ctree), addrbook.opened );
- addressbook_set_clist(
- gtk_ctree_node_get_row_data(GTK_CTREE(addrbook.ctree),
- addrbook.opened),
- TRUE);
- }
-}
-#endif
-
/**
* Add current treenode object to clipboard. Note that widget only allows
* one entry from the tree list to be selected.
}
}
-#if 0
-void addrbookctl_free_selection( GList *list ) {
- GList *node = list;
- while( node ) {
- AdapterInterface *adapter = node->data;
- adapter = NULL;
- node = g_list_next( node );
- }
- g_list_free( list );
-}
-#endif
-
/**
* Find GUI interface type specified interface type.
* \param ifType Interface type.
/* New attributes */
#define ATTAG_LDAP_DEFAULT "default"
-#if 0
-N_("Common address")
-N_("Personal address")
-#endif
-
#define DISP_NEW_COMMON _("Common addresses")
#define DISP_NEW_PERSONAL _("Personal addresses")
}
}
-#if 0
-static void addrindex_print_fragment_r(
- const AddressIfFragment *fragment, FILE *stream, gint lvl )
-{
- GList *node;
- gint i;
-
- for( i = 0; i < lvl; i++ )
- fprintf( stream, " " );
- fprintf( stream, "Element:%s:\n", fragment->name );
- node = fragment->attributes;
- while( node ) {
- AddressIfAttrib *nv = node->data;
- for( i = 0; i < lvl; i++ )
- fprintf( stream, " " );
- fprintf( stream, " %s : %s\n", nv->name, nv->value );
- node = g_list_next( node );
- }
- node = fragment->children;
- while( node ) {
- AddressIfFragment *child = node->data;
- addrindex_print_fragment_r( child, stream, 1+lvl );
- node = g_list_next( node );
- }
-}
-
-static void addrindex_print_fragment( const AddressIfFragment *fragment, FILE *stream ) {
- addrindex_print_fragment_r( fragment, stream, 0 );
-}
-#endif
-
/**
* Read/parse address index file, creating a data source for a regular
* intrinsic XML addressbook.
sig_status = ssl_certificate_check_signer(x509_cert);
-#if 0 /* disabled pref for now */
- if (sig_status == NULL && !prefs_common.ssl_ask_unknown_valid) {
- /* trust and accept silently if hostnames match */
- char *buf; /* don't free buf ! */
- if (X509_NAME_get_text_by_NID(X509_get_subject_name(x509_cert),
- NID_commonName, buf, 100) >= 0)
- if (!strcmp(buf, current_cert->host)) {
- g_free(sig_status);
- ssl_certificate_save(current_cert);
- ssl_certificate_destroy(current_cert);
- return TRUE;
- }
- }
-#endif
g_free(sig_status);
cur_cert_str = ssl_certificate_to_string(current_cert);
cur_cert_str);
g_free (cur_cert_str);
-#if 0 /* disabled for now */
- if (prefs_common.no_recv_err_panel) {
- log_error(_("%s\n\nMail won't be retrieved on this account until you save the certificate.\n(Uncheck the \"%s\" preference).\n"),
- err_msg,
- _("Don't popup error dialog on receive error"));
- g_free(err_msg);
- return FALSE;
- }
-#endif
cert_hook_data.cert = current_cert;
cert_hook_data.old_cert = NULL;
cert_hook_data.accept = FALSE;
g_free (cur_cert_str);
g_free (known_cert_str);
-#if 0
- if (prefs_common.no_recv_err_panel) {
- log_error(_("%s\n\nMail won't be retrieved on this account until you save the certificate.\n(Uncheck the \"%s\" preference).\n"),
- err_msg,
- _("Don't popup error dialog on receive error"));
- g_free(err_msg);
- return FALSE;
- }
-#endif
cert_hook_data.cert = current_cert;
cert_hook_data.old_cert = known_cert;
cert_hook_data.accept = FALSE;
return g_rename(oldpath, newpath);
}
-#if 0
-/* this seems to be slower than the stdio version... */
-gint copy_file(const gchar *src, const gchar *dest)
-{
- gint src_fd, dest_fd;
- gint n_read;
- gint n_write;
- gchar buf[BUFSIZ];
- gchar *dest_bak = NULL;
-
- if ((src_fd = open(src, O_RDONLY)) < 0) {
- FILE_OP_ERROR(src, "open");
- return -1;
- }
-
- if (is_file_exist(dest)) {
- dest_bak = g_strconcat(dest, ".bak", NULL);
- if (rename_force(dest, dest_bak) < 0) {
- FILE_OP_ERROR(dest, "rename");
- close(src_fd);
- g_free(dest_bak);
- return -1;
- }
- }
-
- if ((dest_fd = open(dest, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR)) < 0) {
- FILE_OP_ERROR(dest, "open");
- close(src_fd);
- if (dest_bak) {
- if (rename(dest_bak, dest) < 0)
- FILE_OP_ERROR(dest_bak, "rename");
- g_free(dest_bak);
- }
- return -1;
- }
-
- while ((n_read = read(src_fd, buf, sizeof(buf))) > 0) {
- gint len = n_read;
- gchar *bufp = buf;
-
- while (len > 0) {
- n_write = write(dest_fd, bufp, len);
- if (n_write <= 0) {
- g_warning("writing to %s failed.\n", dest);
- close(dest_fd);
- close(src_fd);
- g_unlink(dest);
- if (dest_bak) {
- if (rename(dest_bak, dest) < 0)
- FILE_OP_ERROR(dest_bak, "rename");
- g_free(dest_bak);
- }
- return -1;
- }
- len -= n_write;
- bufp += n_write;
- }
- }
-
- close(src_fd);
- close(dest_fd);
-
- if (n_read < 0 || get_file_size(src) != get_file_size(dest)) {
- g_warning("File copy from %s to %s failed.\n", src, dest);
- g_unlink(dest);
- if (dest_bak) {
- if (rename(dest_bak, dest) < 0)
- FILE_OP_ERROR(dest_bak, "rename");
- g_free(dest_bak);
- }
- return -1;
- }
- g_free(dest_bak);
-
- return 0;
-}
-#endif
-
-
/*
* Append src file body to the tail of dest file.
* Now keep_backup has no effects.
NULL, NULL, NULL},
{"sort_descending", "FALSE", &tmp_prefs.sort_descending, P_BOOL,
NULL, NULL, NULL},
- /*{"enable_thread", "TRUE", &tmp_prefs.enable_thread, P_BOOL,
- NULL, NULL, NULL},*/
-#if 0
- {"hide_score", "-9999", &tmp_prefs.kill_score, P_INT,
- NULL, NULL, NULL},
- {"important_score", "1", &tmp_prefs.important_score, P_INT,
- NULL, NULL, NULL},
-#endif
/* MIGRATION */
{"request_return_receipt", "", &tmp_prefs.request_return_receipt, P_BOOL,
NULL, NULL, NULL},
blue = (gint) (color[2] * 255.0);
rgbvalue_new = (gint) ((red * 0x10000) | (green * 0x100) | blue);
-#if 0
- fprintf(stderr, "redc = %f, greenc = %f, bluec = %f\n", color[0], color[1], color[2]);
- fprintf(stderr, "red = %d, green = %d, blue = %d\n", red, green, blue);
- fprintf(stderr, "Color is %x\n", rgbvalue);
-#endif
-
rgbvalue = rgbvalue_new;
}
GtkWidget *gtk_sctree_new_with_titles (gint columns, gint tree_column,
gchar *titles[])
{
-#if 0
- GtkSCTree* sctree;
-
- sctree = gtk_type_new (gtk_sctree_get_type ());
- gtk_ctree_construct (GTK_CTREE (sctree), columns, tree_column, titles);
-
- gtk_clist_set_selection_mode(GTK_CLIST(sctree), GTK_SELECTION_EXTENDED);
-
- return GTK_WIDGET (sctree);
-#else
GtkWidget *widget;
g_return_val_if_fail (columns > 0, NULL);
}
return widget;
-#endif
}
void gtk_sctree_select (GtkSCTree *sctree, GtkCTreeNode *node)
static void gtk_shruler_class_init (GtkSHRulerClass *klass);
static void gtk_shruler_init (GtkSHRuler *hruler);
static void gtk_shruler_draw_ticks (GtkRuler *ruler);
-#if 0
-static void gtk_shruler_draw_pos (GtkRuler *ruler);
-#endif
GType
gtk_shruler_get_type(void)
0, 0,
widget->allocation.width, widget->allocation.height);
-#if 0
- gdk_draw_line (ruler->backing_store, gc,
- xthickness,
- height + ythickness,
- widget->allocation.width - xthickness,
- height + ythickness);
-#endif
-
/* assume ruler->max_size has the char width */
/* i is increment of char_width, pos is label number
* y position is based on height of widget itself */
#define TR(str) (prefs_common.trans_hdr ? gettext(str) : str)
-#if 0
- _("From:");
- _("To:");
- _("Newsgroups:");
- _("Subject:");
-#endif
-
#if HAVE_LIBCOMPFACE
#define XPM_XFACE_HEIGHT (HEIGHT + 3) /* 3 = 1 header + 2 colors */
/* low-level IMAP4rev1 commands */
-#if 0
-static gint imap_cmd_authenticate(IMAPSession *session, const gchar *user,
- const gchar *pass, IMAPAuthType type)
-{
- gchar *auth_type;
- gint ok;
- gchar *buf = NULL;
- gchar *challenge;
- gint challenge_len;
- gchar hexdigest[33];
- gchar *response;
- gchar *response64;
-
- auth_type = "CRAM-MD5";
-
- imap_gen_send(session, "AUTHENTICATE %s", auth_type);
- ok = imap_gen_recv(session, &buf);
- if (ok != IMAP_SUCCESS || buf[0] != '+' || buf[1] != ' ') {
- g_free(buf);
- return IMAP_ERROR;
- }
-
- challenge = g_malloc(strlen(buf + 2) + 1);
- challenge_len = base64_decode(challenge, buf + 2, -1);
- challenge[challenge_len] = '\0';
- g_free(buf);
-
- md5_hex_hmac(hexdigest, challenge, challenge_len, pass, strlen(pass));
- g_free(challenge);
-
- response = g_strdup_printf("%s %s", user, hexdigest);
- response64 = g_malloc((strlen(response) + 3) * 2 + 1);
- base64_encode(response64, response, strlen(response));
- g_free(response);
-
- sock_puts(SESSION(session)->sock, response64);
- ok = imap_cmd_ok(session, NULL);
- if (ok != IMAP_SUCCESS)
- log_warning(_("IMAP4 authentication failed.\n"));
-
- return ok;
-}
-#endif
-
static gint imap_cmd_login(IMAPSession *session,
const gchar *user, const gchar *pass,
const gchar *type)
progress_dialog_set_label(inc_dialog->dialog, fin_msg);
-#if 0
- if (error_num && !prefs_common.no_recv_err_panel) {
- if (inc_dialog->show_dialog)
- manage_window_focus_in(inc_dialog->dialog->window,
- NULL, NULL);
- alertpanel_error_log(_("Some errors occurred while getting mail."));
- if (inc_dialog->show_dialog)
- manage_window_focus_out(inc_dialog->dialog->window,
- NULL, NULL);
- }
-#endif
-
while (inc_dialog->queue_list != NULL) {
session = inc_dialog->queue_list->data;
inc_session_destroy(session);
break;
case POP3_RETR:
case POP3_RETR_RECV:
- break;
case POP3_DELETE:
-#if 0
- if (session->msg[session->cur_msg].recv_time <
- session->current_time) {
- gchar buf[MSGBUFSIZE];
- g_snprintf(buf, sizeof(buf), _("Deleting message %d"),
- session->cur_msg);
- progress_dialog_set_label(dialog, buf);
- }
-#endif
break;
case POP3_LOGOUT:
progress_dialog_set_label(dialog, _("Quitting"));
rec->listID = NULL;
}
-#if 0
-/**
- * Print parsed data.
- * \param rec LDIF field object.
- * \param stream Output stream.
- */
-static void ldif_print_record( Ldif_ParsedRec *rec, FILE *stream ) {
- GSList *list;
-
- fprintf( stream, "LDIF Parsed Record:\n" );
- fprintf( stream, "common name:" );
- mgu_print_list( rec->listCName, stream );
- if( ! rec->listCName ) fprintf( stream, "\n" );
- fprintf( stream, "first name:" );
- mgu_print_list( rec->listFName, stream );
- if( ! rec->listFName ) fprintf( stream, "\n" );
- fprintf( stream, "last name:" );
- mgu_print_list( rec->listLName, stream );
- if( ! rec->listLName ) fprintf( stream, "\n" );
- fprintf( stream, "nick name:" );
- mgu_print_list( rec->listNName, stream );
- if( ! rec->listNName ) fprintf( stream, "\n" );
- fprintf( stream, "address:" );
- mgu_print_list( rec->listAddress, stream );
- if( ! rec->listAddress ) fprintf( stream, "\n" );
- fprintf( stream, "id:" );
- mgu_print_list( rec->listID, stream );
- if( ! rec->listID ) fprintf( stream, "\n" );
-
- list = rec->userAttr;
- while( list ) {
- Ldif_UserAttr *attr = list->data;
- fprintf( stream, "n/v:\t%s:\t:%s:\n", attr->name, attr->value );
- list = g_slist_next( list );
- }
- list = NULL;
-}
-#endif
-
/**
* Read file data into address cache.
* Note that one LDIF record identifies one entity uniquely with the
static void main_window_set_widgets (MainWindow *mainwin,
SeparateType type);
-#if 0
-static gboolean toolbar_account_button_pressed (GtkWidget *widget,
- GdkEventButton *event,
- gpointer data);
-#endif
-
static void toolbar_child_attached (GtkWidget *widget,
GtkWidget *child,
gpointer data);
mainwin_list = NULL;
}
-#if 0
-static gboolean toolbar_account_button_pressed(GtkWidget *widget,
- GdkEventButton *event,
- gpointer data)
-{
- MainWindow *mainwin = (MainWindow *)data;
-
- if (!event) return FALSE;
- if (event->button != 3) return FALSE;
-
- gtk_button_set_relief(GTK_BUTTON(widget), GTK_RELIEF_NORMAL);
- g_object_set_data(G_OBJECT(mainwin->ac_menu), "menu_button",
- widget);
-
- gtk_menu_popup(GTK_MENU(mainwin->ac_menu), NULL, NULL,
- menu_button_position, widget,
- event->button, event->time);
-
- return FALSE;
-}
-#endif
-
static void toolbar_child_attached(GtkWidget *widget, GtkWidget *child,
gpointer data)
{
switch (mainwin->type) {
case SEPARATE_NONE:
case SEPARATE_MESSAGE:
-#if 0
- if (active)
- gtk_widget_show(GTK_WIDGET_PTR(mainwin->folderview));
- else
- gtk_widget_hide(GTK_WIDGET_PTR(mainwin->folderview));
-#endif
break;
case SEPARATE_FOLDER:
debug_print("separate folder\n");
return msginfo;
}
-#if 0
-static gboolean mh_is_maildir_one(const gchar *path, const gchar *dir)
-{
- gchar *entry;
- gboolean result;
-
- entry = g_strconcat(path, G_DIR_SEPARATOR_S, dir, NULL);
- result = is_dir_exist(entry);
- g_free(entry);
-
- return result;
-}
-
-/*
- * check whether PATH is a Maildir style mailbox.
- * This is the case if the 3 subdir: new, cur, tmp are existing.
- * This functon assumes that entry is an directory
- */
-static gboolean mh_is_maildir(const gchar *path)
-{
- return mh_is_maildir_one(path, "new") &&
- mh_is_maildir_one(path, "cur") &&
- mh_is_maildir_one(path, "tmp");
-}
-#endif
-
static gboolean mh_remove_missing_folder_items_func(GNode *node, gpointer data)
{
FolderItem *item;
FolderItem *new_item = NULL;
GNode *node;
-#if 0
- if (mh_is_maildir(entry)) {
- g_free(entry);
- g_free(utf8entry);
- g_free(utf8name);
- continue;
- }
-#endif
-
node = item->node;
for (node = node->children; node != NULL; node = node->next) {
FolderItem *cur_item = FOLDER_ITEM(node->data);
gchar *ref = NULL;
guint memusage = 0;
guint tmp_len = 0;
-#if 0
- struct timeval start;
- struct timeval end;
- struct timeval diff;
- gettimeofday(&start, NULL);
-#endif
+
g_return_val_if_fail(cache_file != NULL, NULL);
g_return_val_if_fail(item != NULL, NULL);
debug_print("done. (%d items read)\n", g_hash_table_size(cache->msgnum_table));
debug_print("Cache size: %d messages, %d byte\n", g_hash_table_size(cache->msgnum_table), cache->memusage);
-#if 0
- gettimeofday(&end, NULL);
- timersub(&end, &start, &diff);
- printf("spent %d seconds %d usages %d;%d\n", diff.tv_sec, diff.tv_usec, cache->memusage, memusage);
-#endif
return cache;
}
static void create_trayicon()
{
gint n_entries = 0;
-#if 0
- GtkPacker *packer;
-#endif
trayicon = egg_tray_icon_new("Sylpheed-Claws");
gtk_widget_realize(GTK_WIDGET(trayicon));
gint io_timeout_secs;
-#if 0
-#ifdef USE_OPENSSL
- gboolean ssl_ask_unknown_valid;
-#endif
-#endif
-
/* Memory cache*/
gint cache_max_mem_usage;
gint cache_min_keep_time;
blue = (gint) (color[2] * 255.0);
rgbvalue = (gint) ((red * 0x10000) | (green * 0x100) | blue);
-#if 0
- fprintf(stderr, "redc = %f, greenc = %f, bluec = %f\n", color[0], color[1], color[2]);
- fprintf(stderr, "red = %d, green = %d, blue = %d\n", red, green, blue);
- fprintf(stderr, "Color is %x\n", rgbvalue);
-#endif
-
if (g_ascii_strcasecmp(type, "LEVEL1") == 0) {
prefs_common.quote_level1_col = rgbvalue;
set_button_bg_color(color_buttons.quote_level1_btn, rgbvalue);
FALSE);
}
-#if 0
-gchar *procheader_get_unfolded_line(gchar *buf, size_t len, FILE *fp)
-{
- gboolean folded = FALSE;
- gint nexthead;
- gchar *bufp;
-
- if (fgets(buf, len, fp) == NULL) return NULL;
- if (buf[0] == '\r' || buf[0] == '\n') return NULL;
- bufp = buf + strlen(buf);
-
- for (; bufp > buf &&
- (*(bufp - 1) == '\n' || *(bufp - 1) == '\r');
- bufp--)
- *(bufp - 1) = '\0';
-
- while (1) {
- nexthead = fgetc(fp);
-
- /* folded */
- if (nexthead == ' ' || nexthead == '\t')
- folded = TRUE;
- else if (nexthead == EOF)
- break;
- else if (folded == TRUE) {
- if ((len - (bufp - buf)) <= 2) break;
-
- if (nexthead == '\n') {
- folded = FALSE;
- continue;
- }
-
- /* replace return code on the tail end
- with space */
- *bufp++ = ' ';
- *bufp++ = nexthead;
- *bufp = '\0';
-
- /* concatenate next line */
- if (fgets(bufp, len - (bufp - buf), fp)
- == NULL) break;
- bufp += strlen(bufp);
-
- for (; bufp > buf &&
- (*(bufp - 1) == '\n' || *(bufp - 1) == '\r');
- bufp--)
- *(bufp - 1) = '\0';
-
- folded = FALSE;
- } else {
- ungetc(nexthead, fp);
- break;
- }
- }
-
- /* remove trailing return code */
- strretchomp(buf);
-
- return buf;
-}
-#endif
-
-#if 0
-GSList *procheader_get_header_list_from_file(const gchar *file)
-{
- FILE *fp;
- GSList *hlist;
-
- if ((fp = g_fopen(file, "rb")) == NULL) {
- FILE_OP_ERROR(file, "fopen");
- return NULL;
- }
-
- hlist = procheader_get_header_list(fp);
-
- fclose(fp);
- return hlist;
-}
-
-GSList *procheader_get_header_list(FILE *fp)
-{
- gchar buf[BUFFSIZE];
- GSList *hlist = NULL;
- Header *header;
-
- g_return_val_if_fail(fp != NULL, NULL);
-
- while (procheader_get_unfolded_line(buf, sizeof(buf), fp) != NULL) {
- if ((header = procheader_parse_header(buf)) != NULL)
- hlist = g_slist_append(hlist, header);
- /*
- if (*buf == ':') continue;
- for (p = buf; *p && *p != ' '; p++) {
- if (*p == ':') {
- header = g_new(Header, 1);
- header->name = g_strndup(buf, p - buf);
- p++;
- while (*p == ' ' || *p == '\t') p++;
- conv_unmime_header(tmp, sizeof(tmp), p, NULL);
- header->body = g_strdup(tmp);
-
- hlist = g_slist_append(hlist, header);
- break;
- }
- }
- */
- }
-
- return hlist;
-}
-#endif
-
-#if 0
-GPtrArray *procheader_get_header_array(FILE *fp)
-{
- gchar buf[BUFFSIZE];
- GPtrArray *headers;
- Header *header;
-
- g_return_val_if_fail(fp != NULL, NULL);
-
- headers = g_ptr_array_new();
-
- while (procheader_get_unfolded_line(buf, sizeof(buf), fp) != NULL) {
- if ((header = procheader_parse_header(buf)) != NULL)
- g_ptr_array_add(headers, header);
- /*
- if (*buf == ':') continue;
- for (p = buf; *p && *p != ' '; p++) {
- if (*p == ':') {
- header = g_new(Header, 1);
- header->name = g_strndup(buf, p - buf);
- p++;
- while (*p == ' ' || *p == '\t') p++;
- conv_unmime_header(tmp, sizeof(tmp), p, NULL);
- header->body = g_strdup(tmp);
-
- g_ptr_array_add(headers, header);
- break;
- }
- }
- */
- }
-
- return headers;
-}
-#endif
-
GPtrArray *procheader_get_header_array_asis(FILE *fp)
{
gchar buf[BUFFSIZE];
return headers;
}
-#if 0
-void procheader_header_list_destroy(GSList *hlist)
-{
- Header *header;
-
- while (hlist != NULL) {
- header = hlist->data;
- procheader_header_free(header);
- hlist = g_slist_remove(hlist, header);
- }
-}
-#endif
-
void procheader_header_array_destroy(GPtrArray *harray)
{
gint i;
size_t len,
FILE *fp);
-#if 0
-GSList *procheader_get_header_list_from_file (const gchar *file);
-GSList *procheader_get_header_list (FILE *fp);
-void procheader_header_list_destroy (GSList *hlist);
-
-GPtrArray *procheader_get_header_array (FILE *fp);
-#endif
-
GPtrArray *procheader_get_header_array_asis (FILE *fp);
void procheader_header_array_destroy (GPtrArray *harray);
void procheader_header_free (Header *header);
g_node_destroy(node);
}
-#if 0 /* UNUSED */
-MimeInfo *procmime_mimeinfo_insert(MimeInfo *parent, MimeInfo *mimeinfo)
-{
- MimeInfo *child = parent->children;
-
- if (!child)
- parent->children = mimeinfo;
- else {
- while (child->next != NULL)
- child = child->next;
-
- child->next = mimeinfo;
- }
-
- mimeinfo->parent = parent;
- mimeinfo->level = parent->level + 1;
-
- return mimeinfo;
-}
-
-void procmime_mimeinfo_replace(MimeInfo *old, MimeInfo *new)
-{
- MimeInfo *parent = old->parent;
- MimeInfo *child;
-
- g_return_if_fail(parent != NULL);
- g_return_if_fail(new->next == NULL);
-
- for (child = parent->children; child && child != old;
- child = child->next)
- ;
- if (!child) {
- g_warning("oops: parent can't find it's own child");
- return;
- }
- procmime_mimeinfo_free_all(old);
-
- if (child == parent->children) {
- new->next = parent->children->next;
- parent->children = new;
- } else {
- new->next = child->next;
- child = new;
- }
-}
-#endif
-
MimeInfo *procmime_mimeinfo_parent(MimeInfo *mimeinfo)
{
g_return_val_if_fail(mimeinfo != NULL, NULL);
fclose(fp);
return 0;
}
-#if 0
-gchar *procmsg_add_special_headers(const gchar *in, FolderItem *item)
-{
- gchar *out = get_tmp_file();
- FILE *fp = NULL;
- PrefsAccount *account = NULL;
- if (out == NULL)
- return NULL;
-
- fp = fopen(out, "wb");
- if (fp == NULL) {
- g_free(out);
- return NULL;
- }
-
- if (item && item->prefs && item->prefs->enable_default_account)
- account = account_find_from_id(item->prefs->default_account);
-
- if (!account) account = cur_account;
-
- if (!account) {
- fclose(fp);
- g_free(out);
- return NULL;
- }
-
- fprintf(fp, "X-Sylpheed-Account-Id:%d\n", account->account_id);
- fprintf(fp, "S:%s\n", account->address);
- if (item && item->prefs && item->prefs->save_copy_to_folder) {
- gchar *folderidentifier;
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(compose->savemsg_checkbtn), prefs_common.savemsg);
- folderidentifier = folder_item_get_identifier(item);
- fprintf(fp, "SCF:%s\n", folderidentifier);
- g_free(folderidentifier);
- } else if (account_get_special_folder(account, F_OUTBOX)) {
- gchar *folderidentifier = folder_item_get_identifier(account_get_special_folder
- (compose->account, F_OUTBOX));
- fprintf(fp, "SCF:%s\n", folderidentifier);
- g_free(folderidentifier);
- }
-
- fprintf(fp, "\n");
- fclose(fp);
- return out;
-}
-#endif
gint procmsg_save_to_outbox(FolderItem *outbox, const gchar *file,
gboolean is_queued)
{
#define MSG_DELETED (1U << 3)
#define MSG_REPLIED (1U << 4)
#define MSG_FORWARDED (1U << 5)
-#if 0
-#define MSG_REALLY_DELETED (1U << 6) /* mbox stuff */
-#endif
#define MSG_CLABEL_SBIT (7) /* start bit of color label */
#define MAKE_MSG_CLABEL(h, m, l) (((h) << (MSG_CLABEL_SBIT + 2)) | \
gint send_message (const gchar *file,
PrefsAccount *ac_prefs,
GSList *to_list);
-#if 0
-gint send_message_queue (const gchar *file);
-#endif
gint send_message_local (const gchar *command,
FILE *fp);
gint send_message_smtp (PrefsAccount *ac_prefs,
return msgid;
}
-#if 0
- unsigned int cp1, cp2;
-
- cp1 = GetConsoleCP();
- cp2 = GetConsoleOutputCP();
-
- log_info("InputCP=%u OutputCP=%u\n", cp1, cp2 );
-
- if( !SetConsoleOutputCP( 1252 ) )
- log_info("SetConsoleOutputCP failed: %d\n", (int)GetLastError() );
-
- cp1 = GetConsoleCP();
- cp2 = GetConsoleOutputCP();
- log_info("InputCP=%u OutputCP=%u after switch1\n", cp1, cp2 );
-#endif
-
#endif /* USE_SIMPLE_GETTEXT */
void summary_simplify_subject(SummaryView *summaryview, gchar * rexp,
GSList * mlist);
-#if 0
-void summary_processing(SummaryView *summaryview, GSList * mlist);
-#endif
static void summary_filter_func (MsgInfo *msginfo);
static void summary_colorlabel_menu_item_activate_cb
}
-#if 0
-GtkCTreeNode * summary_find_next_important_score(SummaryView *summaryview,
- GtkCTreeNode *current_node)
-{
- GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
- GtkCTreeNode *node;
- MsgInfo *msginfo;
- gint best_score = MIN_SCORE;
- GtkCTreeNode *best_node = NULL;
-
- if (current_node)
- /*node = current_node;*/
- node = GTK_CTREE_NODE_NEXT(current_node);
- else
- node = GTK_CTREE_NODE(GTK_CLIST(ctree)->row_list);
-
- for (; node != NULL; node = GTK_CTREE_NODE_NEXT(node)) {
- msginfo = gtk_ctree_node_get_row_data(ctree, node);
- if (msginfo->score >= summaryview->important_score)
- break;
- if (msginfo->score > best_score) {
- best_score = msginfo->score;
- best_node = node;
- }
- }
-
- if (node != NULL)
- return node;
- else
- return best_node;
-}
-
-GtkCTreeNode * summary_find_prev_important_score(SummaryView *summaryview,
- GtkCTreeNode *current_node)
-{
- GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
- GtkCTreeNode *node;
- MsgInfo *msginfo;
- gint best_score = MIN_SCORE;
- GtkCTreeNode *best_node = NULL;
-
- if (current_node)
- /*node = current_node;*/
- node = GTK_CTREE_NODE_PREV(current_node);
- else
- node = GTK_CTREE_NODE(GTK_CLIST(ctree)->row_list);
-
- for (; node != NULL; node = GTK_CTREE_NODE_PREV(node)) {
- msginfo = gtk_ctree_node_get_row_data(ctree, node);
- if (msginfo->score >= summaryview->important_score)
- break;
- if (msginfo->score > best_score) {
- best_score = msginfo->score;
- best_node = node;
- }
- }
-
- if (node != NULL)
- return node;
- else
- return best_node;
-}
-#endif
-
#define CURRENTLY_DISPLAYED(m) \
( (m->msgnum == displayed_msgnum) \
&& (!g_ascii_strcasecmp(m->folder->name,item->name)) )
}
gtk_ctree_node_set_foreground
(ctree, row, &summaryview->color_marked);
-#if 0
- } else if ((global_scoring ||
- summaryview->folder_item->prefs->scoring) &&
- (msginfo->score >= summaryview->important_score) &&
- (MSG_IS_MARKED(msginfo->flags) || MSG_IS_MOVE(msginfo->flags) || MSG_IS_COPY(msginfo->flags))) {
- gtk_ctree_node_set_text(ctree, row, S_COL_MARK, "!");
- gtk_ctree_node_set_foreground(ctree, row,
- &summaryview->color_important);
-#endif
} else {
gtk_ctree_node_set_text(ctree, row, col_pos[S_COL_MARK], "");
}
gtk_ctree_set_line_style(GTK_CTREE(ctree), GTK_CTREE_LINES_DOTTED);
gtk_ctree_set_expander_style(GTK_CTREE(ctree),
GTK_CTREE_EXPANDER_SQUARE);
-#if 0
- gtk_ctree_set_line_style(GTK_CTREE(ctree), GTK_CTREE_LINES_NONE);
- gtk_ctree_set_expander_style(GTK_CTREE(ctree),
- GTK_CTREE_EXPANDER_TRIANGLE);
-#endif
gtk_ctree_set_indent(GTK_CTREE(ctree), 12);
g_object_set_data(G_OBJECT(ctree), "summaryview", (gpointer)summaryview);
summaryview->thread_collapsed = item->thread_collapsed;
/* Scoring */
-#if 0
- if (global_scoring || item->prefs->scoring) {
- summaryview->important_score = prefs_common.important_score;
- if (item->prefs->important_score >
- summaryview->important_score)
- summaryview->important_score =
- item->prefs->important_score;
- }
-#endif
}
void summary_save_prefs_to_folderitem(SummaryView *summaryview, FolderItem *item)
void summary_set_column_order (SummaryView *summaryview);
-#if 0 /* OLD PROCESSING */
-void processing_apply();
-#endif
-
void summary_toggle_show_read_messages
(SummaryView *summaryview);
fprintf( stream, " ret val: %d\n", ldapServer->retVal );
}
-#if 0
-/*
-* Build an address list entry and append to list of address items. Name is formatted
-* as it appears in the common name (cn) attribute.
-*/
-static void syldap_build_items_cn( SyldapServer *ldapServer, GSList *listName, GSList *listAddr ) {
- ItemPerson *person;
- ItemEMail *email;
- GSList *nodeName = listName;
-
- while( nodeName ) {
- GSList *nodeAddress = listAddr;
- person = addritem_create_item_person();
- addritem_person_set_common_name( person, nodeName->data );
- addrcache_id_person( ldapServer->addressCache, person );
- addrcache_add_person( ldapServer->addressCache, person );
-
- while( nodeAddress ) {
- email = addritem_create_item_email();
- addritem_email_set_address( email, nodeAddress->data );
- addrcache_id_email( ldapServer->addressCache, email );
- addrcache_person_add_email( ldapServer->addressCache, person, email );
- nodeAddress = g_slist_next( nodeAddress );
- ldapServer->entriesRead++;
- }
- nodeName = g_slist_next( nodeName );
- }
-}
-#endif
-
/*
* Build an address list entry and append to list of address items. Name is formatted
* as "<first-name> <last-name>".
(gushort)0xcfff
};
-#if 0
-static GdkColor error_color = {
- (gulong)0,
- (gushort)0xefff,
- (gushort)0,
- (gushort)0
-};
-#endif
-
-
static GdkCursor *hand_cursor = NULL;
static GdkCursor *text_cursor = NULL;
void undo_paste_clipboard_cb(GtkTextView *textview, UndoMain *undostruct)
{
-#if 0
- if (editable->clipboard_text == NULL) return;
-#endif
-
if (prefs_common.undolevels > 0)
if (undo_get_selection(textview, NULL, NULL))
undostruct->paste = TRUE;