+2003-09-17
+
+ * src/addressbook.c:
+ addressbook_folder_load_person()
+ addressbook_folder_load_group(): sort the ctree after the end of
+ the loop (fixes performance issue when many addresses are in one
+ folder) (thanks to christian mock).
+
+2003-09-16
+
+ * src/folderview.c: folder_init(): code cleanup.
+ * src/summaryview.c: summary_init(): check if boldfont is
+ successfully loaded.
+ * src/grouplistdialog.c: use proper callback for delete_event (thanks
+ to Takuro Ashie).
+ * src/imap.c: allow zero-length messages.
+ * src/recv.c: recv_bytes_write(): return immediately if size == 0.
+
2003-09-16
* src/folderview.c: folderview_init(): if font can't be loaded, fall
+2003-09-17 [paul] 0.9.5claws17
+
+ * sync with 0.9.5cvs8
+ see ChangeLog 2003-09-16 and 2003-09-17
+
2003-09-16 [paul] 0.9.5claws16
* sync with 0.9.5cvs6
+2003-09-17
+
+ * src/addressbook.c:
+ addressbook_folder_load_person()
+ addressbook_folder_load_group(): ¥ë¡¼¥×¤Î¸å¤Ç ctree ¤ò¥½¡¼¥È¤¹¤ë
+ ¤è¤¦¤Ë¤·¤¿(°ì¤Ä¤Î¥Õ¥©¥ë¥À¤Ë¿¤¯¤Î¥¢¥É¥ì¥¹¤¬¤¢¤ë¾ì¹ç¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹
+ ¤ÎÌäÂê¤ò²ò·è)(christian mock ¤µ¤ó thanks)¡£
+
+2003-09-16
+
+ * src/folderview.c: folder_init(): ¥³¡¼¥É¤òÀ°Íý¡£
+ * src/summaryview.c: summary_init(): boldfont ¤¬Àµ¤·¤¯¥í¡¼¥É¤µ¤ì¤¿¤«
+ ¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¡£
+ * src/grouplistdialog.c: delete_event ¤ËŬÀڤʥ³¡¼¥ë¥Ð¥Ã¥¯¤ò»ÈÍѤ¹¤ë
+ ¤è¤¦¤Ë¤·¤¿(±ʤµ¤ó thanks)¡£
+ * src/imap.c: ¥¼¥íĹ¥á¥Ã¥»¡¼¥¸¤òµö¤¹¤è¤¦¤Ë¤·¤¿¡£
+ * src/recv.c: recv_bytes_write(): size == 0 ¤Î¾ì¹ç¤Ï¤¹¤°¤ËÌá¤ë¤è¤¦¤Ë
+ ¤·¤¿¡£
+
2003-09-16
* src/folderview.c: folderview_init(): ¥Õ¥©¥ó¥È¤¬Æɤ߹þ¤á¤Ê¤¤¾ì¹ç¤Ï
MICRO_VERSION=5
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=16
+EXTRA_VERSION=17
if test $EXTRA_VERSION -eq 0; then
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
else
atci->iconXpmOpen, atci->maskXpmOpen,
FALSE, FALSE);
gtk_ctree_node_set_row_data(clist, nodeGroup, group );
- gtk_sctree_sort_node(clist, NULL);
}
+ gtk_sctree_sort_node(clist, NULL);
+
/* Free up the list */
mgu_clear_list( items );
g_list_free( items );
gtk_clist_set_column_widget(GTK_CLIST(ctree),COL_NEW,hbox_new);
gtk_clist_set_column_widget(GTK_CLIST(ctree),COL_UNREAD,hbox_unread);
- if (!normalfont) {
- normalfont = gtkut_font_load(prefs_common.normalfont);
- if (!normalfont) {
- GtkStyle *style;
- style = gtk_widget_get_style(ctree);
- normalfont = style->font;
- gdk_font_ref(normalfont);
- }
- }
-
if (!normal_style) {
normal_style = gtk_style_copy(gtk_widget_get_style(ctree));
- normal_style->font = normalfont;
+ if (!normalfont)
+ normalfont = gtkut_font_load(prefs_common.normalfont);
+ if (normalfont)
+ normal_style->font = normalfont;
normal_color_style = gtk_style_copy(normal_style);
normal_color_style->fg[GTK_STATE_NORMAL] = folderview->color_new;
}
- if (!boldfont) {
- boldfont = gtkut_font_load(prefs_common.boldfont);
- if (!boldfont) {
- GtkStyle *style;
- style = gtk_widget_get_style(ctree);
- boldfont = style->font;
- gdk_font_ref(boldfont);
- }
- }
-
if (!bold_style) {
bold_style = gtk_style_copy(gtk_widget_get_style(ctree));
- bold_style->font = boldfont;
+ if (!boldfont)
+ boldfont = gtkut_font_load(prefs_common.boldfont);
+ if (boldfont)
+ bold_style->font = boldfont;
bold_color_style = gtk_style_copy(bold_style);
bold_color_style->fg[GTK_STATE_NORMAL] = folderview->color_new;
/*
* Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2002 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2003 Hiroyuki Yamamoto
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
gint read_bytes,
gpointer data);
+static gint window_deleted (GtkWidget *widget,
+ GdkEventAny *event,
+ gpointer data);
static void ok_clicked (GtkWidget *widget,
gpointer data);
static void cancel_clicked (GtkWidget *widget,
gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(dialog), _("Newsgroup subscription"));
gtk_signal_connect(GTK_OBJECT(dialog), "delete_event",
- GTK_SIGNAL_FUNC(cancel_clicked), NULL);
+ GTK_SIGNAL_FUNC(window_deleted), NULL);
gtk_signal_connect(GTK_OBJECT(dialog), "key_press_event",
GTK_SIGNAL_FUNC(key_pressed), NULL);
MANAGE_WINDOW_SIGNALS_CONNECT(dialog);
return TRUE;
}
+static gint window_deleted(GtkWidget *widget, GdkEventAny *event, gpointer data)
+{
+ ack = FALSE;
+ if (gtk_main_level() > 1)
+ gtk_main_quit();
+
+ return TRUE;
+}
+
static void ok_clicked(GtkWidget *widget, gpointer data)
{
ack = TRUE;
#include "gtkutils.h"
#include "utils.h"
-static GdkFont *boldfont;
-
#define TR(str) (prefs_common.trans_hdr ? gettext(str) : str)
#if 0
void headerview_init(HeaderView *headerview)
{
+ static GdkFont *boldfont = NULL;
+
if (!boldfont)
boldfont = gtkut_font_load(BOLD_FONT);
cur_pos = strchr_cpy(cur_pos + 1, '}', buf, sizeof(buf));
len = atoi(buf);
- g_return_val_if_fail(len > 0, cur_pos);
+ g_return_val_if_fail(len >= 0, cur_pos);
g_string_truncate(str, 0);
cur_pos = str->str;
cur_pos = strchr_cpy(cur_pos + 1, '}', buf, sizeof(buf));
len = atoi(buf);
- g_return_val_if_fail(len > 0, cur_pos);
+ g_return_val_if_fail(len >= 0, cur_pos);
g_string_truncate(str, 0);
cur_pos = str->str;
cur_pos = strchr_cpy(cur_pos + 1, '}', size_str, sizeof(size_str));
RETURN_ERROR_IF_FAIL(cur_pos != NULL);
size_num = atol(size_str);
- RETURN_ERROR_IF_FAIL(size_num > 0);
+ RETURN_ERROR_IF_FAIL(size_num >= 0);
RETURN_ERROR_IF_FAIL(*cur_pos == '\0');
{
FILE *fp;
gint ret;
-
+
g_return_val_if_fail(filename != NULL, -1);
if ((fp = fopen(filename, "wb")) == NULL) {
glong count = 0;
gchar *prev, *cur;
+ if (size == 0)
+ return 0;
+
buf = g_malloc(size);
do {
#define SUMMARY_COL_LOCKED_WIDTH 13
#define SUMMARY_COL_MIME_WIDTH 11
-static GdkFont *boldfont;
-static GdkFont *smallfont;
static GtkStyle *bold_style;
static GtkStyle *bold_marked_style;
void summary_init(SummaryView *summaryview)
{
+ static GdkFont *boldfont = NULL;
+ static GdkFont *smallfont = NULL;
GtkStyle *style;
GtkWidget *pixmap;
stock_pixmap_gdk(summaryview->ctree, STOCK_PIXMAP_GPG_SIGNED,
&gpgsignedxpm, &gpgsignedxpmmask);
+ if (!bold_style) {
+ bold_style = gtk_style_copy
+ (gtk_widget_get_style(summaryview->ctree));
+ if (!boldfont)
+ boldfont = gtkut_font_load(BOLD_FONT);
+ if (boldfont)
+ bold_style->font = boldfont;
+ bold_marked_style = gtk_style_copy(bold_style);
+ bold_marked_style->fg[GTK_STATE_NORMAL] =
+ summaryview->color_marked;
+ bold_deleted_style = gtk_style_copy(bold_style);
+ bold_deleted_style->fg[GTK_STATE_NORMAL] =
+ summaryview->color_dim;
+ }
+
if (!small_style) {
small_style = gtk_style_copy
(gtk_widget_get_style(summaryview->ctree));
small_deleted_style->fg[GTK_STATE_NORMAL] =
summaryview->color_dim;
}
- if (!bold_style) {
- bold_style = gtk_style_copy
- (gtk_widget_get_style(summaryview->ctree));
- if (!boldfont)
- boldfont = gtkut_font_load(BOLD_FONT);
- bold_style->font = boldfont;
- bold_marked_style = gtk_style_copy(bold_style);
- bold_marked_style->fg[GTK_STATE_NORMAL] =
- summaryview->color_marked;
- bold_deleted_style = gtk_style_copy(bold_style);
- bold_deleted_style->fg[GTK_STATE_NORMAL] =
- summaryview->color_dim;
- }
style = gtk_style_copy(gtk_widget_get_style
(summaryview->statlabel_folder));
-
+ if (smallfont)
+ style->font = smallfont;
gtk_widget_set_style(summaryview->statlabel_folder, style);
gtk_widget_set_style(summaryview->statlabel_select, style);
gtk_widget_set_style(summaryview->statlabel_msgs, style);