Maybe I should have quoted "drag and drop" but I was not trying to refer to some standard or conventional protocol, but rather to the conceptional, abstract, action of drag & drop. That is, something likeWhat your OP proposed is not drag and drop. It is selecting something through key presses and then doing something with that selection outside of the normal drag and drop protocols
- Retrieve some object/data calculated from a screen-position
- Hold on to that object while some condition is true
- Retrieve some other object/data calculated from some other screen position while that condition is true or it is changed to false
- Use the first and last selected objects to calculate something once the condition is false
In my use case: The first selected object is the file displayed by the app. The "condition" is simply always false. The last selected object is the OS window under the mouse cursor. The "calculate something" is moving the file to the directory of the OS window, if it is a Windows explorer window.
The underlined part is what I found only QDrag be able to do, yet locked away behind the restrictions of QDrag, and seemingly not accessible by other means. Maybe my OP question should have been "How to retrieve path of Windows explorer window under mouse cursor? QDrag can do it, how can I do it without QDrag?"
I do not see why the physical process has to have anything to do with the abstract concept. In the points I wrote above, for some reason, the reference positions must be the mouse cursor location. For some reason, the process must be started and ended by pressing and releasing the left mouse button. For some reason, the "condition" is "while left button is down". These are good defaults by convention, but I do not see any reason to intentionally not allow to change these. QDrag implements exactly the drag & drag concept I need, but for some reason does not allow me to change these arbitrary defaults.No, not likely. What you propose is something that goes against accepted conventions for user interface interaction. Drag and drop means exactly what its name implies - you click on something, drag it to where you want it, and drop it if the destination allows.
I am not and do not intend to be a UI designer. I need a specific solution for a specific problem. My apps whole purpose is to be efficient to use: If it can be done by a single button, it should be able to be done by a single button. If I cared about ease-of-use over efficiency-of-use, I would keep using the 3rd party program I have been using for years (minus some missing functionality). But it follows UI conventions, and over the years I am getting increasingly frustrated about unnecessary UI sugar that serves no purpose other than to be easy to use. This is great when starting out, but too cumbersome and slow in the long run. I may make my app available via some means, but this will be a side effect if anything. If someone wants to use it, great, if not, that's fine.Sorry, but I think most UI designers would tell you that you should focus on usability first, then on performance.
But as far as I take from the answers, my OP question is not possible with Qt-only. Though I still see it as "open-to-be-implemented" and not "intentionally not implemented".
Bookmarks