| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Action caused checked state of the button to be reset back to its
original value if checked status had been change through click or key
press. To avoid this, separate private function has been added to that
does not change the status.
Task-number: QTBUG-65108
Change-Id: I8a5aaa9aab739db3ba10d0202f5fb718cc7195bd
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
- other controls (textfield, combobox, ...) will eventually gain support
for icons too
- advertise icon support on the index page amongst other important topics
- document the steps for building an icon theme with high-dpi support
Change-Id: I35ed76ef005d7e273beb5f5147ca92849adc0d90
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
|
| |
| |
| |
| |
| | |
Change-Id: Ib56041e69547e03d7db10974d4638748f99fd2bf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make sure to trigger the associated action if a button is activated via
its shortcut.
Change-Id: I73899a5540285c7c2b11a2481a9621ec6e83c6b8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickAbstractButton::itemChange() already grabs and ungrabs the
shortcut when the button's visibility changes, but setShortcut() was
grabbing the shortcut without checking the button's visibility, so a
hidden button ended up grabbing a shortcut. Furthermore, make sure to
ungrab the shortcut on destruction to avoid leaving a dangling pointer
to the application shortcut map.
Change-Id: Ie93c2d073d7072abad271ba59a45428e3300cc28
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds mnemonic shortcut functionality. We don't have a nice
way to visualize mnemonics yet, so we just remove the ampersands from
the UI for now.
Change-Id: I90f54bd18d5d17f11e02c18c8461bfc25ce51cf1
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>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickrangeslider.cpp
Change-Id: I7eb990cfdc91173f86552841ba16536b35ea09cf
|
| |
| |
| |
| |
| | |
Change-Id: Ia7f237cb580bf9c332ff4741569a57fef4eb6079
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I597e133146f5a7f2c6bc26a43361391f80a44fdd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickIcon no longer inherits QObject, but becomes a light-weight
implicitly shared Q_GADGET-type, that is passed by value the same
way fonts and colors are.
Before:
SUB: OS: Fedora 25 (Workstation Edition)
SUB: QPA: xcb
SUB: GL_VENDOR: Intel Open Source Technology Center
SUB: GL_RENDERER: Mesa DRI Intel(R) Haswell Desktop
SUB: GL_VERSION: 3.0 Mesa 13.0.4
SUB: running: benchmarks/auto/creation/controls/delegates_buttoncontrol2.qml
SUB: 110 frames
SUB: 109 frames
SUB: 109 frames
SUB: 109 frames
SUB: 109 frames
SUB: Average:
SUB: 109.2 frames; using samples; MedianAll=109; StdDev=0.447214, CoV=0.00409536
After:
[...]
SUB: running: benchmarks/auto/creation/controls/delegates_buttoncontrol2.qml
SUB: 123 frames
SUB: 124 frames
SUB: 124 frames
SUB: 122 frames
SUB: 125 frames
SUB: Average:
SUB: 123.6 frames; using samples; MedianAll=124; StdDev=1.14018, CoV=0.00922472
Change-Id: I604532204fb94fc0726d0c9b8b6097f9ebc265e8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
QObject::setParent() sends QEvent::ChildAdded to the parent. We do
not need such event while creating the grouped icon-property object.
Change-Id: I1ab319f18fd49572eb14de0f7a085567700becfe
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For example, something like:
Button {
icon.source: "../images/drawer.png"
}
did not work in the Gallery example, even though it works fine for
Image elements etc. The URL needs to be resolved relative to the
caller. By making the property an URL instead of a plain string,
the QML engine does the correct thing automatically.
Note: icon.source.length no longer works in auto tests, so it got
replaced by a compare().
Change-Id: I5fdb3aa55003d2f04e5458b7636e4dae3fa9857c
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Match the signature of the upcoming QQuickControlPrivate::handleXxx()
virtuals.
Change-Id: Ieed3587443bea715b1b6eb2cc334130b2df7deb8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][AbstractButton] Added AbstractButton::action
property.
Task-number: QTBUG-50705
Change-Id: I773459df336a9e0cb9dbf980471485f81bbdab71
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/templates/qtquicktemplates2plugin.cpp
Change-Id: I4a07d331163a85a0fb98a5f58f3970863f8da0fc
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
After the other properties, the same order things are declared in
the header. This ensures that the refactoring tools in Qt Creator
work smooth.
Change-Id: I550feaf59c45d45fe354ca58adb5244afdbb5473
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This property allows control over how icons and text are displayed
within buttons, without having to implement custom delegates. It is
also necessary for the upcoming Action type.
[ChangeLog][Controls][AbstractButton] Added display property to
allow control over how icons and text are displayed within buttons,
without having to implement custom delegates.
Task-number: QTBUG-49820
Change-Id: Ie924e2c54ed49961fd40129999875c8175606ecd
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the following properties to AbstractButton:
- icon.name
- icon.source
- icon.width
- icon.height
- icon.color
Derived types implement the behavior behind these properties
using the new private IconImage type.
[ChangeLog][Controls][AbstractButton] Added support for icons. The
following properties are now available for derived types to use:
icon.name, icon.source, icon.width, icon.height, icon.color.
Task-number: QTBUG-49820
Change-Id: I3b5e4eaac390543deef60883e13539646a6bb060
Reviewed-by: J-P Nurmi <jpnurmi@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>
|
|
|
|
|
|
|
|
| |
This makes it possible to interact with multiple buttons at the same
time.
Change-Id: Ice17efcb8b6dc5337455cd38ee88c39dfef2baae
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: I70bce420ae7d82d1bd72ff3d6c4f034525272aba
|
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike mouse events, key events are not accepted by default.
Key events must be accepted to avoid event propagation.
Change-Id: I8d9217e6f18d56515470bef2507d462edd274ce2
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>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][DelayButton] Added DelayButton.
Change-Id: I94820dfb41ba9b90f0a29cda01ac476b54cf3de8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Move the logic of press/move/release/cancel event handlers into methods
in the private class, that can be reused or overridden from subclasses.
Change-Id: Ie1f73e07c3389955c1d624e5b5a7e6bd240d0490
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Merge the various virtuals to a single method that takes an enum value
indicating the type of the change. This way we don't need to keep adding
more and more virtuals, but can just extend the enum. The next in line
is ButtonPressedChanged for the upcoming DelayButton.
Change-Id: I40ebf170470790730217aba48c80daff8118dfba
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][AbstractButton] Added a toggled() signal that
is emitted whenever a checkable button is interactively toggled by
the user by using either touch, mouse, or keys.
Task-number: QTBUG-57203
Change-Id: If0b0d71d19cbed00f04d8a4309894a055c4254c6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: If528b9f4e502c50e0cd76df75404e257232f0d18
|
| |
| |
| |
| |
| |
| |
| | |
Don't toggle the checked state on release after press-and-hold.
Change-Id: I06b6a0e86dc02c171eef10f3c0d564ff605796f0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quickcontrols2/qquickstyle.cpp
src/quicktemplates2/qquickslider.cpp
Change-Id: Ie12132690680706def6f516334a6ef0ba27336b3
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/controls/data/tst_button.qml
Change-Id: I5c97b3c1944e52dba44fd3c7d6d9a255c5e08cf7
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't cancel auto-repeat on the tiniest mouse/touch move, but keep
repeating until moved outside the button.
The test has been changed so that the exact amount of repeats does
not matter, as long as it repeats. This is because waits are not
reliable in a busy CI environment. Sometimes waits can take longer,
timer events get queued, and we get an unexpected burst of repeats.
Change-Id: Ic473e04c4d15a0826c8adf460c69507e64590d99
Task-number: QTBUG-57085
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In 7a8f055, we hid the checkable property from QQuickAbstractButton and
exposed it only in QQuickButton and QQuickMenuItem. The reasoning was
that QQuickCheckBox, QQuickRadioButton, QQuickSwitch and their delegate
counterparts are inherently checkable, so having the checkable property
available in QML didn't seem to make sense.
While this still holds true, there are other factors to take into
consideration. AbstractButton is meant to be a generic base class for
all types of buttons, but the lack of a checkable property makes it
unusable as a base class for custom QML-based checkable buttons.
If we want to a hide the checkable property from CheckBox, RadioButton,
and Switch to avoid having it popup in the auto-completion list, we can
probably do it in a less disruptive way via tooling.
[ChangeLog][Controls][AbstractButton] The checkable property has been
made accessible from QML. Previously it was only exposed for Button and
MenuItem, but it is now available for any AbstractButton to make it
possible to create custom QML-based checkable buttons.
Task-number: QTBUG-51554
Change-Id: I19e29fc87cd15811c43c9b9ebb29701d66cde72f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| | |
So QQuickMenuItem can sync its platform menu item.
Change-Id: Iee4b63006c5586417b6484e24f1503d3c4a7fcad
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>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-progressbar-disabled.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-progressbar-normal.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-checked.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-disabled.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-focused.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-radiobutton-normal.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-disabled.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-first-handle-focused.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-normal.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-second-handle-focused.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-rangeslider-second-handle.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-disabled.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-focused.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-slider-normal.qml
src/imports/controls/doc/snippets/screenshots/qtquickcontrols2-tabbar-explicit.qml
src/quicktemplates2/qquickmenu.cpp
tests/auto/controls/data/tst_buttongroup.qml
tests/auto/controls/data/tst_swipedelegate.qml
Change-Id: Ib6042a0ad716f557927e7412d17ea8957d06c015
|
| |
| |
| |
| |
| |
| | |
Change-Id: I14ed47112eac986c42ed571e1cbb4ca4782c4026
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|