Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-70308

Add support to fetch virtual file data in QDropEvent on Microsoft Windows

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Done
    • Icon: P4: Low P4: Low
    • 5.15, 6.5.0 FF
    • None
    • GUI: Drag and Drop
    • None
    • Microsoft Windows

    • Windows

      On Microsoft Windows, when dragging from some applications (e.g. an e-mail from MS Outlook) to a QWidget, the QDropEvent contains the Windows specific mime data application/x-qt-windows-mime;value="FileGroupDescriptorW" while the "FileContents" type is empty. So in order to get the actual file content, you would need to use WinAPI  (MemoryStream and whatnot). But to do so you would need access to the internal handle pointer. Thus, the best solution would be an official Qt convenience method, that retrieves the data as QByteArray or QIODevice. Alternatively a method to get the handle pointer (Or maybe something like this already exists and I just didn't find it yet?)

      Also compare https://forum.qt.io/topic/91413/ms-windows-qwidget-virtual-files-from-qdropevent-s-mimedata/2 , https://www.codeproject.com/Articles/28209/Outlook-Drag-and-Drop-in-C?msg=5523921#xx5523921xx and https://social.msdn.microsoft.com/Forums/office/en-US/b2e50357-a87c-4323-a851-5050b0e5b34b/not-able-to-get-filecontents-after-drop-on-form-occured?forum=outlookdev

       

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            vhilshei Volker Hilsheimer
            thecodemonkey thecodemonkey
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes