Improve debug output of events.

Change-Id: Ifc9817ca34a85cc7d9bd17dba9828249116fa0f6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Metatype: Specialize IteratorOwner for vector<bool>

Change-Id: I542af3a77b0a139e137a5a736b74042a8c25eb95
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Speed up the removal of items from a QGraphicsScene

When using a linear index, all items in a scene are stored in a QList.
While adding new items is a constant operation, removal requires a
traversal through the entire list. This is especially problematic
when the scene contains millions of items and many of them are removed,
which requires a linear search for each item, resulting in a very slow
operation. Moreover, this behavior is actually inconsistent with the
current documentation which states for the linear index:
"Adding, moving and removing items, however, is done in constant time."

Instead of removing items from the list in the index, this patch just
marks the list as invalid. The next time the list is required it will
be rebuilt from scratch by traversing all items from the scene. This
new behavior more accurately matches the documentation.

Testing this change in a scene with over 1 million objects, resulted
in a massive speed up, effectively eliminating the overhead of item
removal.

[ChangeLog][QtWidgets][QGraphicsScene] Speed up the removal of items
when using the linear index.

Change-Id: I95c7b90b9f1fe426018695b6429138530e6d2f3e
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>