| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The newly added multi-touch support can create issues, especially
together with Flickable that is unfortunately still not properly
touch-compatible. The implementation is still based on synthesized
mouse events, so things like Flickable::pressDelay that intercepts
mouse presses and re-sends sends them after a delay, does not play
well with touch-enabled controls.
The easiest way we can disable the whole thing is to make multi-
touch support a configurable feature, the same way hover support
is.
./configure -no-feature-quicktemplates2-multitouch
[...]
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... no
[ChangeLog][Templates] Added a configure feature for disabling multi-
touch support (configure -no-feature-quicktemplates2-multitouch).
Task-number: QTBUG-61144
Change-Id: I0003ae925c2a499ecb3e2a5b720088bd963d9ad3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously qmlAttachedPropertiesObject() refused to create attached
properties object instances for objects that were not created in QML.
QQuickControl & friends created a "fallback" instance of the accessible
attached properties object, which made tst_accessible pass, but since
QQuickAccessibleAttached was not aware of the instance, accessibility
did not work for these controls that created the instance by hand.
In qtdeclarative commit 4be38ab, qmlAttachedPropertiesObject() has been
changed to allow creating attached properties for objects instantiated
in C++. This allows us to remove the non-functional fallback instance.
Change-Id: I8a86388dc4dee4721284d47aefc15940a75e6c8d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
For the earlier versions, this was already done in the 5.9 branch.
Change-Id: I3fd3840aca0f5aadd7aa77eba358ac0f6c94f942
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Icd965d8a79f022f4375e2134621cbc3897014015
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/ApplicationWindow.qml
src/imports/controls/material/ApplicationWindow.qml
src/imports/controls/universal/ApplicationWindow.qml
src/imports/templates/qtquicktemplates2plugin.cpp
Change-Id: I9041c69f4ce5dab1d1b994d2318feddb696e56bf
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Short version: do not emit contentItemChanged() while contentItem()
is being called to avoid binding loops.
Long version: ScrollView is a thin wrapper around Flickable, and
when necessary, instantiates a Flickable behind the scenes. However,
ScrollView cannot instantiate one unconditionally, because it has to
work with existing Flickables, such as ListView and GridView, too.
ScrollView { Item { } } // creates a Flickable
ScrollView { Flickable { } } // does not create a Flickable
ScrollView { contentItem: Flickable { } } // does not create a Flickable
When a Flickable is created behind the scenes, it is assigned as
the contentItem of the ScrollView. However, when the Flickable is
created lazily as a result of ScrollView::contentItem being accessed,
it must NOT emit contentItemChanged() while the contentItem() getter
is being called, because that results to a binding loop. This problem
was exposed by the recent attempts to enable QML caching at build time
(QTBUG-58571).
Change-Id: I712f2f30da454a6c22a722afe8a00ae240733571
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
First of all, move the remaining user requested fonts to ExtraData.
This was done for QQuickControl, but not for the controls that do not
inherit QQuickControl: QQuickLabel, QQuickTextField & QQuickTextArea.
The ExtraData starts really paying off later when introducing palettes
that propagate similarly to fonts.
Furthermore, give a more explicit name ('font' vs. 'requestedFont')
for the user requested fonts. This lets us use 'font' (instead of just
'f') as an argument name in those various font-helper methods in the
private classes. Furthermore, sync QQuickLabel|TextField|TextArea's
font handling with QQuickControl. It would be best to share the code
somehow, but it's quite tricky due to different base classes, font
members ('resolvedFont' vs. 'sourceFont'), and notifier signals.
Change-Id: I50cc1af160bb033ae604b4239e438c083d83f15d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/RoundButton.qml
src/imports/controls/universal/RadioDelegate.qml
Change-Id: I4cb14c19bd5f6e19b70b03fb394c76712e6dda08
|
| |
| |
| |
| |
| |
| | |
Change-Id: I5c5be24142a758637e18df24b43847a8c6079346
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickControl::focusPolicy was only managed in mousePressEvent() and
mouseReleaseEvent(). All controls call the base class implementations
of these event handlers to get the focus policy handling "for free".
Move focus policy handling to handlePress() and handleRelease() that
can be re-used for touch events, and make sure that various controls
call the base class implementation of touch event handlers.
There's still a bit of duplication in QQuickControl::touchEvent() and
the overridden handlers in sub-classes, but this will be improved step
by step. QQuickControlPrivate::handlePress/Move/Release/Ungrab() are
planned to be made virtual, overridden in subclasses, and only called
from QQuickControl event handlers. Most mouse and touch event handlers
in QQuickControl subclasses can be removed later when we get there.
Task-number: QTBUG-58389
Change-Id: I7e82dc2ef49762a005c482ce1353e03cc841659f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickcontrol.cpp
Change-Id: I73a9946da4214dcb8c877e716af5a8bb64335f69
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It turns out that cancelling the incubation of eg. a combobox popup
alone is not enough when its children might be incubating and would
be left incorrectly guarded. Cancel recursively the whole object
tree of a replaced/destroyed delegate to avoid that.
Task-number: QTBUG-50992
Change-Id: Ia06931c4c7af3ed8bb56af6c29eb51081c4fccbb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/ComboBox.qml
src/imports/controls/material/ComboBox.qml
src/imports/controls/universal/ComboBox.qml
Change-Id: Ib900bb6298c32245399f52980b44575b64b7409f
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The documentation body was clearly copied from Control::font. Locale
doesn't have mutable properties. Instead, one has to create a locale
using Qt.locale(). Change the wording to match that.
Change-Id: I637b00808c29c16ee768820be327e3c780cfee64
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
| |
It's more pleasant to work with, when the methods are in the same order
they are declared. This makes also the refactoring tools in Qt Creator
work correctly.
Change-Id: If7e3a851ffba3f736706b74942a34098e70c0e25
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I03deebff661746d49e537af5b1c8899b938efb0d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Resolves the "Object destroyed during incubation" issues.
Task-number: QTBUG-50992
Change-Id: Ie58c958dafbf915da7494dac25351be98106c6ea
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
./configure -no-feature-quicktemplates2-hover
[...]
Qt Quick Templates 2:
Hover support .......................... no
Change-Id: I0509a1a9ac3ffe2cbfe4f2016ce0345708860b84
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I46ff0f20bbdde131d4206a970ce60c76d491f24b
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: I6f40794ae1977d1f23916bff6d0c58d44440fbe5
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\
| |
| |
| | |
Change-Id: I70bce420ae7d82d1bd72ff3d6c4f034525272aba
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Pane, Frame, and other container type of controls create their default
content item lazily (commit 0e3636a). Under certain circumstances, the
default content item was not resized as appropriate.
Change-Id: Ia1f55030f62cc7b02c5bc770b4983f1240acf42d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It was a bit inconsistent before. Admittedly the colon at the end
was the most commonly used style in the quicktemplates2 code base,
but some had a line-break before the colon. This is now chosen as
the one true coding style of QQC2. ;) It makes the initializer list
aligned so that it stands out from the constructor body.
Change-Id: I66835e088df90d7219af04915176006d2a934ddc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Initialize one member per line. Allow empty constructors with one
initialized member on a single line.
Change-Id: Ie115802561ebd19efd4dacda1fa868b64d279109
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
|
| |
| |
| |
| |
| | |
Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Avoid unnecessarily allocating extra data and/or pendingDeletions.
Change-Id: I41d68af513c078a48bbe4f026bfe25e9c45ba3a8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/BusyIndicator.qml
src/imports/controls/ProgressBar.qml
src/quicktemplates2/qquickpopup.cpp
src/quicktemplates2/qquickpopup_p_p.h
src/quicktemplates2/qquickstackview.cpp
Change-Id: I9a1028a991de9fc3e26d3f973106301e9ada631c
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/controls/Drawer.qml
src/imports/controls/Frame.qml
src/imports/controls/GroupBox.qml
src/imports/controls/Page.qml
src/imports/controls/Pane.qml
src/imports/controls/ToolBar.qml
src/imports/controls/Tumbler.qml
src/quicktemplates2/qquickapplicationwindow.cpp
src/quicktemplates2/qquickpopup.cpp
tests/auto/accessibility/data/busyindicator.qml
tests/auto/accessibility/data/button.qml
tests/auto/accessibility/data/checkbox.qml
tests/auto/accessibility/data/control.qml
tests/auto/accessibility/data/dial.qml
tests/auto/accessibility/data/label.qml
tests/auto/accessibility/data/menu.qml
tests/auto/accessibility/data/pageindicator.qml
tests/auto/accessibility/data/popup.qml
tests/auto/accessibility/data/progressbar.qml
tests/auto/accessibility/data/radiobutton.qml
tests/auto/accessibility/data/rangeslider.qml
tests/auto/accessibility/data/scrollbar.qml
tests/auto/accessibility/data/scrollindicator.qml
tests/auto/accessibility/data/slider.qml
tests/auto/accessibility/data/spinbox.qml
tests/auto/accessibility/data/switch.qml
tests/auto/accessibility/data/tabbar.qml
tests/auto/accessibility/data/tabbutton.qml
tests/auto/accessibility/data/textarea.qml
tests/auto/accessibility/data/textfield.qml
tests/auto/accessibility/data/toolbar.qml
tests/auto/accessibility/data/toolbutton.qml
tests/auto/accessibility/tst_accessibility.cpp
Change-Id: Ibc3f592162e97bef9147b35da8c9a79e73a907e6
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: If7bdd4c11aaeb2df87622c769b1a65ac82ac7e73
Task-number: QTBUG-55904
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quicktemplates2/qquickpopup.cpp
src/quicktemplates2/qquickpopup_p_p.h
Change-Id: I33241dfd15a320e6ae2f0c056252b0ec6be7c6f6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add spacing support into QQuickPageLayout. Having spacing and padding
separately gives more fine-grained control over the layout. Spacing is
inserted between the header, content, and footer, but only when the
respective building blocks are visible.
Change-Id: Ia26a4c33c2756a603ca6d53aefac3a66414b36d3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I91b578e6e7956feadb0a9f874fa0c1f4d97f02bf
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We'll start slowly refactoring all QQuickPopupItem-specific things
out of QQuickPopup. In the future the presentation/backend of a popup
could be, under certain circumstances, a native menu popup window, for
example.
Change-Id: I8508da14ab52c65221afc3a9b7f07c371f0416d2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/doc/snippets/qtquickcontrols2-swipedelegate.qml
src/imports/controls/material/qquickmaterialstyle.cpp
Change-Id: I00b533e28407f87a31588e92109a468a5bfb4cc8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As noticed in QTBUG-56269, QEvent::HoverLeave is not sent while there
is an active mouse grabber item. Therefore we must hit test move events
to figure out if the control is still effectively hovered.
Task-number: QTBUG-56556
Change-Id: I8a5e3dbd77375aace7fc5594e4315288304d852f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Icf4feb1e29c40f10f483be63581f178fdc1cbd12
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I4150dbbc272d63cd842e19a30138c9b734d260ee
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Improves usability on desktop, when hover is enabled.
Change-Id: Ib67db80e278a9369da73d81946a9001d432376aa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Hover effects can be sometimes a bit disturbing. This change makes it
possible to conveniently disable hover effects for a tree of controls
in one go. For example, to disable hover effects for a page including
its header, footer, and all list items:
Page {
hoverEnabled: false
header: ...
footer: ...
ListView {
delegate: ...
}
}
[ChangeLog][Controls][Important Behavior Changes] Control::hoverEnabled
has been made to inherit to children, to make it possible to disable
hover effects for a tree of controls in one place.
Change-Id: Ia87144f2cc04957a32f89d3313816b91d97db635
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/quickcontrols2/gallery/gallery.qrc
src/imports/calendar/doc/snippets/qtlabscalendar-calendarmodel.qml
src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml
src/imports/calendar/doc/snippets/qtlabscalendar-dayofweekrow.qml
src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid-layout.qml
src/imports/calendar/doc/snippets/qtlabscalendar-monthgrid.qml
src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml
src/imports/calendar/doc/snippets/qtlabscalendar-weeknumbercolumn.qml
src/imports/controls/doc/qtquickcontrols2.qdocconf
src/imports/controls/doc/snippets/qtlabscalendar-calendarmodel.qml
src/imports/controls/doc/snippets/qtlabscalendar-dayofweekrow-layout.qml
src/imports/controls/doc/snippets/qtlabscalendar-dayofweekrow.qml
src/imports/controls/doc/snippets/qtlabscalendar-monthgrid-layout.qml
src/imports/controls/doc/snippets/qtlabscalendar-monthgrid.qml
src/imports/controls/doc/snippets/qtlabscalendar-weeknumbercolumn-layout.qml
src/imports/controls/doc/snippets/qtlabscalendar-weeknumbercolumn.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-calendarmodel.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-dayofweekrow-layout.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-dayofweekrow.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-monthgrid-layout.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-monthgrid.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-weeknumbercolumn-layout.qml
src/imports/controls/doc/snippets/screenshots/qtlabscalendar-weeknumbercolumn.qml
src/imports/controls/qtquickcontrols2plugin.cpp
src/quicktemplates2/qquicktooltip.cpp
src/quicktemplates2/qquicktooltip_p.h
src/quicktemplates2/qquicktumbler.cpp
tests/auto/controls/data/tst_spinbox.qml
tests/auto/controls/data/tst_tumbler.qml
tests/auto/qquickmaterialstyle/data/tst_material.qml
Change-Id: I25b7473b47739043b6f768603bece30b18021318
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There is a little behavior change in focus handling in Qt Quick after
qdeclarative commit e7da97b. The order of QQuickItem::focusOutEvent()
and QQuickItem::ItemActiveFocusHasChanged have changed. Now we need to
emit visualFocusChanged() in setFocusReason() when losing visual focus
to ensure that bindigs to visualFocus get re-evaluated as appropriate.
Change-Id: I52e728c7df751a54b36f353415b2666cfedc73ad
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existence of a content item is obligatory for such controls that
alias the contentData and contentChildren properties to the data and
children properties of the content item.
Even though we created empty content items in QML to ensure one always
exists, it did not not guarantee that a content item would exist for
custom styles. Furthermore, the empty content item was unnecessarily
created and destroyed when the property was overridden for a customized
control in QML.
This change creates the content item lazily where required, ensuring
that it always exists even for custom styles, but does not create it
in case a content item is supplied from QML.
Task-number: QTBUG-54347
Task-number: QTBUG-56038
Change-Id: I714ef4f8c366f0f449b922b2c16c0ec653fbd364
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: I0968454452dcf17093ef27af8770fd5018780160
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Change-Id: I48f1a9cf56e6b92ef34e954259e64d090bb445ca
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Change-Id: I6e0d2349bdc909e61048356d76dc877e33fad5ff
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Change-Id: I82ec57bca3dffc19400f90eba13985df4be103de
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-56007
Change-Id: I6433e0ebc9570b1e9e6e149ef7f631ea6786f672
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
This avoids the issue "Object destroyed during incubation" error.
A proper fix is still required in the QML engine.
Change-Id: I3c168cfe2d8c295662bcb5886e99a0f95748e302
Task-number: QTBUG-50992
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Change-Id: I284b0d84363a172b2f11093b01157d00db69103a
Task-number: QTBUG-54658
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|