mirror of
https://github.com/kovidgoyal/kitty.git
synced 2026-05-13 08:26:56 +00:00
More work on dnd kitten
This commit is contained in:
parent
e4eb85216d
commit
0cddb39d95
2 changed files with 16 additions and 4 deletions
|
|
@ -417,8 +417,12 @@ func (d *drop_status) reset() {
|
|||
|
||||
func (d *drop_dest) reset() {
|
||||
if d.dest != nil && d.dest != os.Stdout {
|
||||
if d.close_on_finish {
|
||||
d.dest.Close()
|
||||
d.dest = nil
|
||||
} else {
|
||||
d.dest.(*bufferWriteCloser).Reset()
|
||||
}
|
||||
}
|
||||
d.completed = false
|
||||
d.close_on_finish = false
|
||||
|
|
@ -768,7 +772,6 @@ func (dnd *dnd) on_drop_data(cmd DC) error {
|
|||
if err := dest.finish(); err != nil {
|
||||
return err
|
||||
}
|
||||
dest.completed = true
|
||||
if mime == "text/uri-list" {
|
||||
b := dest.dest.(*bufferWriteCloser)
|
||||
var err error
|
||||
|
|
|
|||
11
kitty/glfw.c
11
kitty/glfw.c
|
|
@ -3077,9 +3077,18 @@ start_window_drag(Window *w, bool in_test_mode) {
|
|||
if (!items) return ENOMEM;
|
||||
for (size_t i = 0; i < w->drag_source.num_mimes; i++) {
|
||||
items[i].mime_type = w->drag_source.items[i].mime_type;
|
||||
items[i].is_remote_client = w->drag_source.is_remote_client;
|
||||
items[i].optional_data = (char*)w->drag_source.items[i].optional_data;
|
||||
items[i].data_size = w->drag_source.items[i].data_size;
|
||||
items[i].is_remote_client = w->drag_source.is_remote_client;
|
||||
#ifndef __APPLE__
|
||||
if (w->drag_source.is_remote_client && w->drag_source.items[i].is_uri_list) {
|
||||
// On platforms other than macOS we treat the request for data for
|
||||
// this MIME type as a trigger to start remote download. On macOS
|
||||
// requests for individual items from this list will come in.
|
||||
items[i].optional_data = NULL;
|
||||
items[i].data_size = 0;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
size_t num_images = 0;
|
||||
for (size_t i = 0; i < arraysz(w->drag_source.images); i++) if (w->drag_source.images[i].data) num_images++;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue