| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When no stencil clip is set we reduce the number of compositing passes
for rendering winding fill paths from four to two. When stencil clip is
set, the number of compositing passes is reduced from five to four.
For clipping with a winding fill path, the number of compositing passes
are reduced from five to four when stencil clipping is already enabled.
A performance improvement of up to 85 % was measured in certain cases.
Reviewed-by: Trond
|
|
|
|
|
|
| |
This might be useful for some people, so we should document it.
Reviewed-by: Bjørn Erik Nilsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a backend for QFileIconProvider in the platform plugin
Also change the QIcon::fromTheme backend in the platform plugin:
On KDE, we unfortunately can't use KIcon as backend, as the current
API doesn't let us know easily (and quickly) wether we should use
the fallback or not (KDE always fallback to the question mark
"unknown" icon)
So we will use the QIconLoader even on KDE.
But we need to make sure that the theme name and the icon search paths
are correct. Ask that to the platform plugin
Reviewed-by: Jens Bache-Wiig
|
|
|
|
| |
Reviewed-by: Olivier
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We should not create a QAction instance at program startup,
that is before QApplication was initialized. One reason not
to do that is that internal fonts are prematurely initialized
without QApplication::qt_is_gui_used set to true, which leads
to wrong font Dpis in qt_defaultDpiX().
This issue was detected due to the failure in tst_QTextLayout,
cases: testDefaultTabs, testTabs, testMultilineTab,
testRightTab, testTabsInAlignedParag, testCenteredTab,
testDelimiterTab, testMultiTab and tabsForRtl.
Fix: create a Q_GLOBAL_STATIC_WITH_ARGS for that QAction
instance.
Reviewed-by: Liang QI
|
|
|
|
|
|
| |
We need to test through extension tool button and menu for it when there is no enough width on embedded devices.
Reviewed-by: TrustMe
|
|
|
|
|
| |
For instance, if sizeof(qreal) == 4 (for instance on ARM) the stack size
needed will be the same, so it will just add an extra indirection.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We should not use the registry key when looking up the storage
location as this is not really supported by Microsoft and not
allways accessible. Instead we now use SHGetSpecialFolderPath.
Note that we avoid SHGetKnownFolderPath as it is not available
on all CE platforms though it is the reccommended function by
Microsoft.
Task-number: QTBUG-3241
Reviewed-by: prasanth
|
| |
| |
| |
| |
| |
| |
| | |
Missing header file, resulting in compiler error about returning
an incomplete type.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| | |
Made it thread-safe and actually make sure that we don't initialize the
data several times.
Reviewed-by: axis
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The crash was caused by the image data not being locked before being
accessed.
Also avoided an unnecessary detach copy by making the image variable
a reference.
RevBy: Jani Hautakangas
Task: QTBUG-4705
AutoTest: QWidget passed
|
| |
| |
| |
| | |
RevBy: Miikka Heikkinen
|
| |
| |
| |
| |
| |
| |
| |
| | |
Source-incompatible change
This reverts commit 8714892977269591bb9b348c6eb549a7f2c45cbc.
Rev-by: Trustme
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
There is only one change in the actual code here, and it simply removes
an unnecessary initialization of hasSize in the ctors of the composite
anchors.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
items
Now every item starts with its geometry on ((0,0), preferredSize()).
By doing this we guarantee that every item will have a known initial value, which
can be specially useful on float cases for instance.
Signed-off-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
situation
We make use of the anchor visited on findPaths() to keep track of how many items are visited when
walking on the graph. We can use this information of how many items are reachable (non-float) in order to check
if we have floating items (not reachable from any graph vertex). If so, we have a situation not supported by now.
Signed-off-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since the AnchorData cleanup commit (c974aca8) all anchor initialization
is being done by refreshSizeHints. However that method was not able
to properly initialize the internal layout anchors.
This commit refactors that method both to add the functionality and
improve readability.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Updating "refreshSizeHints" and "updateChildrenSizes" methods for standard,
parallel and sequential anchors, in order to support the expanding SizePolicy
flag.
This adds the logic required to calculate equivalent expected/nominal expanding
size (AnchorData::expSize) as well as the logic to propagate the effective
size when in the expanding state (AnchorData::sizeAtExpected).
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This assertion started failing after the addition of expanding
state. After some investigation we felt that the assertion itself
was too strong and would fail in some valid cases.
The new assertion is formally right as it tests whether the
simplex solver was able to satisfy the simplex constraints,
_exactly_ what it is expected to do.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The previous implementation of solveExpanding would assume that anchors
were either completely expanding (would grow to their sizeAtMaximum) or
non-expanding (would try to remain at their sizeAtPreferred).
What happens however is that with simplification enabled, we may have
anchors that are "partially" expanding. An example is a sequential
anchor that groups together two leaf anchors where only one of them
is expanding.
In this case, the expected size of that group anchor would be the sum
of the max size of the expanding child plus the preferred size of the
non-expanding child.
To handle the above case we added the "expSize" variable. It holds
the expected value at Expanding for each anchor. Based on this, and
the already calculated values of sizeAtMaximum and sizeAtPreferred,
the solver calculates the actual sizeAtExpanding for them.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now we can use refreshSizeHints_helper() to initialize complex
anchors (parallel and sequential). This avoids duplication of
code in the function simplifySequentialChunk().
This commit also 'disable' ExpandFlag temporarily, stabilizing the
tests for the simplification. The next commit should re-enable it
implementing the necessary code for simplification as well.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use just one constructor for AnchorData and tweak the struct when
necessary. Also use the function refreshSizeHints() for Normal anchors
to get the item information instead of passing to the constructor.
This has the advantage that we don't need to replicate the code for
checking and updating the size hint and size policies. Note that the
code before only considered the size policies after the first
refreshSizeHints() -- which we know will be called after the
simplification, so the assumption seems to be correct, but we don't
depend on that anymore..
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To support the expanding size policy we had to change the way the setup
process work. Previously we used to calculate three key-frames using
the simplex solver:
- sizeAtMinimum: the value an anchor should be in when the layout is
at its minimum size. Calculated using simplex solver
to minimize the layout size.
- sizeAtPreferred: the value an anchor should be in when the layout is
at its preferred size. Calculated using simplex solver
to minimize the deviation from the items preferred
sizes.
- sizeAtMaximum: the value an anchor should be in when the layout is
at its maximum size. Calculated using simplex solver
to maximize the layout size.
That worked fine but didn't diferentiate standard items from the
"expanding" ones. In other words, all items would grow from their
sizeAtPreferred to their sizeAtMaximum at the same rate.
To support the idea of "expanding" items, ie. items that should grow
faster than the others, we added a fourth state, between preferred
and maximum.
Now we have the following interpolation order:
sizeAtMinimum -> sizeAtPreferred -> sizeAtExpanding -> sizeAtMaximum.
The definition of the "expanding" state is that all "expanding" items
should have grown all the way to their "sizeAtMaximum" values whereas
non expanding items should have kept their preferred sizes. The only
exception is that non-expanding items are allowed to grow if that is
necessary to allow the "expanding" items to reach their sizeAtMaximum.
So, the visual result is that if the layout is resized from its
preferred size to its maximum size, the expanding items will grow
first and then, in a second phase, the other items will grow.
This commit adds QGALPrivate::solveExpanding() and calls it from
calculateGraphs().
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adding required members for the upcoming support of the
QSizePolicy::Expand flag.
In this state, running with simplification will probably not work.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Artur Duque de Souza <artur.souza@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Not exporting the whole class prevents the capabilities example from
linking, because the vtable is not exported.
Changing from member exports to exporting the class also fixes the GCC
3.4.x compiler error.
Task-number: QTBUG-4593
Reviewed-by: Thiago
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reviewed by Simon Hausmann.
[Qt] Symbian SBSv2 .data segment adress fix
https://bugs.webkit.org/show_bug.cgi?id=30157
RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section
base address to start from 0x800000 instead of the toolchain default 0x400000
* WebCore.pro:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Reviewed by Simon Hausmann.
[Qt] don't enable input methods on Symbian by default.
https://bugs.webkit.org/show_bug.cgi?id=30117
If input methods are enabled Symbian FEP will be launched on every
pointer event making webpage navigation impossible with QWebView.
* Api/qwebview.cpp:
(QWebView::QWebView):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@49188 268f45cc-cd09-0410-ab3c-d52691b4dbfc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... by establishing a default behaviour for the switch statements that
follow.
Reviewed-by: Thierry Bastian
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... by establishing a default behaviour for the switch statements that
follow.
Reviewed-by: Kim
|
| | |
| | |
| | |
| | |
| | |
| | | |
The ::closes were changed just for fun.
Reviewed-by: Thiago Macieira
|
| | |
| | |
| | |
| | | |
Reviewed-by: Brad
|
| | |
| | |
| | |
| | | |
Reviewed-by: Marius Storm-Olsen
|
| | |
| | |
| | |
| | | |
Reviewed-by: Markus Goetz
|
| | |
| | |
| | |
| | | |
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | | |
The minimum version for the recursive mutexes is D-Bus 0.93. That's
also the same version that introduced the default thread functions. So
we don't need to provide ours anymore, just use the default.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
At least in D-Bus 1.2.16, there's a deadlock caused by locking an
already-locked mutex. When Qt is linked to libdbus-1 instead of
dynamically loading it, it maintains legacy compatibility by only
providing the non-recursive mutexes, which triggers this deadlock.
The recursive functions have been present since 0.93, so I guess the
non-recursive variants aren't tested.
Report: https://bugzilla.novell.com/show_bug.cgi?id=482749#c30
|
| | |
| | |
| | |
| | |
| | | |
Merge-request: 1716
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is an internal interface for plugins that can be provided by
the platform to give platform-specific features by platforms built on
top of Qt.
We can easlily integrate Qt on Windows, Mac, Gnome, ... without any
plugin because we can link to their respective library (dynamically
if we don't want to depend on it). On Gnome, we can dynamically
resolve Gtk+ symbols.
This is however not possible for KDE or other platform built on top
of Qt: we can't link against their library because they depend on us
and we can't dynamically resolve the symbols because they are
mangled (C++)
So this plugin provides hooks inside Qt to be able to do things
like native File or Color dialog, native icons, accurate reading of
the config file, and so on.
This is currently private API.
Task-number: QT-406
Reviewed-by: Jens Bache-Wiig
Reviewed-by: Oswald Buddenhagen
|
| | |
| | |
| | |
| | | |
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
-Was not closing the WaveOut on cleanup, fixed.
-Was emitting signal in critical section, fixed.
Reviewed-by:Bill King
|
| | |
| | |
| | |
| | | |
Reviewed-by: TrustMe
|
| | |
| | |
| | |
| | | |
Requested-By: Volker Hilsheimer
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Keep track of what state actually changed so we don't have to set all
the uniforms as dirty etc.
Reviewed-by: Trond
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Changed the GL 2 paint engine to use the stencil buffer instead of the
depth buffer for clipping. The stencil buffer is now used both for
rasterizing polygons/paths and for clipping.
Reviewed-by: Trond
|
| | | | |
| | | | |
| | | | |
| | | | | |
This frees all the current dependencies on the depth uniform.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Also we should force Raster_A8 glyph format in renderText().
|
| | | | | |
|