| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][Styles] The Default style was renamed to Basic to account
for the introduction of the platform styles (macOS, Windows), which
will be used by default (where possible) when no style is specified.
Fixes: QTBUG-85984
Task-number: QTBUG-68814
Task-number: QTBUG-86403
Change-Id: I22b3199c8662e4ee5d55a1be1a51c9856ac62376
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
As of Qt 6, the latest version will be used by default. This saves us a
lot of effort in terms of version bumps.
Task-number: QTBUG-82922
Change-Id: I74eba8185ec3ccc75bc293d4b2ea87d59e2d9928
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Quick Controls 1 will be removed in Qt 6, so now we can have the
simplified path for ourselves.
Having the .2 in the path causes issues for importing now that the
version is being bumped to 6.
Task-number: QTBUG-82922
Change-Id: I0b92cdd44c42c19b1c82e7b9a7959b86ac26c6e2
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-73058
Change-Id: Ib8f9dd5a1c44e1fc2487ca75226ed2ee8f7867d4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Iab8e682eeb43b3403eba37f7decb7f7a494ae361
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By setting an implicit size, the user don't need to set a
width or height on a HeaderView himself, but it will
get the default size recommended by the style.
By doing it the way it's done in the patch we achieve the following:
1. A HeaderView will by default be resized to be the same size
as the delegate.
2. If the application sets a size on HeaderView it that is larger
than the implicit size of the delegate, the delegate
will be resized to have the same size (effectively
filling out the free space in the header).
3. If the size of HeaderView is smaller than the implicit
size of the delegate, the delegate will simply be clipped.
(effectivly saying that the implicitSize of the delegate is
also it's minimum size). If this is not acceptable for the
application, it will need to use a custom delegate.
Since a HeaderView delegate is a component and not an item, it
should not be a part of the sanity checks we do to avoid using
internal IDs. Hence we blacklist until we have a better way of
handling such cases.
Task-number: QTPM-1300
Change-Id: I30ca3e13ce5e1371b60f5c4ecf742a7d7e794a36
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
tests/auto/qquickpopup/tst_qquickpopup.cpp
Change-Id: Id3bca2da290234f3c69845ffe18c6d9193a1bd28
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the RangeSlider was copied into another file as a child item, it
would produce errors about first and second being undefined.
Change-Id: I0ecc9f6830509183a1b2b35e3faed5f06e78a0ef
Fixes: QTBUG-80970
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |\
| | |
| | |
| | | |
Change-Id: Ie9314e1a5daa20cee9d95a3c42873dbe515b3333
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I859406dc779e59ee5d8e2980e04f8be28b1a69aa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The example snippet only shows how to lay things out; since
TableModel doesn't support declaring header data from QML yet,
we also can't show it.
Change-Id: Iaf1c4fd39a23be7271d382d743dc30ac459e37cb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-77734
Change-Id: I22b0c6a46e10780e02c56c250356f1aa87d1050f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\ \ \ \
| |/ / /
|/| | /
| | |/
| |/| |
Change-Id: If5c2806e52efc9608e476c3f068ee5a0e67ffff7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I65be8e54ded284d2f80b5a1f301b75223bd81bb3
Fixes: QTBUG-75338
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows the user to conveniently manage data for a role associated with
the text role. A common example of this is an enum stored in a backend with
nicely formatted text displayed to the user. Before this patch, developers
would have to write code like this:
ComboBox {
textRole: "text"
onActivated: backend.modifier = model[currentIndex].value
Component.onCompleted: currentIndex = findValue(backend.modifier)
model: [
{ value: Qt.NoModifier, text: qsTr("No modifier") },
{ value: Qt.ShiftModifier, text: qsTr("Shift") },
{ value: Qt.ControlModifier, text: qsTr("Control") }
]
function findValue(value) {
for (var i = 0; i < model.length; ++i) {
if (model[i].value === value)
return i
}
return -1
}
}
With this patch, the code becomes much simpler:
ComboBox {
textRole: "text"
valueRole: "value"
onActivated: backend.modifier = currentValue
Component.onCompleted: currentIndex = indexOfValue(backend.modifier)
model: [
{ value: Qt.NoModifier, text: qsTr("No modifier") },
{ value: Qt.ShiftModifier, text: qsTr("Shift") },
{ value: Qt.ControlModifier, text: qsTr("Control") }
]
}
[ChangeLog][Controls][ComboBox] Added valueRole, currentValue and
indexOfValue(). These allow convenient management of data for a role
associated with the text role.
Change-Id: I0ed19bd0ba9cf6b044a8113ff1a8782d43065449
Fixes: QTBUG-73491
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Work was probably started before 5.12 but the patch ended up getting
merged in time for 5.13. It seems that I forgot to update the versions.
Change-Id: I19edf08158cca0967a7a536b3aee326e3b393d4c
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/imports/controls/qtquickcontrols2plugin.cpp
Change-Id: I27f1260b539354e084beb28be78385e57fda63e1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quickcontrols2/qquickstyle.cpp
src/quicktemplates2/qquickscrollview.cpp
tests/auto/qquickstyle/tst_qquickstyle.cpp
Change-Id: I9afddf07a956f43cf0445e91b8d1a02f167b6bd5
|
| |
| |
| |
| |
| | |
Change-Id: I0ea789c0ba3a153b00ac3ab6501ecf10f6c733ce
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quickcontrols2/qquickstyle.cpp
tests/auto/controls/data/tst_popup.qml
Change-Id: I7b7bb5f9c63b32eef65c9b2e68f56baa3da69cff
|
| |
| |
| |
| |
| |
| |
| |
| | |
These snippets are not referenced by their file names (without
extension) by any files in the repo.
Change-Id: Ia2cc52fc62dc15a525880678e544e792a64dab5e
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently, users must manually position their Popup using x and y
bindings:
Popup {
x: (parent.width - width) / 2
y: (parent.height - height) / 2
}
This patch adds an anchors property so that you can do this instead:
Popup {
anchors.centerIn: parent
}
It's also possible to conveniently center within the window from
anywhere within the scene (106e7b63 also documents an alternative way
of doing this using Overlay):
Window {
id: window
Pane {
Popup {
anchors.centerIn: window
}
}
}
QQuickAnchors were never used with Popup, because we cannot use the
QQuickAnchors implementation as-is, as the visual QQuickItem parent
is not the actual parent item of QQuickPopupItem.
Currently just centerIn is supported, as that's the most common
use case.
[ChangeLog][Controls][Popup] Added anchors.centerIn to Popup to allow
a covenient way of centering a popup.
Task-number: QTBUG-60354
Change-Id: Ia030f812df9da646fea8f373ef6199a21205ffbd
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|/
|
|
|
|
| |
Task-number: QTBUG-51109
Change-Id: I02b7195652a439c184b5a6d7041c1995efd5bbcf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
| |
Use the more specific bottomPadding rather than padding.
Change-Id: Ib8823d6d9b07eaea97479ef432df0868b1b5d37d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\
| |
| |
| | |
Change-Id: I61d779eb40e3a278aa2ef429e014d351da34f80a
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/controls/Tumbler.qml
src/quicktemplates2/qquicktumbler.cpp
src/quicktemplates2/qquicktumbler_p.h
src/quicktemplates2/qquicktumbler_p_p.h
Change-Id: I8d50991183fe3c5b50a49e00f01bcd3049f5346c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This code currently works, but we prefer to use control.<property> to
access properties directly.
Change-Id: Ieba95bffdd0b0a9b33373524248d0ac06e9f2a3d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ibd1490e8d958361e55ac272dff75c9361239958b
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/controls/BusyIndicator.qml
src/imports/controls/CheckBox.qml
src/imports/controls/CheckDelegate.qml
src/imports/controls/ComboBox.qml
src/imports/controls/DelayButton.qml
src/imports/controls/Dial.qml
src/imports/controls/ItemDelegate.qml
src/imports/controls/MenuItem.qml
src/imports/controls/RadioButton.qml
src/imports/controls/RadioDelegate.qml
src/imports/controls/SwipeDelegate.qml
src/imports/controls/Switch.qml
src/imports/controls/SwitchDelegate.qml
src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc
src/imports/controls/material/CheckDelegate.qml
src/imports/controls/material/ItemDelegate.qml
src/imports/controls/material/MenuItem.qml
src/imports/controls/material/RadioDelegate.qml
src/imports/controls/material/SwipeDelegate.qml
src/imports/controls/material/SwitchDelegate.qml
src/imports/controls/qquickdefaultbusyindicator.cpp
src/imports/controls/qquickdefaultbusyindicator_p.h
src/imports/controls/qtquickcontrols2plugin.cpp
src/imports/controls/universal/CheckDelegate.qml
src/imports/controls/universal/ItemDelegate.qml
src/imports/controls/universal/MenuItem.qml
src/imports/controls/universal/RadioDelegate.qml
src/imports/controls/universal/SwipeDelegate.qml
src/imports/controls/universal/SwitchDelegate.qml
src/quickcontrols2/quickcontrols2.pri
src/quicktemplates2/qquickcontrol.cpp
src/quicktemplates2/qquickmenu.cpp
src/quicktemplates2/qquickpopup_p.h
Change-Id: Ib25c8b4a7fe018b7c0ade9b02bfaaa6980118c15
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id7c65c9493c0e70512f3f2b167a091ece06ee5d8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: Ie3e2c3e3ad91cc58ac752e65a4ce0e1d133c5367
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I969a911c3e66aff502188ff9a103f16dc6544ba5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quickcontrols2/qquickchecklabel.cpp
src/quickcontrols2/qquickchecklabel_p.h
src/quickcontrols2/qquickmnemoniclabel_p.h
src/quicktemplates2/qquickbuttongroup_p.h
src/quicktemplates2/qquickspinbox.cpp
src/quicktemplates2/qquickswipedelegate.cpp
Change-Id: I1278b78dcaf25be5698f34751193b83dc951eb3c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unfortunately this comes a bit late in the 5.10 cycle, but this should
be released together with the rest of the mnemonics stuff going out in
5.10, because it affects the value of AbstractButton/Menu(Bar)Item::text.
As the removed TODO comments and altered tests indicate, previously the
ampersand was blatantly stripped out. It would be worse to change it
later once people have already started using mnemonics and rely on the
behavior in custom styles.
The necessary modifications to QQuickText were added in qtdeclarative
commit 65ef4ba.
Task-number: QTBUG-61422
Change-Id: Iaa73da8c012e9a6019743cf98f5bdc02527064e5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The property was added in commit 19e7fb3.
Change-Id: Iae5e9f1076bc3312d78ffaf15027206ebd65046b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |\|
| | |
| | |
| | | |
Change-Id: I9188f94e40e2ecb4da1963ce2fcf915ab7a4b4fb
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ifbbc0695023d238f2066f3412e563fb663cdec74
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|/ /
| |
| |
| |
| |
| | |
Task-number: QTBUG-56295
Change-Id: I3cd16bbc2561b565e1b463d389c2ae34e6cfc7dd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/quicktemplates2/qquickbuttongroup.cpp
src/quicktemplates2/qquickoverlay.cpp
tests/auto/controls/data/tst_buttongroup.qml
Change-Id: Iae23aaf039c6095007966475294e93220dbead84
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-63618
Change-Id: I6a32158726e4425dc24c24f4f9dc9cc80aa462bf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I859b61880da16f6c58967700b179f35df656ed77
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I274146911cd8a204fcbf439da9259b0a38c8092e
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/popup/tst_popup.cpp
Change-Id: I32e6c6b646a00f8805cb82d181417db60a6fe6c8
|
| |
| |
| |
| |
| |
| |
| |
| | |
The snippet fails when pasted to a file where its not
the root item, so qualify the binding with the control's id.
Change-Id: Ibd16beaddafb112d1d9ecfad6914021ca9bdeede
Reviewed-by: J-P Nurmi <jpnurmi@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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use a single example for the whole menu. We can now use Actions and the
delegate property to use the styled menu item for the whole menu. The same
structure will be used for the upcoming MenuBar example.
Change-Id: Idbaa38cc536b27a4d64eb9ad72c07936bf160d6e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/universal/CheckDelegate.qml
src/imports/controls/universal/RadioDelegate.qml
src/imports/controls/universal/Switch.qml
src/imports/controls/universal/SwitchDelegate.qml
Change-Id: I9bca4b8d9ce3f6c5c7589daa0ced7d0353f42efc
|