diff --git a/ChangeLog b/ChangeLog index 9a2c90e60..b85f4c2f6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,27 @@ +2002-10-11 + + * src/compose.c: allow dropping files by also "moving" files from a + file manager (thanks to Alfons). + +2002-10-10 + + * compose_reply_set_entry(): made Reply-To have priority over + List-Post on ML reply. + +2002-10-09 + + * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): new. + * src/summaryview.c: summary_step(): fixed a bug that lost the + correct selection anchor. + summary_key_pressed(): use gtk_sctree_select() instead of + gtk_ctree_select(). + * src/inc.[ch] + src/pop.c + src/recv.c: differentiate disk full and socket errors + (thanks to Colin Leroy). + 2002-10-08 - + * src/account.c: account_edit_prefs(): removed unused variables. * src/compose.[ch]: separated WITH_QUOTE/WITHOUT_QUOTE flags in ComposeMode. @@ -8,7 +30,7 @@ * src/summaryview.c: summary_reply(): reduced conditional branches. 2002-10-08 - + * src/compose.c: compose_redirect(), compose_reedit(): strip CR from line ends (thanks to Sergey Vlasov). * src/folderview.c: renamed 'Rescan folder tree' to 'Rebuild @@ -21,7 +43,7 @@ messages all at once. 2002-10-07 - + * src/account.[ch]: account_open(): new. It opens account prefs dialog and reflects to UI when finished. * src/folderview.c: diff --git a/ChangeLog.claws b/ChangeLog.claws index 6940ff6fd..c227d99b4 100644 --- a/ChangeLog.claws +++ b/ChangeLog.claws @@ -1,3 +1,8 @@ +2002-10-12 [alfons] 0.8.5claws30 + + * sync with remaining main changes 2002-10-09 - 2002-10-11 + - drop changes to src/compose.c (requires claws specific changes) + 2002-10-12 [alfons] 0.8.5claws29 * sync with main changes of 2002-10-08 diff --git a/ChangeLog.jp b/ChangeLog.jp index 08aa86db7..1e5afcba4 100644 --- a/ChangeLog.jp +++ b/ChangeLog.jp @@ -1,5 +1,27 @@ +2002-10-11 + + * src/compose.c: ファイルマネージャからファイルを「移動」することで + ファイルをドロップできるようにした(Alfons さん thanks)。 + +2002-10-10 + + * compose_reply_set_entry(): ML 返信のとき Reply-To を List-Post + より優先させるようにした。 + +2002-10-09 + + * src/gtksctree.[ch]: gtk_sctree_set_anchor_row(): 新規。 + * src/summaryview.c: summary_step(): 正しいセレクションアンカーを + 失うバグを修正。 + summary_key_pressed(): gtk_ctree_select() の代わりに + gtk_sctree_select() を使用。 + * src/inc.[ch] + src/pop.c + src/recv.c: ディスクフルとソケットエラーを区別するようにした + (Colin Leroy さん thanks)。 + 2002-10-08 - + * src/account.c: account_edit_prefs(): 未使用の変数を削除。 * src/compose.[ch]: ComposeMode の WITH_QUOTE/WITHOUT_QUOTE フラグ を分離。 @@ -9,9 +31,9 @@ * src/summaryview.c: summary_reply(): 条件分岐を削減。 2002-10-08 - - * src/compose.c: compose_redirect(), compose_reedit(): strip CR - from line ends (thanks to Sergey Vlasov). + + * src/compose.c: compose_redirect(), compose_reedit(): 行終端から + CR を取り除くようにした(Sergey Vlasov さん thanks)。 * src/folderview.c: 「フォルダツリーを再スキャン」を「フォルダツリー を再構築」に改名。 @@ -22,7 +44,7 @@ を実装。 2002-10-07 - + * src/account.[ch]: account_open(): 新規。アカウント設定ダイアログ を開き、終了時に UI に反映させる。 * src/folderview.c: diff --git a/configure.in b/configure.in index 4a3cf109b..37ab06041 100644 --- a/configure.in +++ b/configure.in @@ -11,7 +11,7 @@ MINOR_VERSION=8 MICRO_VERSION=5 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=claws29 +EXTRA_VERSION=claws30 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION dnl set $target diff --git a/src/gtksctree.c b/src/gtksctree.c index 4231d11bd..0b9fecab4 100644 --- a/src/gtksctree.c +++ b/src/gtksctree.c @@ -537,8 +537,7 @@ gtk_sctree_collapse (GtkCTree *ctree, GtkCTreeNode *node) gtk_ctree_node_nth(ctree, GTK_CLIST(ctree)->focus_row); } -GtkWidget *gtk_sctree_new_with_titles (gint columns, - gint tree_column, +GtkWidget *gtk_sctree_new_with_titles (gint columns, gint tree_column, gchar *titles[]) { GtkSCTree* sctree; @@ -550,20 +549,24 @@ GtkWidget *gtk_sctree_new_with_titles (gint columns, return GTK_WIDGET (sctree); } -void gtk_sctree_select (GtkSCTree *sctree, - GtkCTreeNode *node) +void gtk_sctree_select (GtkSCTree *sctree, GtkCTreeNode *node) { select_row(sctree, g_list_position(GTK_CLIST(sctree)->row_list, (GList *)node), -1, 0); } -void gtk_sctree_unselect_all (GtkSCTree *sctree) +void gtk_sctree_unselect_all (GtkSCTree *sctree) { gtk_clist_unselect_all(GTK_CLIST(sctree)); sctree->anchor_row = NULL; } +void gtk_sctree_set_anchor_row (GtkSCTree *sctree, GtkCTreeNode *node) +{ + sctree->anchor_row = node; +} + /*********************************************************** * Tree sorting functions * ***********************************************************/ diff --git a/src/gtksctree.h b/src/gtksctree.h index 64b27ff4c..859a9e910 100644 --- a/src/gtksctree.h +++ b/src/gtksctree.h @@ -53,13 +53,16 @@ struct _GtkSCTreeClass { GtkType gtk_sctree_get_type (void); -GtkWidget *gtk_sctree_new_with_titles (gint columns, - gint tree_column, - gchar *titles[]); -void gtk_sctree_select (GtkSCTree *sctree, - GtkCTreeNode *node); -void gtk_sctree_unselect_all (GtkSCTree *sctree); +GtkWidget *gtk_sctree_new_with_titles (gint columns, + gint tree_column, + gchar *titles[]); +void gtk_sctree_select (GtkSCTree *sctree, + GtkCTreeNode *node); +void gtk_sctree_unselect_all (GtkSCTree *sctree); + +void gtk_sctree_set_anchor_row (GtkSCTree *sctree, + GtkCTreeNode *node); /*********************************************************** * Tree sorting functions * diff --git a/src/inc.c b/src/inc.c index c17cfcd12..c8fd658ba 100644 --- a/src/inc.c +++ b/src/inc.c @@ -549,7 +549,7 @@ static gint inc_start(IncProgressDialog *inc_dialog) break; case INC_ERROR: case INC_NOSPACE: - case INC_SOCKERR: + case INC_SOCKET_ERROR: gtk_clist_set_pixmap(clist, num, 0, errorxpm, errorxpmmask); gtk_clist_set_text(clist, num, 2, _("Error")); break; @@ -629,7 +629,7 @@ static gint inc_start(IncProgressDialog *inc_dialog) if (inc_state != INC_SUCCESS && inc_state != INC_CANCEL) { error_num++; - if (inc_state == INC_NOSPACE || inc_state == INC_SOCKERR) { + if (inc_state == INC_NOSPACE || inc_state == INC_SOCKET_ERROR) { inc_put_error(inc_state); break; } @@ -826,7 +826,7 @@ static IncState inc_pop3_session_do(IncSession *session) session->inc_state = INC_NOSPACE; break; case PS_SOCKET: - session->inc_state = INC_SOCKERR; + session->inc_state = INC_SOCKET_ERROR; break; case PS_LOCKBUSY: session->inc_state = INC_LOCKED; @@ -1033,7 +1033,7 @@ static void inc_put_error(IncState istate) case INC_NOSPACE: alertpanel_error(_("No disk space left.")); break; - case INC_SOCKERR: + case INC_SOCKET_ERROR: alertpanel_error(_("Socket error.")); break; case INC_LOCKED: diff --git a/src/inc.h b/src/inc.h index 3e759ae62..085ac19f4 100644 --- a/src/inc.h +++ b/src/inc.h @@ -45,7 +45,7 @@ typedef enum INC_LOCKED, INC_ERROR, INC_NOSPACE, - INC_SOCKERR, + INC_SOCKET_ERROR, INC_CANCEL } IncState; diff --git a/src/pop.c b/src/pop.c index 5f884d792..488965b20 100644 --- a/src/pop.c +++ b/src/pop.c @@ -505,10 +505,11 @@ gint pop3_retr_recv(SockInfo *sock, gpointer data) gint write_val; if ((ok = pop3_ok(sock, NULL)) == PS_SUCCESS) { file = get_tmp_file(); - if ( (write_val = recv_write_to_file(sock, file)) < 0) { + if ((write_val = recv_write_to_file(sock, file)) < 0) { g_free(file); if (!state->cancelled) - state->error_val = (write_val == -1 ? PS_IOERR : PS_SOCKET); + state->error_val = + (write_val == -1 ? PS_IOERR : PS_SOCKET); return -1; } diff --git a/src/recv.c b/src/recv.c index fbcb48b92..662164767 100644 --- a/src/recv.c +++ b/src/recv.c @@ -40,7 +40,8 @@ static gpointer recv_ui_func_data; gint recv_write_to_file(SockInfo *sock, const gchar *filename) { FILE *fp; - int write_val; + gint ret; + g_return_val_if_fail(filename != NULL, -1); if ((fp = fopen(filename, "wb")) == NULL) { @@ -52,10 +53,10 @@ gint recv_write_to_file(SockInfo *sock, const gchar *filename) if (change_file_mode_rw(fp, filename) < 0) FILE_OP_ERROR(filename, "chmod"); - if ( (write_val = recv_write(sock, fp)) < 0) { + if ((ret = recv_write(sock, fp)) < 0) { fclose(fp); unlink(filename); - return write_val; + return ret; } if (fclose(fp) == EOF) { @@ -70,6 +71,7 @@ gint recv_write_to_file(SockInfo *sock, const gchar *filename) gint recv_bytes_write_to_file(SockInfo *sock, glong size, const gchar *filename) { FILE *fp; + gint ret; g_return_val_if_fail(filename != NULL, -1); @@ -82,10 +84,10 @@ gint recv_bytes_write_to_file(SockInfo *sock, glong size, const gchar *filename) if (change_file_mode_rw(fp, filename) < 0) FILE_OP_ERROR(filename, "chmod"); - if (recv_bytes_write(sock, size, fp) < 0) { + if ((ret = recv_bytes_write(sock, size, fp)) < 0) { fclose(fp); unlink(filename); - return -1; + return ret; } if (fclose(fp) == EOF) { @@ -175,7 +177,7 @@ gint recv_bytes_write(SockInfo *sock, glong size, FILE *fp) read_count = sock_read(sock, buf + count, size - count); if (read_count < 0) { g_free(buf); - return -1; + return -2; } count += read_count; } while (count < size); diff --git a/src/summaryview.c b/src/summaryview.c index 562f3c84f..d29e39509 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -2454,11 +2454,17 @@ void summary_step(SummaryView *summaryview, GtkScrollType type) gtk_signal_emit_by_name(GTK_OBJECT(ctree), "scroll_vertical", type, 0.0); - + + if (GTK_CLIST(ctree)->selection) + gtk_sctree_set_anchor_row + (GTK_SCTREE(ctree), + GTK_CTREE_NODE(GTK_CLIST(ctree)->selection->data)); + +#if 0 if(summaryview->selected) { gtk_sctree_reanchor (GTK_SCTREE(ctree), summaryview->selected); } - +#endif } @@ -4551,7 +4557,7 @@ static void summary_key_pressed(GtkWidget *widget, GdkEventKey *event, if (!summaryview->selected) { node = gtk_ctree_node_nth(ctree, 0); if (node) - gtk_ctree_select(ctree, node); + gtk_sctree_select(GTK_SCTREE(ctree), node); else return; }