Mercurial > geeqie.yaz
comparison src/view_dir.c @ 407:3a9074e73f53
Rename vd_drop_update() to vd_dnd_drop_update().
Add two function pointers to ViewDir struct to keep
vdtree_dnd_drop_expand_cancel() and vdtree_dnd_drop_expand()
static to view_dir_tree.c.
author | zas_ |
---|---|
date | Fri, 18 Apr 2008 16:53:41 +0000 |
parents | 7840ccc95aee |
children | 440979320308 |
comparison
equal
deleted
inserted
replaced
406:8e6f5bbe7843 | 407:3a9074e73f53 |
---|---|
67 vd->drop_list = NULL; | 67 vd->drop_list = NULL; |
68 vd->drop_scroll_id = -1; | 68 vd->drop_scroll_id = -1; |
69 vd->drop_list = NULL; | 69 vd->drop_list = NULL; |
70 | 70 |
71 vd->popup = NULL; | 71 vd->popup = NULL; |
72 | |
73 vd->dnd_drop_leave_func = NULL; | |
74 vd->dnd_drop_update_func = NULL; | |
72 | 75 |
73 vd->widget = gtk_scrolled_window_new(NULL, NULL); | 76 vd->widget = gtk_scrolled_window_new(NULL, NULL); |
74 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(vd->widget), GTK_SHADOW_IN); | 77 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(vd->widget), GTK_SHADOW_IN); |
75 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(vd->widget), | 78 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(vd->widget), |
76 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); | 79 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); |
725 vd->drop_fd = fd; | 728 vd->drop_fd = fd; |
726 vd->drop_list = list; | 729 vd->drop_list = list; |
727 } | 730 } |
728 } | 731 } |
729 | 732 |
730 static void vd_drop_update(ViewDir *vd, gint x, gint y) | 733 static void vd_dnd_drop_update(ViewDir *vd, gint x, gint y) |
731 { | 734 { |
732 GtkTreePath *tpath; | 735 GtkTreePath *tpath; |
733 FileData *fd = NULL; | 736 FileData *fd = NULL; |
734 | 737 |
735 if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(vd->view), x, y, | 738 if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(vd->view), x, y, |
741 | 744 |
742 if (fd != vd->drop_fd) | 745 if (fd != vd->drop_fd) |
743 { | 746 { |
744 vd_color_set(vd, vd->drop_fd, FALSE); | 747 vd_color_set(vd, vd->drop_fd, FALSE); |
745 vd_color_set(vd, fd, TRUE); | 748 vd_color_set(vd, fd, TRUE); |
746 if (vd->type == DIRVIEW_TREE && fd) vdtree_dnd_drop_expand(vd); | 749 if (fd && vd->dnd_drop_update_func) vd->dnd_drop_update_func(vd); |
747 } | 750 } |
748 | 751 |
749 vd->drop_fd = fd; | 752 vd->drop_fd = fd; |
750 } | 753 } |
751 | 754 |
768 window = vd->view->window; | 771 window = vd->view->window; |
769 gdk_window_get_pointer(window, &x, &y, NULL); | 772 gdk_window_get_pointer(window, &x, &y, NULL); |
770 gdk_drawable_get_size(window, &w, &h); | 773 gdk_drawable_get_size(window, &w, &h); |
771 if (x >= 0 && x < w && y >= 0 && y < h) | 774 if (x >= 0 && x < w && y >= 0 && y < h) |
772 { | 775 { |
773 vd_drop_update(vd, x, y); | 776 vd_dnd_drop_update(vd, x, y); |
774 } | 777 } |
775 } | 778 } |
776 | 779 |
777 vd->drop_scroll_id = -1; | 780 vd->drop_scroll_id = -1; |
778 return FALSE; | 781 return FALSE; |
805 else | 808 else |
806 { | 809 { |
807 gdk_drag_status(context, context->suggested_action, time); | 810 gdk_drag_status(context, context->suggested_action, time); |
808 } | 811 } |
809 | 812 |
810 vd_drop_update(vd, x, y); | 813 vd_dnd_drop_update(vd, x, y); |
811 | 814 |
812 if (vd->drop_fd) | 815 if (vd->drop_fd) |
813 { | 816 { |
814 GtkAdjustment *adj = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(vd->view)); | 817 GtkAdjustment *adj = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(vd->view)); |
815 widget_auto_scroll_start(vd->view, adj, -1, -1, vd_auto_scroll_notify_cb, vd); | 818 widget_auto_scroll_start(vd->view, adj, -1, -1, vd_auto_scroll_notify_cb, vd); |
824 | 827 |
825 if (vd->drop_fd != vd->click_fd) vd_color_set(vd, vd->drop_fd, FALSE); | 828 if (vd->drop_fd != vd->click_fd) vd_color_set(vd, vd->drop_fd, FALSE); |
826 | 829 |
827 vd->drop_fd = NULL; | 830 vd->drop_fd = NULL; |
828 | 831 |
829 if (vd->type == DIRVIEW_TREE) vdtree_dnd_drop_expand_cancel(vd); | 832 if (vd->dnd_drop_leave_func) vd->dnd_drop_leave_func(vd); |
830 } | 833 } |
831 | 834 |
832 void vd_dnd_init(ViewDir *vd) | 835 void vd_dnd_init(ViewDir *vd) |
833 { | 836 { |
834 gtk_drag_source_set(vd->view, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, | 837 gtk_drag_source_set(vd->view, GDK_BUTTON1_MASK | GDK_BUTTON2_MASK, |