| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickTextForeign was defined in both QQuick2Controls and
QQuickTemplates, causing linking to fail when building statically.
Since the type only exists to expose QML API, we just rename
one of the classes.
Change-Id: Id212602ada2f9eda3d7948474f600a954d26ddec
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If the drawer does not see the press point then it was not open at the
time it was pressed. This ensures that when a touch is done on a button
to trigger the opening of a drawer it does not think it should be
closed due to the default close policy.
Pick-to: 5.15
Change-Id: I0d1b11341e659dc14554d0d72aac70199bbb99fa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Some controls needs more care, but that's for follow-up commits
Change-Id: Ia7afeccf06f2f12dbef1402bf5975807cad8adcb
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A ProgressBar is based on floating point numbers, meaning that
it can have e.g from == 0.5, to == 1.5, and value == 0.8.
A ProgressBar in QStyle on the other hand is integer-based. So
add some extra code to convert floats to ints before passing
the values to QStyle. But only do this for ranges smaller than
100, to ensure that we don't overflow ranges that are really large.
And let "to" start at 0 in case the range ends close to Number.MAX_VALUE.
Change-Id: I2707647911ee31c91b435697d4ae840b304c5c69
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QStyle doesn't calculate a sensible minimum implicit size for us, only
a implicit size that matches the size of the contents. This means that
if the contents is empty (e.g a TextField that has no text), the implicit
size will typically be smaller than what a sensible minimum should be.
Note that for widgets, a sensible preffered size is set from the widgets
themselves, and not QStyle. Which explains why the sizes we get from
QStyle can sometimes be too small.
Therefore, add a sensible minimum implicit size to all the controls
that suffers from this problem. We let QStyle continue to calculate
the actual minimum size given the contents as before (which will end
up as the StyleItem's implicit size), and instead fix the recommended
minimum size directly in the QML style files.
Change-Id: Ic4097776e40d0de64312e4099d7fe4c7fc1ca9d1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
It is probably wrong enough to require a thorough rewrite. Given that it has
nuggest such as "There is currently no available solution for high-DPI support
in applications wishing to mix Qt Quick Controls and Qt Quick Controls",
starting from scratch seems best.
Change-Id: Id1ae9d0bc58da452457cbf4bcdebf658f74cb377
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also cleanup documentation, with the exception of the "High-DPI
Support in Qt Quick Controls" page, which needs to be either
removed or rewritten after some fact checking.
Change-Id: I3cdf1f8554f8f26627a9a5f17c2ee0038c933468
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I99985639152688de3e7a116259bc56f54fc3c771
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
| |
Add it, and remove redundant virtual where it was used.
Change-Id: I7e0635f8d9eafbad49de63302a5b8f5cd25c0080
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
AA_DisableHighDpiScaling and AA_UseHighDpiPixmaps have been deprecated.
As of 90358f6042d1fe2db849e17e1b0c875fb0560b20
and 2dc46c09026362cc267b1183faf09fb29479ef93 in qtbase, respectively,
these settings are deprecated and have no effect.
Change-Id: I1eb1f77a64893dd077bd08216d26633d43e1e0e3
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
| |
Change-Id: I240b7410a409bb2f72213c02f50870f4ed99db9a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
| |
Adjust to API changes in qtbase
Change-Id: Ib7d97c9580651077103b8ddeca28c30fb4992cb6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This amends 1a5a0a591c35dcf498a232a802087683f2244ecb so that it only sets
the hadActiveFocusBeforeExitTransition variable if it is false, ensuring
that it is correctly handled later on if it is true from before. This
handles a case of closing, opening and then closing again in one function
call.
Pick-to: 5.15
Task-number: QTBUG-85884
Change-Id: Ied4ca33045b005f5f666e63d85fb603e9350d982
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
By unregistering it in the destructor of the control and not the private
object ensures that it does not react to any accessibility changes. This
prevents any problems arising due to changes coming when the private
object is deleted.
Pick-to: 5.15
Change-Id: Icce0cc0cff54ce35ddf6be74e32bb0bdeff6d0fc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the inputted value is out of range but it would be fixed to the
previous value then it would not update the text correctly to show the
corrected value. This ensures that it is updated as appropriate.
Before it would check if the value had actually changed after it had
been fixed to the corrected value. So if it was corrected to the
original value then it would not see it as having changed. Additionally
the displayText also has the original text before the change, so we
have to force through an update to ensure the contentItem's text is
updated too.
Change-Id: Ic38787d0803ab59cd998f4e2871c613f1642e764
Pick-to: 5.15
Fixes: QTBUG-85719
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the type registration changes, importing a style explicitly
will cause that style's QML types to be used, so applications
should put style-specific code into file-selected directories if
they need to support multiple styles.
[ChangeLog][Important Behavior Changes] Due to the recent type
registration changes, importing a style explicitly (e.g.
"import QtQuick.Controls.Material") now registers that style's
QML types in addition to making its API (attached, singleton, etc.)
available. For this reason, it is now advised to have style-specific
code in a separate QML file and use file selectors if your application
supports more than one style. If your style only supports one style,
importing that style explicitly will work as expected.
For example, if you use Material.foreground in your QML code and your
application supports more than one style, you should refactor the code
that uses the binding into its own file; e.g.
+Material/MyComponent.qml.
Fixes: QTBUG-86263
Change-Id: I38e40ff4f20f61218550ad73945dafb912193466
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It shouldn't be needed in the API anymore, since a progress bar will
either paint background and contentItem itself, or it won't paint any of
those (therefore a custom progress bar have to provide both a background
and a contentItem)
Change-Id: Ic44fff97f5fc46453e9bbc9cada094b92fbe2aae
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also remove the two custom progress bars from the manual test where
one has a custom background, and the other has a custom contentItem.
If you want to customize a progress bar, you need to provide
customizations for both the background and the contentItem. You cannot
provide a custom background (or contentItem) alone, since its almost
impossible to create a custom background that fits well with the
contentItem of all the other possible styles it might be using.
Change-Id: I82a87513e73f319bcecbfaed341ac4949f64c3bb
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
| |
QString: :compare() return 0 if they are equal, just like strcmp...
Change-Id: Ib79513fed158f5068f27d77dfabe18fcff597aee
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-42248
Change-Id: I75f3e0d5ddf847bfb6a4ebb197ab1691909681c4
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
| |
This ensures that we received the warning we expect in
tst_StyleImports::importStyleWithoutControls when run with native styles.
Change-Id: I290f4e72222688e68ae36ace36f1d8be4bedaf31
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
| |
Not all styles will have a specific version, so don't specify it.
Change-Id: I92f020314d76934f286ca2946e994e2d1c5d37e5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
| |
These break the build unless Qt is configured with
-no-warnings-are-errors.
Change-Id: I4a96efc0b29db60e7945fb9739a13da81f8d4c24
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Since the Windows style is not yet complete, it's best to disable it
until it is, otherwise causes auto test failures that might already
be fixed.
Task-number: QTBUG-86399
Change-Id: I1acb130aa872e9effc82cc326e37a037024d49ca
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Using ID's violates the rule we have for styles.
Change-Id: I923199a62ed2dc3f8563ee9eda593905d8b076f9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
This will ensure that the customization auto-test will not
run for controls that are not available.
Change-Id: Ia3164b847115cfb3bd0b34ff60630c06d8095b42
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Using signal handlers will break the sanity test.
Change-Id: I1a522520e237a7821162f65f49e7d0e1d501ff94
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Using anchors will break the sanity test.
Change-Id: I6f27e98ae95e811db5063f0bc3866f386dbbb16e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Don't add e.g Windows style to the list of built-in styles
when running on other platforms than Windows. The Windows style
is only available on Windows. Otherwise e.g the autotests will
try to execute all the tests for a style that is not present.
Change-Id: Iee8b052fd284840951a77d117071ab1b59ee92bc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I7ef28cc93fd4acad9849fecb3d4c2cab79f0acdb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Set the default width of an empty TextField to 90px (which
is a number found by creating an NSTextField in XCode
and measuring it with pixeltool). This should also make
tst_QQuickPopup::macOS::cursorShape() pass.
Change-Id: Ia2a059668c2e1eaea3eef20015a8ea99468dd8ad
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\ |
|
| |\
| | |
| | |
| | | |
Change-Id: I18a4fd46cf13c65fe6f4c3981b7c61ab52109b8d
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After introducing the new registration system in Controls, the
theme palette picked up colors from the Default style. Until this
is fixed, set the system palette explicitly.
Task-number: QTBUG-86303
Change-Id: Ib4c90856bd5410c042160b532175a48fdaea0fbd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I3fb788ceba150664ed1c7b4040b73a0b7fdd7337
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id28352b397e3fc48423856a7f9322f3475d642ef
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QtQuick/Controls.2
Change-Id: I12b0a3846a21cafac29615dbea53d88f9aed8e35
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I73319d18ca6540227ce6bf4bdcf217a3c279c64c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Id05edfccb617c72db902f5a7147ed8433be62e7c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9b9aa44fd02a02fcd0ca7671abe120b806acc2cb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |\ |
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: I9999194551f71abec3731355cd746e69e2e0b187
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Even though 'control' should only be set once and never
change, the QML engine will complain if you have
a binding to e.g control.pressed, since both
'control' and 'pressed' in theory can change. So
add a NOTIFY section to silence the engine.
Change-Id: I64b79b7fd163cbeb5de78504f3b58d915edc278b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I61bb0c2b1fd4dce2939bc4fe91a498a280802cb9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Ieb640d93e6eb09eb58e5b2ab48a399991d453eb5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This should not be shipped as an example in it's current state. But
the app is needed for now as a manual test while we develop the styles.
Change-Id: I719ec629789bc4c8b51d14c97afd7b91b822e89b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
From the documentation for TextArea, this is the recommended approach.
Change-Id: I37428488cba6d406b3e9c6f6dae9dcab04cece79
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When we delete QStyle, it will free up it's own internal
resources. Especially on macOS, this means releasing a lot
of NSViews and NSCells from the QMacStyle destructor. If we
did this from ~QtQuickControls2NativeStylePlugin, it would
happen when the plugin was unloaded from a Q_DESTRUCTOR_FUNCTION
in QLibrary, which is very late in the tear-down process, and
after qGuiApp has been set to nullptr, NSApplication has stopped
running, and perhaps also other static platform variables (e.g in
AppKit?) has been deleted. And to our best guess, this is also why
we see a crash in AppKit from the destructor in QMacStyle. So for
this reason, we delete QStyle from a post routine rather than from
the destructor.
Change-Id: I9dfb0d3394f14e5cd8b88d5a5fbbf3b73284faf1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In controls, it's seems to be undefined if the style should draw
a frame around TextArea or not. E.g the Imagine style do, but the
the Fusion style does not. This is a bit unfortunate, because
depending on how you use a TextArea, you might want a frame
around the TextArea itself, or the ScrollView around it (including
the scrollbars), or not at all (*). For this reason, we should
not draw a frame around the TextArea, but leave it to the user
to compose the (style independent) structure, e.g
Frame { ScrollView { TextArea{} } }
Frame { TextArea {} }.
TextArea {}
This patch will remove drawing a frame around TextArea from
the native style. Then at least Fusion, macOS and Windows
will work the same way. This also means that we can remove the
QQuickStyleItemTextArea, since we end up not using QStyle
at all for drawing a TextArea.
(*) Compared to Widgets, a QPlainTextEdit
inherits from QAbstractScrollArea, which inherits from QFrame.
In QFrame, you can choose frameShape, and even set it to NoFrame.
Change-Id: Icabfa294744e87ccf262855faa0992f2d71ec4cb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I767278fd63ace4248c0e239b9e3872da17433554
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|