Commit Graph

1052 Commits

Author SHA1 Message Date
Mahmoud Badri
f09d4538e7 QmlDesigner: Implement Material Editor
Task-number: QDS-6438
Task-number: QDS-6439
Change-Id: I04e899a68aea665f0df8b65e21523632174ec76b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-05-23 16:44:02 +00:00
Miikka Heikkinen
6dda55a8cd QmlDesigner: Show id-less scenes properly in 3D edit view
Fixes: QDS-6942
Change-Id: I5b7fa966bf9d7321b1735ef0ea7cb904b82f542d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-05-18 13:30:49 +00:00
Miikka Heikkinen
17982e661c QmlDesigner: Disable shadows for gizmos
Some gizmos (selection box and helper grid) are drawn to main 3D editor
scene. Disabled receiving and casting shadows for those gizmos so
they do not interfere with scene lighting.

Change-Id: Ia589d3896c2591061966f6a4d532a0dedbf6fe12
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-05-13 11:11:54 +00:00
Miikka Heikkinen
0334d4886b QmlDesigner: Fix puppet crash when property animation has no target
Fixes: QDS-6935
Change-Id: Ib6dae3a6c39a12e9e62bd494d5a27917d7f97048
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-05-13 07:32:50 +00:00
Thomas Hartmann
bf3c3b624a QmlDesigner: Fix 3D formeditor preview
I remember testing this and ContentUpdateMask seemed to work.
This might have changed with Qt 6.3 and using AllMask instead, which
works for all cases I tested should not have any negative impact.

Task-number: QDS-6896
Change-Id: I648c10fe75df813ae25a54a13a862cad0228bfdb
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-05-12 09:11:29 +00:00
Marco Bubke
4bd71ebf6a QmlDesigner: Fix poor snapshot quality
It removes the image cache in the AssetsLibraryView too because it is not
used. Fix ODR violation too.

Fixes: QDS-6553
Change-Id: I83d8f8b7cd385e2c8352986e4b5a5abd76ac7d5b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-04-13 14:16:20 +00:00
Thomas Hartmann
aabff7bd35 QmlDesigner: Fix puppet crash with DelegateModel
Change-Id: Ibe42b87b6364c78157c54504f00354bff8bb4b23
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2022-03-24 17:10:55 +00:00
Miikka Heikkinen
10f2fb7be2 QmlDesigner: Don't scan for fonts if resource path is not valid
For some reason captureiconmode puppet is launched at QDS shutdown,
with empty resource path. This caused the entire drive to be searched
for fonts to register, making the puppet linger for up to a minute
after the shutdown.

Fixes: QDS-6482
Change-Id: I0f1fa4b6f5646c76d93f5820dae029033e1543a3
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-03-18 11:27:35 +00:00
Miikka Heikkinen
c865481068 QmlDesigner: Add particle attractor visualization to 3D editor
Particle attractors are visualized similarly to particle emitters,
except that they are shown as blue instead of yellow when parent system
is active.

Fixes: QDS-6426
Change-Id: I085727dac7f3b4fa968e313b78db3f476941a7da
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-03-18 08:17:37 +00:00
Robert Löhning
59a721c0ea QmlDesigner: Compile fix for Qt 5.15
error: passing ‘const QQmlContext’ as ‘this’ argument discards qualifiers

Change-Id: I4fa9ed0098f5bd63925534459d1171d7c9430897
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-03-15 12:36:52 +00:00
Miikka Heikkinen
72e4287ac3 QmlDesigner: Fix navigator preview of Models
Now we resolve absolute source url for our preview model, so it
will always find the custom mesh files.

Also always use the Node type preview if the instance is a component,
even if the root node is Model. This ensures the preview works properly
in case there are child nodes inside the component.

Fixes: QDS-6204
Change-Id: I48ef273e5a5dca13abe25816b5edf0be7dd217ff
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-03-15 10:45:24 +00:00
Miikka Heikkinen
8b27281354 QmlDesigner: Show error message on import log for failed 3D import
The import is done on puppet side, so we use a log file to pass the
error message.

Also changed how import process is matched to the import, so that
exit code is no longer needed for this purpose. Crashes are also
now reported as import errors.

Task-number: QDS-6402
Change-Id: Ie14cd1df0bbba965d8e5f2aa7302a955e944379b
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-03-11 14:18:04 +00:00
Miikka Heikkinen
eeddae0d2b QmlDesigner: Fix runtime JS warning
Particle emitter gizmos do not have locked property.

