summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMathieu Lacage <mathieu@eazel.com>2000-11-14 01:38:06 +0000
committerMathieu Lacage <mathieu@src.gnome.org>2000-11-14 01:38:06 +0000
commitaf7bef76b8b1ba3437119afa9456ac110203a948 (patch)
tree69ce18f20136d18696b63bb8fad352d314341d68 /docs
parent5108ef7855232aa95e995315f8f8e832a6349e1d (diff)
downloadnautilus-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.txt16
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
+
+
+