From c25667d19bb8b7573c00ae537c6016b23f551bcb Mon Sep 17 00:00:00 2001 From: Colin Leroy Date: Wed, 15 Jun 2005 16:38:17 +0000 Subject: [PATCH] 2005-06-15 [colin] 1.9.11cvs74 * Makefile.am Install gnome2 stuff rather than gnome1, if both are present * src/codeconv.c * src/codeconv.h * src/compose.c Fix headers encoding * src/folder.c Visual progress when fetching all messages * src/folderview.c * src/summaryview.c * src/summaryview.h Prevent changing current message while incorporating --- ChangeLog-gtk2.claws | 17 +++++++++++++++++ Makefile.am | 12 ++++++------ PATCHSETS | 1 + configure.ac | 2 +- src/codeconv.c | 18 +++++++++++++++--- src/codeconv.h | 6 ++++++ src/folder.c | 20 ++++++++++++++++++++ src/folderview.c | 4 ++++ src/summaryview.c | 11 +++++++++++ src/summaryview.h | 3 +++ 10 files changed, 84 insertions(+), 10 deletions(-) diff --git a/ChangeLog-gtk2.claws b/ChangeLog-gtk2.claws index f0746b68e..a7e9af23b 100644 --- a/ChangeLog-gtk2.claws +++ b/ChangeLog-gtk2.claws @@ -1,3 +1,20 @@ +2005-06-15 [colin] 1.9.11cvs74 + + * Makefile.am + Install gnome2 stuff rather than gnome1, + if both are present + * src/codeconv.c + * src/codeconv.h + * src/compose.c + Fix headers encoding + * src/folder.c + Visual progress when fetching all messages + * src/folderview.c + * src/summaryview.c + * src/summaryview.h + Prevent changing current message while + incorporating + 2005-06-15 [paul] 1.9.11cvs73 * src/gtk/gtkaspell.c diff --git a/Makefile.am b/Makefile.am index da1fc4617..24edeead5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,12 +17,6 @@ EXTRA_DIST = \ TODO-gtk2.jp \ autogen.sh -if SYLPHEED_GNOME -pixmapdir=$(gnomedatadir)/pixmaps -pixmap_DATA=sylpheed.png -gnomapdir=$(gnomedatadir)/gnome/apps/Internet -gnomap_DATA=sylpheed.desktop -else if SYLPHEED_GNOME2 # hicolor icon theme, base class of all icon themes pixmapdir=$(datadir)/icons/hicolor/48x48/apps @@ -30,6 +24,12 @@ pixmap_DATA=sylpheed.png gnomapdir = $(datadir)/applications gnomap_DATA=sylpheed.desktop else +if SYLPHEED_GNOME +pixmapdir=$(gnomedatadir)/pixmaps +pixmap_DATA=sylpheed.png +gnomapdir=$(gnomedatadir)/gnome/apps/Internet +gnomap_DATA=sylpheed.desktop +else pixmapdir= pixmap_DATA= gnomapdir= diff --git a/PATCHSETS b/PATCHSETS index eeaac2ab6..6a622023e 100644 --- a/PATCHSETS +++ b/PATCHSETS @@ -562,3 +562,4 @@ ( cvs diff -u -r 1.5 -r 1.6 COPYING; cvs diff -u -r 1.65.2.31 -r 1.65.2.32 src/codeconv.c; cvs diff -u -r 1.149.2.27 -r 1.149.2.28 src/inc.c; cvs diff -u -r 1.17.2.14 -r 1.17.2.15 src/send_message.c; cvs diff -u -r 1.1.4.12 -r 1.1.4.13 src/gtk/progressdialog.c; cvs diff -u -r 1.1.4.6 -r 1.1.4.7 src/gtk/progressdialog.h; ) > 1.9.11cvs71.patchset ( cvs diff -u -r 1.59.2.19 -r 1.59.2.20 src/prefs_filtering.c; ) > 1.9.11cvs72.patchset ( cvs diff -u -r 1.9.2.20 -r 1.9.2.21 src/gtk/gtkaspell.c; cvs diff -u -r 1.5.2.2 -r 1.5.2.3 src/gtk/gtkaspell.h; ) > 1.9.11cvs73.patchset +( cvs diff -u -r 1.24.2.8 -r 1.24.2.9 Makefile.am; cvs diff -u -r 1.65.2.32 -r 1.65.2.33 src/codeconv.c; cvs diff -u -r 1.15.2.8 -r 1.15.2.9 src/codeconv.h; cvs diff -u -r 1.213.2.34 -r 1.213.2.35 src/folder.c; cvs diff -u -r 1.207.2.41 -r 1.207.2.42 src/folderview.c; cvs diff -u -r 1.395.2.80 -r 1.395.2.81 src/summaryview.c; cvs diff -u -r 1.68.2.7 -r 1.68.2.8 src/summaryview.h; ) > 1.9.11cvs74.patchset diff --git a/configure.ac b/configure.ac index 842581e7f..5a09855ba 100644 --- a/configure.ac +++ b/configure.ac @@ -11,7 +11,7 @@ MINOR_VERSION=9 MICRO_VERSION=11 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=73 +EXTRA_VERSION=74 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/codeconv.c b/src/codeconv.c index cc2eeb353..b6f60665a 100644 --- a/src/codeconv.c +++ b/src/codeconv.c @@ -1484,8 +1484,9 @@ gchar *conv_unmime_header(const gchar *str, const gchar *default_encoding) } \ } -void conv_encode_header(gchar *dest, gint len, const gchar *src, - gint header_len, gboolean addr_field) +void conv_encode_header_full(gchar *dest, gint len, const gchar *src, + gint header_len, gboolean addr_field, + const gchar *out_encoding_) { const gchar *cur_encoding; const gchar *out_encoding; @@ -1507,7 +1508,12 @@ void conv_encode_header(gchar *dest, gint len, const gchar *src, } cur_encoding = CS_INTERNAL; - out_encoding = conv_get_outgoing_charset_str(); + + if (out_encoding_) + out_encoding = out_encoding_; + else + out_encoding = conv_get_outgoing_charset_str(); + if (!strcmp(out_encoding, CS_US_ASCII)) out_encoding = CS_ISO_8859_1; @@ -1646,6 +1652,12 @@ void conv_encode_header(gchar *dest, gint len, const gchar *src, *destp = '\0'; } +void conv_encode_header(gchar *dest, gint len, const gchar *src, + gint header_len, gboolean addr_field) +{ + conv_encode_header_full(dest,len,src,header_len,addr_field,NULL); +} + #undef LBREAK_IF_REQUIRED gchar *conv_filename_from_utf8(const gchar *utf8_file) { diff --git a/src/codeconv.h b/src/codeconv.h index 875246bfb..86efe905a 100644 --- a/src/codeconv.h +++ b/src/codeconv.h @@ -217,6 +217,12 @@ void conv_encode_header (gchar *dest, const gchar *src, gint header_len, gboolean addr_field); +void conv_encode_header_full (gchar *dest, + gint len, + const gchar *src, + gint header_len, + gboolean addr_field, + const gchar *out_encoding_); gchar *conv_filename_from_utf8 (const gchar *utf8_file); gchar *conv_filename_to_utf8 (const gchar *fs_file); diff --git a/src/folder.c b/src/folder.c index e880bd947..a934d129c 100644 --- a/src/folder.c +++ b/src/folder.c @@ -2200,10 +2200,12 @@ gint folder_item_fetch_all_msg(FolderItem *item) GSList *cur; gint num = 0; gint ret = 0; + gint total = 0; g_return_val_if_fail(item != NULL, -1); debug_print("fetching all messages in %s ...\n", item->path); + statusbar_print_all(_("Fetching all messages in %s ...\n"), item->path); folder = item->folder; @@ -2213,11 +2215,24 @@ gint folder_item_fetch_all_msg(FolderItem *item) mlist = folder_item_get_msg_list(item); + total = g_slist_length(mlist); + for (cur = mlist; cur != NULL; cur = cur->next) { MsgInfo *msginfo = (MsgInfo *)cur->data; gchar *msg; num++; + if (num % 10 == 0) { + gchar buf[32]; + g_snprintf(buf, sizeof(buf), "%d / %d", + num, total); + gtk_progress_bar_set_text + (GTK_PROGRESS_BAR(mainwindow_get_mainwindow()->progressbar), buf); + gtk_progress_bar_set_fraction + (GTK_PROGRESS_BAR(mainwindow_get_mainwindow()->progressbar), + (gfloat)num / (gfloat)total); + } + if (folder->ui_func) folder->ui_func(folder, item, folder->ui_func_data ? @@ -2234,6 +2249,11 @@ gint folder_item_fetch_all_msg(FolderItem *item) g_free(msg); } + gtk_progress_bar_set_fraction + (GTK_PROGRESS_BAR(mainwindow_get_mainwindow()->progressbar), 0); + gtk_progress_bar_set_text + (GTK_PROGRESS_BAR(mainwindow_get_mainwindow()->progressbar), ""); + statusbar_pop_all(); procmsg_msg_list_free(mlist); return ret; diff --git a/src/folderview.c b/src/folderview.c index 213cfe855..ef9c18b00 100644 --- a/src/folderview.c +++ b/src/folderview.c @@ -857,10 +857,14 @@ gint folderview_check_new(Folder *folder) folderview_scan_tree_func(item->folder, item, NULL); former_new = item->new_msgs; + summaryview_lock(folderview->summaryview, item); if (folder_item_scan(item) < 0) { + summaryview_unlock(folderview->summaryview, item); if (folder && !FOLDER_IS_LOCAL(folder)) break; } + summaryview_unlock(folderview->summaryview, item); + folderview_update_node(folderview, node); new_msgs += item->new_msgs; former_new_msgs += former_new; diff --git a/src/summaryview.c b/src/summaryview.c index 2bc6c6621..c8e68e529 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -5445,3 +5445,14 @@ void summaryview_export_mbox_list(SummaryView *summaryview) g_free(mbox); } + +void summaryview_lock(SummaryView *summaryview, FolderItem *item) +{ + if (summaryview->folder_item->folder == item->folder) { + gtk_widget_set_sensitive(summaryview->ctree, FALSE); + } +} +void summaryview_unlock(SummaryView *summaryview, FolderItem *item) +{ + gtk_widget_set_sensitive(summaryview->ctree, TRUE); +} diff --git a/src/summaryview.h b/src/summaryview.h index 608210aad..03fb2dbff 100644 --- a/src/summaryview.h +++ b/src/summaryview.h @@ -281,4 +281,7 @@ void summary_set_prefs_from_folderitem void summary_save_prefs_to_folderitem (SummaryView *summaryview, FolderItem *item); void summaryview_export_mbox_list (SummaryView *summaryview); +void summaryview_lock(SummaryView *summaryview, FolderItem *item); +void summaryview_unlock(SummaryView *summaryview, FolderItem *item); + #endif /* __SUMMARY_H__ */ -- 2.25.1