Buttons have so many different states that it's useful have a test app
that can be used to visualize various states in different themes.
Change-Id: Ia714c1d769aa13529c3117852b0d9b625a50d7d0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
This change just prepares the infrastructure and imports an icon
loader helper that will be used for the platform menu, dialog, and
system tray icon implementations.
Change-Id: I34a93050a7c988134c3daa986aca6021eac7a4d1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
The CI was not able to catch failures in tst_styles, because the test
results were output by separate child processes. This change builds
three different versions of tst_controls, which each run with the
appropriate style.
Change-Id: I95b2bdd90221579a3176e827802236d80d9f1a09
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
These test specificly the QQuickMaterialStyle and QQuickUniversalStyle
implementations, so rename appropriately to make room for the upcoming
tst_material and tst_universal tests. See the next commit for more
details about that.
Change-Id: I08d6116d6219084f6087682b7e712f8499a0e945
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
This makes it possible to pass a relative path to the style:
./myapp -style relative/path/to/my/style
To make the tests pass, includes a fix to avoid double slashes in
selected URLs.
Change-Id: I1b366eb7793523dd0f1058236661cedaa1216f3d
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Fixes the issue that "./app -style material" did no longer work,
but the case had to match exactly (./app -style Material).
Change-Id: I446654110af670c391f8e304ce8008fbd6e9acaa
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
The position on the right and bottom edges is relative to the size of
the window, not the drawer itself.
Change-Id: Ia1d7418d4091a3a9e26f691bd75448023e0ca1cf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
For now there is no mipmapping, no atlases, and all image data is
converted to RGBA8888. Regardless, this already makes it possible to use
basic Image elements.
Follow the same pattern as with rectangles: most of the code is shared
via a material-less, abstract QSGDefaultNoMaterialImageNode, with the
material-related bits provided by QSGDefaultImageNode for GL and
QSGD3D12ImageNode for D3D.
Also fixes the harmless but incorrect miscalculation of the VBV size for
indexed draws.
Image data is copied into an intermediate upload buffer when invoking the
render context's createTexture(). The upload is triggered on a separate copy
command queue. The main command queue is synchronized via a fence before
executing the commands for the current frame.
Root signatures are now cached more cleverly and include zero or more SRVs
as parameter 1. This involves the engine having to manage a shader (GPU) visible
CBV-SRV-UAV descriptor heap as well.
Change-Id: I67c35577ff2677e1c7776dd8e5011860e2d78b00
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Proof of concept. The plan is to proceed slowly with supporting node types
one by one, starting with QSGRectangleNode.
Opaque rectangles work already, but only non-smooth for now. The renderer is
incomplete (no clip/opacity) and is based on simplerenderer on scenegraph playground.
Buffer handling is not necessarily optimal yet.
Use QT_QUICK_BACKEND=d3d12 to request this backend. Set QT_D3D_DEBUG=1 to
enable the D3D debug layer. The render loop handles everything, incl. swap
chain setup, handling resizes, etc. This being D3D, there are no further
enablers needed from the QtGui or platform plugin side.
By default the first hardware adapter is picked. In the absence of that,
WARP is tried. The list of adapters is printed at startup, use
QT_D3D_ADAPTER_INDEX to force a given card in case there are multiple
ones in the system.
The goal is not to productize a fast and great renderer, but to pave the way to
better future backends for D3D12 and similar graphics APIs.
Compiling in the support into Qt Quick is bad since the dependency onto
d3d12.dll is not necessarily acceptable, but it's good enough for now, this
being a wip branch.
Change-Id: Ifbe088e7507223328096b22eec2c73f77bb5680e
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
Tests that the inheritance of theme & accent works as expected. This
is useful for avoiding regressions in the process of introducing a
shared base class for QQuickMaterialStyle and QQuickUniversalStyle.
Change-Id: Ib2eb5922323131fb531344b80dc928a0a07cca90
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
We will be working on new examples in cooperation with designers
that we can use to manually test and demonstrate popup usage with.
Change-Id: Ib3b2ffaa66f99698e1f27bec3ba0610da32bdd85
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
We can't rely on timers in auto tests. They are not fired accurately
under heavy CPU load => random CI failures. This change make the press
and hold tests independent of timeouts.
The idea in a nutshell: the test creates two control instances, and
sends press events to both of them. Both controls run their timers and
emit pressAndHold() - unless canceled. The test waits as long as it
takes for the second control to emit pressAndHold(). At that point we
can reliably assume that the first control would have already emitted
the signal, if it was not canceled as appropriate.
Change-Id: I96aaf4d204db368171209271a4a0fa2ff15cc323
Task-number: QTBUG-47963
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Store global engine specific themes as dynamic properties on the
engines themselves. This avoids the problem that storing engines
and their themes to a hash map had that destroyed engines and themes
were not cleaned up from the hash map.
Change-Id: I7330995339c263d456f74d33f6535d5ac7d9d5d4
Task-number: QTBUG-48651
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Change-Id: I3263a600065dfa2bfe7334ec44a74e2dca83aa36
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
It must emit dataChanged() even if the first day of week of the new
and old locales are the same. The names are most likely different.
Change-Id: I932215821962910ef1fb8a66f2dab81dcc51a3b1
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
The original split existed because the public and enterprise
controls were developed separately. Now that all controls are
public and developed together, the split no longer makes sense
and is difficult for users to understand.
Change-Id: I00420f4d09f8c837232231d03fe818b7b3403fab
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
This is going to include all snippets used in the documentation,
which will be then automatically tested for vality, and at the
same time the respective screenshots are automatically generated.
Notice that copying the screenshots over to src/doc/images is still
a manual step. This is fully intentional because the screenshot
results may vary quite a bit across different platforms due to
different fonts and so on. FWIW, my personal favorite for generating
the screenshots is OS X.
Change-Id: I72b299f15b498abc1afd0a686c56d43159bee775
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Rename the former tst_declarative to tst_sanity and
extend it with tests to prevent:
a) use of anchors, and
b) multiple attached object instances of the same type.
Anchors are not allowed for two reasons:
- performance (QQuickAnchors is a QObject), and
- to let users relayout delegates (x/y/width/height bindings
can be overridden, anchors not so easily)
Multiple attached object instances (eg. Theme) can easily happen by
accident. "Theme.fooColor" can be used in the control root, but in all
delegate items, "control.Theme.fooColor" must be used instead.
Change-Id: I4045d5bd717fa21db79d1c3bd618fc450e292fa4
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Ignore non-developer build artifacts and intermediate
files to make 'git status' more pleasant to read.
Change-Id: Ie587bc31bcaf673db7c33251e92661ac1e5417b0
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Just to make it clear what they actually do. These project names
are also visible in Qt Creator when choosing the run-target...
Change-Id: I95dd54fd1b6cb3369ab19dbaccbd92d104ea5250
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
QtQuick.Dialogs was moved to the qtquickcontrols module in Qt 5.3
Change-Id: I16d03dc1c342d396963c5bec3125b3d11d0d9bed
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
QtDemo was removed with a commit in qtdoc.
Change-Id: I75228b748a2307a713f0c86ecf144dae3b3569a3
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
All the qml and image files are embedded in the QtQuick.Dialogs plugin.
If DefaultFileDialog.qml is missing from the installation directory,
loading from resources will be enabled. Otherwise, the files will be
loaded from the local path.
This is analogous to change b2e5d1acb1aca93157a6d4d0a026153134f9ad01
in Qt Quick Controls: it reduces the number of files that need to be
installed, but also preserves ease of debugging whenever the QML files
are separately installed.
Task-number: QTBUG-31565
Change-Id: Idbe6be5d818eb6a25367f2053ea52bc7ac1485bc
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Added a little helper script that can generate the code to
set up the prototype properties
Change-Id: I957ed4419c8b16398720fea4203c1a00434c4fba
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
When the QtDeclarative module was renamed to QtQml, a compatibility
module was introduced to avoid disrupting downstream projects.
Time has passed, and it's now appropriate to remove this module.
Existing projects that haven't ported can still use the
bin/rename-qtdeclarative-symbols.sh script to ease the porting.
Change-Id: I05a9727013d9e38c2262577f68260a4382bfbeea
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Matthew Vogt <matthew.vogt@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
This is the general reorg of the examples directory structure, plus additional
guidelines.
calculator, animations and accessibility have been updated to the new standards
and tested, as an example.
Task-number: QTBUG-24133
Change-Id: I76c3b86751d3195ba2a5474ff23afb875765e9a4
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>