Commit Graph

302 Commits

Author SHA1 Message Date
Richard Moe Gustavsen 1841a9e41d QQuickListView: implement support for reusing items
This patch will implement delegate item recycling in
ListView. The API will be the same as used in TableView, except
that it will be off by default since the behavior of a delegate
that is reused is not compatible with legacy applications
which were not written with this in mind.

Most importantly:

- Component.onCompleted will only be called on a delegate the
first time it's created, and never when it's reused.

- Any user-declared properties in the delegate (that is, not
model roles, index, etc) will not be cleared or updated when an
item is reused. The application must do this manually upon
receiving the pooled or reused signal in the item.

[ChangeLog][ListView] ListView now has support for reusing delegate
items. This can be switched on by setting the reuseItems property of
ListView to true.

Task-number: QTBUG-80507
Change-Id: I68cc8300b050e4a1f89feebb1d31a2fd9189c793
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-12-04 01:35:02 +01:00
Qt Forward Merge Bot af9a96ca10 Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I4e4464d785c8c4a0d06ffaaff3e1cdd94e1c179a
2019-12-04 01:00:41 +01:00
Eirik Aavitsland 510770c464 Facilitate testing RHI rendering in the lancelot test
Synthesize a "GraphicsStack" client attribute from the various
environment variables that determine the rendering backend. This
allows the baseline server to differentiate the baselines from the
different rendering stacks.
Manual comparison between them can then be done using the -compareto
command line option.

Change-Id: Iea13e130baa97462461ccf8b769d57ea74567c51
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-11-29 10:05:24 +00:00
Qt Forward Merge Bot 2a809ef657 Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Ic754916ddc223c6ce20f0298eec02a3513fc0222
2019-11-29 01:00:06 +01:00
Eirik Aavitsland af1cec2cda Fix console logging from lancelot test
The stderr output of the qmlscenegrabber subprocess was not forwarded.

Change-Id: I38d304ad2570187de0552ad325149f66aacf3ac3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-11-28 15:37:55 +01:00
Liang Qi 89fc75c667 Merge "Merge remote-tracking branch 'origin/5.14' into 5.15" 2019-11-22 10:06:46 +01:00
Liang Qi aa3813366a Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	src/qml/qml/qqmlextensionplugin.cpp
	tests/auto/quick/qquicktableview/tst_qquicktableview.cpp

Change-Id: Ic58d36a8532015bae30f2690063db9829b3bf372
2019-11-22 09:50:11 +01:00
Richard Moe Gustavsen 41cf477a2a manual test, tableview: Ensure we modify the right model
An old, unused, model was just lying around in the code. And the
buttons in the test was modifying it. But after introducing the
syncView concept in 5.14, all the TableViews in the test got their own
separate model. So fix up the test to work as it should with the new setup.

Change-Id: Ic3e6e3013186ef1c2998566b84b3b94e809296e8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-11-21 15:21:53 +01:00
Eirik Aavitsland af090d8073 Fix: NativeRendering text for non-integer screen scaling
Commit 6e883c53 introduced snapping to pixel grid for non-integer
device pixel ratios. But the snapping also modified the w element of
the coord vector, which resulted in mangled and offset rendering.

As a driveby, add the dpr snapping also to the outlinetext shader, as
it improves rendering quality.

Fixes: QTBUG-70481
Fixes: QTBUG-78160
Change-Id: I4c4b1788005514adc0255878ba24cdf1acc6755f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-11-18 09:48:44 +00:00
Eirik Aavitsland f05c9c292b lancelot graphics test: Use application bundle on Mac
Font handling has been observed to differ depending on the presence of
the Info.plist file in the app bundle. We want to test the typical use
case, so make the qmlscenegrabber executable be a bundled app.

Change-Id: I2e8b96328b16d5bedfeb5f6dd23f20c06d4c60c1
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-11-07 11:57:34 +01:00
Qt Forward Merge Bot 9c7121df15 Merge remote-tracking branch 'origin/5.14' into 5.15
Conflicts:
	src/imports/qtquick2/plugins.qmltypes
	src/quick/items/qquickitemsmodule.cpp

Change-Id: I841c65c9c131354788b4f3fcfe3d7ed27be316d5
2019-10-04 11:29:16 +02:00
Qt Forward Merge Bot 1c06ff9cac Merge remote-tracking branch 'origin/5.13' into 5.14
Change-Id: I73d9e896c05f7d944f3092b51a3a95c7e6e284b8
2019-09-27 01:00:06 +02:00
Shawn Rutledge ab5df626be Add dragThreshold property to Event Handlers
We need drag threshold to be adjustable on each handler instance instead
of relying only on the system default drag threshold. For example in
some use cases DragHandler needs to work with a threshold of 0 or 1 to
start dragging as soon as the point is pressed or as soon as the point
is moved, with no "jump", to enable fine adjustment of a value on some
control such as a Slider.

This involves moving the dragOverThreshold() functions that handlers are
using from QQuickWindowPrivate to QQuickPointerHandlerPrivate, so that
they can use the adjustable threshold value.

Task-number: QTBUG-68075
Change-Id: Ie720cbbf9f30abb40d1731d92f8e7f1e6534eeb5
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2019-09-19 15:37:11 +02:00
Shawn Rutledge 5e96f43fe0 doc: explain more about acceptedModifiers in PointerDeviceHandler
Having neither a list of all possible modifiers nor a link to
Qt::KeyboardModifier was inconvenient.  Clarify that bitwise OR
results in logical-AND behavior, while having multiple handlers
results in logical-OR behavior, and that a switch statement in JS
allows you do anything you like with modifiers.  Fix the manual test
to test the switch statement and deal with the fact that
point.event.modifiers is undefined: TapHandler can use
eventPoint.modifiers, but any DeviceHandler can use point.modifiers.

Fixes: QTBUG-78234
Change-Id: Iba2a03950aa1279ef454cc76fc8de1b2dab14dfb
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2019-09-19 15:36:47 +02:00
Qt Forward Merge Bot cd9c5c2bf9 Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
	src/qml/jit/qv4baselinejit.cpp
	src/qml/jsruntime/qv4vme_moth.cpp
	tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp

Change-Id: Iec7cd27ddad0281bd3b7833fb6b252f66a6ae5d6
2019-09-17 09:58:09 +02:00
Eirik Aavitsland 144193549a lancelot graphics test: Fix screengrabs being distorted on Windows
The grabbing process transports the image data to the main process
over the stdout stream. Windows by default applies LF->CRLF conversion
on that stream. Avoid by setting the binary mode flag on it.

Change-Id: Ieec0911e24e21c111caeb35e35259833e1fdd639
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-09-13 09:43:07 +02:00
Eirik Aavitsland 04d92f9f9c lancelot graphics test: support shadow build and install
Use the QFINDTESTDATA mechanism to locate the test suite directory,
and add the data directory and qmlscenegrabber to the installs.

As a driveby, improve runtime by cutting down on needlessly long
waiting time between test scenes.

Change-Id: Id8452c843eef198d8548b196b0a2b5f0bc6be8ba
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-09-13 09:42:47 +02:00
Liang Qi c80eb38354 Merge remote-tracking branch 'origin/5.13' into 5.14
Conflicts:
	src/qml/jsruntime/qv4engine.cpp
	src/quick/handlers/qquicktaphandler.cpp
	src/quick/items/qquicktableview.cpp

Done-With: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Done-With: Ulf Hermann <ulf.hermann@qt.io>
Done-With: Shawn Rutledge <shawn.rutledge@qt.io>
Change-Id: If9558a33f01693ce96420c094e0b57dfff0626cd
2019-09-12 08:01:21 +02:00
Laszlo Agocs 1bb96cfcce Request correct alpha composition on the rhi code path
Task-number: QTBUG-78089
Change-Id: I22f8bb5ec0af33397df14e064a0306bd4c5a5ef5
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
2019-09-11 12:32:52 +02:00
Eirik Aavitsland ac3698ae6a lancelot graphics test: prepare for new host info mechanism
The old hacky way of the test running a "hostinfo.sh" script is about
to be removed, see
https://codereview.qt-project.org/c/qt/qtbase/+/272694

Insted add the value of QT_QUICK_BACKEND (the only
not-automatically-gathered important piece of host information)
programmatically. As a driveby, update it from the obsolete name
"QMLSCENE_DEVICE".

Change-Id: If95a4ccc89ec1c32bf03743071261dfa1b8f5b4d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2019-09-04 15:13:48 +02:00
Qt Forward Merge Bot b94b547ad2 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I9ce3eee3d6f88783b9e20110a2814bee805291a4
2019-08-20 01:00:07 +02:00
Liang Qi 28ce9711b2 Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I042df89ddd381c7fbb944b7ff49d5b45b764fd47
2019-08-05 13:47:15 +02:00
Laszlo Agocs 924beea161 Fix 3+ level stencil clips on the rhi path
Change-Id: Id1e0b904ba7273e63fb63ea53c513bde20dc9759
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2019-08-02 13:04:54 +02:00
Eskil Abrahamsen Blomfeldt dfc6dc1d94 Fix possible crash with top/bottom aligned images
An image inside at the end of a text block which did not start at text
position 0 would resolve to an invalid QTextLine, since we passed
the document position to lineForTextPosition(), which expects the
relative block position. If the image was aligned to top or
bottom, so that the extracted QTextLine was actually accessed,
this would cause a crash.

[ChangeLog][QtQuick][Text] Fixed a bug where aligning an image
to "top" or "bottom" could cause a crash under certain circumstances.

Task-number: QTBUG-77217
Change-Id: Iaa239ba482f2a765703656e4116cbebb8435a66e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-07-30 17:30:57 +02:00
Paolo Angelelli 4a7f21da6e Add QQuickPathMultiLine
And show our users even more love.
This path element allows to specify a list of
polylines as a single list of lists of points.

[ChangeLog][QtQuick][Path] Added QQuickPathMultiLine.

Change-Id: Idf1d1dcd928bb19b9ad995322f86822448811537
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-07-18 11:54:20 +02:00
Laszlo Agocs 341ab77080 Add the graphics api independent scenegraph port
Opt in via environment variables:
QSG_RHI=1 -> enable using QRhi instead of GL
QSG_RHI_BACKEND -> set to vulkan, metal, d3d11, gl to override the default
(the default is d3d11 on Windows, metal on Mac, gl elsewhere)

Or force a given rhi backend via the existing
QQuickWindow::setSceneGraphBackend().

Otherwise the default behavior is the same as before, the rhi code path
is never active by default.

-no-opengl builds are supported in the sense that they work and default
to the software backend. However, the rhi code path cannot currently be
used in such builds, even though QRhi from qtbase is fully functional
with Vulkan, D3D, or Metal even when qtbase was configured with
-no-opengl. This cannot be utilized by Quick atm due to OpenGL usage
being all over the place in the sources corresponding to the default
backend, and those host the rhi code path as well. This will be cleaned up
hopefully in Qt 6, with the removal all direct OpenGL usage.

Other env.vars.:
QSG_RHI_DEBUG_LAYER=1 -> enable D3D debug or Vulkan validation layer
(assuming the system is set up for this)
QSG_RHI_SHADEREFFECT_DEBUG=1 -> print stuff from ShaderEffect
QSG_SAMPLES=1,2,4,... -> MSAA sample count (but QSurfaceFormat works too)
QT_D3D_ADAPTER_INDEX=0,1,... -> D3D adapter index
QT_VK_PHYSICAL_DEVICE_INDEX=0,1,... -> Vulkan physical device index
QSG_RHI_UINT32_INDEX=1 -> always use uint index data (both
merged/unmerged, convert when needed - with some rhi backends this is
implicit)
QSG_RENDER_LOOP -> to override the render loop as usual. The default
with RHI is threaded for Metal, threaded for Vulkan on Windows, basic
for Vulkan on Linux and Android (to be checked later), while the existing
rules apply for OpenGL.

