| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Task-number: QTBUG-5840
Reviewed-by: Kim
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a behavior change from Qt 4.5. The motivation for the change
is the following use case: A user types into a line or text edit, and
gets interrupted by for example phone call or an SMS. This causes the
active application to lose focus, which again causes edit focus to be
lost. When resuming the application the focus gets set back, but the
edit focus does not (nor should it). However, when the user types the
next character, the line edit will erase *all* contents of the widget
because it did not have edit focus. This is extremely destructive for
a mobile phone user, especially since undo is not easily available.
Another reason for doing that fix is that it seems that this is the
mode of operation that most existing phones use.
The fix is enabled for Symbian only at the moment, but will be
followed by a patch for all platforms which will go into 4.7.
Task: QTBUG-5698
RevBy: Jason Barron
|
|\
| |
| |
| | |
4.6-staging2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It makes no sense to use the S60-theme based palette in web based
widgets. Web pages do not generally show theme background, but their
own (or by default white) which clashes badly with WindowText and Text
that are set to work with theme background. Therefore, QWebView and
QGraphicsWebView need to be set their own palette for texts in
theme palette hash. This improves visibility of text in webkit
when QS60Style is active.
Task-number: QTBUG-4885
Reviewed-by: Janne Koskinen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The context menu is launched by a separate event, not by the right mouse
button.
Generating the fake right mouse button caused side effects.
We now treat the touch screen as a one button mouse, long taps still open
the context menu using QContextMenuEvent.
Task-number: QTBUG-5180
Reviewed-by: axis
|
|\ \ |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Warwick Allison
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.6.0 has the wrong atomics implementation for symbian, as the team
branch was not merged before the freeze.
This updates the def files to match the implementation on the team
branch so that it can be cherry-picked.
Task-number: QTBUG-5752
Reviewed-by: Iain
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-By: Brad
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use ARMv6 atomics where available
Use OS atomics otherwise
Integrate ARMV6 atomics to Symbian builds
Use compiler defined macros to detect if ARMv6 instructions are available
This defines the QT_HAVE_ARMV6 macro, replacing the way it was defined
by the Symbian build system previously in qpainting.pri.
qatomic_symbian now uses qatomic_arm or qatomic_armv6 automatically
Port armv6 atomics to implement generic atomics interface
The inline atomics are not inlined when we build for thumb using RVCT.
So there is no performance improvement of using the "inline" versions vs
a shared version called through a function call.
The generic atomics interface is good for binary compatibility, as the
same symbols are exported in all versions now.
Changed the fallback generic atomics implementation from the unix one
to a symbian specific one using RFastLock (identical code to the windows
generic atomics, except for RFastLock replaces Win32 CRITICAL_SECTION)
Note: GCCE atomics still need porting
Tell git to ignore .lst listing files (produced by sbs/abld listing)
ARMv6 support for GCCE compiler and fallback implementation using OS
When building corelib with GCCE and -march=armv6, QT_HAVE_ARMV6 will be
defined. This patch adds copies of the asm functions in GCC syntax.
When building for the Symbian emulator, or ARMv5, then Symbian OS atomic
functions are used as a fallback - these are more efficient than the unix
atomics, and don't require data import (which the ARMv5 atomics use, but
the OS loader doesn't support fully)
Symbian OS functions are always used for QBasicAtomicInt::ref / deref,
because these are faster than the generic function in all cases.
They are machine coded for ARMv6, and are used internally by RFastLock.
Reviewed-By: axis
Reviewed-By: Brad
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is basically a copy & paste of the GCC inline assembly above,
switched to the RVCT inline assembly model (which is actually easier
to write and understand).
I verified that this code compiles and assembles as expected. The
output generated by RVCT is pretty much on the mark. However, I have
not executed this code yet to see if it performs as expected.
To be noted:
- when expanding the inline template code, RVCT may be tempted to
switch your entire function to ARM mode. Should we add
__attribute__((noinline)) to prevent that?
- There's no equivalent to GCC inline assembler's clobber, especially
of "memory". Also, there's no "volatile" qualifier to the
assembly. Does the compiler know it can't reorder the code? Does it
know it shouldn't trust the value of the memory after this? My test
indicates the code is fine...
Reviewed-By: Shane Kearns
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
assembly.
Move the *Relaxed, *Acquire and *Release functions (which are simply
forwarding calls to the *Ordered version) to the bottom of the file.
Reviewed-By: Shane Kearns
|
| |/ /
|/| |
| | |
| | | |
Reviewed-by: Sarah Smith
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The documentation for QGLContext::isSharing() indicates that
the function returns true only when the context is sharing.
However, previously the sharing flag would stay on if the
context was created as sharing but is no longer sharing.
Task-number: QTBUG-5578
Reviewed-by: Sarah Smith
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The size of the dockwidgets would be ignored.
Reviewed-by: ogoffart
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also fixed square caps which in some cases were extruded in the wrong
direction.
Task-number: QTBUG-5736
Reviewed-by: Trond
|
|/ / / |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
everything is selected
The arbitrary number in commit 8a7700ffb5e4959e78 was not big enough.
People still complains
Task-number: QTBUG-5671
Reviewed-by: Thierry
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since the stroke is rendered as a triangle strip, zero area triangles
must be inserted in order to have gaps in the stroke. This is achieved
by duplicating vertices before and after each gap. It was already done
for open subpaths. This commit fixes gaps between closed subpaths.
Task-number: QTBUG-5736
Reviewed-by: Gunnar
|
|\ \ \
| |/ /
|/| |
| | | |
git://gitorious.org/~fleury/qt/fleury-openbossa-clone into fleury-fixes
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The code for refreshing size hints of items / user-created anchors now
happens with a graph in full (not simplified). So we don't need to now how
to refresh size hints for complex anchors.
The code for refreshing complex anchors was used also to initialize
the complex anchors (the '_helper' functions). Those were changed to
calculateSizeHints() and refreshSizeHints() doesn't need to be virtual
anymore.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now the interpolation doesn't need to know how to traverse complex
anchors, since when it runs, the graph is not simplified anymore.
This commit removes unnecessary code for dealing with that.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After discussion with Jan-Arve, we decided to remove for good the
caching of simplified graph. This avoided recalculating the
simplification (but not the simplex) in some situations. Since vertex
simplification, this was temporarily disabled already.
To know whether if we could the cached version or not, we needed to
track individual anchors to see whether they reached size 0 or they
were 0 and changed the size. This is because the vertex simplification
depend on that fact.
Now the simplified version of the graph exists only during the
execution of calculateGraphs() function. This and next commits clear up
the code to take advantage of that fact.
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When filling sizeAt* values for parallel anchors, we have to identify
the case when the second anchor in the parallel doesn't have the same
direction as the parallel itself. However, relying on the parallel group
vertices to identify this case is not safe, because after a parallel
group a new vertex simplification can happen.
So, the comparing the 'from' with the first edge is the correct way to
verify whether the second is backwards. Code was fixed to follow that.
Note that, without negative spacing the case "out-of-order" for parallels
is only the trivial case (size == 0).
Signed-off-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
Reviewed-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To solve the spacing persistency bug, this commit saves the
preferredSize (spacing) information inside QGraphicsAnchorPrivate.
The problem started when we could not rely on "AnchorData->prefSize"
to keep the spacing information for user-defined anchors. This happens
because that member can be overriden if the spacing is negative
(anchor is inverted) or its sizePolicy is of type "Ignored" (it is
overriden by minSize).
Then, to decide where to store it, we aimed to make something similar
to what happens with item-internal anchors. Those can rely on their
items to get fresh information regarding their size, so we decided
that user-anchors (that don't have items, but do have QGraphicsAnchors)
could read such information from there.
This refactory also reduced the deep indirection that existed
in the "QGraphicsAnchor->setSpacing" call. Previously it would
call internal layout methods to do some black magic, that's now gone.
As the spacing information is now stored in the anchor itself, it
can do pretty much all the work and, after that, just invalidate the
layout.
Also, moved information like "AnchorData->hasSize" to QGAnchor as
its pretty much related to the preferredSize information itself.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
As part of the refactoring of the setSpacing logic, we are encoraging
the analogy between the references to QGraphicsLayoutItem and to
QGraphicsAnchor, from the AnchorData point of view.
It happens that leaf anchors (ie, those that were not created by the
simplification) either represent an item or an user-created anchor.
This means that they should fetch their size information either from
a QGraphicsLayoutItem (member AnchorData->item) or from a QGraphicsAnchor
(member AnchorData->graphicsAnchor).
Thus, I'm organizing the header to make it more consistent to
the new concept.
Signed-off-by: Eduardo M. Fleury <eduardo.fleury@openbossa.org>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
|
|\ \ \
| | | |
| | | |
| | | | |
4.6-staging2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If maximized dialog had minimum size that didn't fully fit to
the screen, it lost its maximized status when orientation was switched,
because of the logic that assumed that if a window is resized, it must
no longer be maximized. Skipped this assumption for cases where resize
occurs because enforcement of the minimum size of the window.
Task-number: QTBUG-4671
Reviewed-by: Janne Anttila
Reviewed-by: Sami Merila
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Changed s60style HighlightedText to pickup the correct
colour from S60 themes.
Task-number: QTBUG-5709
Reviewed-by: Sami Merila
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
4.6.0 has the wrong atomics implementation for symbian, as the team
branch was not merged before the freeze.
This updates the def files to match the implementation on the team
branch so that it can be cherry-picked.
Task-number: QTBUG-5752
Reviewed-by: Iain
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-by: Trust Me
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
QTextFormatCollection currently has two problems:
- looking for the index of a QTextFormat is linear, this can take 25%
cpu when loading large documents in kword
- the hash function for QTextFormat is inadequate. Not all values are
treated specially. E.g. each QBrush instance has the same hash value
at the moment.
These patches speed up loading of a large text document in KWord from 9
to 7 seconds.
This fixes this by using QMultiHash to group the QTextFormat instances
by hash and only loop through that list when looking up values. It also
improves the hash function for QTextFormat.
Merge-request: 1623
Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If this is not done, the climbing ancestors later in the method uses
srcParent.row() as pos causing failure depending on which rows are being
moved, and what the row of the parent is.
Merge-request: 2072
Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
|
| |\ \ \ \
| | | |_|/
| | |/| | |
|
| | |\ \ \ |
|
| | |\ \ \ \ |
|
| | | |\ \ \ \
| | | | | |_|/
| | | | |/| | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
After 31f1ff910, posted events could be delayed by a previous call to
processEvents(). This causes some tests to randomly fail, so bring back
the invariant that processEvents() will always call sendPostedEvents() when
called "manually" (i.e. not from exec()).
Reviewed-by: Prasanth Ullattil
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
navigation button causes it to go to the first possible month
QCalendarWidget::setCurrentPage did not set the current index on the
model. This is required in order to get QCalendarWidgetPrivate::getCurrentDate
working. (and this is used by the calendar widget to navigate)
This intentionaly do not check if the date is inside the minimumDate or
maximumDate range. This was possible before, and the autotests tests
that behaviour.
Task-number: QTBUG-4058
Reviewed-by: Prasanth Ullattil
|
| | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The problem is that we request an update() before we schedules a polish
event in QGraphicsScene::addItems, which means paint() is being called before
polishEvent(). We could try to swap the order in addItems, but that
doesn't give us any guarantee that polish is delivered before update
(since we have no control over what's happening from outside graphics
view). A better solution is to always make sure we don't have unpolished
items before we draw.
Auto-test included.
Task-number: QTBUG-4979
Reviewed-by: Andreas
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
4.6-staging2
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Task: QTBUG-5661
RevBy: Janne Koskinen
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
RevBy: Trust me
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
The autotest will follow
Task-number: QTBUG-2844
Reviewed-by: ogoffart
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Reviewed-by: Simon Hausmann
|