Change-Id: I4f11dbd52256b365402e647024d4d258351a3c60
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-03-10 13:44:58 +00:00
Miikka Heikkinen
be9b71af2f QmlDesigner: Fix runtime puppet compilation error
Change-Id: I6c3b1ce317305b6cbc088971beaa1700b5327682
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-03-10 08:43:01 +00:00
Miikka Heikkinen
2c32c9c991 QmlDesigner: Deactivate particle system when locked
Particle systems are now deactivated in 3D edit view unless nodes from
exactly one system are selected. Selected nodes that are not part of
any particle system are ignored for this determination. This now also
includes deactivating previously active system when an empty
selection is received from creator side (happens e.g. when selected
system is locked).

Fixes: QDS-6405
Change-Id: I5b1636640594e51db5d6e725684075727536b1a5
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-03-08 11:32:54 +00:00
Miikka Heikkinen
ec02c157ee QmlDesigner: Simplify hidden and locked handling for gizmos
There is no need to have an event filter to listen to changes to
_edit3dLocked and _edit3dHidden properties, as they are only changed
in one place. We can simply emit the change notification there.

Fixes: QDS-6403
Change-Id: I8136f38fd8e435e3a4dbd69d70169496e1675dfa
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-03-08 07:38:41 +00:00
Miikka Heikkinen
98673190ad QmlDesigner: Add visualization gizmo for ParticleEmitter3D
Particle emitters are now visualized in 3D edit view either by
a small sphere for point emitters or by a proper model for
model based emitters. The visualization model is rendered
transparent. The visualization models can be displayed either
always or only when the parent particle system is active
in editor.

Trail emitters are not visualized, as any visualization would
be misleading, since these emitters follow generated particles.

Fixes: QDS-6189
Change-Id: Idb6f12cadd9cea8110e5290cc18443aeb62c38d6
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-03-03 09:34:57 +00:00
Thomas Hartmann
5a31ba3564 QmlDesigner: Change states thumbnail size to 320, 320
Task-number: QDS-6390
Change-Id: Id125e96a6b1615b7ac5c8eafe680f61b84a5353c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-03-01 10:26:41 +00:00
Thomas Hartmann
ee4757a8e8 QmlDesigner: Use LoggingCategory in ImageContainer
Change-Id: Ibdce399fc2df19883d6ffd12e9441c58d46035ec
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-23 20:47:09 +00:00
Mahmoud Badri
ed21e25e14 CrashPad: Remove the 1 crash per hour limitation
Change-Id: Ie7634012f15059fd204cb03e37afd3d63d7bfb29
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-23 13:00:59 +00:00
Thomas Hartmann
3f078ee89d QmlDesigner: Add preview of pure 3D component in form editor
If the root node is a 3D node we show a preview similar to
the state preview in the form editor. The size of the preview
is hard coded as (640, 480).

Change-Id: If7f96522b093c17422fa38102bffe11ede016063
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2022-02-22 10:43:49 +00:00
Christian Kandeler
fde7b90ee9 Fix some warnings
Change-Id: I2991f0ab84b26c93c0dbe2ec79f7638d299e3d39
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-02-11 12:14:27 +00:00
Miikka Heikkinen
f146b846cd QmlDesigner: Implement proper preview for pure 3D scenes
Refactored the existing 3D node preview generation to be done
synchronously, which enables their use also for creating state
and item library previews for 3D nodes with ease.

Fixes: QDS-5785
Change-Id: Ib493eccbc239f33bcad3301673a865494616a901
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-10 14:47:26 +00:00
Janne Koskinen
53ed379314 Fix compilation after API change in QtDeclarative
Change-Id: Ibaeaa4b089a508b1cb44b5f90921675b49b3beb3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-02-07 06:26:47 +00:00
Eike Ziller
1368111824 Merge remote-tracking branch 'origin/6.0' into 7.0
Change-Id: Ie2b23daa457c2aed635a784963bc1e95740bd076
2022-02-02 10:17:03 +01:00
Christian Strømme
4a0c6f1e78 Fix invalid usage of temporary data
Make sure the return value stays valid in the scope we're using it in.

Change-Id: Ifa8a7ef88c9189ba90f5adb699b284f381a59488
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-31 16:04:12 +00:00
Miikka Heikkinen
01f33fe4f1 QmlDesigner: Enable MSAA on edit3D view
Change-Id: I792156d08378d025cb9dae9f3a8cb00439198a6d
Reviewed-by: Jarko Vihriala <jarko.vihriala@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-31 14:09:45 +00:00
Miikka Heikkinen
d48a4bd60f QmlDesigner: Add 3D editor visibility toggle actions
Added toggle for showing selection boxes, camera frustums, and icon
gizmos.

Fixes: QDS-5954
Change-Id: I97e12a3a04b9a1a1af5851e382f36c58ee869f45
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-31 09:15:32 +00:00
Miikka Heikkinen
3ac3b61727 QmlDesigner: Ifdef nanotrace.h out if nanotrace lib is not included
Nanotrace headers are not exported to build dir at all if the feature
is disabled, so runtime puppet build can't find them. We have to
ifdef out the header include and define the required macros as empty
in puppet.

Fixes: QDS-6107
Change-Id: I702c3ed5521d30ee0b253d035dea4ea00d00848f
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-28 14:03:26 +00:00
Thomas Hartmann
6073f3396c QmlDesigner: Disable crashpad in the qml2puppet
If the host proecess crashes then qml2puppet will also be shutdown.
I suspect this can lead to crash reports of the host application
not properly reported.

Change-Id: Ic503874ce660db3311958ecd0718255a1cf3daea
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 12:39:10 +00:00
Miikka Heikkinen
557489c3fc QmlDesigner: Fix camera frustum initialization for Qt5 builds
In Qt5 builds, we need additional async update at camera geometry
initialization to ensure source camera is up to date and frustum mesh
can be constructed.

Fixes: QDS-6071
Change-Id: I41371ae66fde432b0fdf4b5fee6a0604d005bf63
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 09:00:57 +00:00
Miikka Heikkinen
94a17f1e7e QmlDesigner: Fix 3D picking of RuntimeLoader loaded models
RuntimeLoader creates the loaded nodes dynamically, similar to
Repeater3D and Loader3D, so handle it similarly as well.

Fixes: QDS-6053
Change-Id: Iece15254e720cfc0a6796b182ef00c3a773cf35d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-28 08:58:49 +00:00
Christian Stenger
c492b29a45 Nanotrace: Make nanotrace commonly usable
CMake's auto symbol export is a plain hack and does not work for
other build systems.
Besides fixing some non-working implicit conversions when using Qt5.15.

Change-Id: I80b77a4ebf8cad30c78c1c2ef2034e62d2063399
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-27 05:38:48 +00:00
Knud Dollereder
ebac821e9e Replace minitrace with nanotrace
Minitrace is a library to produce json traces suitable for chromes
built-in trace viewer. Unfortunately it lacks the ability to add
custom arguments to the json files which is needed in our case
in order to examine Design Studios state from within the evaluating
python script. Nanotrace is a rewrite of minitrace that adds this
ability. Additional benefits are higher precision and the fact that
it is written in c++.

Change-Id: Id2610b93188483d88547369c3fa8dacbe4dee9f7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-25 14:25:04 +00:00
Jere Tuliniemi
a03a50a262 QmlDesigner: Add camera alignment buttons
Add a button to 3D edit view that aligns the selected cameras to the
view camera. Add another button that aligns the view camera to a
selected camera.

Task-number: QDS-4482
Change-Id: Ibe6ceaf498db10f45c8c351e3a108419d8d7a59b
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-25 14:15:54 +00:00
Miikka Heikkinen
ee4ed51a57 QmlDesigner: Fix qml warning
Change-Id: I230de5dffb47bc6e251507edf66843f24d05fa19
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-01-18 13:11:56 +00:00
Miikka Heikkinen
97a6d37ef3 QmlDesigner: Support moving 3D edit camera with arrow keys
3D edit camera can now be moved up/down/left/right with arrow keys.

Task-number: QDS-5790
Change-Id: I3b4a095b96bdaa9d00bf6b29b750af1f783b485e
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2022-01-14 09:40:16 +00:00
Eike Ziller
9056d708fa Merge remote-tracking branch 'origin/6.0'
Change-Id: I642abb110bb120e20af11a5d55244c03e6c48caa
2022-01-12 13:59:10 +01:00
Antti Määttä
3c2c8b97a1 Use Repeater3D instead of Object3D in component complete check
Do not use QQuick3DObject when disallowing recursive component complete
check so that the animations get added to the instance server.

