search-tool-dnd.patch
src/search-tool/search-tool.cc | ||
---|---|---|
647 | 647 |
gtk_menu_popup ((GtkMenu *) menu, nullptr, nullptr, nullptr, nullptr, event->button, event->time); |
648 | 648 |
} |
649 | 649 | |
650 |
static Index<char> list_get_data (void * user) |
|
651 |
{ |
|
652 |
if (search_pending) |
|
653 |
search_timeout (); |
|
654 | ||
655 |
int list = aud_playlist_by_unique_id (playlist_id); |
|
656 |
int n_items = items.len (); |
|
657 | ||
658 |
Index<char> buf; |
|
659 | ||
660 |
for (int i = 0; i < n_items; i ++) |
|
661 |
{ |
|
662 |
if (! selection[i]) |
|
663 |
continue; |
|
664 | ||
665 |
const Item * item = items[i]; |
|
666 | ||
667 |
for (int entry : item->matches) |
|
668 |
{ |
|
669 |
if (buf.len ()) |
|
670 |
buf.append ('\n'); |
|
671 | ||
672 |
String filename = aud_playlist_entry_get_filename (list, entry); |
|
673 | ||
674 |
buf.insert (filename, -1, strlen (filename)); |
|
675 |
} |
|
676 |
} |
|
677 | ||
678 |
return buf; |
|
679 |
} |
|
680 | ||
681 |
void list_receive_data (void * user, int row, const char * data, int len) |
|
682 |
{ |
|
683 |
} |
|
684 | ||
650 | 685 |
static const AudguiListCallbacks list_callbacks = { |
651 | 686 |
list_get_value, |
652 | 687 |
list_get_selected, |
653 | 688 |
list_set_selected, |
654 | 689 |
list_select_all, |
655 | 690 |
list_activate_row, |
656 |
list_right_click |
|
691 |
list_right_click, |
|
692 |
nullptr, // shift_rows |
|
693 |
"text/uri-list", |
|
694 |
list_get_data, |
|
695 |
list_receive_data |
|
657 | 696 |
}; |
658 | 697 | |
659 | 698 |
static void entry_cb (GtkEntry * entry, void * unused) |
660 |
- |