Not supported when running with QRhi:
  - particles
  - compressed atlases (though this is transparent to the apps)
  - QSGRenderNode
  - QQuickRenderControl
  - QQuickFramebufferObject
  - certain QQuickWindow functionality that depends directly on OpenGL
  - anisotropic filtering for textures
  - native text may lack some gamma correction
  - QSGEngine applicability unclear
  - some QML profiler logs may be incorrect or irrelevant

Change-Id: I7822e99ad79e342e4166275da6e9e66498d76521
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-07-04 10:44:26 +02:00
Paolo Angelelli 3961cf124a Add scale property to QQuickPath
With this property, Paths and ShapePaths become scalable.

[ChangeLog][QQuick][Path] Added scale property to scale
a path before sending it in to PathView/Shape.

Change-Id: Id9ce7d1247d55e2cdb0d27a19c86fe0970e66268
Fixes: QTBUG-74456
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-06-04 20:52:01 +02:00
Richard Moe Gustavsen 4ce9717c6d Manual test, TableView: improve test with syncView functionality
Add some more TableViews and buttons that can
be used to test the new syncView functionality.

Change-Id: I0ad649598ef2ff08487c9a0b450861c27535c62c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2019-05-23 09:46:07 +02:00
Mitch Curtis 0ca32eb4c5 add "json" manual TableModel test
This covers the use case of fetching and showing data from a web API.

Change-Id: I9e9cd6a17f409383ba71bc32f0f9d63a45213784
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-04-29 07:14:10 +00:00
Shawn Rutledge 5d45aa1a64 Add WheelHandler
It can be used to change any qreal property of its target Item in
response to wheel rotation, or it can be used in other ways that involve
bindings but without a target item.

[ChangeLog][QtQuick][Event Handlers] Added WheelHandler, which handles
mouse wheel rotation by modifying arbitrary Item properties.

Fixes: QTBUG-68119
Change-Id: I247e2325ee993cc1b91a47fbd6c4ba0ffde7ad49
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2019-04-27 05:41:21 +00:00
Shawn Rutledge f1b4348dae fakeFlickable manual test: put the slider in a drawer
The main reason is that the drawer also demonstrates a different use
of the BoundaryRule (limiting drags, with springy endstops).

Change-Id: I958af65a857fda1b5b8dc1b135414799261afc1f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2019-04-27 03:50:00 +00:00
Mitch Curtis 7a303424f2 Add TableModelColumn
This allows us to support simple object rows by default,
which we expect to be the most common use case for TableModel.

Complex rows are supported, but with a limited subset of functionality.

Things that could be improved:

- Would be nice if we could get arbitrary/dynamic properties
  like ListModel has, without the complex code that comes
  with it. That way we could get rid of all of the role properties
  and users could have their own custom roles. The limitation
  of only having built-in roles becomes too restrictive very
  quickly.

Change-Id: Icbdb6b39665851c55c69c0b79e0aa523c5d46dfe
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-04-08 07:42:08 +00:00
Qt Forward Merge Bot f385f6b39f Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I9ba374f0c652628b7c84c36893c32b22529e384f
2019-03-29 01:00:40 +01:00
Eirik Aavitsland 82247946b2 Fix text wrap: do not break on last line if right elide is enabled
For multiline texts with word wrapping, it is not so meaningful to add
breaks in the last line if it is anyway going to be elided. Fix by
using the WrapAnywhere strategy for the last line for such situations.

Fixes: QTBUG-72736
Change-Id: I1263c81277b6ca89ba461529fced1094263c026f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2019-03-26 12:50:04 +00:00
Qt Forward Merge Bot 67cc0be410 Merge remote-tracking branch 'origin/5.13' into dev
Conflicts:
	src/qml/compiler/qv4codegen.cpp

