| 2679 | } |
| 2680 | |
| 2681 | G_MODULE_EXPORT gboolean |
| 2682 | queue_drag_data_received_cb (GtkDropTarget* self, const GValue* value, |
| 2683 | double x, double y, GtkListBox *lb) |
| 2684 | { |
| 2685 | GtkWidget * row_before; |
| 2686 | GtkWidget * row_after; |
| 2687 | GList * rows, * r; |
| 2688 | GtkListBoxRow * row; |
| 2689 | gint32 dst_index; |
| 2690 | |
| 2691 | row_before = GTK_WIDGET(g_object_get_data(G_OBJECT(lb), "row-before")); |
| 2692 | row_after = GTK_WIDGET(g_object_get_data(G_OBJECT(lb), "row-after")); |
| 2693 | |
| 2694 | g_object_set_data(G_OBJECT(lb), "row-before", NULL); |
| 2695 | g_object_set_data(G_OBJECT(lb), "row-after", NULL); |
| 2696 | |
| 2697 | if (row_before) |
| 2698 | { |
| 2699 | gtk_widget_remove_css_class(row_before, "drag-hover-bottom"); |
| 2700 | } |
| 2701 | if (row_after) |
| 2702 | { |
| 2703 | gtk_widget_remove_css_class(row_after, "drag-hover-top"); |
| 2704 | } |
| 2705 | |
| 2706 | rows = r = gtk_list_box_get_selected_rows(lb); |
| 2707 | |
| 2708 | while (r != NULL) |
| 2709 | { |
| 2710 | row = GTK_LIST_BOX_ROW(r->data); |
| 2711 | if (row_after) |
| 2712 | { |
| 2713 | dst_index = gtk_list_box_row_get_index(GTK_LIST_BOX_ROW(row_after)); |
| 2714 | } |
| 2715 | else |
| 2716 | { |
| 2717 | dst_index = -1; |
| 2718 | } |
| 2719 | queue_move_item(lb, GTK_LIST_BOX_ROW(row), dst_index); |
| 2720 | r = r->next; |
| 2721 | } |
| 2722 | g_list_free(rows); |
| 2723 | return TRUE; |
| 2724 | } |
nothing calls this directly
no test coverage detected