+2001-10-10
+
+ * src/utils.c: to_human_readable(): made a bit of optimization.
+ * src/summaryview.c: summary_delete(): fixed a focus problem.
+
2001-10-09
* updated some autotool scripts.
+ * src/codeconv.c: conv_encode_header(): fixed a bug that caused
+ infinite loop when failed to convert encoding.
+ * src/codeconv.[ch]: a fix for older version of libjconv
+ (jconv_info_get_current_codeset() returned "EUCJP" instead of
+ "EUC-JP".
2001-10-08
+2001-10-10 [paul] 0.6.3claws6
+
+ * sync with sylpheed 0.6.3cvs2
+ see ChangeLog entries 2001-10-09 and 2001-10-10
+
2001-10-10 [darko] 0.6.3.claws5
* src/gtkstext.c
+2001-10-10
+
+ * src/utils.c: to_human_readable(): ¾¯¤·ºÇŬ²½¡£
+ * src/summaryview.c: summary_delete(): ¥Õ¥©¡¼¥«¥¹¤ÎÌäÂê¤ò½¤Àµ¡£
+
2001-10-09
* ¤¤¤¯¤Ä¤«¤Î autotool ¥¹¥¯¥ê¥×¥È¤ò¹¹¿·¡£
+ * src/codeconv.c: conv_encode_header(): ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ÎÊÑ´¹¤Ë
+ ¼ºÇÔ¤·¤¿¾ì¹ç¤Ë̵¸Â¥ë¡¼¥×¤òµ¯¤³¤¹¥Ð¥°¤ò½¤Àµ¡£
2001-10-08
If you want to enable IPv6 support, append the option
--enable-ipv6 after ./configure.
-If you want to enable GnuPG support, you need GPGME 0.2.1 or later, and
-GnuPG 1.0.4f or later. You can get them from the following location:
+If you want to enable GnuPG support, you need GPGME 0.2.3 or later, and
+GnuPG 1.0.6 or later. You can get them from the following location:
ftp://ftp.gnupg.org/pub/gcrypt/alpha/gpgme/
ftp://ftp.gnupg.org/pub/gcrypt/devel/
IPv6 Âбþ¤ò͸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ ./configure ¤Î¸å¤Ë
--enable-ipv6 ¥ª¥×¥·¥ç¥ó¤òÄɲ䷤Ƥ¯¤À¤µ¤¤¡£
-GnuPG Âбþ¤ò͸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ GPGME 0.2.1 °Ê¹ß¤È GnuPG 1.0.4f °Ê¹ß¤¬
+GnuPG Âбþ¤ò͸ú¤Ë¤·¤¿¤¤¾ì¹ç¤Ï¡¢ GPGME 0.2.3 °Ê¹ß¤È GnuPG 1.0.6 °Ê¹ß¤¬
ɬÍפǤ¹¡£°Ê²¼¤Î¾ì½ê¤«¤é¼èÆÀ¤Ç¤¤Þ¤¹:
ftp://ftp.gnupg.org/pub/gcrypt/alpha/gpgme/
MICRO_VERSION=3
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=claws5
+EXTRA_VERSION=claws6
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl
#else /* !HAVE_LIBJCONV */
if (src_codeset) {
if (!strcasecmp(src_codeset, CS_EUC_JP) ||
- !strcasecmp(src_codeset, "EUCJP"))
+ !strcasecmp(src_codeset, CS_EUCJP))
src_charset = C_EUC_JP;
else if (!strcasecmp(src_codeset, CS_SHIFT_JIS) ||
!strcasecmp(src_codeset, "SHIFT-JIS") ||
!strcasecmp(charset, "X-SJIS"))
code_conv = conv_sjistodisp;
else if (!strcasecmp(charset, CS_EUC_JP) ||
- !strcasecmp(charset, "EUCJP"))
+ !strcasecmp(charset, CS_EUCJP))
code_conv = conv_euctodisp;
else
code_conv = conv_noconv;
{C_ISO_2022_JP, CS_ISO_2022_JP},
{C_ISO_2022_JP_2, CS_ISO_2022_JP_2},
{C_EUC_JP, CS_EUC_JP},
+ {C_EUC_JP, CS_EUCJP},
{C_SHIFT_JIS, CS_SHIFT_JIS},
{C_ISO_2022_KR, CS_ISO_2022_KR},
{C_EUC_KR, CS_EUC_KR},
!= 0) {
g_warning("can't convert\n");
tmpp[0] = '\0';
+ wtmpp++;
continue;
}
if (!str_ascii) {
#define CS_ISO_2022_JP "ISO-2022-JP"
#define CS_ISO_2022_JP_2 "ISO-2022-JP-2"
#define CS_EUC_JP "EUC-JP"
+#define CS_EUCJP "EUCJP"
#define CS_SHIFT_JIS "Shift_JIS"
#define CS_ISO_2022_KR "ISO-2022-KR"
#define CS_EUC_KR "EUC-KR"
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
FolderItem *item = summaryview->folder_item;
GList *cur;
- GtkCTreeNode *dsp_last, *sel_last;
+ GtkCTreeNode *dsp_last, *sel_last = NULL;
if (!item || item->folder->type == F_NEWS) return;
/* next code sets current row focus right. if the last selection
* is also the last displayed row, we need to scroll backwards.
- * exception: if the last displayed row is an uncollapsed node,
+ * exception: if the last displayed row has children,
* we don't scroll back. */
dsp_last = gtk_ctree_node_nth(ctree, GTK_CLIST(ctree)->rows - 1);
- sel_last = NULL;
for (cur = GTK_CLIST(ctree)->selection; cur != NULL; cur = cur->next) {
sel_last = GTK_CTREE_NODE(cur->data);
- summary_delete_row(summaryview, GTK_CTREE_NODE(sel_last));
+ summary_delete_row(summaryview, sel_last);
}
- if (dsp_last == sel_last && GTK_CTREE_ROW(sel_last)->expanded)
+ if (dsp_last == sel_last && !GTK_CTREE_ROW(sel_last)->children)
summary_step(summaryview, GTK_SCROLL_STEP_BACKWARD);
else
summary_step(summaryview, GTK_SCROLL_STEP_FORWARD);
gchar *to_human_readable(off_t size)
{
static gchar str[10];
- gint count;
- guint32 div = 1;
+ gint shift;
- for (count = 0; count < 3; count++) {
- if (size / div < 1024)
+ for (shift = 0; shift < 30; shift += 10) {
+ if (size >> shift < 1024)
break;
- else
- div *= 1024;
}
- switch (count) {
- case 0: g_snprintf(str, sizeof(str), "%dB", (gint)size); break;
- case 1: g_snprintf(str, sizeof(str), "%.1fKB", (gfloat)size / div);
+ switch (shift) {
+ case 0 : g_snprintf(str, sizeof(str), "%dB", (gint)size); break;
+ case 10: g_snprintf(str, sizeof(str), "%.1fKB", (gfloat)size / (1 << 10));
break;
- case 2: g_snprintf(str, sizeof(str), "%.2fMB", (gfloat)size / div);
+ case 20: g_snprintf(str, sizeof(str), "%.2fMB", (gfloat)size / (1 << 20));
break;
default:
- g_snprintf(str, sizeof(str), "%.2fGB", (gfloat)size / div);
+ g_snprintf(str, sizeof(str), "%.2fGB", (gfloat)size / (1 << 30));
break;
}