> On Jan 27, 2018, at 1:31 PM, René J.V. Bertin <[email protected]> wrote:
> 
> On Saturday January 27 2018 20:24:04 Jake Petroules wrote:
> 
>> What we should do instead is allow QFileOpenEvent to store a list of files 
>> instead of just a single one.
> 
> That probably should have been done from the onset, because introducing this 
> now almost certainly means new API.

It does, but that's not a problem in and of itself - it's the correct solution. 
The original/current API simply has a design oversight which should be fixed.

Probably we would just add plural versions of the existing methods on 
QFileOpenEvent: urls() and files(), which return a QList<QUrl> and QStringList, 
respectively. We could document the existing url() and file() methods to return 
empty objects if the QFileOpenEvent is storing a *list* of opened files (or 
return the first item in the list), and the new methods are self-explanatory.

The behavior change of firing a single event for multiple documents instead of 
multiple events could be documented in the changelog.

> There's no time or serial stamp on QEvents that could be used for grouping?
> 
>> Trying to re-group the events after the fact is probably not a good idea.
> 
> At the least it's extra work that requires a certain amount of guessing which 
> events go together (except those that are pending when you create the 
> QApplication instance).
> 
> 
> A rough outline of solution I could see for the current way QFileOpenEvents 
> come in :
> 
> - store each incoming file URL in a QList
> - set or restart a timer to empty that list after a time that's (much?) 
> shorter than the average time after which the user could queued another 
> request via LaunchServices
> 
> Not really difficult, but not really fun to write either and possibly 
> brittle. But I don't see another way that's easier and/or more reliable - is 
> there?
> 
> R.

-- 
Jake Petroules - [email protected]
The Qt Company - Silicon Valley
Qbs build tool evangelist - qbs.io

_______________________________________________
Interest mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to