Change-Id: I604517d0948fb5056ce36cc104f13ac956fbcc24
2019-03-15 11:20:40 +01:00
Andy Shaw e622e069c9 Update the cursor when the window is entered
When a window is entered, due to another window being hidden, then it
is possible that the item under the mouse has a different cursor than
the one previously set for that window. Since there will not be a mouse
move at this point yet, then we should update the cursor right away.

Change-Id: I2ef3c72617ae5c995a4daf7daef1ba3311fdcc12
Fixes: QTBUG-41045
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-02-25 07:25:18 +00:00
Qt Forward Merge Bot 7d80264fa7 Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I51cb42d253a83c0e6a76946c37cf1ff7c7cac150
2019-02-16 01:03:22 +01:00
Mitch Curtis cd5d2f596c Fix calls to TableModel functions in manual test
The functions were renamed.

Change-Id: I0fc77bc537412d99f2605aac15ea999f5e92d114
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-02-13 09:41:31 +00:00
Mitch Curtis 24b66d2de1 Rename tablemodel manual test to "form", move into tablemodel subdir
In preparation for adding more TableModel-related manual tests. We need
these to ensure that we support different use cases.

Change-Id: Ib771b513a3dd62a372335beb1e97a8c946708ec2
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-02-13 09:41:26 +00:00
Eirik Aavitsland eeedd26f35 Fix background color of some QML lancelot test scenes
Avoid red since that is also used for marking visual diffs in the
lancelot results. Replace with a great color.

Change-Id: I1da4d1b6dc3cacbd3b5b2574720fcd3176f49a52
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2019-02-12 08:52:29 +00:00
Mitch Curtis 7fa5ef9e1c Add TableModel
This is a QML type that can be used as a model for the new TableView.

The model data is set by assigning a JavaScript array to the rows property
(or by calling appendRow()). After data has been assigned for the first time,
the available columns and roles are fixed for the lifetime of the model,
as opposed to ListModel where the dynamicRoles property could be used.
This is done intentionally to simplify the code.

The API is designed to be familiar to users of ListModel:
- To add new rows, use appendRow() and insertRow().
- To modify existing rows, use setRow(), moveRow(), removeRow(), and clear().

[ChangeLog][Qt Labs QML Models] Added the TableModel QML type, a
JavaScript-based model for the new TableView.

Fixes: QTBUG-70334
Change-Id: I55387a08b122227c5624f78af3d450b7695d974a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2019-02-08 15:46:09 +00:00
Shawn Rutledge 8380e4c4a4 Add handlers declared as Flickable children to its contentItem
QQuickItemPrivate::data_append() was not invoked when any kind of
Pointer Handler was directly declared in a Flickable (or subclass)
because QQuickFlickable redefines the default property to be its own
flickableData property. So we need to repeat the special handling
in QQuickFlickablePrivate::data_append() too.  The handler must
be added to the private->extra->pointerHandlers vector, so that
QQuickItemPrivate::handlePointerEvent() will attempt to deliver
events to those handlers.

TapHandler seems OK (especially with its default gesturePolicy
so that it does not do an exclusive grab).

PointHandler seems OK.

DragHandler competes with Flickable for the exclusive grab.
pressDelay can help; or set acceptedDevices: PointerDevice.Mouse
to allow the mouse to drag but not flick, and the touchscreen
to flick but not drag.

Fixes: QTBUG-71918
Fixes: QTBUG-73035
Change-Id: Icb97ed5230abe0cb6ec0230b5b5759a0528df7e8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2019-01-22 21:38:36 +00:00
Shawn Rutledge 8396dc86f2 StorageModel manual test: use DelegateChoices to show data graphically
This demonstrates that DelegateChooser and DelegateChoice are working
with TableView.