Fixes: QDS-5731
Change-Id: Iff8e39f74d68b312b66d68adaf6ab79d625f88f8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-10 09:03:53 +00:00
Eike Ziller
85b60d9608 Merge remote-tracking branch 'origin/6.0'
Conflicts:
	src/plugins/coreplugin/editormanager/editormanager.cpp

Change-Id: I80fe565749ad5c06dfe99436f2dc6ab4b66a2537
2021-12-16 10:50:33 +01:00
Miikka Heikkinen
d73be23c69 QmlDesigner: Make model used for instancing unpickable in 3D editor
The base model used for instancing is hidden at render time, so it
should not be pickable in 3D editor.

Fixes: QDS-5100
Change-Id: I7c58bd8e7e5c9bfbe75dbaff67c0fd99793ad610
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
2021-12-14 15:27:01 +00:00
Miikka Heikkinen
4751e9a771 QmlDesigner: Change 3D editor selection box appearance
The selection box in 3D editor no longer includes selection boxes of
immediate children for clarity. The box itself also now only shows the
corners of the box.

Fixes: QDS-3656
Change-Id: Iae3e884276f26385d6a362809b79a74e09c093a3
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-12-14 13:03:32 +00:00
Thomas Hartmann
af9ddbe011 QmlDesigner: Fix Qt 6.3 build
The include is not required and
the whole class defined inside is not used since Qt 5.6 anymore.
I will remove the pre Qt 5.6 code in another patch.

Change-Id: Icfc13376ceba3ee16b516156727f743e49a85127
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-12-14 09:17:26 +00:00
Miikka Heikkinen
553de19151 QmlDesigner: Fix picking of Repeater3D/Loader3D generated nodes
There is no top level Repeater3D node with an actual instance
when the Repeater3D is inside a component. The pick target was not
correctly set in this case.

Now we set pick target on every encountered Repeater3D object so
we can propagate it to every object they create.

The same was done for Loader3D, which also creates nodes dynamically.

Fixes: QDS-5745
Change-Id: I537de28ff7426adaa29c2febc6c4b3416baeccb5
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-12-13 11:26:15 +00:00
Eike Ziller
d422b408e0 Merge remote-tracking branch 'origin/6.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I32991a77e52831dd2e24cf4a51ec252998c2d743
2021-12-09 12:04:32 +01:00
Miikka Heikkinen
a4c2f2fb8c QmlDesigner: Fix Qt5 compilation
QQuick3DViewport::pickAll was introduced in Qt 6.2.
Checking against version 6.2.1 because that's when the global picking
API was taken into use in QmlDesigner.

Change-Id: Id69ff9d958da89ba9e043dfb082a99f640884a4e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-12-07 12:57:42 +00:00
Miikka Heikkinen
9c15b5b16d QmlDesigner: Update _pickTarget of Repeater3D created objects
The objects Repeater3D creates are created after handleInstanceHidden
is called for the repeater instance, so the _pickTarget of the created
children doesn't get properly updated. Added signal handler to
make sure handleInstanceHidden is called again after all objects have
been created.

Fixes: QDS-5643
Change-Id: I8b63614fca0be3956b6896028e3f3a0f49bfe397
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-12-07 09:00:25 +00:00
Miikka Heikkinen
eba2a0520b QmlDesigner: Fix picking issues
We now check also the parent chain for pickability, because
a node is not pickable if one of the ancestors is not pickable,
as all properties picking depends on (visibility, locked state)
are implicitly inherited by descendants.

Rotate gizmo rings default to regular View3D picking when the angle
is so steep that the plane intersection is not reliable. With new
global picking enabled handling we need to check all hits instead
of just the first one.

Change-Id: Ib1aa604b06f7db1041f5d4c3019cc2badf29a20f
Fixes: QDS-5679
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-12-07 08:18:35 +00:00
Kaj Grönholm
4a5603b15c Adjust to model bounds calculation API change
Model bounds API changed with 25b757b7b0a286a392b3 so switch to new
API with version checks.

Task-number: QDS-5657
Change-Id: I6d880f179fc277f94ea9ac610ae682e9afbefe39
Reviewed-by: Antti Määttä <antti.maatta@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-12-03 05:19:42 +00:00
Eike Ziller
421d8038dc Merge remote-tracking branch 'origin/6.0'
Change-Id: I2ae142f02ee184d756932bf594c25addd3c2676c
2021-12-02 09:31:03 +01:00