| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem was that we always invalidated the cache whenever the item was
rotated. This is however not required for simple rotations such as
90, 180 and 270 degrees. This commit also removes the somewhat arbitrary
logic which takes the desktop size into account. We now use the viewport
size instead.
Auto test included.
Task-number: QT-3779
Reviewed-by: yoann
(cherry picked from commit e84ab1fee7f44a28ee82793f83b0b27d04d28c09)
|
|\
| |
| |
| |
| | |
Conflicts:
src/gui/kernel/qgesturemanager.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Items with the ItemHasNoContents flag set are never drawn so the
'paintedViewBoundingRect' is never cached/updated resulting in
updates wrongly being discarded. The solution is to always invalidate
the children for such items.
Auto test included.
Task-number: QT-3803
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem was that the 'updateAll' boolean was reset to 'false' when it really
should have been unchanged. This happened when rendering the scene from outside
the view's paint event (i.e. from QGraphicsView/Scene::render). We only
want to reset 'updateAll' when triggering drawItems() from
QGraphicsView::paintEvent, i.e. when the 'view' pointer != 0.
Broke after commit: dda8a57c.
Auto test included.
Task-number: QT-3674
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
Tasks: QTBUG-13271, QTBUG-13212, QTBUG-12321
Reviewer: David Boddie
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (374 commits)
Add a test for the QPen::brush() != Qt::NoBrush for a Qt::NoPen pen.
Calling QPen::brush() on a Qt::NoPen pen, should return QBrush::NoBrush.
use QFile:map instead of ::mmap
Do not use global static const references to objects
Revert "Refactor blend_transformed_bilinear to simplify the blend type checking"
Don't rely on mapFromGlobal in QGraphicsScenePrivate::itemsAtPosition.
Refactor blend_transformed_bilinear to simplify the blend type checking
Note RTL behavior changes in docs and changelog
Implement qt_memfill32 with Neon.
Implement the composition mode Plus with Neon.
Fix the broken unicode detection of ODBC driver.
Doc: Fixed qdoc warnings.
Doc: updating getting started docs - not finished
Make it possible again to build Qt without webkit
Doc: fixing creator bugs, removing menus and textbox in the header
Fixing qdoc index file...Commit hack to work around the massive amounts of dependencies in the upstream branch.
Doc: Fixing overlapping text in header list
Use Ctrl rather than Alt for switching tabs in the demo browser
Doc: add link to new gettings started to index.html
Doc: Fixing bug involving header misplacement in Creator style
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The old approach discovered a bug in QWidget::mapToGlobal in the context of
lighthouse, which in turn brought our eyes to
QGraphicsScenePrivate::itemsAtPosition. The implementation itself was
correct, but we can easily remove the-not-so-cheap mapToGlobal call
since we already have the scene position, which is all we need.
This functionality is heavily tested by existing auto tests, and all of
them pass.
Reviewed-by: mae
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (50 commits)
Add the missing license headers to the QString benchmark data
Fix building of qsimd.cpp on Windows CE
Use QElapsedTimer for the benchlib tests.
Properly implement the CPU feature disabling in qsimd.cpp.
Report the detected CPU features in the corelib boilerplate
Detect CPU features on ARM by reading the ELF auxvec.
Split the CPU-detection code into multiple functions for readability
Fixed delivering gestures to a toplevel widget.
Unroll the SSSE3 code even more to avoid the need to keep an extra variable for inverting the result
Don't try to compile the SSE2 and SSSE3 code with compilers that don't support them (e.g. ARM)
Improve on the SSSE3 with alternate aligning function.
Add the beginnings of a new SSSE3-based aligning algorithm
Small fixup
Update the SSSE3-with-alignment function to use aligned loads.
Add an ucstrncmp that uses SSSE3 with aligning.
Add an SSSE3 version of ucstrncmp
Optimise the tail comparison of ucstrncmp
Add a version of ucstrncmp with SSE2 with aligning.
Add an SSE2-optimised version of ucstrncmp
Add the ucstrncmp benchmarks
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a touch event with a second touch pressed is delivered inside
graphicsview, we should combine it with the closest touch point even if the
item under the second touch is not direct ancestor or child of the first
touches' target item.
So adding a second touch inside the item's bounding rect will send a
TouchUpdate event to the item instead or starting a new touch event sequence.
Task-number: QT-3795
Reviewed-by: Bradley T. Hughes
|
|/
|
|
|
|
| |
and changed() signal connected
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
| |
If the item is removed from the scene in response to the FocusOut event
of the previous item don't continue attempting to set focus.
Task-number: QTBUG-12620
Reviewed-by: Michael Brasser
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This only happens when the ItemHasNoContents and ItemClipsChildrenToShape
flags are set. Problem is that items with no content are threated as 'dummy'
items, which means they are never drawn or 'processed' otherwise, so the
cached bounding rect is not reliable/usable. This means that in case of
changing the geometry of such items, its children always have to take
care of invalidating the occupied areas and the update can not be
clipped to the item's bounding rect.
Regression after commit: c1c7dbf2
Auto test included.
Task-number: QTBUG-11504
Reviewed-by: yoann
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (39 commits)
Use built-in iconv on Solaris if available
Export various symbols needed to make a custom GL graphicssystem.
Moc: fix compilation when templated types with multiple arguments are used.
Fixes the documentation of QGraphicsEffect::update().
support BGRA textures on SGX
Avoid calling time.elapsed() twice in abstract animation
Adds slowdownFactor to UnifiedTimer in abstract animation
Add the conversion in-place for QPixmap::fromImageReader() on raster.
Add QPixmap::fromImageReader() to decode arbitrary images in place.
Add missing license header.
Added textureUpload benchmark to the GL benchmarks
Fixed a crash in menubar with invisible actions
Fixed ARM .def files.
Doc: QSettings::sync() imports changes made by other processes.
Made -graphicssystem trace work with Qt::TextBypassShaping flag.
Fix an assertion in comp_func_SourceOver_sse2() if const_alpha == 0
Add a manual test for regular widget interaction with the table.
New variant of ::createPixmapData with origin for QGraphicsSystem.
EGL plane levels are the same as all other GL backends.
Need to access extensionFuncs in subclasses too.
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This flag allows you to create a non-focusable item that can be clicked
on without changing the focus. This is also possible to achieve by
using focus scopes / panels, however the implementation is then way
more complex. Thew new flag is tailored for simple uses cases where
you simply want to stop the propagation and nothing more.
Auto test included.
Task-number: QT-3499
Reviewed-by: yoann
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes an issue in QtWebKit where scrolling with the wheel while
a combo box is opened cause the page to scroll while the popup don't
move. This patch either ignore the event on Mac or close the popup on
other platforms.
Reviewed-by: Yoann Lopes
|
|/
|
|
|
|
|
|
|
| |
This happens when the QComboBox popup gets closed by
QGraphicsScenePrivate::removePopup and then the QComboBox gets hidden.
If the QComboBox gets shown again, the popup will be shown as well
since it was not explicitly hidden.
Reviewed-by: Yoann Lopes
|
|
|
|
|
|
|
|
|
|
|
|
| |
The design is that calling setGestureCancelPolicy on the gesture
that is in starting state, and is accepted can cause other gestures
to be cancelled.
So change the logic to follow this, which means we won't try to execute
the cancel strategy if the gesture was never accepted and avoid the
crash detailed in the task.
Reviewed-by: Denis
Task-number: QTBUG-9771
|
|\
| |
| |
| | |
4.7-staging1
|
| |
| |
| |
| |
| | |
Merge-request: 535
Reviewed-by: Andreas Aardal Hanssen <andreas.aardal.hanssen@nokia.com>
|
|/
|
|
|
|
|
|
| |
GestureOverride event was not respected when delivering to items in
GraphicsView.
Task-number: QTBUG-10745
Reviewed-by: Thomas Zander
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This only happened with fully transparent ancestors (item's
effectiveOpacity() == 0.0). Problem was that we didn't take into
account the ancestors' opacity when removing an item from the scene.
More specifically: The calculated effective opacity for the item was
zero and we ignored update requests. We have to ignore the opacity if
any of the ancestors' ignoreOpacity bit is 1, which means the opacity
is set to 0 and the update request has not yet been processed.
Auto test included.
Task-number: QTBUG-10778
|
|
|
|
|
|
|
|
| |
Avoids unnecessary processing and assumptions we would not want to
preserve in the future.
Task-number: QTBUG-10217
Reviewed-by: Martin Jones
|
|
|
|
|
|
|
|
|
|
|
|
| |
The boundingRect were in some cases not updated correctly, causing
full item exposure. Another problem was that we used QRectF::toRect()
instead of QRectF::toAlignedRect() when converting a QRectF to QRect.
This commit also reduces the probability of doing pixmap scaling since
we only pass an offset to QPainter::drawPixmap, instead of passing
target and source rects.
Task-number: Required by QTBUG-8378
|
| |
|
|
|
|
|
|
|
|
|
| |
When a graphicsitem subscribes to a gesture the viewport is implicitly
subscribed to it as well.
Task-number: QTBUG-9849
Reviewed-by: Olivier Goffart
Reviewed-by: Mikko Harju
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (35 commits)
Avoid running animation when loopCount == 0
Set the pictures for the examples of multitouch
Compile fix on Windows.
Remove an unnecessary assert.
Documentation for the Pad Navigator Example.
New Pad Nagivator example implementation.
Skip definition of wintab functions in case of QT_NO_TABLETEVENT.
Made curve tesselation be dynamically adjusted based on transform.
Modified QPainter and QPixmap benchmarks to use raster pixmaps.
Stabilize tst_QWidgetAction::visibilityUpdate
Fix compiler warning in QT_REQUIRE_VERSION
Stabilize tst_QColumnView::parentCurrentIndex
Really fix tst_QDockWidget::taskQTBUG_9758_undockedGeometry on Linux
Fix typos in Elastic Nodes example documentation.
Made paint engine texture drawing work in GL ES 2 and updated docs.
Opt out of visual-config size checks with extension
Fix off-by-one in text layouts and widget size hints on Mac
Stabilize tst_QDockWidget::taskQTBUG_9758_undockedGeometry
Mark QFileDialog::Options as a Q_FLAGS
fix tst_QDockWidget::taskQTBUG_9758_undockedGeometry on Linux
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the child rect is bigger than the parent rect and parent has the
ItemClipsChildrenToShape flag set, then by updating the child, the whole
child rect is marked as dirty, resulting in a much larger update area
than required. This has a major impact on performance in Orbit/HB,
where e.g. item-views typically consist of a container item that clips
its children/items to shape. See attached video in QTBUG-9024.
Auto test included.
Task-number: QTBUG-9024
|
| |
| |
| |
| |
| |
| |
| | |
Reduces the memory footprint of a typical GV application by
27 * sizeof(bool). Nothing revolutionary, but you know, every byte counts :-)
Reviewed-by: Jan-Arve
|
| |
| |
| |
| |
| | |
Task-number: QTBUG-10584
Reviewed-by: Warwick Allison
|
|/
|
|
|
|
|
|
| |
If you drag something on top of an item and the former is deleted then
we need to reset the dragDropItem pointer to 0.
Task-number:KDE BUG 232182
Reviewed-by:leo
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Found during investigation of QTBUG-8820, and clearly visible in
examples/graphicsview/diagramscene when slowly moving an item out of the
viewport (left and top edge). Caused by two problems:
1) Using QRectF::toRect() instead of QRectF::toAlignedRect().
2) Didn't adjust the item's bounding rect properly in drawSubtree().
QRectF::toRect() is completely useless since all the coordinates are rounded
to the nearest integer. E.g. QRectF(-0.4, -0.4, 10.4, 10.4).toRect()
-> QRect(0, 0, 10, 10), whereas toAlignedRect() returns QRect(-1, -1, 11, 11).
Then when we have a proper aligned rect, we have to adjust it by 2
pixels in all directions (or 1 pixel in case of
QGraphicsView::DontAdjustForAntialiasing). At first glance this
adjustment seems too much, since one would assume adjusing the QRectF by
0.5 before using toAlignedRect() would be sufficient. That's sufficient
in an untransformed world with pens using BevelJoin. However, the story
is completely different as soon as the world is transformed or the pens
use a different join. It's basically complicated (in some cases
impossible) to calculate a pixel perfect aligned QRect, so instead we
adjust by the amount of pixels required in the worst case.
This commit also includes some optimizations for QRegion updates (since
I anyways had to change the code). There's no point in using QRegion
granularity if the viewport update mode is either FullViewportUpdate or
BoundingRectViewportUpdate.
Auto tests adjusted and new ones included.
Task-number: QTBUG-10338
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When focusInEvent is called we need to ensure that WA_InputMethodEnabled
is set, since FocusInEvent might lead to that
QInputContext::setFocusWidget is called (with the QGraphicsView as the
widget parameter).
However, if the widget still does not have WA_InputMethodEnabled set
yet it will assert in QInputContext::setFocusWidget (it requires that
the widget has the flag set).
This was a problem for the morbit bridge, where Dui requires the
attribute to be set (while Orbit actually does not require)
Task-number: QTBUG-10276
Reviewed-by: jasplin
Reviewed-by: Alexis Menard
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/webkit/VERSION
src/3rdparty/webkit/WebCore/ChangeLog
src/3rdparty/webkit/WebCore/page/FrameView.cpp
src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp
src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def
src/s60installs/bwins/QtCoreu.def
src/s60installs/bwins/QtGuiu.def
src/s60installs/bwins/QtNetworku.def
src/s60installs/eabi/QtGuiu.def
tests/auto/qscriptextqobject/tst_qscriptextqobject.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Help event was not propagated to the widget. Also fixes tooltip value
propagation when setting it on the proxy or on the widget.
Autotest included.
Task-number: QTBUG-5349
Reviewed-by: bnilsen
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
mkspecs/common/symbian/symbian.conf
qmake/generators/symbian/symmake.cpp
src/3rdparty/webkit/WebCore/WebCore.pro
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Going back to always blitting the newly painted areas to the cache (and
not blending it like before). To avoid painting artifacts when the item
is rotated and when it uses DeviceCoordinateMode cache mode, the entire
cache is always repainted in that case.
Task-number: QTBUG-7863
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can't rely on the exposed rect since the item can be outside the view
so we need to regenerate the complete pixmap.
Task-number:QTBUG-8750
Reviewed-by:sroedal
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure.exe
mkspecs/common/symbian/symbian.conf
src/gui/graphicsview/qgraphicswidget.h
src/gui/kernel/qapplication.cpp
src/gui/text/qtextlayout.cpp
src/openvg/qpixmapdata_vg.cpp
src/s60installs/s60installs.pro
tools/runonphone/main.cpp
tools/runonphone/serenum_unix.cpp
qtextlayout.cpp fixed up together with Eskil.
Kept the configure.exe from 4.7 without recompile.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In most cases when partially updating an item, the old content of the
cache needs to be replaced with the new content
(CompositionMode_Source). But in a specific case when using
DeviceCoordinateCache and when the item is transformed, the new content
needs to be blended (CompositionMode_SourceAtop) with the old one to
avoid incorrect fully transparent background.
Autotest included.
Task-number: QTBUG-7863
Reviewed-by: bnilsen
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (25 commits)
optimize dynamic call-by-name away
Add support for QtScript connect/disconnect syntax in QML
Minor perf improvement when running QML script blocks
Fix qdeclarative{audio,video} tests.
Don't assume documents are in UTF-8.
Add basic support for explicit newParent in ParentAnimation.
Delete uninspiring example.
Fix compiler warning on RVCT
Use new enum syntax for value types.
Expect fail in currentIndex test for now.
Allow unquoted enum syntax for value types
More declarative examples cleanup.
Improve declarative tabs example.
Fix test leaks
Use _data() for some tests
Add missing NOTIFYs to timer, xmllistmodel, xmlrole
Document new ParentChange properties.
declarative examples cleanup
Fix test
Update QmlChanges.txt
...
|
| | |
| | |
| | |
| | | |
Reviewed-by: Roberto Raggi
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure.exe
examples/multimedia/audioinput/audioinput.cpp
src/corelib/io/qfsfileengine.cpp
src/gui/egl/qegl_wince.cpp
src/gui/egl/qeglproperties.cpp
src/gui/egl/qeglproperties_p.h
src/gui/embedded/directfb.pri
src/gui/kernel/qapplication_win.cpp
src/gui/painting/qdrawutil.cpp
src/opengl/qgl_p.h
src/sql/drivers/odbc/qsql_odbc.cpp
src/sql/drivers/odbc/qsql_odbc.h
tests/auto/auto.pro
tests/auto/qgl/tst_qgl.cpp
translations/assistant_adp_ru.ts
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can't clip source pixmaps to the device rect, as there's no way of
knowing which parts of the source pixmap are needed for the part of the
graphics effect that's unclipped.
Reviewed-by: Bjørn Erik Nilsen
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure partial gestures do not propagate further if an item that expects
partial gestures received it.
Task-number: resulted from QTBUG-6876
Reviewed-by: trustme
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When converting hotspot position (which is in global coordinates) to graphics
scene coordinates we should use the viewport because the mapToScene() takes a
position in a viewport.
Task-number: related to QTBUG-6876
Reviewed-by: Thomas Zander
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
qmake/generators/symbian/initprojectdeploy_symbian.cpp
qmake/generators/symbian/symmake_abld.h
|