Commit Graph

385 Commits

Author SHA1 Message Date
Matthias Clasen
57e8c48a0c Allow to restore the default search function. (#145365, John Finlay)
* gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Allow
	to restore the default search function.  (#145365, John Finlay)
2004-07-08 21:19:23 +00:00
Matthias Clasen
39fb304f97 Stop editing when a new model is set. (#145566, Dmitry M. Shatrov)
Thu Jul  8 00:33:15 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeview.c (gtk_tree_view_set_model):  Stop editing
	when a new model is set.  (#145566, Dmitry M. Shatrov)
2004-07-08 04:33:50 +00:00
Matthias Clasen
f2ac32337e Small documentation fixes.
2004-07-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c:
	* gtk/gtktreeview.h: Small documentation fixes.
2004-07-07 16:24:55 +00:00
Matthias Clasen
84a6adf83c Small documentation fixes.
2004-07-07  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c:
	* gtk/gtktreeview.h: Small documentation fixes.
2004-07-07 15:55:28 +00:00
Matthias Clasen
1aa00e5215 Support separators in combo boxes and more generally in tree views
2004-07-07  Matthias Clasen  <mclasen@redhat.com>

	Support separators in combo boxes and more generally in tree
	views  (#135873):

	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c (gtk_combo_box_get_row_separator_column):
	* gtk/gtkcombobox.c (gtk_combo_box_set_row_separator_column):
	Add a ::row-separator-column property with getter and setter,
	which can indicate a boolean model column to determine which
	rows are separators.

	* gtk/gtkcombobox.c: Display separator rows as separator menu
	items in menu mode, and by using the new treeview separator
	functionality in list mode.

	* gtk/gtktreeview.h:
	* gtk/gtktreeview.c (gtk_tree_view_get_row_separator_func):
	* gtk/gtktreeview.c (gtk_tree_view_set_row_separator_func):
	Add a callback to determine whether a row is a separator.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose):
	* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
	* gtk/gtktreeview.c (validate_row): Use the new callback
	to determine whether a row is a separator, and draw it
	as a separator then. Since separators should take up less
	vertical space than regular rows, this requires removing
	the redundant MAX(...,expander_size) calls which appear in
	many places. Instead, the MAX() is now only done in
	validate_row(), and only if the row is not a separator.
	To catch possible side effects of this intrusive change,
	I have left EXPANDER_MAX() calls in place of the MAX() calls
	which will emit a warning if something breaks. They should
	be removed before 2.6.

	* gtk/gtktreeselection.c (row_is_selectable): Don't let
	separator rows be selected.

	* tests/testcombo.c (create_blaat): Add a separator column.
2004-07-07 15:15:35 +00:00
Jonathan Blandford
f80b81db14 Fix for #136496, Pawel Salek:
Tue Jul  6 10:00:22 2004  Jonathan Blandford  <jrb@redhat.com>

	Fix for #136496, Pawel Salek:

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): Queue a redraw on
	a node when it changes in fixed_height mode.

	(gtk_tree_view_node_queue_redraw): new function to queue a redraw
	on a node.
2004-07-06 14:32:18 +00:00
Anders Carlsson
ee15a7b948 Make sure we check for a NULL model first.
2004-07-02  Anders Carlsson  <andersca@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_model):
	Make sure we check for a NULL model first.
2004-07-02 11:32:03 +00:00
Anders Carlsson
e1020f9523 Use g_return_if_fail to make sure that the model is a GtkTreeModel.
2004-06-30  Anders Carlsson  <andersca@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Use
	g_return_if_fail to make sure that the model is a GtkTreeModel.
2004-06-30 10:07:49 +00:00
Federico Mena Quintero
5af5cc5a1a Revert the patch from 2003/Sep/12. This kept DnD in tree views within
2004-06-07  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Revert the patch
	from 2003/Sep/12.  This kept DnD in tree views within modal
	dialogs from working, which is especially bad for the file
	chooser.  Fixes #135168.
2004-06-08 02:31:04 +00:00
Federico Mena Quintero
aff289b83a Bail out if the model is empty. Fixes #143536.
2004-06-02  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtktreeview.c (gtk_tree_view_search_init): Bail out if the
	model is empty.  Fixes #143536.
2004-06-02 19:21:06 +00:00
Matthias Clasen
6ce035aecc New function to go from tree window to tree coordinates, kept static for
2004-05-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_tree_window_to_tree_coords):
	New function to go from tree window to tree coordinates, kept
	static for now until we figure out the multiple coordinate
	system mess in GtkTreeView API-wise.
	(gtk_tree_view_scroll_to_cell): Transform the coordinates
	from tree window to tree coordinates, using the new function.
	Previously, the x coordinate was wrongly transformed. (#142494)
2004-05-14 18:05:07 +00:00
Matthias Clasen
4c2dd05c96 Use GTK_SELECTION_BROWSE.
2004-05-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use
	GTK_SELECTION_BROWSE.

	* gtk/gtktreeview.c: Make hover selection work for
	GTK_SELECTION_BROWSE as well.
2004-05-11 13:44:09 +00:00
Matthias Clasen
16a4dc2415 Add a note about COLUMN_FIXED restriction.
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_fixed_height_mode): Add a
	note about COLUMN_FIXED restriction.
2004-05-10 20:27:27 +00:00
Matthias Clasen
b301315706 Use hover selection mode. (#127648, Dave Bordoley)
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init):
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
	mode.  (#127648, Dave Bordoley)

	* gtk/gtktreeview.h:
	* gtk/gtktreeview.c: Add a new property "hover_selection", which
	when TRUE makes the selection follow the mouse. Also add setter
	and getter for the fixed_height property.
2004-05-10 17:15:14 +00:00
Jonathan Blandford
11eaf5a97c propagate expose events to children.
Wed Apr 14 03:45:39 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtktreeview.c (gtk_tree_view_expose): propagate expose
        events to children.
2004-04-14 07:49:10 +00:00
Jonathan Blandford
d8d64901c7 remove unused variable. (gtk_tree_view_button_press): If we activated the
Tue Apr 13 12:24:49 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_destroy): remove unused
        variable.
        (gtk_tree_view_button_press): If we activated the row we don't
        want to grab focus back, as moving focus to another widget is
        pretty common, #138458
2004-04-13 16:27:03 +00:00
Matthias Clasen
d7cb94614d Typo fix.
2004-04-12  Matthias Clasen  <mclasen@dhcp64-228.boston.redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add
	a shadow inside the scrolled window, add it around the vbox.

	* gtk/gtkentryprivate.h:
	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Return a boolean indicating whether the popup is positioned above
	or below. Scroll the completions to the beginning or the end,
	depending on the positioning.

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav
	wrap around in the entry completion popup, and allow GDK_UP to
	enter the popup.  (#137440)

2004-04-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is
	there before using it.
2004-04-12 19:40:22 +00:00
Jonathan Blandford
0aebe34351 Moved search entries into priv data.
Sun Apr 11 15:08:45 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtktreeprivate.h: Moved search entries into priv data.

        * gtk/gtktreeview.c: Prep for type-ahead support.

        (gtk_tree_view_destroy): Destroy the search window explicitly.
        (gtk_tree_view_key_press): Minor change; prep for type-ahead
        (gtk_tree_view_ensure_interactive_directory): New function
        (gtk_tree_view_focus_out): Rework to handle new entry life-cycle.
        (gtk_tree_view_real_start_interactive_search): rework
        (gtk_tree_view_search_dialog_hide): ditto
        (gtk_tree_view_search_delete_event): ditto
        (gtk_tree_view_search_button_press_event): ditto
        (gtk_tree_view_search_key_press_event): ditto
        (gtk_tree_view_search_move): ditto
        (gtk_tree_view_search_init): ditto

        * gtk/gtktreeviewcolumn.c:
        (gtk_tree_view_column_cell_layout_clear): remove unused variable.

        * tests/testfilechooser.c: (main): change
2004-04-11 19:15:24 +00:00
Jonathan Blandford
277bfffe38 set the height correctly for fixed height when inserting a node, #138082
Fri Apr  2 17:57:33 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_row_inserted): set the height
        correctly for fixed height when inserting a node, #138082
2004-04-02 23:07:49 +00:00
Owen Taylor
6bc9b7f5b4 Mention GtkTreeViewSearchEqualFunc return value oddity here as well.
Sun Mar 14 22:32:36 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Mention
        GtkTreeViewSearchEqualFunc return value oddity here as well.

        * gtk/gtktreeview.c (gtk_tree_view_search_equal_func): On failure
        to get a string to compare to, return TRUE (no match), not
        FALSE (match). Handle %NULL string values gracefully.
        Remove unused variable. (#135962, Mark McLoughlin)
2004-03-15 03:53:20 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Jonathan Blandford
48bfdd5174 scroll to the new path.
Fri Mar  5 18:00:36 2004  Jonathan Blandford  <jrb@redhat.com>

        * gtk/gtkfilechooserdefault.c (new_folder_button_clicked): scroll
        to the new path.

        * gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update the
        allocation when scrolling instead of cancelling editing.
2004-03-05 23:02:01 +00:00
Matthias Clasen
61fd5219ab Clarify the doc comment. (#118602)
Fri Mar  5 23:37:16 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeview.c (gtk_tree_view_set_reorderable): Clarify the
	doc comment.  (#118602)
2004-03-05 22:36:05 +00:00
Jonathan Blandford
9ae401d544 only draw the sort column as different if there are 3 or more visible
Tue Feb 24 14:43:07 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtktreeview.c (gtk_tree_view_bin_expose): only draw the sort
        column as different if there are 3 or more visible columns.
2004-02-24 19:49:08 +00:00
Matthias Clasen
6993105c84 Document the tree DND API.
Sun Feb 15 02:49:45 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreednd.c:
	* gtk/gtktreeview.c: Document the tree DND API.

	* gtk/gtktreeview.c (gtk_tree_view_unset_rows_drag_source):
	Call gtk_drag_source_unset().
2004-02-15 01:47:05 +00:00
Matthias Clasen
8321052434 Call gtk_drag_source_set(), so that things like gtk_drag_set_icon_*() work
Thu Feb 12 01:17:01 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeview.c (gtk_tree_view_enable_model_drag_source): Call
	gtk_drag_source_set(), so that things like gtk_drag_set_icon_*() work
	for automatic DND.  (#133485, Tommi Komulainen)
2004-02-12 00:15:50 +00:00
Matthias Clasen
4ec8e2b20e Add init_hadjust_value and prev_width. Initialize them here. ...and here.
Tue Feb  3 00:15:17 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add
	init_hadjust_value and prev_width.
	* gtk/gtktreeview.c (gtk_tree_view_init): Initialize
	them here.
	* gtk/gtktreeview.c (gtk_tree_view_update_size): ...and here.
	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Use them
	here to properly handle the initial position of rtl-oriented
	tree views.  (#127581, chinen@jp.ibm.com)
2004-02-02 23:20:42 +00:00
Federico Mena Quintero
f480c797cd Fix #130846, reported by R. McFarland <rwmcfa1@neces.com>.
2004-01-20  Federico Mena Quintero  <federico@ximian.com>

	Fix #130846, reported by R. McFarland <rwmcfa1@neces.com>.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Return TRUE when
	we handle an event in the colums, and FALSE at the end if the
	event is not handled at all.
2004-02-02 22:53:02 +00:00
Not Zed
ca644c4107 Fixes #132929.
2004-01-30  Not Zed  <NotZed@Ximian.com>

	Fixes #132929.

	* gtk/gtktreeview.c (cancel_arrow_animation): remove the timeout
	handler when we clear the timeout id.
2004-01-30 18:37:46 +00:00
Jonathan Blandford
65e277c5d2 Don't crash when there are no columns, or all columns are hidden, #131402
Fri Jan 23 14:56:18 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): Don't crash
        when there are no columns, or all columns are hidden, #131402
2004-01-23 19:59:49 +00:00
Matthias Clasen
07d4d314b6 The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and
Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>

	The first part of the fix for #114351 (see also
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* gtk/gtkintl.h:
	* gdk-pixbuf/gdk-pixbuf-i18n.h:
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* gdk-pixbuf/gdk-pixbuf.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().

	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
	invocation, since property blurbs and nicks are
	now marked with P_().
2004-01-16 23:10:05 +00:00
Jonathan Blandford
40bd0ccb17 move grab_focus to after handling the button presses in the TreeView to
Wed Jan 14 18:01:52 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): move grab_focus
        to after handling the button presses in the TreeView to avoid
        getting multiple selection_changes()
2004-01-15 00:12:23 +00:00
Matthias Clasen
6a6455d7e3 Fix memory leaks caused by the failure to free the result of
Sun Dec 21 23:17:01 2003  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (update_node):
	(update_smart_separators):
	(_gtk_menu_is_empty):
	(find_menu_position):
	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_destroy):
	* gtk/gtkcombobox.c (gtk_combo_box_relayout_item):
	(gtk_combo_box_relayout): Fix memory leaks caused by the
	failure to free the result of gtk_container_get_children().
	(#127576, Yao Zhang)
2003-12-21 22:28:14 +00:00
Kristian Rietveld
5f65142b3c do not invalidate all of treeview when resizing (#110074, patch from
Sat Dec 20 22:06:03 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): do not invalidate
	all of treeview when resizing (#110074, patch from Soeren Sandmann).
2003-12-20 21:08:24 +00:00
Kristian Rietveld
30d9f88996 use strstr instead of strcmp (#117127, suggestion from Soeren Sandmann).
Fri Dec 19 22:18:19 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): use strstr
	instead of strcmp (#117127, suggestion from Soeren Sandmann).
2003-12-19 21:21:12 +00:00
Kristian Rietveld
dad34f29b2 add key bindings for "*" and "/" (expand/collapse all). (#110195, reported
Thu Dec 18 18:01:01 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): add key bindings
	for "*" and "/" (expand/collapse all). (#110195, reported by
	Calum Benson).
2003-12-18 17:03:42 +00:00
Kristian Rietveld
66def98927 Jonathan got the logical flag backwards in the expand_collapse_cursor_row
Thu Dec 18 01:21:59 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Jonathan got
	the logical flag backwards in the expand_collapse_cursor_row
	bindings, fixing.
	(gtk_tree_view_real_expand_collapse_cursor_row): invert expand
	flag when !logical and in RTL. (Fixes #107527, reported by
	Noah Levitt).
2003-12-18 00:25:11 +00:00
Kristian Rietveld
0b3fa61b7e only start editing when activated by the left mouse button. (#106869,
Thu Dec 18 01:10:16 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only start
	editing when activated by the left mouse button. (#106869,
	patch from Evan Martin).
2003-12-18 00:12:31 +00:00
Kristian Rietveld
b1187d9e0e only try to strcmp or strlen if we managed to normalize and casefold the
Wed Dec 17 23:31:19 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): only
	try to strcmp or strlen if we managed to normalize and casefold
	the string correctly. Fixes crashes with non-UTF8 strings.
	(#121617, Patch from Tim-Philipp Müller).
2003-12-17 22:33:54 +00:00
Kristian Rietveld
d1f4899fc7 fix compile warning. (#122727, patch from Kjartan Maraas).
Wed Dec 17 23:16:45 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): fix compile warning.
	(#122727, patch from Kjartan Maraas).
2003-12-17 22:18:43 +00:00
Kristian Rietveld
f219093fd2 Yay! Fixed height mode! Hooray! (Part 2 of #80868).
Wed Dec 17 21:23:01 2003  Kristian Rietveld  <kris@gtk.org>

	Yay! Fixed height mode! Hooray! (Part 2 of #80868).

	* gtk/gtktreeview.c (gtk_tree_view_class_init),
	(gtk_tree_view_init), (gtk_tree_view_set_property),
	(gtk_tree_view_get_property), (gtk_tree_view_set_model): add a
	fixed_height_mode property,
	(intialize_fixed_height_mode), (do_validate_rows),
	(column_sizing_notify), (gtk_tree_view_set_fixed_height_mode),
	(gtk_tree_view_style_set), (gtk_tree_view_row_changed),
	(gtk_tree_view_row_inserted), (gtk_tree_view_remove_column),
	(gtk_tree_view_insert_column): implement fixed height mode,
	(gtk_tree_view_append_column), (gtk_tree_view_insert_column),
	(gtk_tree_view_insert_column_with_attributes),
	(gtk_tree_view_insert_column_with_data_func): update docs.

	* gtk/gtktreeprivate.h: add two fields to GtkTreePrivate.
2003-12-17 20:29:43 +00:00
Kristian Rietveld
5f3cde77ba A trick for a faster treeview, step 1. Patch to short circuit
Sat Dec 13 16:13:27 2003  Kristian Rietveld  <kris@gtk.org>

	A trick for a faster treeview, step 1. Patch to short circuit
	_build_tree(), inspired by Jonathan (#80868).

	* gtk/gtktreeview.c (gtk_tree_view_init): don't put _IS_LIST in
	flags by default,
	(gtk_tree_view_build_tree): don't even try to recurse when the
	model says that it is a list, remove flag unsetter,
	(gtk_tree_view_set_model): change flag setting logic.

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags):
	propagate whether or not the child model has _IS_LIST set.

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_flags):
	ditto.
2003-12-13 15:20:28 +00:00
Jonathan Blandford
b49f713fb2 Patch from <chinen@jp.ibm.com> to handle RTL support for column resizers,
Sat Nov 29 00:55:28 2003  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_new_column_width):
	* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
	Patch from <chinen@jp.ibm.com> to handle RTL support for column
	resizers, #127874
2003-11-29 06:16:11 +00:00
Kristian Rietveld
5bf43ccbb8 set ctrl_pressed and shift_pressed according to the current event state
Tue Oct 21 22:07:12 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_real_move_cursor): set
	ctrl_pressed and shift_pressed according to the current event
	state (if there is one). (Fixes #125063, reported by Sebastien Bacher).
2003-10-21 20:19:14 +00:00
Federico Mena Quintero
f6bb7584cd Don't do operations on windows if the tree view is not mapped.
2003-10-13  Federico Mena Quintero  <federico@ximian.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Don't do
	operations on windows if the tree view is not mapped.
	(gtk_tree_view_button_press): Compare equal types of pointers, not
	GtkWidget* vs. GtkTreeView*.
2003-10-13 21:52:15 +00:00
Soeren Sandmann
ad709dcfea Improve documentation. (#117306, Steve Chaplin)
Fri Sep 19 13:24:54 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve
	documentation. (#117306, Steve Chaplin)
2003-09-19 11:29:10 +00:00
Jonathan Blandford
9ded36af54 Merge from stable.
Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>

	Merge from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
	pressed button (used to determine if we want to initiate a drag later
	on) if the current grab widget is either NULL or tree_view (Reported
	by Jeroen Zwartepoorte).
2003-09-12 14:46:50 +00:00
Kristian Rietveld
b78691f098 Big TreeView DnD fixage, makes drops on empty models work, makes TreeStore
Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>

	Big TreeView DnD fixage, makes drops on empty models work, makes
	TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
	Related bugs #95362 and #113314. I don't want to touch this code
	ever again.

	* gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.

	* gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
	for selection_data->length.

	* gtk/gtktreeview.c (struct DestRow), (dest_row_free),
	(set_dest_row), (get_dest_row): we don't store just the row ref
	anymore, but a struct with the row ref and additional info,
	(set_destination_row): handle drops on empty space and some
	style fixes,
	(get_logical_dest_row): also return path_down_mode/drop_append_mode
	flags, handle dropping childs on their new parents, rewrite
	drop append handling into something saner,
	(gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
	spaces,
	(gtk_tree_view_drag_drop): updates for updated backend,
	(gtk_tree_view_drag_data_received): updates for updated backend,
	path down mode (treestore DnD) handling,
	(gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
	when we are trying to drop a row on an empty model,
	(gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.

	* gtk/gtkliststore.c (gtk_list_store_drag_data_received),
	(gtk_list_store_row_drop_possible): style and drop-append fixes.

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
2003-09-09 23:13:39 +00:00
Kristian Rietveld
e5efd71486 Merge from stable.
Tue Sep  2 21:01:19 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
	to only select when button 1 is pressed introduced in the fix of
	bug #120187.
2003-09-02 19:16:11 +00:00
Kristian Rietveld
43d9992934 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.
2003-08-25 21:33:00 +00:00