| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public: (31 commits)
Fixed qstylesheetstyle benchmark for Symbian
Fixed qdiriterator benchmark for Symbian
Fixed events benchmark postEvent function
Fix for QTBUG-4908 SVG transparency rendering problem.
Long informative texts causes messagebox to grow outside of screen area
qreal-ization
qreal-ization
qreal-ization
QS60Style: Remove layouts with mirrored information
Fixed qgraphicsview autotest build for winscw.
Enabled input method update code for all platforms.
(ODBC) Fixes segfault when error string is larger than 256 chars.
Fixed QGraphicsView benchmark for Symbian.
FEP indicator shown in status pane when it should not
Skipped the most memory intensive tests in QByteArray benchmark.
qreal-ization
qreal-ization
QS60Style: Theme graphics for QSlider in 3.1
QS60Style: Groove changes caused build break of S60 3.1
Slow spinbox on N95 when using keys Up/Down
...
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
src/s60installs/bwins/QtGuiu.def
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using math wrapper functions instead direct call. This gives us top-level
control to what (single/double) precision we are effectively using.
Task-number: QTBUG-4894
Reviewed-by: janarve
Reviewed-by: Kim Motoyoshi Kalland
|
|\ \ \
| | |/
| |/| |
|
| |\ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use QWeakPointer to bail out early if a widget is deleted while we are
delivering/propagating a TouchBegin event.
In QGraphicsScene, we need to make sure that we clear the scene's
active touch points for items that are removed from the scene. This
allows us to detect when an item is removed during TouchBegin event
delivery/propagation. Unlike QWidget, propagation continues since we
use a hit-test instead of the item's hierarchy for propagation.
Task-number: QTBUG-6654
Reviewed-by: bnilsen
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Make sure to invalidate the cache if the transform of a sub-item
changes.
Reviewed-by: Bjørn Erik Nilsen
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This lets us ignore the invalidateCache call when the transform of a
graphics item with an effect changes, and the cached system is
LogicalCoordinates and cached mode is not PadToEffectiveBoundingRect.
Reviewed-by: Bjørn Erik Nilsen
|
| |/
|/|
| |
| |
| |
| |
| | |
Even for DeviceCoordinate mode we can return the raw pixmap if the
graphics item size is untransformed.
Reviewed-by: Bjørn Erik Nilsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
New transformation properties added in 4.6, such as rotation or
transformOriginPoint were not taken into account in addTogroup and
removeFromGroup.
Autotest and manual test included.
Task-number: QTBUG-5071
Reviewed-by: bnilsen
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Prevent crashing when asking for a source pixmap in logical coordinates
and PadToEffectiveBoundingRect mode. Also, change the expected values
for the test that uses LogicalCoordinates and
PadToEffectiveBoundingRect mode to reflect that the boundingRectFor()
function applies padding in device coordinates (and in this case there
is a scale by 2 when drawing the effect).
Reviewed-by: Bjørn Erik Nilsen
|
|/ /
| |
| |
| | |
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGraphicsEffect::boundingRectFor() needs the source bounding rect in
device coordinates. This patch fixes the documentation to reflect this,
and fixes some internal usage of boundingRectFor() to ensure it always
gets the device rect of the source.
Task-number: QTBUG-5918
Reviewed-by: Bjørn Erik Nilsen
|
| |
| |
| |
| | |
Task-number: QTBUG-6447
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crash was because of the dangling pointer set on the tabFocusFirst
attribute in QGraphicsScene. A child which was the tabFocusFirst was
removed from the scene and fixFocusChainBeforeReparenting was setting the
new tabFocusFirst pointer to the parent (since in that example it was
the focusNext) but later on the parent was removed also from the scene
(due to the recursion of removeItem if you call it with the parent :
first children, then the parent itself) and
fixFocusChainBeforeReparenting was not called again so if you delete
the parent then the scene has the dangling pointer set.
Task-number:QTBUG-6544
Reviewed-by:janarve
|
| |
|
|
|
|
|
|
|
|
|
|
| |
It is not actually useful (exact same READ/WRITE as objectName) and is
confusing when used in QML.
Task-number: QTBUG-6580
Reviewed-by: andreas
Reviewed-by: alexis
Reviewed-by: ogoffart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QWidget
with setGraphicsEffect(0).
The effect was not deleted in that case, problem solved for both QGraphicsItem
and QWidget.
Autotest included.
Task-number: QTBUG-5917
Reviewed-by: bnilsen
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pressing and releasing the finger/stylus on an editable text widget should
only trigger the input method if the release position is still within the
widget's boundaries.
Reviewed-by: axis
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The problem was that when using DeviceCoordinateCache for items in a scene, newly exposed areas were wrongly painted over the Pixmap in the cache, instead of blending into it.
Autotest included.
Task-number: QTBUG-657
Reviewed-by: Andreas
Reviewed-by: bnilsen
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
Same fix as e7a10b00be3e4aa197900ecf424e6d44b07248ae
Reviewed-by: Alexis
|
| |/
| |
| |
| |
| |
| | |
- Remove a lie.
- When referring to the size of an anchor, refer to it consistently as
'spacing' instead of magnitude.
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We cannot delete the parallel anchors before we do the actual vertex
restoration, since the parallel anchors created by vertex simplification
will always be connected to some of the AnchorVertexPair found in
simplifiedVertices that we iterate over later.
Thus, we must delete the parallel anchors created by vertex
simplification after we have done the restoration of the vertices. (the
parallel anchor will be properly dealt with (i.e. taken out of the
graph as we do the restoration)), so not deleting it won't cause it to
be revisited later if that is a worry.
Reviewed-by: Eduardo M. Fleury
|
| |
| |
| |
| |
| | |
It is both a limit and an offset (the offset is dictated by the limit),
but in the code is it interpreted as an offset.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
git://gitorious.org/~fleury/qt/fleury-openbossa-clone into fleury-ooo-sequential
Conflicts:
tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These assert messages are no longer valid since some anchors can have
their size not respected if they are in parallel with the layout and
have size equal to "QWIDGETSIZE_MAX".
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the addition of min and maxPrefSizeHints, the logic used in the
preferred simplex had to be changed. The concept behind it is still
the same, we minimize the deviation from each item's preferred size.
Previously we would make an special effort to avoid items being shrunk,
that's why the "shinker" simplex variables had larger multipliers in
the objective function.
Now we still have variables with large multipliers and others with
small mutlipliers, but rather than differentiating between shrinker
and/or grower variables, we classify them as "soft" or "hard".
"Soft" variables, or slacks, are those that allow the anchor to change
its value up to the minPref or maxPref boundaries, OTOH, "hard" slacks
are those that allow the item to go all the way to its minimum or
maximum sizes. Naturally, the "hard" slacks get large coeficients
in the objective function while the "soft" ones get small ones.
Now all the slack variables are restricted in size as to respect
the boundaries of each interval:
- Minimum to MinimumPreferred,
- MinimumPreferred to Preferred,
- Preferred to MaximumPreferred and
- MaximumPreferred to Maximum
With such limits, the SizeHint constraints became redundant in the
calculation of preferred sizes so they are no longer used.
Additionally, as an optimization, if a given interval is NULL
(for instance, MinimumPreferred is equal to Preferred), then
the associated slack variable would have its size restricted to
zero, therefore it is not created at all.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the addition of out-of-order sequential simplification,
the calculation of preferred sizes became more complicated.
In the past, when parallel anchors or the simplex solver had to
decide between conflicting preferred sizes, they could assume that
increasing the size of an anchor was better than decreasing it.
That assumption comes from early discussions with Jan-Arve
regarding the preferred size calculation algorithm.
However, when ooo-sequential anchors exist, we can have a situation
where increasing the size of an anchor can actually reduce the size
of a simplified anchor inside it. To solve that, we need to expose
some information regarding the internal anchors to the decision
makers outside, ie. the simplex solver and parallel anchors.
This information is now being provided in terms of two additional
values present in each anchor, as follows:
- minPrefSize: Always in the interval [minSize, prefSize].
Denotes the minimum size an anchor can assume
as to avoid shrinking anchors below their
preferred sizes.
- maxPrefSize: Always in the interval [prefSize, maxSize].
Similar to the value above, but refering to
the maximum size the anchor should assume.
Some examples:
1) Standard anchor:
10 / 50 / 500
o---------------------------->
Becomes:
10 / 50 / 50 / 500 / 500
o---------------------------->
We'd rather grow than shrink, so we say that our preferred size
is 50, but if we need to grow up to 500, that's OK.
Note that we are still able to shrink all the way to 10, but
it will hurt us more.
2) Two anchors:
100 / 200 / 500 10 / 20 / 40
o--------------------> <-------------------o
Resulting sequential anchor:
60 / 160 / 180 / 480 / 490
o------------------------------------------>
The resulting anchor have a preferred size of 180 but it can
"easily" grow to 480 (only the first half grows). If it had
to go all the way to 490 the second half would have to shrink
below its preferred size.
OTOH, if it had to shrink, it could go to 160 if the second
half grew. However, shrinking even more, towards 60, would
require the first half to shrink below its preferred size.
With this information parallel and simplex are now able to choose
the best solutions when solving conflicts.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For an out-of-order parallel anchor, i.e. when the second child is
backwards in relation to the parallel anchor, we need to fix the
constraints that used to have the second child.
The parallel anchor will replace its child, but we must change the
multiplier signal, so the constraint remain valid.
This commit also changes the order of restoration steps, since now we
depend on correct vertex information to fix back the constraints, we do
it before the restoring of pair vertices.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In a parallel anchor, the second child anchor may be forward or
backwards in relation to the parallel itself. Moves the directionality
check to a function. It'll be useful in the next commit.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Modify the "dot" format graph to use a single arrow between each
pair of vertices.
Previously we would use two anchors (a black forward one and a
gray backwards). With a single arrow the graph loooks cleaner.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Modify the simplification code to allow the creation of out-of-order
sequential anchors.
Basically the "changedDirection" end-of-sequence condition was removed,
also note that createSequence no longer bothers to revert the direction
of anchors if the order it receives is not standard.
Removing expect-fail clause from test since now we pass :-)
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now sequential anchors account for the fact they may be composed of
anchors with different directions.
Both refreshSizeHints and updateChildrenSizes have been updated
to support this situation.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since we now support anchors with size less then zero, we no longer
need to revert anchors with negative spacing.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit is groundwork for the support of negative-sized anchors
by the simplex solver.
The idea is to add to all variables an offset large enough to ensure
they are never negative. The implementation limits all variable
sizes in the range [-limit, limit] and feed them into the simplex
with an offset of "limit". Subtracting this offset later to find out
the real values.
"limit" is defined as QWIDGETSIZE_MAX for platforms where qreal is
double and as QWIDGETSIZE_MAX / 32 when it is float. This is to
avoid numerical errors in the simplex solver.
This commit also modifies the ASSERT clause inside QSimplex so it
becomes less prone to false positives due to numerical errors.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Former name did not reflect actual work done by the function.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixing QGraphicsAnchor memory leak and access to free'd region.
-- Leak:
User-created anchors have two representations in QGAL, one
visible externally (QGraphicsAnchor) and other internal (AnchorData).
When such anchors are removed externally (QGraphicsAnchor is deleted),
the former implementation ensured that the internal representation
would be deleted too. However the opposite was not true. In cases
where the anchors are deleted internally (in the layout destructor,
for instance, or when an item is removed through the removeAt API),
the public QGraphicsAnchor object would leak.
This commit ensures the deletion will happen in both directions
and adds protection to avoid a deletion loop.
-- Invalid read:
In QGAL::removeAnchor(vertex1, vertex2), we read vertex information
after calling removeAnchor_helper(vertex1, vertex2).
The problem is that in cases where the removed anchor is the last
anchor to connect to a center vertex, its removal will cause also
the removal of such vertex. Thus, accessing the vertices after
the removeAnchor_helper() call is unsafe.
To solve that we cache the information we need and then clear the
vertex pointers to avoid errors in the future.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adding check to prevent the structural layout anchors as well as
those internal to items, from being exposed through the public API.
These checks also ensure no QGraphicsAnchor instances will be
created for those anchors.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After a default spacing is set through QGAL::setSpacing() family
of methods, the user must be able to unset it.
To avoid adding another public method, we enabled this feature
by allowing a negative value to be passed to those methods.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Anselmo Lacerda S. de Melo <anselmo.melo@openbossa.org>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
When receiving the polish event, we call updateFont only if the font
has changed (from the QApplication::font()). This avoid to clear sizeHints
cache.
Task-number:QTBUG-6272
Reviewed-by:janarve
|
|\ \ |
|
| |\ \
| | |/
| |/| |
|
| |\ \ |
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Trust Me
|