Mercurial > geeqie.yaz
comparison src/bar_keywords.c @ 1395:e86d8facbdae
dnd fixes
author | nadvornik |
---|---|
date | Sun, 08 Mar 2009 11:32:12 +0000 |
parents | bec57fa486f4 |
children | 58f0b4586c8c |
comparison
equal
deleted
inserted
replaced
1394:bec57fa486f4 | 1395:e86d8facbdae |
---|---|
570 GtkTreeIter dest_iter; | 570 GtkTreeIter dest_iter; |
571 gtk_tree_model_get_iter(model, &dest_iter, tpath); | 571 gtk_tree_model_get_iter(model, &dest_iter, tpath); |
572 gtk_tree_path_free(tpath); | 572 gtk_tree_path_free(tpath); |
573 gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &dest_kw_iter, &dest_iter); | 573 gtk_tree_model_filter_convert_iter_to_child_iter(GTK_TREE_MODEL_FILTER(model), &dest_kw_iter, &dest_iter); |
574 | 574 |
575 if (src_valid && gtk_tree_store_is_ancestor(GTK_TREE_STORE(keyword_tree), &src_kw_iter, &dest_kw_iter)) | |
576 { | |
577 /* can't move to it's own child */ | |
578 return; | |
579 } | |
575 | 580 |
576 if ((pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE || pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER) && | 581 if ((pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE || pos == GTK_TREE_VIEW_DROP_INTO_OR_AFTER) && |
577 !gtk_tree_model_iter_has_child(keyword_tree, &dest_kw_iter)) | 582 !gtk_tree_model_iter_has_child(keyword_tree, &dest_kw_iter)) |
578 { | 583 { |
579 gtk_tree_store_append(GTK_TREE_STORE(keyword_tree), &new_kw_iter, &dest_kw_iter); | 584 gtk_tree_store_append(GTK_TREE_STORE(keyword_tree), &new_kw_iter, &dest_kw_iter); |
638 pos = GTK_TREE_VIEW_DROP_AFTER; | 643 pos = GTK_TREE_VIEW_DROP_AFTER; |
639 } | 644 } |
640 | 645 |
641 gtk_tree_view_set_drag_dest_row(GTK_TREE_VIEW(tree_view), tpath, pos); | 646 gtk_tree_view_set_drag_dest_row(GTK_TREE_VIEW(tree_view), tpath, pos); |
642 gtk_tree_path_free(tpath); | 647 gtk_tree_path_free(tpath); |
643 gdk_drag_status(context, GDK_ACTION_COPY, time); | 648 |
649 if (tree_view == gtk_drag_get_source_widget(context)) | |
650 gdk_drag_status(context, GDK_ACTION_MOVE, time); | |
651 else | |
652 gdk_drag_status(context, GDK_ACTION_COPY, time); | |
653 | |
644 return TRUE; | 654 return TRUE; |
645 } | 655 } |
646 | 656 |
647 | 657 |
648 void bar_pane_keywords_close(GtkWidget *bar) | 658 void bar_pane_keywords_close(GtkWidget *bar) |