summaryrefslogtreecommitdiff
path: root/gtk/gtkclist.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@src.gnome.org>2001-04-24 14:58:33 +0000
committerAlexander Larsson <alexl@src.gnome.org>2001-04-24 14:58:33 +0000
commitc668063747cc787e6ae49c2a451bbc1a8ec24278 (patch)
treee322ad3c7b983f824fedec8d6183a1f57f79dc0e /gtk/gtkclist.c
parentb84d2f1234b6a6c1fd42cab2541b563f2ad66615 (diff)
downloadgtk+-c668063747cc787e6ae49c2a451bbc1a8ec24278.tar.gz
i2001-04-24 Alexander Larsson <alexl@redhat.com>
* gtk/gtkclist.[ch]: * gtk/gtkctree.c: When there is a row highlighted for D'n'D it must alse be painted hightlighted on exposes. Otherwise exposes from the icon being dragged will mess up the hightlight. * gtk/gtkfontsel.c: Don't recenter selected font when exposing the font family clist. This means you can now actually scroll the font family list. * gtk/gtknotebook.c: Fix focus movement on scrolling tabs that are placed on the left and right.
Diffstat (limited to 'gtk/gtkclist.c')
-rw-r--r--gtk/gtkclist.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gtk/gtkclist.c b/gtk/gtkclist.c
index f0a88877dc..a32d4a4524 100644
--- a/gtk/gtkclist.c
+++ b/gtk/gtkclist.c
@@ -990,6 +990,8 @@ gtk_clist_init (GtkCList *clist)
clist->compare = default_compare;
clist->sort_type = GTK_SORT_ASCENDING;
clist->sort_column = 0;
+
+ clist->drag_highlight_row = -1;
}
/* Constructor */
@@ -4799,6 +4801,13 @@ gtk_clist_expose (GtkWidget *widget,
/* exposure events on the list */
if (event->window == clist->clist_window)
draw_rows (clist, &event->area);
+
+ if (event->window == clist->clist_window &&
+ clist->drag_highlight_row >= 0)
+ GTK_CLIST_GET_CLASS (clist)->draw_drag_highlight
+ (clist, g_list_nth (clist->row_list,
+ clist->drag_highlight_row)->data,
+ clist->drag_highlight_row, clist->drag_highlight_pos);
}
return FALSE;
@@ -7483,6 +7492,7 @@ gtk_clist_drag_leave (GtkWidget *widget,
(clist,
g_list_nth (clist->row_list, dest_info->cell.row)->data,
dest_info->cell.row, dest_info->insert_pos);
+ clist->drag_highlight_row = -1;
break;
}
list = list->next;
@@ -7573,6 +7583,9 @@ gtk_clist_drag_motion (GtkWidget *widget,
(clist, g_list_nth (clist->row_list,
dest_info->cell.row)->data,
dest_info->cell.row, dest_info->insert_pos);
+
+ clist->drag_highlight_row = dest_info->cell.row;
+ clist->drag_highlight_pos = dest_info->insert_pos;
gdk_drag_status (context, context->suggested_action, time);
}