forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
b84d2f1234
commit
c668063747
@ -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;
|
||||
@ -7574,6 +7584,9 @@ gtk_clist_drag_motion (GtkWidget *widget,
|
||||
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);
|
||||
}
|
||||
return TRUE;
|
||||
|
@ -239,6 +239,9 @@ struct _GtkCList
|
||||
GtkSortType sort_type;
|
||||
GtkCListCompareFunc compare;
|
||||
gint sort_column;
|
||||
|
||||
gint drag_highlight_row;
|
||||
GtkCListDragPos drag_highlight_pos;
|
||||
};
|
||||
|
||||
struct _GtkCListClass
|
||||
|
@ -6084,6 +6084,9 @@ gtk_ctree_drag_motion (GtkWidget *widget,
|
||||
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);
|
||||
}
|
||||
return TRUE;
|
||||
|
@ -288,9 +288,6 @@ gtk_font_selection_init(GtkFontSelection *fontsel)
|
||||
gtk_signal_connect (GTK_OBJECT (fontsel->font_clist), "key_press_event",
|
||||
GTK_SIGNAL_FUNC(gtk_font_selection_on_clist_key_press),
|
||||
fontsel);
|
||||
gtk_signal_connect_after (GTK_OBJECT (fontsel->font_clist), "expose_event",
|
||||
GTK_SIGNAL_FUNC(gtk_font_selection_expose_list),
|
||||
fontsel);
|
||||
|
||||
gtk_font_selection_show_available_styles (fontsel);
|
||||
|
||||
|
@ -1005,12 +1005,19 @@ gtk_notebook_arrow_button_press (GtkNotebook *notebook,
|
||||
|
||||
if (event->button == 1)
|
||||
{
|
||||
GtkDirectionType dir;
|
||||
if (!notebook->focus_tab ||
|
||||
gtk_notebook_search_page (notebook, notebook->focus_tab,
|
||||
arrow == GTK_ARROW_LEFT ? STEP_PREV : STEP_NEXT,
|
||||
TRUE))
|
||||
gtk_container_focus (GTK_CONTAINER (notebook),
|
||||
arrow == GTK_ARROW_LEFT ? GTK_DIR_LEFT : GTK_DIR_RIGHT);
|
||||
{
|
||||
if (notebook->tab_pos == GTK_POS_LEFT ||
|
||||
notebook->tab_pos == GTK_POS_RIGHT)
|
||||
dir = (arrow == GTK_ARROW_LEFT) ? GTK_DIR_UP : GTK_DIR_DOWN;
|
||||
else
|
||||
dir = (arrow == GTK_ARROW_LEFT) ? GTK_DIR_LEFT : GTK_DIR_RIGHT;
|
||||
gtk_container_focus (GTK_CONTAINER (notebook), dir);
|
||||
}
|
||||
|
||||
if (!notebook->timer)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user