aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog19
-rw-r--r--ChangeLog.ja18
-rw-r--r--src/addressadd.c1
-rw-r--r--src/addressbook.c2
-rw-r--r--src/editaddress.c2
-rw-r--r--src/editgroup.c2
-rw-r--r--src/editldap_basedn.c1
-rw-r--r--src/gtkutils.c19
-rw-r--r--src/gtkutils.h1
-rw-r--r--src/importldif.c1
-rw-r--r--src/prefs_actions.c1
-rw-r--r--src/prefs_customheader.c1
-rw-r--r--src/prefs_display_header.c2
-rw-r--r--src/prefs_display_items.c4
-rw-r--r--src/prefs_filter_edit.c1
-rw-r--r--src/prefs_summary_column.c2
-rw-r--r--src/prefs_template.c1
-rw-r--r--src/select-keys.c1
18 files changed, 77 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 9ac91360..1a4d7b7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2007-03-27
+
+ * src/prefs_display_header.c
+ src/prefs_actions.c
+ src/addressbook.c
+ src/editgroup.c
+ src/importldif.c
+ src/prefs_template.c
+ src/select-keys.c
+ src/editaddress.c
+ src/addressadd.c
+ src/editldap_basedn.c
+ src/prefs_summary_column.c
+ src/prefs_filter_edit.c
+ src/prefs_display_items.c
+ src/prefs_customheader.c
+ src/gtkutils.[ch]: win32: made a workaround for the redraw problem
+ in GTK+ 2.10.11.
+
2007-03-25
* libsylph/imap.c
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 3c7264aa..14034978 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,21 @@
+2007-03-27
+
+ * src/prefs_display_header.c
+ src/prefs_actions.c
+ src/addressbook.c
+ src/editgroup.c
+ src/importldif.c
+ src/prefs_template.c
+ src/select-keys.c
+ src/editaddress.c
+ src/addressadd.c
+ src/editldap_basedn.c
+ src/prefs_summary_column.c
+ src/prefs_filter_edit.c
+ src/prefs_display_items.c
+ src/prefs_customheader.c
+ src/gtkutils.[ch]: win32: GTK+ 2.10.11 の再描画問題に対処。
+
2007-03-25
* libsylph/imap.c
diff --git a/src/addressadd.c b/src/addressadd.c
index 7592881f..2921adbe 100644
--- a/src/addressadd.c
+++ b/src/addressadd.c
@@ -222,6 +222,7 @@ static void addressadd_create( void ) {
gtk_ctree_set_expander_style( GTK_CTREE(tree_folder), GTK_CTREE_EXPANDER_SQUARE );
gtk_ctree_set_indent( GTK_CTREE(tree_folder), CTREE_INDENT );
gtk_clist_set_auto_sort( GTK_CLIST(tree_folder), TRUE );
+ gtkut_clist_set_redraw( GTK_CLIST(tree_folder) );
/* Button panel */
gtkut_stock_button_set_create(&hbbox, &ok_btn, GTK_STOCK_OK,
diff --git a/src/addressbook.c b/src/addressbook.c
index f10411d2..cfb865d2 100644
--- a/src/addressbook.c
+++ b/src/addressbook.c
@@ -572,6 +572,7 @@ static void addressbook_create(void)
gtk_ctree_set_indent(GTK_CTREE(ctree), CTREE_INDENT);
gtk_clist_set_compare_func(GTK_CLIST(ctree),
addressbook_list_compare_func);
+ gtkut_clist_set_redraw(GTK_CLIST(ctree));
g_signal_connect(G_OBJECT(ctree), "tree_select_row",
G_CALLBACK(addressbook_tree_selected), NULL);
@@ -603,6 +604,7 @@ static void addressbook_create(void)
COL_ADDRESS_WIDTH);
gtk_clist_set_compare_func(GTK_CLIST(clist),
addressbook_list_compare_func);
+ gtkut_clist_set_redraw(GTK_CLIST(clist));
for (i = 0; i < N_COLS; i++)
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist)->column[i].button,
diff --git a/src/editaddress.c b/src/editaddress.c
index b3a48738..a9f058da 100644
--- a/src/editaddress.c
+++ b/src/editaddress.c
@@ -660,6 +660,7 @@ void addressbook_edit_person_page_email( gint pageNum, gchar *pageLbl ) {
gtk_clist_set_selection_mode( GTK_CLIST(clist), GTK_SELECTION_BROWSE );
gtk_clist_set_column_width( GTK_CLIST(clist), EMAIL_COL_EMAIL, EMAIL_COL_WIDTH_EMAIL );
gtk_clist_set_column_width( GTK_CLIST(clist), EMAIL_COL_ALIAS, EMAIL_COL_WIDTH_ALIAS );
+ gtkut_clist_set_redraw( GTK_CLIST(clist) );
for( i = 0; i < EMAIL_N_COLS; i++ )
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist)->column[i].button, GTK_CAN_FOCUS);
@@ -808,6 +809,7 @@ void addressbook_edit_person_page_attrib( gint pageNum, gchar *pageLbl ) {
gtk_clist_set_selection_mode( GTK_CLIST(clist), GTK_SELECTION_BROWSE );
gtk_clist_set_column_width( GTK_CLIST(clist), ATTRIB_COL_NAME, ATTRIB_COL_WIDTH_NAME );
gtk_clist_set_column_width( GTK_CLIST(clist), ATTRIB_COL_VALUE, ATTRIB_COL_WIDTH_VALUE );
+ gtkut_clist_set_redraw( GTK_CLIST(clist) );
for( i = 0; i < ATTRIB_N_COLS; i++ )
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist)->column[i].button, GTK_CAN_FOCUS);
diff --git a/src/editgroup.c b/src/editgroup.c
index 91abf833..b8b14ffc 100644
--- a/src/editgroup.c
+++ b/src/editgroup.c
@@ -338,6 +338,7 @@ static void addressbook_edit_group_create( gboolean *cancelled ) {
gtk_clist_set_column_width( GTK_CLIST(clist_avail), GROUP_COL_EMAIL, GROUP_COL_WIDTH_EMAIL );
gtk_clist_set_compare_func( GTK_CLIST(clist_avail), edit_group_list_compare_func );
gtk_clist_set_auto_sort( GTK_CLIST(clist_avail), TRUE );
+ gtkut_clist_set_redraw( GTK_CLIST(clist_avail) );
for( i = 0; i < GROUP_N_COLS; i++ )
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist_avail)->column[i].button, GTK_CAN_FOCUS);
@@ -377,6 +378,7 @@ static void addressbook_edit_group_create( gboolean *cancelled ) {
gtk_clist_set_column_width( GTK_CLIST(clist_group), GROUP_COL_EMAIL, GROUP_COL_WIDTH_EMAIL );
gtk_clist_set_compare_func( GTK_CLIST(clist_group), edit_group_list_compare_func );
gtk_clist_set_auto_sort( GTK_CLIST(clist_group), TRUE );
+ gtkut_clist_set_redraw( GTK_CLIST(clist_group) );
for( i = 0; i < GROUP_N_COLS; i++ )
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist_group)->column[i].button, GTK_CAN_FOCUS);
diff --git a/src/editldap_basedn.c b/src/editldap_basedn.c
index a6e20afd..2e59b255 100644
--- a/src/editldap_basedn.c
+++ b/src/editldap_basedn.c
@@ -208,6 +208,7 @@ static void edit_ldap_bdn_create(void) {
gtk_clist_column_titles_show( GTK_CLIST(basedn_list) );
gtk_clist_set_column_title( GTK_CLIST(basedn_list), 0, _( "Available Search Base(s)" ) );
gtk_clist_set_selection_mode(GTK_CLIST(basedn_list), GTK_SELECTION_BROWSE);
+ gtkut_clist_set_redraw( GTK_CLIST(basedn_list) );
/* Status line */
hsbox = gtk_hbox_new(FALSE, 0);
diff --git a/src/gtkutils.c b/src/gtkutils.c
index 18e1b89b..585e75d3 100644
--- a/src/gtkutils.c
+++ b/src/gtkutils.c
@@ -310,6 +310,25 @@ void gtkut_clist_set_focus_row(GtkCList *clist, gint row)
GTKUT_CTREE_REFRESH(clist);
}
+#ifdef G_OS_WIN32
+static void vadjustment_changed(GtkAdjustment *adj, gpointer data)
+{
+ GtkWidget *widget = GTK_WIDGET(data);
+
+ gtk_widget_queue_draw(widget);
+}
+#endif
+
+void gtkut_clist_set_redraw(GtkCList *clist)
+{
+#ifdef G_OS_WIN32
+ if (clist->vadjustment) {
+ g_signal_connect(G_OBJECT(clist->vadjustment), "changed",
+ G_CALLBACK(vadjustment_changed), clist);
+ }
+#endif
+}
+
gboolean gtkut_tree_model_next(GtkTreeModel *model, GtkTreeIter *iter)
{
GtkTreeIter iter_, parent;
diff --git a/src/gtkutils.h b/src/gtkutils.h
index 7afa31be..d7e18c5c 100644
--- a/src/gtkutils.h
+++ b/src/gtkutils.h
@@ -122,6 +122,7 @@ void gtkut_ctree_set_focus_row (GtkCTree *ctree,
GtkCTreeNode *node);
void gtkut_clist_set_focus_row (GtkCList *clist,
gint row);
+void gtkut_clist_set_redraw (GtkCList *clist);
/* TreeView functions */
diff --git a/src/importldif.c b/src/importldif.c
index f77d2e1c..fe6cc003 100644
--- a/src/importldif.c
+++ b/src/importldif.c
@@ -598,6 +598,7 @@ static void imp_ldif_page_fields( gint pageNum, gchar *pageLbl ) {
GTK_CLIST(clist_field), FIELD_COL_FIELD, FIELDS_COL_WIDTH_FIELD );
gtk_clist_set_column_width(
GTK_CLIST(clist_field), FIELD_COL_ATTRIB, FIELDS_COL_WIDTH_ATTRIB );
+ gtkut_clist_set_redraw( GTK_CLIST(clist_field) );
for( i = 0; i < FIELDS_N_COLS; i++ )
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist_field)->column[i].button, GTK_CAN_FOCUS);
diff --git a/src/prefs_actions.c b/src/prefs_actions.c
index af33d40e..6fba22ae 100644
--- a/src/prefs_actions.c
+++ b/src/prefs_actions.c
@@ -295,6 +295,7 @@ static void prefs_actions_create(MainWindow *mainwin)
gtk_clist_set_column_width(GTK_CLIST (cond_clist), 0, 80);
gtk_clist_set_selection_mode(GTK_CLIST (cond_clist),
GTK_SELECTION_BROWSE);
+ gtkut_clist_set_redraw(GTK_CLIST(cond_clist));
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(cond_clist)->column[0].button,
GTK_CAN_FOCUS);
g_signal_connect(G_OBJECT(cond_clist), "select_row",
diff --git a/src/prefs_customheader.c b/src/prefs_customheader.c
index f2a296c3..b9dfd04e 100644
--- a/src/prefs_customheader.c
+++ b/src/prefs_customheader.c
@@ -263,6 +263,7 @@ static void prefs_custom_header_create(void)
GTK_SELECTION_BROWSE);
gtk_clist_set_reorderable (GTK_CLIST (customhdr_clist), TRUE);
gtk_clist_set_use_drag_icons (GTK_CLIST (customhdr_clist), FALSE);
+ gtkut_clist_set_redraw (GTK_CLIST (customhdr_clist));
GTK_WIDGET_UNSET_FLAGS (GTK_CLIST (customhdr_clist)->column[0].button,
GTK_CAN_FOCUS);
g_signal_connect (G_OBJECT (customhdr_clist), "select_row",
diff --git a/src/prefs_display_header.c b/src/prefs_display_header.c
index 7d5953d0..dcab6cf6 100644
--- a/src/prefs_display_header.c
+++ b/src/prefs_display_header.c
@@ -260,6 +260,7 @@ static void prefs_display_header_create(void)
GTK_SELECTION_BROWSE);
gtk_clist_set_reorderable (GTK_CLIST (headers_clist), TRUE);
gtk_clist_set_use_drag_icons (GTK_CLIST (headers_clist), FALSE);
+ gtkut_clist_set_redraw (GTK_CLIST (headers_clist));
GTK_WIDGET_UNSET_FLAGS (GTK_CLIST (headers_clist)->column[0].button,
GTK_CAN_FOCUS);
g_signal_connect_after
@@ -318,6 +319,7 @@ static void prefs_display_header_create(void)
gtk_clist_set_selection_mode (GTK_CLIST (hidden_headers_clist),
GTK_SELECTION_BROWSE);
gtk_clist_set_auto_sort(GTK_CLIST (hidden_headers_clist), TRUE);
+ gtkut_clist_set_redraw (GTK_CLIST (hidden_headers_clist));
GTK_WIDGET_UNSET_FLAGS (GTK_CLIST (hidden_headers_clist)->
column[0].button, GTK_CAN_FOCUS);
diff --git a/src/prefs_display_items.c b/src/prefs_display_items.c
index 41ebd9fa..66872797 100644
--- a/src/prefs_display_items.c
+++ b/src/prefs_display_items.c
@@ -170,6 +170,7 @@ PrefsDisplayItemsDialog *prefs_display_items_dialog_create(void)
GTK_SELECTION_BROWSE);
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(stock_clist)->column[0].button,
GTK_CAN_FOCUS);
+ gtkut_clist_set_redraw(GTK_CLIST(stock_clist));
/* add/remove button */
btn_vbox = gtk_vbox_new(FALSE, 0);
@@ -217,6 +218,7 @@ PrefsDisplayItemsDialog *prefs_display_items_dialog_create(void)
#endif
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(shown_clist)->column[0].button,
GTK_CAN_FOCUS);
+ gtkut_clist_set_redraw(GTK_CLIST(shown_clist));
g_signal_connect(G_OBJECT(shown_clist), "select-row",
G_CALLBACK(prefs_display_items_shown_select_row),
@@ -470,7 +472,6 @@ static void prefs_display_items_add(GtkWidget *widget, gpointer data)
item = (PrefsDisplayItem *)gtk_clist_get_row_data(stock_clist, row);
if (!item->allow_multiple) {
gtk_clist_remove(stock_clist, row);
- gtk_widget_queue_resize(GTK_WIDGET(stock_clist));
if (stock_clist->rows == row)
gtk_clist_select_row(stock_clist, row - 1, -1);
}
@@ -505,7 +506,6 @@ static void prefs_display_items_remove(GtkWidget *widget, gpointer data)
if (!item)
return;
gtk_clist_remove(shown_clist, row);
- gtk_widget_queue_resize(GTK_WIDGET(shown_clist));
if (shown_clist->rows == row)
gtk_clist_select_row(shown_clist, row - 1, -1);
diff --git a/src/prefs_filter_edit.c b/src/prefs_filter_edit.c
index 35cf5ba5..97601e05 100644
--- a/src/prefs_filter_edit.c
+++ b/src/prefs_filter_edit.c
@@ -1535,6 +1535,7 @@ static void prefs_filter_edit_edit_header_list_dialog_create(void)
gtk_container_add(GTK_CONTAINER(scrwin), clist);
gtk_clist_set_column_width(GTK_CLIST(clist), 0, 80);
gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_BROWSE);
+ gtkut_clist_set_redraw(GTK_CLIST(clist));
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist)->column[0].button,
GTK_CAN_FOCUS);
diff --git a/src/prefs_summary_column.c b/src/prefs_summary_column.c
index 951e1bc1..8858fdc0 100644
--- a/src/prefs_summary_column.c
+++ b/src/prefs_summary_column.c
@@ -226,6 +226,7 @@ static void prefs_summary_column_create(void)
gtk_container_add(GTK_CONTAINER(scrolledwin), stock_clist);
gtk_clist_set_selection_mode(GTK_CLIST(stock_clist),
GTK_SELECTION_BROWSE);
+ gtkut_clist_set_redraw(GTK_CLIST(stock_clist));
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(stock_clist)->column[0].button,
GTK_CAN_FOCUS);
@@ -273,6 +274,7 @@ static void prefs_summary_column_create(void)
gtk_clist_set_reorderable(GTK_CLIST(shown_clist), TRUE);
gtk_clist_set_use_drag_icons(GTK_CLIST(shown_clist), FALSE);
#endif
+ gtkut_clist_set_redraw(GTK_CLIST(shown_clist));
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(shown_clist)->column[0].button,
GTK_CAN_FOCUS);
diff --git a/src/prefs_template.c b/src/prefs_template.c
index a6adf7e0..4d2d3764 100644
--- a/src/prefs_template.c
+++ b/src/prefs_template.c
@@ -264,6 +264,7 @@ static void prefs_template_window_create(void)
gtk_clist_set_column_width(GTK_CLIST(clist_tmpls), 0, 80);
gtk_clist_set_selection_mode(GTK_CLIST(clist_tmpls),
GTK_SELECTION_BROWSE);
+ gtkut_clist_set_redraw(GTK_CLIST(clist_tmpls));
GTK_WIDGET_UNSET_FLAGS(GTK_CLIST(clist_tmpls)->column[0].button,
GTK_CAN_FOCUS);
g_signal_connect(G_OBJECT (clist_tmpls), "select_row",
diff --git a/src/select-keys.c b/src/select-keys.c
index 439aff4a..e5976569 100644
--- a/src/select-keys.c
+++ b/src/select-keys.c
@@ -328,6 +328,7 @@ create_dialog (struct select_keys_s *sk)
gtk_clist_set_column_width (GTK_CLIST(clist), COL_EMAIL, 130);
gtk_clist_set_column_width (GTK_CLIST(clist), COL_VALIDITY, 20);
gtk_clist_set_selection_mode (GTK_CLIST(clist), GTK_SELECTION_BROWSE);
+ gtkut_clist_set_redraw (GTK_CLIST(clist));
g_signal_connect (G_OBJECT(GTK_CLIST(clist)->column[COL_NAME].button),
"clicked",
G_CALLBACK(sort_keys_name), sk);