diff options
author | Mathieu Lacage <mathieu@eazel.com> | 2000-11-14 01:38:06 +0000 |
---|---|---|
committer | Mathieu Lacage <mathieu@src.gnome.org> | 2000-11-14 01:38:06 +0000 |
commit | af7bef76b8b1ba3437119afa9456ac110203a948 (patch) | |
tree | 69ce18f20136d18696b63bb8fad352d314341d68 /docs | |
parent | 5108ef7855232aa95e995315f8f8e832a6349e1d (diff) | |
download | nautilus-af7bef76b8b1ba3437119afa9456ac110203a948.tar.gz |
Buddy: pavel. Fix bug 2422 and 4382.
2000-11-13 Mathieu Lacage <mathieu@eazel.com>
Buddy: pavel.
Fix bug 2422 and 4382.
* components/tree/nautilus-tree-view.c:
(filtering_changed_callback),
(collapse_time_callback): added. collapses opened folders when
you leave the tree view.
(nautilus_tree_view_drag_leave): make it call tree_view_drag_destroy
(nautilus_tree_view_drag_motion): cleanup, make it call
tree_view_drag_destroy_real
(nautilus_tree_view_drag_drop): spaces.
(nautilus_tree_view_drag_data_received): cleanup: make it call
tree_view_drag_destroy.
(nautilus_dump_info): cleanup.
(expand_time_callback): cleanup.
(nautilus_tree_view_expand_maybe_later): cleanup
(nautilus_tree_view_collapse_all): cleanup.
(nautilus_tree_view_receive_dropped_icons): make it collapse
correctly.
(nautilus_tree_view_prelight_stop): new function: clears prelighting.
(nautilus_tree_view_drag_destroy): new function: destroys when drag finished.
(nautilus_tree_view_drag_destroy_real): new function: destroys when drag begins.
* docs/dnd.txt: add some thoughts.
* libnautilus-extensions/nautilus-drag.c:
(nautilus_drag_init): init new field.
* libnautilus-extensions/nautilus-drag.h: add shared field to public structure.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dnd.txt | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/docs/dnd.txt b/docs/dnd.txt index 64220bddf..8abf3919e 100644 --- a/docs/dnd.txt +++ b/docs/dnd.txt @@ -53,6 +53,7 @@ Then, when the drop occurs, drag_drop is called on the destination. drag_drop calls gtk_drag_get_data to get the data from the source to do its drop. Then, drag_data_received is called when the data is received. There, we can do the actual operation involved by the drop. +Also, just before the drag_drop event, a drag_leave event is triggered. If no drop occurs, a drag_leave occurs. @@ -74,7 +75,18 @@ To solve 2), we have to be very careful where we call this fution from. This function has to clean up: - the list of expanded nodes (tree view). + - the autoscroll code. + - the prelighting code. + It also has to set drag_info->need_to_destroy to TRUE + so that during the next drag in this widget, the + rest of the drag data is destroyed before begening the actual + new drag. + +When we receive a drag_motion, we first test for need_to_destroy and +destroy the rest of the data left from the previous drag. This code +has to destroy/reset: - the drag data. - the boolean vars used to store the state of the drag. - - the autoscroll code. - - the prelighting code.
\ No newline at end of file + + + |