| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
When isTabFence is set to true and no children.
Task-number: QTBUG-50516
Change-Id: I8430336fde7ab041797f8f9d9dfe5b9d56fecddd
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
positionViewAtIndex().
When using an overlaid header or footer, we must adjust the position we come up
with by the appropriate size in order to end up at the correct place.
Change-Id: I218b9aef7fdf37f56ffb63dc395f97045b55a186
Task-number: QTBUG-50097
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
| |
A bit faster, not that this is the most important case for it.
Change-Id: I3e50bd4a45d2b60c105a9315ccf0b2c34502cb8d
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
| |
Change-Id: I4baf8416704fdb65b96b7e0b8620c651f9199159
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a regression in behavior whereby input is not blocked when the side
changes. In QtQuick1, input was tied to opacity: items with a 0 opacity would
not receive input. In QtQuick2, this is not the case.
[ChangeLog][QtQuick][Flipable] Flipable now toggles the 'enabled' property on
whichever side is active. This restores broken behavior compatibility with
QtQuick1, and blocks input to whichever side is not active.
Change-Id: I36e29089cd7ffd05bf1f415490e0e0816a86bf30
Task-number: QTBUG-37072
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
| |
Remove unused includes
Change-Id: I088b7efda4269faaceb39ea865eadc85fb2f9039
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Infinite loop because of rounding in QQuickFlickablePrivate::fixup().
Change-Id: Icffe216587d90660ac3cb8090a676868416566c8
Task-number: QTBUG-50105
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
| |
So users at least have some idea of how to use these types,
as their documentation is quite lacking.
Change-Id: Ic4644cc259fabbd1462e611316dcec3c5a0d2c4e
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I503ba2c7b6b58f01c8270d3a1416ec197f24e0e2
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
When we synthesize a press/release from touch, the item believes that
the mouse never leaves, so if we have several mouse areas, they may
all claim that they contain the mouse at the same time. The solution
is to synthesize a move back to the actual mouse position.
Task-number: QTBUG-40856
Change-Id: I43610d95aa383f847db18b387405b0c4e91cea0f
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Fix warnings when running tst_qquicktextedit:
QWARN : tst_qquicktextedit::mouseSelectionMode_accessors() QSignalSpy: Unable to handle parameter 'mode' of type 'QQuickTextEdit::SelectionMode' of method 'mouseSelectionModeChanged', use qRegisterMetaType to register it.
QWARN : tst_qquicktextedit::textFormat() QSignalSpy: Unable to handle parameter 'textFormat' of type 'QQuickTextEdit::TextFormat' of method 'textFormatChanged', use qRegisterMetaType to register it.
Change-Id: I2d41f970777c9ee4d8999acceed9e1b9cf52b0f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
Not destroying the Animator controller leads to scenegraph animators
running even after destroying the rendercontrol and the window. Add
the missing delete call and fix the somewhat broken cleanup sequence.
Task-number: QTBUG-49635
Change-Id: I170b4bb4b065bda46d8ab9ad9a3992bc8cfd1d1e
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the qt_findAtNxFile function from QtGui.
Note: this changes the behavior slightly if the file name
contains '@2x' not at the end of the file name. We now check
that it contains '@2x.' including the dot.
Change-Id: I7e6a97d2d9c5aa0706538badf22a13e4c41824c0
Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickListViewPrivate::applyInsertionChange(), we update the
visibleItems list by first shifting the currently visible items
and then we add as many items as the model was added and at the
right position. We do this in such a way that we won't create
items that will not be visible right away (and may be deleted
right after by removeNonVisibleItems()). However, this may leave
gaps in the item index sequence, and QQuickListView doesn't always
recover gracefully from it.
The purpose of this patch is to make sure those gaps are cleared
right after inserting the new items. Since the insertions can happen
in two different places (either before or after the first visible
item) we need to update the visibleItems list accordingly. The way
we sanitize visibleItems is by removing those items that lie beyond
a possible index gap. If insertion happens before the first visible
item, we'll remove all those items before the insertion point. If
the insertion happens after the first visible item, we'll remove the
items after the insertion point.
Besides that, the logic for inserting before the visible position was
wrong. As items are inserted bottom-up in that case, the insertion
would start by just accounting for the item's size until the condition
pos > from && insertionIdx < visibleIndex
would become false only because 'pos' would be small enough. After
that, the next loop run would start adding items before the 'from'
position, which is wrong. Our fix is to move the condition outside
the loop if the insertion index will be before the visible index
and just account for the items' size in that case. Otherwise, the
insertion happens as usual until pos < from.
Change-Id: I35767cf6e9737bea1fe7677e580245fc7172710c
Task-number: QTBUG-48870
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug was that when using the mouse wheel, a single "scroll down"
wheel event followed by a rapid succession of "scroll up" events
would cause extreme overshoot. Experimentally determined that when
this happens, the calls to timeline.accel() in
QQuickFlickablePrivate::flick() were occurring after the call to
accel in QQuickFlickablePrivate::viewportAxisMoved(). But nearby,
data.inOvershoot is set to true, so that can be used to avoid calling
accel() additional times in flick(). So basically, this patch avoids
doing any more acceleration in response to further wheel events after
the momentum from previous events has already taken the content
beyond bounds.
Task-number: QTBUG-21328
Change-Id: I3ab5510a288a080f6b526407b6a2293c44a2498a
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stress testing might sound unfair, but it can happen that
the user is flicking the view while the model gets updated
resulting in an internally inconsistent state. We need to
cover this and start working on a solution.
The test is initially blacklisted as it's not expected to
pass all the time.
Task-number: QTBUG 48870
Change-Id: I7c1e4fd1876f52dd2dad5a28584b571753ebe69a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MousePress and MouseRelease event handlers now better integrated into
generic touch processing methods.
We used to manually add a touch point for mouse press event and
prevent updateTouchData() from pressed() emission, but mouseRelease
handler used to cause the signal emission in updateTouchData() and then
emit the signal on its own.
The code reworked to always emit pressed() and released() signals from
the single place in updateTouchData().
[ChangeLog][QtQuick][MultiPointTouchArea] Fixed released() signal
duplication on mouseReleaseEvent.
Task-number: QTBUG-44370
Change-Id: I2d88931ba56d6edf778213c61e9467c2b6abf0e7
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Id13e982ff3286ec6f369c3d5898de3da3314579d
Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Otherwise valgrind complains about
"Conditional jump or move depends on uninitialised value(s)"
Change-Id: If1cc6f2839799a80dde5106700bb26fda4b357c3
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
|
|
|
|
|
|
|
|
| |
Check that we have the right type and number of arguments
and throw a type error if they don't match.
Change-Id: I23d37074bf0a6f88e656897862eedc8f7c9f9f8f
Task-number: QTBUG-41686
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Zooming in large steps on every wheel-events breaks with fine-grained
wheel events like we get on touch-pads. We should therefore not
encourage that in our examples.
Change-Id: Ie2e70b91c66c73f12ef1f6cd55c8610ae70b36ed
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After qtbase:c7e5e1d, QEvent::ShortcutOverride is no longer sent
directly to the focus object, but to the window. But since
QQuickWindow didn't catch it, it ended up nowhere.
This patch will implement the same strategy as QWidgetWindow, and
let QQuickWindow forward the ShortcutOverride event the same way
as key events.
Note that even if the event was never being delivered, the corresponding
key events would still end up in the focus object and trigger shortcuts.
But if a window global shortcut existed with the same key sequence, it would
grab the shortcut instead of the override, which was wrong.
Change-Id: I4ad7b3879adac14d88a3fbce5851409d0963d163
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Change-Id: I56bb1f56a9c37137bab322b699d6345e82449c9c
Task-number: QTBUG-49643
Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When including QtQuick headers outside of QtQuick, MSVC fails to link
the staticMetaObject of any unexported Q_OBJECT class that it sees.
QQuickPen is the only autotest-exported type in qquickrectangle_p.h.
All other types in the same header (QQuickRectangle, QQuickGradient,
and QQuickGradientStop) are private exported. Because of the MSVC
linking behavior described above, those private exports are worthless
if the last remaining type is not exported.
Change-Id: Ife1bf466fa46a1b86ddf8ff76ab73c1beaa71acc
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
These crashes occur randomly with tst_combobox from qtquickcontrols2,
and with the test case attached to the linked bug report.
Change-Id: If7d91045f86ec33e7fe398ed02f3edf80700651a
Task-number: QTBUG-48277
Reviewed-by: Nikita Krupenko <krnekit@gmail.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Quick Controls 2 ComboBox needs access to:
- QQuickItemView::itemAt()
- QQuickItemView::indexAt()
QQuickItemViewAttached had to be exported because it's in the
same header file and has the Q_OBJECT macro (MSVC would fail
to link staticMetaObject). Alternatively, it could have been
moved to another header file.
Change-Id: Icaab2c90c136074ae78ce02a422794bb7ccff4aa
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/util/qquickimageprovider.cpp
Change-Id: I7ca4e49468b5ba697208287be4684e42b9900023
|
| |
| |
| |
| |
| | |
Change-Id: I78ecd97c25da70faf8438dd02d50952d2fb80a22
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-36985
Change-Id: I219375d405fbfb53611c0138698e955d9cd5d821
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| | |
Change-Id: I888dc4b1dbc49deeb13f967b0da34cd2273f1680
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Improve the logic for determining the desired viewport position, which
got partially broken with 134d980a7fcf61c5440019bcfb3fdfc39c3f5f3c.
Let's not alter topItem and bottomItem if their index appears to be
correct.
Task-number: QTBUG-49330
Change-Id: Ib1c88de51be28cbb0afb1741440adb03ae8ebd87
Reviewed-by: Albert Astals Cid <albert.astals@canonical.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Because the 'bottom' and 'right' variables were both initialized to 0,
the bottom right corner of the children rect was clamped to
coordinates >= (0, 0).
Additionally, replace FLT_MAX with the more appropriate
std::numeric_limits<qreal>::max().
Task-number: QTBUG-38732
Change-Id: I073b0b44737cf1faed5e4f6a5d466dd830d451bf
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickTextDocumentWithImageResources was autotest-exported in b63185.
The problem is that the QQuickLabel in qtquickcontrols2 inherits
QQuickText, and therefore includes the private header. An autotest-
exported class with Q_OBJECT macro leads to a linking error:
qquickcontrol.obj : error LNK2019: unresolved external symbol "public: static struct TestNamespace::QMetaObject const TestNamespace::QQuickTextDocumentWithImageResources::staticMetaObject" (?staticMetaObject@QQuickTextDocumentWithImageResources@TestNamespace@@2UQMetaObject@2@B) referenced in function "public: static class TestNamespace::QString __cdecl TestNamespace::QQuickTextDocumentWithImageResources::tr(char const *,char const *,int)" (?tr@QQuickTextDocumentWithImageResources@TestNamespace@@SA?AVQString@2@PBD0H@Z)
qquicklabel.obj : error LNK2001: unresolved external symbol "public: static struct TestNamespace::QMetaObject const TestNamespace::QQuickTextDocumentWithImageResources::staticMetaObject" (?staticMetaObject@QQuickTextDocumentWithImageResources@TestNamespace@@2UQMetaObject@2@B)
..\..\lib\Qt5LabsTemplatesTestInfix.dll : fatal error LNK1120: 1 unresolved externals
Change-Id: I7e8731973c4ad67fca40f87bf009dc55336c3d6f
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-45880
Change-Id: I99b2b000179d22553113a4ea5dd505094a3e08be
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/qml/qml.pro
tools/qmlprofiler/qmlprofilerclient.cpp
Change-Id: Id47f15a5ab38f8ec79f0a26c92805acba62caac4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
92433623b31388e2e8c4d532033dad6189eaab24 introduced a bug where
an unused material would clear its typeid pointer. This resulted
in that a changed shadereffect would in all likelyhood get the
same pointer for its changed shader which would result in using
the same GL shader inside the renderer.
This change rewrites the logic so that the cache is per render
thread and the cache is cleaned up along with other GL/SG resources
as part of scene graph invalidation.
Task-number: QTBUG-48856
Change-Id: Id2feb14f584b5f5c176e8176cc9f1b54abd0d079
Reviewed-by: Michael Brasser <michael.brasser@live.com>
Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickTextDocumentWithImageResources always tries to load images itself
and not using QTextDocument internal resources. What it should do:
1) Check if QTextDocument already has image resource and use it.
2) If not, try to load resource manually.
Change-Id: Ifc4d919fc4a08b4efae50e06a42f1af7cee67af3
Task-number: QTBUG-32525
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AnimatedSprite currently triggers a redraw for every update. however this
should only be done, when the next frame will actually be different to
the current one.
Change-Id: I550bd32c02807e4c3f4847fb2608f5ad0cf0a59a
Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-47229
Change-Id: I22dbe5ee1fff4e9a8de4fa69b43e4d9a87677192
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: I2a2c684cd3f55a5a4311fd28b893e6a93c022ace
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I08907f6c0d435c2a056f759ba58f616a5b0368d2
Signed-off-by: Daniel Levin <dendy.ua@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Where possible, use qEnvironmentVariableIsSet()/
qEnvironmentVariableIsEmpty() instead of checking on the
return value of qgetenv().
Where the value is required, add a check using one of
qEnvironmentVariableIsSet()/Empty().
Move QSGAtlasTexture::qsg_envInt() to qsgrenderer.cpp
for reuse as qt_sg_envInt() and add qt_sg_envFloat().
Change-Id: I4c93f16c228d4f537154f389a0fa1427654485f7
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickPathView::setCurrentIndex() set moveReason to "SetIndex", but
snapToIndex() overrode it to "Other". This caused updateCurrent() to
change the current index during snap animation and caused binding
loops in Qt Quick Controls 2.
Change-Id: I6c5f34c69886cb5c234ed78535bb356fbb38b3a6
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ie39b7ee91024b6b090fce2b58bb240cbae724b8f
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| | |
Which is used in QAccessibleQuickItem.
Change-Id: Ie9c9d59783c4af0c53a3ffe88046132fb6b5c0fd
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the following behavior initially came as a surprise to me:
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QObject *window = engine.rootObjects().first();
// Assume that a and b are rectangles declared in that order, respectively.
QQuickItem *a = window->property("a").value<QQuickItem*>();
QQuickItem *b = window->property("b").value<QQuickItem*>();
// a is rendered below b (assume that rendering happens here)
qDebug() << "a.z =" << a->z() << "b.z =" << b->z(); // a.z = 0 b.z = 0
a->stackAfter(b);
// a is rendered above b
qDebug() << "a.z =" << a->z() << "b.z =" << b->z(); // a.z = 0 b.z = 0
b->setZ(1);
// a is rendered below b
qDebug() << "a.z =" << a->z() << "b.z =" << b->z(); // a.z = 0 b.z = 1
a->stackAfter(b);
// a is rendered below b
qDebug() << "a.z =" << a->z() << "b.z =" << b->z(); // a.z = 0 b.z = 1
return app.exec();
}
I would have thought that stackBefore()/stackAfter() would also change
the z value, but it makes sense that it doens't, as z is never really
validated, as such.
Still, we should document the exact behavior, including information
about tab focus ordering.
Change-Id: Iafc45aec402d8461e7b53525f81195171f659dff
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I2dd69745427d8f5e882303d2a4de3935ddca02e9
Task-number: QTBUG-48787
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Before we used Qt::OtherFocusReason for normal key navigation, such
as up/down/left/right. But in style world, the reason is critical
for focus change.
Now we follow the way in widgets world, use Qt::TabFocusReason and
Qt::BacktabFocusReason for down/up and right/left(or reversed if
mirrored).
Task-number: QTBUG-41801
Change-Id: I99e97ea4ced2cef9b3280c578c3a463de8fe1727
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: I63728b127d196d692f42b096e670ea0a3e336968
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: I034fa0093aa6dad41c2566a8c7ef8fba9e7d4b82
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|