In this use case, DelegateChooser uses a role from the model to
decide which delegate type to instantiate.  So we need the model to
provide a type role that it can switch on.  Conveniently, by using the
Q_ENUM registration of the Type enum, it automatically becomes
possible to match against the stringified versions of those enum
values in the DelegateChoice.roleValue property.

To demonstrate a set of roles which would work for almost any kind of
numeric data, we choose to have a Value role for the current value,
corresponding to the width of the bar or the numerator of the ratio;
and ValueMax for the maximum possible value, corresponding to the
total width of the bar graph, or the denominator of the ratio.
ValueDisplay and ValueMaxDisplay are roles which provide
string-formatted versions of those for labeling purposes.  Maybe in
the future we could consider adding those (plus ValueMin and
ValueMinDisplay) to the ItemDataRole enum; because almost any kind of
data model could need to provide numeric data, but for some reason we
have only made it easy to provide strings (DisplayRole) and booleans
(CheckStateRole). Likewise some sort of type role could be
standardized at the same time.

Free / used space is graphically shown as a bar graph.  QStorageInfo
provides bytesFree() but not bytesUsed(), but it's more conventional
to show a bar which grows wider as more space is used, so we reverse
it visually by showing a red background with the bytesFree bar
anchored to the right.  Thus the width of the red part showing through
is proportional to bytes used.

The three flags isReady, isReadOnly and isValid are shown with
simulated checkboxes.

This manual test is now on its way to becoming an example of how to
use row, column and role effectively together.  It's not enough to say
that TableView is only for spreadsheet-like views, displaying only
text in each cell.  To display more than text, we can do the same
thing that we have done in the past with models designed for display
with ListView: use the role, so that data(index, role) gets called
multiple times for each cell, to get the values that each delegate
type needs to use to render itself.

Change-Id: I1060eacc2b7d25f420411828258e7d94ee0bdd0b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2019-01-15 12:32:08 +00:00
Kai Koehne 9aa954e20e Merge qmlplugindump tests
Move all qmlplugindump test cases to the autotest one.

Change-Id: If7b5ea119c862507686c11f4dafaa4648d4808f5
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2018-10-09 07:50:30 +00:00
Richard Moe Gustavsen 34948d35f6 Manual test, TableView, abstracttablemodel: add more logic to the test
Add buttons for adding and removing rows and columns

Change-Id: I8d391db4f61ff4ec4273adc7134bd30ffc73fa3c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2018-09-27 06:45:00 +00:00
Kai Koehne 6540fc6ac5 qmlplugindump: Make manual test work with shadow builds
Change-Id: Ifaf87ba32f0c864ea264e78fba1ffc3d12c88a13
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2018-09-24 06:36:48 +00:00
Shawn Rutledge ebf9365b5c Use PointHandler for singlePointProperties manual test
The name indicates that it should test a SinglePointHandler, which
DragHandler no longer is.

Change-Id: I3c585b43c1334cf6794a98c92f742f92243adac8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
2018-08-30 18:24:56 +00:00
Richard Moe Gustavsen 409f302326 QQuickTableView: move TableView from Qt.labs to QtQuick
TableView is now ready for Qt-5.12. The only thing missing
is documentation, which is currently being written, and on the
way. So remove the temporary labs plugin that used to register
TableView, and register it together with the other QtQuick items.

Change-Id: I7f360eac3934d228904a4133363e336afe0c451a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2018-08-22 05:46:24 +00:00
Richard Moe Gustavsen 9e73c8f3ac test, abstractitemmodel: improve manual test
Improve the test so that you can click on
the cells to change their color.

Change-Id: Ia74620894f2885242f587c4c863bcf3544b13488
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2018-08-15 08:48:22 +00:00
Shawn Rutledge c7ec614a84 StorageModel manual test: use enum class for Column enum
We should set a good example by using enum classes more: internally,
in examples, and in manual tests which might become examples eventually.

Change-Id: Ife6f3b8eaf2f534d474c35e34370361d026f2c47
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2018-08-11 16:35:04 +00:00