* src/mainwindow.c
Add Windows-1252 encoding
* src/prefs_common.c
Rework some defaults:
- autosave to draft by default
- don't show header pane (it's already in the textview)
- Select first new or unread mail on entry
- Assume 'Yes' to change folder when there's no more
unread message
* src/prefs_matcher.c
Fix a gtk assertion failure
* src/gtk/colorlabel.c
Workaround bad repainting on selection
* src/main.c
Freeze/thaw (a bit faster on ssh -X)
* src/msgcache.c
Get rid of StrdupConverter that just adds an
extra strdup/free
* src/etpan/imap_thread.c
memset buf to 0
+2005-10-10 [colin] 1.9.15cvs28
+
+ * src/mainwindow.c
+ Add Windows-1252 encoding
+ * src/prefs_common.c
+ Rework some defaults:
+ - autosave to draft by default
+ - don't show header pane (it's already in the textview)
+ - Select first new or unread mail on entry
+ - Assume 'Yes' to change folder when there's no more
+ unread message
+ * src/prefs_matcher.c
+ Fix a gtk assertion failure
+ * src/gtk/colorlabel.c
+ Workaround bad repainting on selection
+ * src/main.c
+ Freeze/thaw (a bit faster on ssh -X)
+ * src/msgcache.c
+ Get rid of StrdupConverter that just adds an
+ extra strdup/free
+ * src/etpan/imap_thread.c
+ memset buf to 0
+
2005-10-10 [colin] 1.9.15cvs27
* src/export.c
2005-10-10 [colin] 1.9.15cvs27
* src/export.c
( cvs diff -u -r 1.382.2.180 -r 1.382.2.181 src/compose.c; cvs diff -u -r 1.50.2.14 -r 1.50.2.15 src/compose.h; ) > 1.9.15cvs25.patchset
( cvs diff -u -r 1.274.2.70 -r 1.274.2.71 src/mainwindow.c; cvs diff -u -r 1.94.2.66 -r 1.94.2.67 src/messageview.c; cvs diff -u -r 1.395.2.133 -r 1.395.2.134 src/summaryview.c; ) > 1.9.15cvs26.patchset
( cvs diff -u -r 1.8.2.12 -r 1.8.2.13 src/export.c; cvs diff -u -r 1.13.2.11 -r 1.13.2.12 src/import.c; ) > 1.9.15cvs27.patchset
( cvs diff -u -r 1.382.2.180 -r 1.382.2.181 src/compose.c; cvs diff -u -r 1.50.2.14 -r 1.50.2.15 src/compose.h; ) > 1.9.15cvs25.patchset
( cvs diff -u -r 1.274.2.70 -r 1.274.2.71 src/mainwindow.c; cvs diff -u -r 1.94.2.66 -r 1.94.2.67 src/messageview.c; cvs diff -u -r 1.395.2.133 -r 1.395.2.134 src/summaryview.c; ) > 1.9.15cvs26.patchset
( cvs diff -u -r 1.8.2.12 -r 1.8.2.13 src/export.c; cvs diff -u -r 1.13.2.11 -r 1.13.2.12 src/import.c; ) > 1.9.15cvs27.patchset
+( cvs diff -u -r 1.115.2.57 -r 1.115.2.58 src/main.c; cvs diff -u -r 1.274.2.71 -r 1.274.2.72 src/mainwindow.c; cvs diff -u -r 1.16.2.27 -r 1.16.2.28 src/msgcache.c; cvs diff -u -r 1.204.2.60 -r 1.204.2.61 src/prefs_common.c; cvs diff -u -r 1.43.2.25 -r 1.43.2.26 src/prefs_matcher.c; cvs diff -u -r 1.1.4.22 -r 1.1.4.23 src/etpan/imap-thread.c; cvs diff -u -r 1.2.2.8 -r 1.2.2.9 src/gtk/colorlabel.c; ) > 1.9.15cvs28.patchset
MICRO_VERSION=15
INTERFACE_AGE=0
BINARY_AGE=0
MICRO_VERSION=15
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
void imap_logger(int direction, const char * str, size_t size)
{
gchar buf[512];
void imap_logger(int direction, const char * str, size_t size)
{
gchar buf[512];
strncpy(buf, str, size > 510 ? 510:size);
buf[511] = '\0';
if (size < 511)
strncpy(buf, str, size > 510 ? 510:size);
buf[511] = '\0';
if (size < 511)
#include "colorlabel.h"
#include "utils.h"
#include "colorlabel.h"
#include "utils.h"
static gchar *labels[] = {
N_("Orange"),
static gchar *labels[] = {
N_("Orange"),
gc = gdk_gc_new(drawable);
gdk_gc_set_foreground(gc, &color);
gc = gdk_gc_new(drawable);
gdk_gc_set_foreground(gc, &color);
- gdk_draw_rectangle(drawable, gc,
- TRUE, 0, 0, widget->allocation.width - 1,
- widget->allocation.height - 1);
gdk_draw_rectangle(drawable, widget->style->black_gc,
FALSE, 0, 0, widget->allocation.width - 1,
widget->allocation.height - 1);
gdk_draw_rectangle(drawable, widget->style->black_gc,
FALSE, 0, 0, widget->allocation.width - 1,
widget->allocation.height - 1);
+ gdk_draw_rectangle(drawable, gc,
+ TRUE, 1, 1, widget->allocation.width - 2,
+ widget->allocation.height - 2);
+/* Work around a gtk bug (?): without that, the selected menu item's
+ * colored rectangle is drawn at 0,0 in the window...
+ */
+static void refresh_menu (GtkWidget *menushell, gpointer data)
+{
+ GtkMenu *menu = (GtkMenu *)data;
+ GtkWidget *widget = gtk_menu_get_attach_widget(menu);
+ gtk_widget_hide_all(widget);
+ gtk_widget_unrealize(widget);
+ gtk_widget_show_all(widget);
+ gtk_widget_queue_draw(widget);
+}
+
/* colorlabel_create_color_menu() - creates a color menu without
* checkitems, probably for use in combo items */
GtkWidget *colorlabel_create_color_menu(void)
/* colorlabel_create_color_menu() - creates a color menu without
* checkitems, probably for use in combo items */
GtkWidget *colorlabel_create_color_menu(void)
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
gtk_widget_show(item);
}
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
gtk_widget_show(item);
}
+
+ g_signal_connect(G_OBJECT(menu), "selection-done",
+ G_CALLBACK(refresh_menu), menu);
gtk_widget_show(menu);
return menu;
gtk_widget_show(menu);
return menu;
gtk_window_set_default_icon(icon);
folderview_initialize();
gtk_window_set_default_icon(icon);
folderview_initialize();
mh_gtk_init();
imap_gtk_init();
news_gtk_init();
mh_gtk_init();
imap_gtk_init();
news_gtk_init();
(prefs_common.sep_folder | prefs_common.sep_msg << 1);
folderview = mainwin->folderview;
(prefs_common.sep_folder | prefs_common.sep_msg << 1);
folderview = mainwin->folderview;
+ gtk_clist_freeze(GTK_CLIST(mainwin->folderview->ctree));
+ folder_item_update_freeze();
+
/* register the callback of unix domain socket input */
#ifdef G_OS_UNIX
lock_socket_tag = gdk_input_add(lock_socket,
/* register the callback of unix domain socket input */
#ifdef G_OS_UNIX
lock_socket_tag = gdk_input_add(lock_socket,
/* make one all-folder processing before using sylpheed */
main_window_cursor_wait(mainwin);
folder_func_to_all_folders(initial_processing, (gpointer *)mainwin);
/* make one all-folder processing before using sylpheed */
main_window_cursor_wait(mainwin);
folder_func_to_all_folders(initial_processing, (gpointer *)mainwin);
- main_window_cursor_normal(mainwin);
/* if Sylpheed crashed, rebuild caches */
if (!cmd.crash && crash_file_present) {
/* if Sylpheed crashed, rebuild caches */
if (!cmd.crash && crash_file_present) {
#ifdef HAVE_STARTUP_NOTIFICATION
startup_notification_complete(FALSE);
#endif
#ifdef HAVE_STARTUP_NOTIFICATION
startup_notification_complete(FALSE);
#endif
+ folder_item_update_thaw();
+ gtk_clist_thaw(GTK_CLIST(mainwin->folderview->ctree));
+ main_window_cursor_normal(mainwin);
if (cmd.receive_all)
g_timeout_add(1000, defer_check_all, GINT_TO_POINTER(FALSE));
if (cmd.receive_all)
g_timeout_add(1000, defer_check_all, GINT_TO_POINTER(FALSE));
ENC_ACTION(C_ISO_8859_1)},
{N_("/_View/Character _encoding/Western European (ISO-8859-15)"),
ENC_ACTION(C_ISO_8859_15)},
ENC_ACTION(C_ISO_8859_1)},
{N_("/_View/Character _encoding/Western European (ISO-8859-15)"),
ENC_ACTION(C_ISO_8859_15)},
+ {N_("/_View/Character _encoding/Western European (Windows-1252)"),
+ ENC_ACTION(C_WINDOWS_1252)},
ENC_SEPARATOR,
{N_("/_View/Character _encoding/Central European (ISO-8859-_2)"),
ENC_SEPARATOR,
{N_("/_View/Character _encoding/Central European (ISO-8859-_2)"),
if (srccharset == NULL || dstcharset == NULL) {
conv = NULL;
} else if (strcmp(srccharset, dstcharset) == 0) {
if (srccharset == NULL || dstcharset == NULL) {
conv = NULL;
} else if (strcmp(srccharset, dstcharset) == 0) {
- StrdupConverter *strdupconv;
+ debug_print("using Noop Converter\n");
- debug_print("using StrdupConverter\n");
-
- strdupconv = g_new0(StrdupConverter, 1);
- strdupconv->converter.convert = strconv_strdup_convert;
- strdupconv->converter.free = NULL;
-
- conv = (StringConverter *) strdupconv;
} else {
CharsetConverter *charsetconv;
} else {
CharsetConverter *charsetconv;
NULL, NULL, NULL},
{"linewrap_before_sending", "FALSE", &prefs_common.linewrap_at_send, P_BOOL,
NULL, NULL, NULL},
NULL, NULL, NULL},
{"linewrap_before_sending", "FALSE", &prefs_common.linewrap_at_send, P_BOOL,
NULL, NULL, NULL},
- {"autosave", "FALSE", &prefs_common.autosave,
+ {"autosave", "TRUE", &prefs_common.autosave,
P_BOOL, NULL, NULL, NULL},
{"autosave_length", "50", &prefs_common.autosave_length, P_INT,
NULL, NULL, NULL},
P_BOOL, NULL, NULL, NULL},
{"autosave_length", "50", &prefs_common.autosave_length, P_INT,
NULL, NULL, NULL},
{"convert_mb_alnum", "FALSE", &prefs_common.conv_mb_alnum, P_BOOL,
NULL, NULL, NULL},
{"convert_mb_alnum", "FALSE", &prefs_common.conv_mb_alnum, P_BOOL,
NULL, NULL, NULL},
- {"display_header_pane", "TRUE", &prefs_common.display_header_pane,
+ {"display_header_pane", "FALSE", &prefs_common.display_header_pane,
P_BOOL, NULL, NULL, NULL},
{"display_header", "TRUE", &prefs_common.display_header, P_BOOL,
NULL, NULL, NULL},
P_BOOL, NULL, NULL, NULL},
{"display_header", "TRUE", &prefs_common.display_header, P_BOOL,
NULL, NULL, NULL},
{"always_show_message_when_selected", "FALSE",
&prefs_common.always_show_msg,
P_BOOL, NULL, NULL, NULL},
{"always_show_message_when_selected", "FALSE",
&prefs_common.always_show_msg,
P_BOOL, NULL, NULL, NULL},
- {"select_on_entry", NULL, &prefs_common.select_on_entry,
+ {"select_on_entry", "2", &prefs_common.select_on_entry,
P_ENUM, NULL, NULL, NULL},
{"mark_as_read_on_new_window", "FALSE",
&prefs_common.mark_as_read_on_new_window,
P_ENUM, NULL, NULL, NULL},
{"mark_as_read_on_new_window", "FALSE",
&prefs_common.mark_as_read_on_new_window,
P_BOOL, NULL, NULL, NULL},
{"immediate_execution", "TRUE", &prefs_common.immediate_exec, P_BOOL,
NULL, NULL, NULL},
P_BOOL, NULL, NULL, NULL},
{"immediate_execution", "TRUE", &prefs_common.immediate_exec, P_BOOL,
NULL, NULL, NULL},
- {"nextunreadmsg_dialog", NULL, &prefs_common.next_unread_msg_dialog, P_ENUM,
+ {"nextunreadmsg_dialog", "1", &prefs_common.next_unread_msg_dialog, P_ENUM,
NULL, NULL, NULL},
{"pixmap_theme_path", DEFAULT_PIXMAP_THEME,
NULL, NULL, NULL},
{"pixmap_theme_path", DEFAULT_PIXMAP_THEME,
old_value = matcher.selected_criteria;
matcher.selected_criteria = value = get_sel_from_list
(GTK_LIST(matcher.criteria_list));
old_value = matcher.selected_criteria;
matcher.selected_criteria = value = get_sel_from_list
(GTK_LIST(matcher.criteria_list));
+
+ if (old_value == matcher.selected_criteria)
+ return;
+
/* CLAWS: the value widget is currently either the color label combo box,
* or a GtkEntry, so kiss for now */
if (matcher.selected_criteria == CRITERIA_COLORLABEL) {
/* CLAWS: the value widget is currently either the color label combo box,
* or a GtkEntry, so kiss for now */
if (matcher.selected_criteria == CRITERIA_COLORLABEL) {