| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When Dialog (which derives from Page) has only its title set,
there'd be a binding loop. A simplified version of the call stack:
- QQuickPopup::componentComplete
- QQuickPopupPrivate::prepareEnterTransition
- QQuickItem::setVisible
- QQuickPagePrivate::itemVisibilityChanged
- QQuickDialog::implicitHeaderWidthChanged
- QQmlBinding::expressionChanged <== Dialog.qml's implicitWidth binding
- QQmlPropertyData::readProperty
- QQuickDialog::implicitHeaderWidth
- QQuickPage::implicitHeaderWidth
- QQuickItem::implicitWidth <== QQuickPagePrivate::header, aka Label
- QQuickTextPrivate::getImplicitWidth
- QQuickTextPrivate::updateSize
- QQuickTextPrivate::setupTextLayout
- QQuickItem::setImplicitSize
- QQuickItemPrivate::implicitWidthChanged
- QQuickPagePrivate::itemImplicitWidthChanged
- QQuickDialog::implicitHeaderWidthChanged
- QQmlBinding::expressionChanged
- QQmlAbstractBinding::printBindingLoopError
Fix the issue by not emitting change signals if we're already in the
process of doing so.
Change-Id: I37d6fa35b1e70420e436c0e001f55035d7630542
Fixes: QTBUG-66494
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
|
|
|
|
|
|
|
|
| |
when setting null to footer
Fixes: QTBUG-71444
Change-Id: Id4b0a3fd7aa104357674b4e2be6206894f8878da
Reviewed-by: J-P Nurmi <jpnurmi@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes all Qt Quick Controls 2 imports match the current
Qt minor version, which is 12 as of this patch.
It also updates all other Qt Quick imports to match.
This will also make future version bumps easier as all version numbers
in existing code/docs will match.
The following commands were used to verify that no old versions remain:
for i in `seq 0 11`; do git grep "import QtGraphicalEffects.*1.$i$"; done
for i in `seq 0 11`; do git grep "import QtQuick 2.$i$"; done
for i in `seq 0 11`; do git grep "import QtQuick.Layouts 1.$i$"; done
for i in `seq 0 5`; do git grep "import QtQuick.Controls.*2.$i$"; done
for i in `seq 0 11`; do git grep "import QtQuick.Templates 2.$i as T$"; done
[ChangeLog] From Qt 5.12 onwards, all import versions in
Qt Quick Controls 2 follow the same minor version as Qt's
minor version number. For example, the import version for Qt 5.12 is:
"import QtQuick.Controls 2.12".
Change-Id: I6d87573f20912e041d9c3b7c773cc7bf7b152ec3
Fixes: QTBUG-71095
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][Controls][Page] Added implicitHeaderWidth, implicitHeaderHeight,
implicitFooterWidth, and implicitFooterHeight properties.
Change-Id: Ia6de025767e64dd2b44edafc2e7dfdf9a99e3b5f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Add a header for the private class, and a protected constructor.
Change-Id: Id34b32dd614a430ec7e299c53341f21c4fba36d9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The idea of a separate QQuickPageLayout falls a bit short, because as
a non-QObject it cannot e.g. emit signals when the headers and footers
change as a result of being destroyed. Next, we want to add implicit
header and footer sizes, which has the same problem. QQuickPageLayout
is currently used by QQuickPage and QQuickDialog. We are now moving the
functionality to QQuickPage, and will use QQuickPage in QQuickDialog
instead.
Change-Id: I869e6ba0056d424e617c48c2e4f591c75cde48e5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: Id5cd236e14238612647f7a897886be0202863132
|
| |
| |
| |
| |
| |
| |
| |
| | |
This will list each control that is a focus scope, and have
some relevant information about focus in Qt Quick Controls 2.
Change-Id: I3126452bf73f7d7730d0522d616d61ad0da0dd74
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|/
|
|
|
|
|
|
| |
This allows us to remove a lot of duplicate code, and Page gets the
same automatic content size calculation that was added to Pane.
Change-Id: I98dc3a5070d61c1720dc11003bc4076aba481b3a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
Tumbler is excluded because test_customContentItemAtConstruction()
starts failing if deferred execution is enabled for the content item.
Task-number: QTBUG-50992
Change-Id: I11022c3c380311396453cf6229e068e4aae2d82a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: I6372e143c68f0a5bf7212d759281acef3c81618e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Icb22f656893c89f61233bb547f03e63240bb8f97
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
We've come to realize that even though it's tempting to group similar
properties together, organizing the API so that revisions are grouped
together makes future maintenance more pleasant. It's a lot easier to
to see what was added and when.
Change-Id: I47ba7725260f2c259048848cc2a9b17bce2f01c7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When no content item is explicitly assigned, container type of controls
(Page, Pane, Popup...) create a default content item on demand. Notice
that the content item is created from within the contentItem() getter,
so it must not emit contentItemChanged() to avoid binding loops.
QQuickControl::setContentItem_helper() was introduced in 1eaebd0 to
mitigate basically the same problem with QQuickScrollView, which has
its own special lazy creation of a Flickable content item.
Now, the problem is that the other container controls are not executing
setContentItem_helper(), because they have already assigned contentItem
and therefore it returns right away. Fix the issue by returning the new
content item without assigning it to let setContentItem_helper() do its
job. The issue was spotted while debugging QTBUG-61434.
Change-Id: Id6f84748ec08bbdfd3bd934dda627e2619af7d2a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-61109
Change-Id: I43d28a80ec1a46e836fa8a0f76ee65b0c1a24228
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Ia7f237cb580bf9c332ff4741569a57fef4eb6079
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example, if you have a floating button on top of a text editor,
hovering the button must change the cursor from the editor's ibeam
cursor to an arrow cursor. This applies to all interactive controls
that call setAcceptedMouseButtons(). If a control blocks mouse events,
it should not use some random cursor from another control underneath.
Task-number: QTBUG-59629
Change-Id: I8a6ae306bbc76a9b22377361cb19cf9c3a872d31
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I03deebff661746d49e537af5b1c8899b938efb0d
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>
|
|
|
|
|
| |
Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| | |
Change-Id: If7d15d914e35a675dcd456a4aa561a3280c2308a
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Even though the control was designed to be used as full-screen page, it
can be sometimes useful to have non-fullscreen pages. In order to make
Page behave well in layouts, it must provide a suitable implicit size.
[ChangeLog][Controls][Page] Page has been made to calculate its
implicit size based on the implicit size of the header, content, and
footer plus paddings, and the implicit size of the background item.
Task-number: QTBUG-56709
Change-Id: I0f40897df6e54d7bde01a464e24f0398b12bc865
Reviewed-by: Mitch Curtis <mitch.curtis@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: I37aab846346692fd4bff08b0dbab66db3a8e2716
|
| |
| |
| |
| |
| |
| | |
Change-Id: Ia63c5d34ccb239fb45c7445a4354e6594bfce812
Task-number: QTBUG-55904
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickpage.cpp
Change-Id: I4c8b62fb1d7c20c6d3c870eb47e0402a20051098
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-55143
Change-Id: I4176d0f8902ee417fd5cb938b0f0902d480e80f6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Controls must import templates version 2.1 in order to "inherit"
1-revisioned properties, methods, and signals. So far, this has
been done case by case, but it's less error prone and more clear
to change them all. For example, if you ever see a source file
pasted/linked somewhere, it's easy to identify the version it
belongs to.
Change-Id: I41609ec1a22bc05ac3e79f953a147ca42d9e0786
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Does the header/content/footer layout for Page, and will
be shared with the upcoming Dialog.
Change-Id: Ic550a87b5f4bb4eb44e2d08a4c977183f3b5bbff
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Controls] Added DialogButtonBox to provide convenience for
handling dialog buttons. DialogButtonBox is able to create a set of standard
buttons with a single line of QML code, and provides convenient accepted()
and rejected() signals.
Task-number: QTBUG-51090
Change-Id: I9b3c6ba1b2836dadf9a2ac9086be1eba214e7c4d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Ie4680c5dfadc95278215b688f4fc28577f557933
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
|
|
|
|
|
|
|
| |
Useful i.e. for displaying the current page's title name somewhere.
Change-Id: I3546a9e2d4bf5a0fb4aa3ed1db564254b1e11858
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Change-Id: Id6c476424fa359d222f027584278346fc0984069
Task-number: QTBUG-52549
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
| |
Docs, resources, .metainfo and plugins.qmltypes will be updated in
follow up commits.
Change-Id: I4438c5bfb8802bff0fa15c56431cfd288f179861
Task-number: QTBUG-52549
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
| |
This file is part of the Qt Quick Templates 2 module of the Qt Toolkit.
Change-Id: I39ef9cbb00f55a32b7a43f11ffbdfbb40b84e124
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: Ib8050cb3baefe07d28c7e2dcec64af155d2d7c9b
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
Change-Id: I146da903b46f5c2caf865e37291c25376b49021a
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|