* src/folder.c
Batch on flags sync
* src/folderview.c
Revert speed hack which is dangerous in fact
Apply prefs faster
+2005-10-13 [colin] 1.9.15cvs36
+
+ * src/folder.c
+ Batch on flags sync
+ * src/folderview.c
+ Revert speed hack which is dangerous in fact
+ Apply prefs faster
+
2005-10-13 [colin] 1.9.15cvs35
* src/folder_item_prefs.c
2005-10-13 [colin] 1.9.15cvs35
* src/folder_item_prefs.c
( cvs diff -u -r 1.83.2.41 -r 1.83.2.42 src/mimeview.c; ) > 1.9.15cvs33.patchset
( cvs diff -u -r 1.8.2.13 -r 1.8.2.14 src/export.c; cvs diff -u -r 1.13.2.12 -r 1.13.2.13 src/import.c; cvs diff -u -r 1.105.2.37 -r 1.105.2.38 src/prefs_account.c; ) > 1.9.15cvs34.patchset
( cvs diff -u -r 1.2.2.9 -r 1.2.2.10 src/folder_item_prefs.c; ) > 1.9.15cvs35.patchset
( cvs diff -u -r 1.83.2.41 -r 1.83.2.42 src/mimeview.c; ) > 1.9.15cvs33.patchset
( cvs diff -u -r 1.8.2.13 -r 1.8.2.14 src/export.c; cvs diff -u -r 1.13.2.12 -r 1.13.2.13 src/import.c; cvs diff -u -r 1.105.2.37 -r 1.105.2.38 src/prefs_account.c; ) > 1.9.15cvs34.patchset
( cvs diff -u -r 1.2.2.9 -r 1.2.2.10 src/folder_item_prefs.c; ) > 1.9.15cvs35.patchset
+( cvs diff -u -r 1.213.2.63 -r 1.213.2.64 src/folder.c; cvs diff -u -r 1.207.2.71 -r 1.207.2.72 src/folderview.c; ) > 1.9.15cvs36.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=
relation = g_relation_new(2);
g_relation_index(relation, 0, g_direct_hash, g_direct_equal);
relation = g_relation_new(2);
g_relation_index(relation, 0, g_direct_hash, g_direct_equal);
+ folder_item_set_batch(item, TRUE);
if ((ret = item->folder->klass->get_flags(
item->folder, item, msglist, relation)) == 0) {
GTuples *tuples;
if ((ret = item->folder->klass->get_flags(
item->folder, item, msglist, relation)) == 0) {
GTuples *tuples;
+ folder_item_set_batch(item, FALSE);
g_relation_destroy(relation);
return ret;
g_relation_destroy(relation);
return ret;
gboolean folderview_process_open_cb(gpointer data)
{
FolderView *folderview = (FolderView *)data;
gboolean folderview_process_open_cb(gpointer data)
{
FolderView *folderview = (FolderView *)data;
static void folderview_selected(GtkCTree *ctree, GtkCTreeNode *row,
gint column, FolderView *folderview)
static void folderview_selected(GtkCTree *ctree, GtkCTreeNode *row,
gint column, FolderView *folderview)
- if (pre_global_processing || item->prefs->processing
- || post_global_processing)
- folderview_process_open(folderview, item);
+ folderview_process_open(folderview, item);
main_window_cursor_normal(folderview->mainwin);
main_window_cursor_normal(folderview->mainwin);
gtk_ctree_node_moveto(ctree, row, -1, 0.5, 0);
}
gtk_ctree_node_moveto(ctree, row, -1, 0.5, 0);
}
- if (!pre_global_processing && !item->prefs->processing
- && !post_global_processing)
- g_timeout_add(0, folderview_process_open_cb, folderview);
-
STATUSBAR_POP(folderview->mainwin);
folderview->open_folder = FALSE;
STATUSBAR_POP(folderview->mainwin);
folderview->open_folder = FALSE;
void folderview_reflect_prefs(void)
{
void folderview_reflect_prefs(void)
{
+ static gchar *last_font = NULL;
+ gboolean update_font = TRUE;
FolderView *folderview = mainwindow_get_mainwindow()->folderview;
FolderView *folderview = mainwindow_get_mainwindow()->folderview;
- FolderItem *item = folderview_get_selected_item(folderview);
- normal_style = normal_color_style = bold_style =
- bold_color_style = bold_tgtfold_style = NULL;
+ FolderItem *item = folderview_get_selected_item(folderview);
+ GtkAdjustment *pos = gtk_scrolled_window_get_vadjustment(
+ GTK_SCROLLED_WINDOW(folderview->scrolledwin));
+ gint height = pos->value;
+
+ if (last_font && !strcmp(last_font, NORMAL_FONT))
+ update_font = FALSE;
+
+ if (last_font)
+ g_free(last_font);
+
+ last_font = g_strdup(NORMAL_FONT);
+
+ if (update_font) {
+ normal_style = normal_color_style = bold_style =
+ bold_color_style = bold_tgtfold_style = NULL;
- folderview_init(folderview);
+ folderview_init(folderview);
+ }
+ gtk_clist_freeze(GTK_CLIST(folderview->ctree));
folderview_column_set_titles(folderview);
folderview_set_all();
folderview_column_set_titles(folderview);
folderview_set_all();
+
+ g_signal_handlers_block_by_func
+ (G_OBJECT(folderview->ctree),
+ G_CALLBACK(folderview_selected), folderview);
+
if (item)
folderview_select(folderview, item);
if (item)
folderview_select(folderview, item);
+
+ g_signal_handlers_unblock_by_func
+ (G_OBJECT(folderview->ctree),
+ G_CALLBACK(folderview_selected), folderview);
+
+ pos = gtk_scrolled_window_get_vadjustment(
+ GTK_SCROLLED_WINDOW(folderview->scrolledwin));
+ gtk_adjustment_set_value(pos, height);
+ gtk_clist_thaw(GTK_CLIST(folderview->ctree));
}
static void drag_state_stop(FolderView *folderview)
}
static void drag_state_stop(FolderView *folderview)