Merge from stable.

Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	Fixes #115871, reported by Michael Natterer.

	* gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
	added ctrl_pressed and shift_pressed bitfields,
	(_gtk_tree_selection_internal_select_node): replace GdkModifierType
	arg with GtkTreeSelectMode.

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
	(gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
	(_gtk_tree_selection_internal_select_node): all updated for
	GdkModifierType -> GtkTreeSelectMode move.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
	and shift_pressed around selection handling block,
	(gtk_tree_view_real_select_cursor_row),
	(gtk_tree_view_real_toggle_cursor_row),
	(gtk_tree_view_real_selection_cursor_parent),
	(gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
	instead of checking the event state. And also updates for the
	GdkModifierType -> GtkTreeSelectMode move.
This commit is contained in:
Kristian Rietveld
2003-08-25 21:33:00 +00:00
committed by Kristian Rietveld
parent fb6914efe1
commit 43d9992934
8 changed files with 183 additions and 29 deletions

View File

@ -43,6 +43,13 @@ typedef enum
GTK_TREE_VIEW_IN_COLUMN_DRAG = 1 << 7
} GtkTreeViewFlags;
typedef enum
{
GTK_TREE_SELECT_MODE_TOGGLE = 1 << 0,
GTK_TREE_SELECT_MODE_EXTEND = 1 << 1
}
GtkTreeSelectMode;
enum
{
DRAG_COLUMN_WINDOW_STATE_UNSET = 0,
@ -184,6 +191,9 @@ struct _GtkTreeViewPrivate
/* hint to display rows in alternating colors */
guint has_rules : 1;
guint mark_rows_col_dirty : 1;
guint ctrl_pressed : 1;
guint shift_pressed : 1;
/* interactive search */
guint enable_search : 1;
@ -287,7 +297,7 @@ void _gtk_tree_selection_internal_select_node (GtkTreeSelection *select
GtkRBNode *node,
GtkRBTree *tree,
GtkTreePath *path,
GdkModifierType state,
GtkTreeSelectMode mode,
gboolean override_browse_mode);
gboolean _gtk_tree_view_find_node (GtkTreeView *tree_view,
GtkTreePath *path,