| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
The idea is to allow QSimplex solver to modify the constraints
without breaking other parts of the code that rely on the original
ones.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
|
|
|
|
| |
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We usually create two restrictions for each item, one to tell its
size should be more than its minimum size and other enforcing it to
be at most its maximum size.
Now, for items that have fixed size, ie. minSize == maxSize, we create
a single constraint telling its size should be equal its min/maxSize.
The immediate advantage is to have one less constraint for each of
these items. The indirect advantage is that the simplex solver can
take advantage of such information.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The 'isLayoutAnchor' is necessary only as a way to flag Layout
internal anchors, i.e. anchors with the Layout as 'item' in the
AnchorData structure.
We don't need to propagate this bit when composing anchors.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
Use a free bit in the anchor struct to save the orientation
information. That way we do not depend on looking for this information
in the vertices (by looking the orientation of its edge).
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
Look for information inside the anchor instead of on the
vertices. This will give us flexibility of simplifying vertices before
the anchor simplification phase.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
We used to look for this information in the anchor's from and to
vertices, but to enable simplification of vertices, we have to store
this information in the anchor.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The calculate graphs now can return early due to unfeasible anchor
setups found out during simplification. This allows finding out
problems in parallel anchors, when one anchor has maximum size smaller
than the minimum size of the other anchor.
The order for simplification and refreshing size hints also has been swaped:
- First, refresh size hints for all anchors in the graph. If the graph is
simplified, the refreshSizeHints() call will reach the children anchors.
- Then, if the simplificated graph is invalid, rebuild it. During this
rebuild, refreshSizeHints_helper() will be called for all levels.
So in both situations we can identify an unfeasible setup. Note that
this test alone is not enough to classify the graph as feasible, depending
on the graph, it will still need to go through the Simplex.
A test case was added and the function that traverse the graph
refreshing now is called refreshAllSizeHints(). The old name was not
so clear since the function will not fill only the anchors that have
items associated.
Last but not least, the lastCalculationUsedSimplex variable is cleared
when starting calculateGraphs(), since we now can leave the function
earlier, without reaching calculateTrunk(), which is the function that
sets it.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
Extract the creation of parallel anchors from the creation of
sequential anchor. This will be useful to keep track whether a
parallel anchor is feasible or not.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
|
|
|
|
|
| |
Now the refreshSizeHints() returns a boolean, and the parallel anchor
will return false in unfeasible cases, e.g. one anchor has maximum
size smaller than other minimum size.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
|
| |
Previous code was creating a full 3D rotation matrix and then
projecting back to 2D. This change combines the two steps into
one to avoid calculating matrix components that will be dropped.
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: Sarah Smith
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 100afe8d fixed a bug in QGraphicsRotation related to when
the "distance to plane" projection needed to be performed. As a
side effect it made the toTransform() API not do the expected
thing when the function is called with no argument.
This change makes the default no-argument version of toTransform()
do the simple "drop row 3 and column 3" orthographic transformation
that normal users of the class expect, and adds a new overload for
the "distance to plane" projection case for the special case.
Reviewed-by: trustme
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem occurred on Windows due to a call to repaint() on a top-level
window from setDisabledStyle() in qwidget.cpp. This function is called
whenever a window is blocking. In this particular case the children of
the repainted window are opaque, and should therefore not be repainted,
which also means that the top-level have to subtract the region of the
opaque children when filling the background. This region is cached,
and the problem was that the cached region was wrong. It was wrong
because it was not invalidated properly.
Task: QTBUG-4245
Reviewed-by: Paul
|
| |
| |
| |
| |
| |
| |
| |
| | |
The background color of PE_Frame was palette().light() and has been
changed to use palette().background() now. This fixes the autotest
tst_QStyleSheetStyle::task188195_baseBackground for Windows mobile.
Reviewed-by: thartman
|
| |
| |
| |
| |
| |
| |
| |
| | |
The original approach of modifying the font for QAbstractButtons in
QWindowsMobileStyle::polish broke the autotest
tst_qstylesheetstyle::fontPropagation.
Reviewed-by: thartman
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is an addition to
commit 5651d2547261ccecbf50f8141c634f59c0adc00d to make it obvious that
in cocoa nothing is returned.
Task-number: QTBUG-4873
Reviewed-by: MortenS
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change improves the behavior of QMenu when Key_Back and Key_Forward
are used as shortcuts. A dotted arrow appears on carbon, and
on Cocoa the image is blank, instead of undefined as it was before.
Task-number: QTBUG-4873
Reviewed-by: msorvig
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After 04d18b38c38c5ff623b30366ea08d56128b9b7d0 Qt didn't compile for
QWS. Will email original committer to verify that original intent is
maintained.
Reviewed-by: Donald Carr <donald.carr@nokia.com>
|
| | |
| | |
| | |
| | | |
Reviewed-by: Denis Dzyubenko
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QTextEdit (via QTextLayout) and QPlainTextEdit in Qt used to ignore
any font leading but added one extra pixel in QFontMetrics. With many
freetype fonts, this resulted in a "spacy" text layout.
The necessary fixes on X11 and Windows were to take (positive) leading
into account, to make the font database convert point sizes to pixel
sizes without rounding to plain integer values, and to subtract the
extra pixel from QFontMetrics from the font engines' descent value.
The change also fixes several places in styles and widgets, where
QFontMetrics::lineSpacing() was wrongly used instead of
QFontMetrics::height().
Ideally we should also handle negative leading, which would require
additional and bigger code changes in QTextLayout and QPlainTextEdit.
In addition, all other editors we have tested seem to ignore leading on
X11. If we choose to believe the values provided by freetype, our text
layout would be one pixel smaller than everybody else's.
On the Mac, this change does nothing. There our layout is still too spacy,
and for smaller fonts quite ugly compared to native Mac applications.
Done with mae.
Reviewed-by: mae
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
Amending the previous merge request
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
shouldShowFileName() can be called with an empty filename, but must not
create and use a QFileInfo("") since that has known undefined behavior.
So just return NO right away for empty filenames.
Merge-request: 1765
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGraphicsObject::parent is actually about the QGraphicsItem
hierarchy, not the QObject hierarchy. This is similar to
QGraphicsWidget, where 'QObject::parent() should always return 0'.
Maybe the explanation in QGraphicsWidget class documentation on this topic
should be merged into QGraphicsObject, too?
Reviewed-by: Andreas Aardal Hanssen
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QPanGesture was changed to use QPointF instead of QSizeF, also need to
change all usages of the pan gesture.
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
setReadOnly.
Should set Qt::WA_InputMethodEnabled after set the flags, just because shouldEnableInputMethod() will read the flags.
Task-number: QTBUG-4917
Reviewed-by: Shane Kearns
|
| | | |
| | | |
| | | |
| | | | |
Also fix grammer and avoid using combined words.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Thomas Zander
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Alexis Menard
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When delivering GestureOverride events by default both the event and
individual gestures will be ignored. We also store the acceptance state
of individual gesture in the event and not in the gesture object, along
with its target.
Reviewed-by: Thomas Zander
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When there are two different gestures are being triggered and they are
supposed to be sent to different widgets, don't stop event "propagation"
when the first event is successfully delivered.
Reviewed-by: trustme
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: trustme
|
| |\ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: thartman
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The projection to 2D needs to be done when the rotation is applied,
not after all transformations have been applied.
Reviewed-by: trustme
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: trust-me
|
| | | | |
| | | | |
| | | | |
| | | | | |
Reviewed-by: Trust Me
|