| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Fixes: QTBUG-76356
Change-Id: I8f8e8331adbe741be2c893f2140d793d1b901434
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I7247659b3c9f4634ff57bce1e55187def604e161
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Before this patch, only space was allowed.
Windows 10 and macOS 10.14.2 both allow using enter to activate menu
items.
Change-Id: I64476347669ff73f233efd129563a18ba51618a5
Fixes: QTBUG-73354
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem
Consider the following code:
Menu {
title: "Menu"
Action {
text: "Item"
onTriggered: enabled = false
}
}
A MenuItem (AbstractButton) is created for the Action, and when it is
clicked, this function is called:
void QQuickAbstractButtonPrivate::trigger()
{
Q_Q(QQuickAbstractButton);
if (action && action->isEnabled())
QQuickActionPrivate::get(action)->trigger(q, false);
else if (effectiveEnable)
emit q->clicked();
}
QQuickActionPrivate::get(action)->trigger(q, false) results in this
function being called:
void QQuickAbstractButtonPrivate::click()
{
Q_Q(QQuickAbstractButton);
if (effectiveEnable)
emit q->clicked();
}
Since the action (and hence the menu item) was disabled in the signal
handler, the effectiveEnable check fails and clicked() is not emitted.
This causes the menu to not be dismissed.
Solution
Before calling QQuickActionPrivate::get(action)->trigger(), store
the button's enabled state. If triggering the action causes the action
to be disabled (due to the signal handler), we can then choose whether
or not we emit QQuickAbstractButton::clicked(). Specifically, we emit
clicked() if:
- we were enabled before triggering the action, and
- we have no associated action, or it's no longer enabled
Task-number: QTBUG-69682
Change-Id: Ib4e3c313b776decc74089a6beffe415605c430be
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a button is pressed long enough
(QStyleHints::mousePressAndHoldInterval()) and there is a connection
(e.g. signal handler) to the pressAndHold() signal, it is emitted.
If nothing is connected to the signal, clicked() is emitted.
Before this patch, QQuickAbstractButton used
QObjectPrivate::isSignalConnected() to check whether or not anything
was connected to pressAndHold(). The problem with this function is
described by Olivier:
"[...] there is an optimisation for the first 64 signals
we store a bit in a 64bit integer to quickly see if a signal is
connected. There is also the problem that it can return true even
if the signal has been disconnected."
This is also mentioned in a comment in the code:
Returns \c true if the signal with index \a signal_index from object
\a sender is connected. Signals with indices above a certain range
are always considered connected (see connectedSignals in
QObjectPrivate).
When 5adce04 added inset signals to QQuickControl, it meant that
signals in QQuickAbstractButton (which derives from QQuickControl) were
pushed outside of that 64 signal range, resulting in the
IS_SIGNAL_CONNECTED macro returning true.
This patch fixes the issue by using QObject::isSignalConnected(), which
does not use the 64 signal optimization.
Fixes: QTBUG-72811
Change-Id: Ic6e54d6cab062e528522ef7e3cf27c1023d31347
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
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-68298
Change-Id: I049ff1de079f065182429f43a20e1a3899f4a962
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickabstractbutton_p_p.h
src/quicktemplates2/qquickcombobox.cpp
src/quicktemplates2/qquickcontainer.cpp
src/quicktemplates2/qquickcontrol.cpp
src/quicktemplates2/qquickcontrol_p_p.h
src/quicktemplates2/qquickdialog_p_p.h
src/quicktemplates2/qquickdialogbuttonbox.cpp
src/quicktemplates2/qquickdialogbuttonbox_p_p.h
src/quicktemplates2/qquickdrawer.cpp
src/quicktemplates2/qquickmenubar.cpp
src/quicktemplates2/qquickmenubar_p_p.h
src/quicktemplates2/qquickpage.cpp
src/quicktemplates2/qquickpage_p_p.h
src/quicktemplates2/qquickpane.cpp
src/quicktemplates2/qquickpane_p_p.h
src/quicktemplates2/qquickpopup.cpp
src/quicktemplates2/qquickpopup_p_p.h
src/quicktemplates2/qquickrangeslider.cpp
src/quicktemplates2/qquickscrollview.cpp
src/quicktemplates2/qquickslider.cpp
src/quicktemplates2/qquickspinbox.cpp
src/quicktemplates2/qquickswipeview.cpp
src/quicktemplates2/qquicktabbar.cpp
src/quicktemplates2/qquicktextarea_p_p.h
src/quicktemplates2/qquicktextfield_p_p.h
src/quicktemplates2/qquicktheme_p.h
Change-Id: I6e2b8fe99e51e3e26c87546aa66af045bc429ec4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code is more readable and less error-prone (this patch caught a few
uninitialized members) when the members are initialized in the same
place where they are declared. In many cases, empty default destructors
can be entirely removed, and we get faster implicitly declared inline
default constructors defined by the compiler.
Change-Id: I14c5448afc901f9b2ac5965f28c1c26c0b646c08
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
| |
[ChangeLog][Controls][AbstractButton] Added implicitIndicatorWidth and
implicitIndicatorHeight properties.
Change-Id: Ic9459efa76c12ba0df67dae0ffe103b14e011ee6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: I2934d3f51fea9626fd2d2512786eb297d9f7fe6c
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-65193
Change-Id: Idff23dcc35f3c3fe41406678613b022098149318
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the QML engine refuses to defer execution of a delegate (it contains
an ID), we must make sure to cancel any pending deferred execution for
the same delegate. Otherwise, we may end up overriding a custom (non-
deferred) delegate with a default (deferred) delegate.
This patch adds a new test style "identified" to tst_customization.
This style contains delegates with IDs so we can test the behavior with
IDs in base styles. Furthermore, overriding delegates is now tested
in various ways (with and without IDs in the base and custom styles) in
a separate test method. This is done by generating QML code to override
delegates with dummy Item instances with appropriate IDs and names.
Task-number: QTBUG-65341
Change-Id: Ie6dca287cb74672004d9d8f599760b9d32c3a380
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
.qmake.conf
src/quicktemplates2/qquickabstractbutton_p.h
Change-Id: I265cbd2ce51beaf2afef99292c2e2798dadb4ba3
|
| |\ \
| | | |
| | | |
| | | | |
refs/staging/5.10
|
| | |\|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
.qmake.conf
examples/quickcontrols2/quickcontrols2.pro
src/imports/controls/ComboBox.qml
src/quicktemplates2/qquickabstractbutton.cpp
src/quicktemplates2/qquickabstractbutton_p.h
src/quicktemplates2/qquickapplicationwindow_p.h
src/quicktemplates2/qquickcombobox.cpp
src/quicktemplates2/qquickcontainer.cpp
src/quicktemplates2/qquickcontrol.cpp
src/quicktemplates2/qquickcontrol_p.h
src/quicktemplates2/qquickcontrol_p_p.h
src/quicktemplates2/qquicklabel_p.h
src/quicktemplates2/qquicklabel_p_p.h
src/quicktemplates2/qquickslider_p.h
src/quicktemplates2/qquickspinbox.cpp
src/quicktemplates2/qquicktextarea_p.h
src/quicktemplates2/qquicktextarea_p_p.h
src/quicktemplates2/qquicktextfield_p.h
src/quicktemplates2/qquicktextfield_p_p.h
tests/auto/auto.pro
tests/auto/controls/data/tst_combobox.qml
Change-Id: I34cdd5a9794e34e0f38f70353f2a2d04dfc11074
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
458eb65f7 introduced a performance regression. Before 458eb65f7, qmlbench
delegates_button.qml results were around 40 frames on a TX1. After 458eb65f,
it dropped to 32. This patch is unfortunately not able to bring it on the
original level, but at least improves the results to 37.
For QQuickText, it is extremely important that implicitWidth() gets called
before the component is completed, to avoid doing implicit size calculation
multiple times. Deferred execution caused a performance regression by creating
contentItem in "one go". We need to split the deferred execution to two parts
so that bindings get first setup, and later enabled upon completion. This way,
we utilize QQuickText's performance optimization for implicit size calculation.
Task-number: QTBUG-50992
Change-Id: I4bf00af71b6d7dbf1d4b58b00fe547c6c321f8ed
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In practice, deferring the execution of the delegates (until
accessed) means that the default delegate item does not get created
at all, when a custom control replaces it at construction time.
Button {
background: Rectangle { ... }
}
Before, such custom Button would never be faster than the original
one, because the default delegate was first created and then thrown
away at construction time. Originally, this was not considered a huge
problem, because the plan was to keep the default delegates so light-
weight that it wouldn't matter. However, then came the fancy styles
with shadows and effects and thus, heavier default delegates. There's
also a growing demand for more features, and the default delegates
are slowly getting heavier...
Now, after this patch, if you replace a heavy default delegate with
a light and simple custom delegate, the result is a much faster
control. For example, replacing Material style Button's background,
which has a shadow effect, with a plain Rectangle gives a ~10x boost,
because the default background with its heavy shadow effect is not
executed at all.
At the same time, deferring the execution of the default delegates
avoids troubles with asynchronous incubation, because we don't need
to destroy an object in the middle of the incubation process.
Task-number: QTBUG-50992
Change-Id: I2274bff99b9ff126d3748278d58d859222910c98
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The idea is that you share a generic Action in different places in
the UI, and then you override things locally in specific controls.
This patch enforces that by changing QQuickAbstractButton::text()
to return the Button's text if explicitly set (or there isn't an
Action), or the action's text if one is set.
Change-Id: Iae422abca35c9598f73ba7a1d3f1387c36037ec0
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This has been frequently requested to make it possible to position
context menus, for example. The initial press point is used for drag
threshold, so we need to maintain the current press point separately.
[ChangeLog][Controls][AbstractButton] Added pressX and pressY
properties.
Task-number: QTBUG-62811
Change-Id: Ibb7b9d254ccf68876d5a3049881fee29a45530e4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
[ChangeLog][Controls][AbstractButton] Added autoRepeatDelay and
autoRepeatInterval properties.
Change-Id: Ib086ef429218c6507688865d82726fdcf838633c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The original reason why autoRepeat was demoted to QQuickButton was that
some subclasses, such as QQuickCheckBox, did not need this property.
The same was done with the checkable property. It was first demoted,
and then promoted back to QQuickAbstractButton. These can be useful for
building custom AbstractButton-based controls. Now that we want to make
auto-repeat configurable (autoRepeatInterval and autoRepeatDelay), and
the logic has to be in the base class anyway, it makes more sense to
expose all these in the base class instead of doing the property hiding
tricks for all three properties.
[ChangeLog][Controls][AbstractButton] The autoRepeat property was
promoted from Button to AbstractButton.
Change-Id: Ife105da00d7d87a74fc8160ec35762b6f71d3ad9
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>
|