| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In upcoming patches, we start registering C++ types declaratively.
A condition of doing so requires that each .pro corresponds to one
QML module. This conflicts with the QtQuick.Controls import, which
currently does quite a lot:
- Registers (and selects) QML files for the style that was set
- Registers private C++ utility types (such as IconLabel) that are
useful for all styles under the QtQuick.Controls.impl import
- Registers private C++ types that are only useful for the Default
style (such as BusyIndicatorImpl).
The reason it does so much can probably be explained by the
intended usage of Qt Quick Controls 2; when you do
import QtQuick.Controls 2.0
you get access to the QML types (e.g. Button) that the style
you're using provides. So if you're using the Material style,
you'll get a Material style button. API-wise, the button is
identical to any other button, because the types in
QtQuick.Templates are what we advertise as the public API.
If we didn't have this functionality, users would need to
import specific style imports to use controls, and the
convenience of being able to simply start the application
with a different style by e.g. passing an application argument
would be lost.
To support declarative registration of types while also supporting
the existing use cases, we split out the Default-style-specific
stuff into a QtQuick.Controls.Default import.
Task-number: QTBUG-82922
Change-Id: Ib4f1620cae78d7acdc13d9ac0752a020bc22f3ea
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Controls] Add HorizontalHeaderView and VerticalHeaderView.
They are controls associated with TableView. Support flicking synchronization
Support default, fusion, imagine, material and universal delegate styles.
Fixes: QTPM-1300
Change-Id: Ie3f913dd616cda0d4e5a22a3d95baf71692370fe
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SplitView is an important tool for desktop applications that do not
want to use a dock widget-style approach for their user interface.
It allows users to have some degree of control over the sizing of
elements in the UI, as well as the ability to conveniently serialize
those sizes so that they're remembered across sessions.
The main differences between this and the SplitView in
Qt Quick Controls 1 are:
- Has its own SplitView attached properties, rather than relying on
the Layout attached properties (which required an additional import).
- Uses the attached preferredWidth and preferredHeight properties
as well as Item's implicitWidth/implicitHeight properties
for the preferred size of items, rather than using the width and
height properties.
- Inherits from Container, so supports most of its API (though some
parts of the API, like the currentIndex-related stuff, make no
sense for SplitView).
- Uses attached SplitHandle properties for the handle delegate to
visualize hovered/pressed effects.
- Offers convenience API for serializing the user's preferred sizes.
[ChangeLog][Controls][SplitView] Introduced SplitView, a control that
lays out items horizontally or vertically with a draggable splitter
between each item.
Task-number: QTBUG-56318
Change-Id: I3da91643ab312eb9ef5b0567da4e758f17747192
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After qtbase commits defe266 and 9c42959, we can use 'builtin_resources'
and 'install_qml_files' configs to get qml_module.prf to do all that for
us without having to write custom qrc/copy/install rules. This allows us
to unconditionally enable the Qt Quick Compiler for the resources. The
rest, i.e. optionally leaving out the QML files, will be handled via the
Qt deployment tools.
Task-number: QTBUG-67501
Change-Id: I18f2122ff4945496921b7183c365497c37dfe3a3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See the previous commit (CheckIndicator) for more details.
Before:
running: /home/jpnurmi/Projects/qmlbench/benchmarks/auto/creation/quick.controls2/delegates_switch.qml
[...]
Average: 87.8 frames; using samples; MedianAll=87; StdDev=2.16795, CoV=0.0246919
After:
running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_switch.qml
[...]
Average: 92.6 frames; using samples; MedianAll=92; StdDev=2.19089, CoV=0.0236597
Change-Id: Iea9e88e4e771ac27d336c2c87232704d33a226ec
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See the previous commit (CheckIndicator) for more details.
Before:
running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_radiobutton.qml
[...]
Average: 91.6 frames; using samples; MedianAll=91; StdDev=1.51658, CoV=0.0165565
After:
running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_radiobutton.qml
[...]
Average: 95.8 frames; using samples; MedianAll=96; StdDev=2.04939, CoV=0.0213924
Change-Id: Ic185241767d0b9422e86919356e3155e00803e56
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The internal CheckIndicator helper was introduced together with
CheckDelegate in 1acb34a, because we naturally wanted to share the
indicator instead of duplicating it. This change is controversial,
because it leads to duplicate code, but keeping the indicator
definitions inline is clearly faster. This is not seen as a huge
problem for the Default style, because the indicator is not too
complicated. Basically, this fixes a ~5% performance regression
introduced by 1acb34a.
Before:
running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_checkbox.qml
[...]
Average: 72.8 frames; using samples; MedianAll=73; StdDev=1.48324, CoV=0.0203742
After:
running: qmlbench/benchmarks/auto/creation/quick.controls2/delegates_checkbox.qml
[...]
Average: 77 frames; using samples; MedianAll=77; StdDev=1.41421, CoV=0.0183664
Change-Id: Ibee0e29e83a64ee4a6a772a90b1784a9c8c715bb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MenuBar is an ordinary Item. It can be located basically anywhere, but
the idea is to introduce a new ApplicationWindow::menuBar property in a
follow-up commit. Currently the example snippets are using the header
property.
[ChangeLog][Controls][MenuBar] Introduced a MenuBar control.
Task-number: QTBUG-60350
Change-Id: Ie66dc457a3d8edbe8362fab2a591dc49442c95e2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the registration code in qtquickcontrols2plugin.cpp clean,
consistent, and a bit less error-prone. I can't think of anything style
specific in Action, ActionGroup, or ButtonGroup, but in theory, this
mechanism would allow styles to even specify their own default values
for certain properties if they wanted.
Change-Id: I57e1c256d442f2383146808d0fe77355717b0ff2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
The Default style will be changed to use palettes, and it will be also
possible to define the default fonts and palettes for any style in the
qqc2.conf file, so the Default style needs its own proxy theme.
Change-Id: I0262f7a1f783daa62ca4afbdf3c8fe29d989ca36
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
|
| |
| |
| |
| |
| | |
Change-Id: Ie762b157591f200624c4393246478edb67a9077e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
| |
This is consistent with the other existing internal Default style
visuals QQuickDefaultBusyIndicator and QQuickDefaultProgressBar.
Change-Id: I3a84edfdd6fb8bbd8a040c633c5b6411dd5350d8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Align with material.pri & universal.pri
Change-Id: I52a63c141b681ccf72d6c1aaf14b1071aacb8106
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
| |
[ChangeLog][Controls][ScrollView] Added ScrollView.
Change-Id: I5d68799f0246e04b519bf6a0ec7bc7e5625f50e7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
| |
[ChangeLog][Controls][DelayButton] Added DelayButton.
Change-Id: I94820dfb41ba9b90f0a29cda01ac476b54cf3de8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Use a simple animated node instead of using the private animator API.
Task-number: QTBUG-56601
Change-Id: Id8deb1e6ae48554bfa7b26b333247bf08c27aa09
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Use a simple animated node instead of using the private animator API.
Task-number: QTBUG-56601
Change-Id: Id420ef6faae0ddfc3a571e9b12be59c0d263fc38
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Just like commit 87b21a57 made Control do it, this applies the same
logic to AbstractButton. The simple reasoning is that when customizing
both the contentItem and the background, it is much better to use the
AbstractButton type that does not have any default building blocks.
Previously you would have to supply implicit size calculation as well,
but this makes it much more convenient to use.
[ChangeLog][Controls][AbstractButton] A plain AbstractButton now
calculates its implicit size based on the implicit size of the content
item plus paddings, and the implicit size of the background item.
Change-Id: Ic380366b25940fbb9f28882c4622d58f4c042a07
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This reduces all of the duplicate literals that we currently have.
Task-number: QTBUG-55867
Change-Id: I28f1f646d25f2f6578d52b4ba96f8f0f3ad6706b
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I82da1e547c4ead1181ade19f77c62651c00998a3
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][Container] A plain Container now calculates its
implicit size based on the implicit size of the content item plus
paddings, and the implicit size of the background item.
Change-Id: I0481aef0ce713d92bee8b119bf5158dea612d598
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][Control] A plain Control now calculates its
implicit size based on the implicit size of the content item plus
paddings, and the implicit size of the background item.
Change-Id: I086ecf8e3f564ee49df2f9d30015e127dc88db6e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls] Added RoundButton.
Change-Id: I30a8b9e942a61089e87fb1aa248432e42caf0d20
Task-number: QTBUG-54967
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls] Added MenuSeparator to visually distinguish
between groups of items in a menu.
Change-Id: I7a52910b19633ed1188c90ca56c92346a28d4d5c
Task-number: QTBUG-54862
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ToolSeparator is used to visually distinguish between groups of items
in a toolbar by separating them with a line. It can be used in
horizontal or vertical toolbars.
Task-number: QTBUG-54862
Change-Id: Ie68e680510428ad19e7f80268063af07b61100eb
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls] Added Dialog to provide convenience for handling
dialog popups. Dialog integrates with DialogButtonBox, and provides
convenient accepted() and rejected() signals.
Task-number: QTBUG-51090
Change-Id: I776516738b82c0e5726769c054d6f2a956fb616d
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: Id3a1ce6257ab999c08130549b43414b17df6168d
Task-number: QTBUG-50993
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
SwitchDelegate is an item delegate that is used in lists, and can be
checked and unchecked. It derives from QQuickItemDelegate and hence has
background press effects. The order of the indicator and text is
reversed (compared to Switch) to reflect what is most commonly
seen on mobile.
Change-Id: I6f8fca8d1a8c91f2cb9d8bbbb685ad163712dfa1
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
| |
RadioDelegate is an item delegate that is used in lists, and can be
checked and unchecked. It derives from QQuickItemDelegate and hence has
background press effects. The order of the indicator and text is
reversed (compared to RadioButton) to reflect what is most commonly
seen on mobile.
Change-Id: I143ee9a30cd8ce1d624354f4cb981c41dfddc2d2
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
CheckDelegate is an item delegate that is used in lists, and can be
checked and unchecked. It derives from QQuickItemDelegate and hence has
background press effects. The order of the indicator and text is
reversed (compared to CheckBox) to reflect what is most commonly seen
on mobile.
Change-Id: I6fdac226fe87247052389b2e49f6cf20d7be44fb
Task-number: QTBUG-52208
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
| |
Change-Id: I917f7e83219788fc63389773eb07ee39757bed7f
Task-number: QTBUG-51003
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
The same way other plugins do it. The main plugin file and the build
system flags are specified in the .pro file, and the list of classes
and types provided by the plugin are specified in the .pri file.
Change-Id: I60c8aeca36c4a177f613ce88f34bfaf5d69b7543
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
| |
SwipeDelegate presents a view item that can be swiped left or right to
expose more options or information. It is used as a delegate in views
such as ListView.
Change-Id: I7533a2b223f652993b6cee730930ea6dc125c869
Task-number: QTBUG-51610
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/controls/qquickstyle.cpp
Change-Id: I1c8273012b01726072e5cbfd4369453a780ff03e
|
| |
| |
| |
| |
| |
| |
| |
| | |
For page-specific headers & footers (ToolBars & TabBars).
Change-Id: Ifafe9131655b74a14bc34cf69b4363013a9a2501
Task-number: QTBUG-50332
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|/
|
|
|
| |
Change-Id: Ib262bce848bfada1bcddb2df1dd99a399870f3e1
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I3844718c4a6fa0410f6d8670390878e4521976c0
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
Provides a background color that matches with the application style
and theme.
Change-Id: I5e7ea4fededaaf46687a2ea0391f43dbf55e3b42
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I4cfc2367db92786097a1ce66bd4b5a2f71322a2e
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
An item-based menu derived from QQuickPanel. Eventually we'd like to
make Panel itself a QQuickItem, as it makes both the implementation
and the actual usage of Menu a lot easier.
Change-Id: Ic1bf2a05ab98d9e17824c402ed8326ef65d26c69
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
Given the presence of alternative styles, we'd like to focus on making
the default style as performant as possible. Removing Theme usage
is a step towards this.
Change-Id: I8f76dc98442e6c02703885591a44758f40c7a362
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
| |
Also moved to QtLabsControls lib.
Change-Id: I8ed1256da2b9aa63db4ca3b51a0ace3ba730e542
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
| |
Change-Id: I133be230d0d4b2fd36565f8f05d91426c314a085
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
* Doc in QQuickFileSelector was removed
* Replace QFileSelector with QQuickFileSelector
* Add "We mean it" in qquickfileselector_p.h
Change-Id: Idb7d8c9ce09300c8ada5d049db35de1c52760daf
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It came up in discussions at the QtWS that even if we have Tumbler,
people still want and expect to have the good old SpinBox control.
SpinBox has it pros, such as that it might work better inside a
vertical Flickable, and that in multi-field forms it might visually
align better with other controls like TextFields.
An early mockup of SpinBox was removed in 1c0edf0. A quote from the
commit message:
SpinBox is a desktop centric control. It won't be provided in
Qt Quick Controls 2.0, but maybe later when desktop support is
re-considered. Qt Quick Controls 2.0 will focus on embedded and
mobile. SpinBox is still available in 1.x.
While it is true that SpinBox might not be optimal for touch or
mobile, the real reason for the removal was that validating decimal
number input is very complicated. Even though locales have well-
defined thousand separators and decimal points, users have very
different expectations on how strict or relaxed the input
validation should be.
This change re-introduces a touch-optimized integer-based SpinBox.
What makes it more touch friendly than the earlier version is that
it has now auto-repeating buttons. Limiting it to integers avoids
the decimal number input validation problem. We can introduce a
separate DoubleSpinBox later if necessary - just like in QtWidgets.
Change-Id: I2819060eb5d1ae6a8c00b0f12be703456085079d
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
This is basically Slider, except with two handles.
It's used to specify a range of values.
Task-number: QTBUG-48667
Change-Id: Ib4f9afe5dc8343e307610943d338a2b574a01e4d
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
|
|
|
|
|
|
|
|
| |
We don't have a sensible design. It's better not to have it at
all than to have a confusing tiny bit tweaked clone of Switch.
Change-Id: Ib0eabd075590100e9e49846c7172909525b54a57
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
|