Commit Graph

5 Commits

Author SHA1 Message Date
MohammadHossein Qanbari 103e54fe5e Lightning Viewer Example: Improve Updating Distance/Time
There was no need to waste time for calculating the distance and time
of the last strike. The calculation should be considered when there's a
need for it, e.g. when the distance/time layer is visible.

Task-number: QTBUG-121123
Pick-to: 6.7
Change-Id: Ib841502baa5138c91730a308194c6485a28fca1a
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-01-19 11:09:25 +01:00
MohammadHossein Qanbari e7aa32c8fb Lightning Viewer Example: Avoid Using Heap Memory When Is Not Necessary
Remove the implementation of copy/move constructors/assignments to
follow the rule of zero/five (LastStrikeInfo).

Use std::unique_ptr instead of QScopedPointer.

Remove the copy/move constructors and assignments of some classes
because they are not copyable/movable.

Prefer stack memory over heap memory whenever possible.

Fixes: QTBUG-121018
Pick-to: 6.7
Change-Id: Ie8784a49beeb23d4ccbf4c18a3158ab7b25b5c5b
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-01-17 14:26:40 +01:00
MohammadHossein Qanbari c1962e9196 Lightning Viewer Example: Use chrono for Time Duration + Fix Bug
chrono::duration is used for time duration from the last strike.
Also there was a bug in calculation of the display text of time duration
in DistanceTimeLayer.qml that is fixed in this commit.

Fixes: QTBUG-121011
Fixes: QTBUG-121012
Pick-to: 6.7
Change-Id: I55f253bc7821328762cbff957eb9125c441bca2b
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2024-01-16 09:36:06 +01:00
MohammadHossein Qanbari 3f9efa6140 Lightning Viewer Example: Replace QSharedPointer with LightningItemData
The usage of QSharedPointer is replaced with the LightningItemData as
a value type to avoid heap memory allocation. Using stack-memory is
more efficient than heap-memory allocation for the high-speed arrival
of new lightning data.

Task-number: QTBUG-116750
Pick-to: 6.7
Change-Id: Ica837f5f3c5f24980bb597307c408aaffe3fbd02
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2024-01-10 16:02:48 +01:00
MohammadHossein Qanbari 60cf689c6a Examples: Add LightningViewer (V1)
Implemented lightning viewer example using a web socket connection to
an AWS gateway for real-time lightning data visualization worldwide.
Supports both landscape and portrait modes for optimal screen
presentation. Added diverse map layers, including live data and
distance-time layers. Added functionality to toggle between different
map types. The lv_style is auto-generated using figma-style-generator
tool based on specified design requirements (see the task description
and comments for more details).

Fixes: QTBUG-116750
Pick-to: 6.7
Change-Id: I2507c9b030cb0c91d1a7cf51267770735a35419b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-12-23 00:07:03 +01:00