• Po Lu's avatar
    Allow dropping more data types on PGTK · 0b4db66a
    Po Lu authored
    * lisp/loadup.el (featurep): Load `pgtk-dnd'.
    * lisp/pgtk-dnd.el: New file.
    (pgtk-dnd-test-function, pgtk-dnd-types-alist)
    (pgtk-dnd-known-types, pgtk-dnd-use-offix-drop)
    (pgtk-dnd-current-state, pgtk-get-selection-internal)
    (pgtk-register-dnd-targets, pgtk-dnd-empty-state)
    (pgtk-dnd-init-frame, pgtk-dnd-get-state-cons-for-frame)
    (pgtk-dnd-get-state-for-frame, pgtk-dnd-default-test-function)
    (pgtk-dnd-current-type, pgtk-dnd-forget-drop)
    (pgtk-dnd-maybe-call-test-function, pgtk-dnd-save-state)
    (pgtk-dnd-handle-moz-url, pgtk-dnd-insert-utf8-text)
    (pgtk-dnd-insert-utf16-text, pgtk-dnd-insert-ctext)
    (pgtk-dnd-handle-uri-list, pgtk-dnd-handle-file-name)
    (pgtk-dnd-choose-type, pgtk-dnd-drop-data)
    (pgtk-dnd-handle-drag-n-drop-event, pgtk-update-drop-status)
    (pgtk-drop-finish, pgtk-dnd-handle-gdk, pgtk-dnd): New variables
    and functions and library.
    
    * lisp/term/pgtk-win.el (special-event-map): Load
    `drag-n-drop-event'.
    (after-make-frame-functions): Register DND after make frame
    functions.
    
    * src/emacs.c (main): Stop calling empty init_pgtkterm function.
    
    * src/pgtkselect.c (Fpgtk_register_dnd_targets, Fpgtk_drop_finish)
    (Fpgtk_update_drop_status): New functions.
    (syms_of_pgtkselect): Register new functions.
    * src/pgtkterm.c (struct event_queue_t): Fix coding style of
    definition.
    (symbol_to_drag_action, drag_action_to_symbol)
    (pgtk_update_drop_status, pgtk_finish_drop): New functions.
    (drag_data_received): Delete function.
    (pgtk_set_event_handler): Register for DND correctly.
    (syms_of_pgtkterm): New defsyms for DND types.
    (init_pgtkterm): Delete function.
    
    * src/pgtkterm.h: Update prototypes, fix prototype coding style.
    0b4db66a
pgtkterm.c 199 KB