Commit Graph

24 Commits

Author SHA1 Message Date
Michał Cieślak 587594f3b9 feat(StatusQ): General purpose js function-based aggregator
Closes: #14617
2024-05-13 15:54:03 +02:00
Michał Cieślak 5d4380e4d9 feat(StatusQ/ConcatModel): Proper handling of source models layout change
Whenever source model emits layoutAboutToBeChanged/layoutChanged,
persisten model are updated appropriately, also scenario when items are
removed is covered.

Closes: #14244
Closes: #14245
2024-04-12 11:05:08 +02:00
Michał Cieślak 6d502427e5 feat(StatusQ/Tests): Added utility for persistent indexes validation 2024-02-22 14:39:31 +01:00
Michał Cieślak e51667911d StatusQ: MovableModel proxy for setting custom order over source model
Proxy decorating source mode with additional method move(from, to, count)
similar to that available in ListModel. The custom order is stored within
a proxy, not altering the original model. May be useful whenever UI needs
to allow user to set custom order. Temporary state can be held in the
proxy, and send to the backend when changes are accepted.

Closes: #12686
2024-01-22 16:36:41 +01:00
Michał Cieślak 22dcf8269f StatusQ: SnapshotModel testing utility 2024-01-22 16:36:41 +01:00
Michał Cieślak 001e90a4c6 StatusQ: ModelSignalsSpy testing utility 2024-01-22 16:36:41 +01:00
Alex Jbanca 6da897e733 StatusQ: Adding WritableProxyModel
WritableProxyModel is a QAbstractProxyModel that allows you to modify the data without modifying the source model.
It is useful for implementing a "dirty" state for a model, where you can modify the data and then commit the changes
to the source model.

Supported features (reimplemented):
- setData
- setItemData
- removeRows
- insertRows
- moveRows (TODO)
- toVariantMap
- to be continued...
2024-01-09 20:20:04 +02:00
Michał Cieślak a2aedb5c6a chore(StatusQ): Generic TestModel excluded to a separate file
Closes: #12843
2024-01-05 13:34:45 +01:00
Michał Cieślak 57ee01b239 chore(StatusQ): ListModelWrapper excluded to a separate file 2024-01-05 13:34:45 +01:00
Michał Cieślak 480673d8be feat(StatusQ): Test utility for tracking qt model access 2023-12-20 23:16:09 +01:00
Michał Cieślak 6ab6e4a26e feat(Storybook): Test library for common testing utils
StatusQ's test/CMakeLists.txt refactored:
- created library target for common test utils
- removed outdated cmake commands like add_definitions
- qml tests renamed from TestStatusQ to QmlTests
- qml test files made visible in QtCreator
- linking simplified
- unneeded cmake files removed from src dir

Closes: #13031
2023-12-19 10:41:42 +01:00
Michał Cieślak e2fa702ec4 feat(StatusQ): QML-oriented proxy model concatenating source models vertically
Closes: #12682
2023-12-05 22:45:08 +01:00
Noelia c2bfc6b8f4 feat(SQ/Aggregator): Created utility `Aggregator`
- Abstract class created: `Aggregator`
- Derived abstract class created: `SingleRoleAggregator`
- Derived class created:  `SumAggregator`
- `Storybook` page created.
- Added unit tests.

Closes #12685
2023-12-01 18:57:01 +01:00
Stefan 5b9e4faa8a feat(wallet) run WebEngineView as a service in background
This is required to control the resource consumption in case of no
usage of wallet connect
Hence we load the WebEngineView only if we have active pairings and
such that SDK events are expected from the paired dapps.

Also:

- Moved the generic WebEngineView communication bridge to StatusQ
- Added basic tests for WebEngineLoader
- Add a way to know when wallet is loaded (`walletReady`)
- Add storybook support for mock of nim sections as context properties

Updates: #12639
2023-11-27 22:54:11 +01:00
Michał Cieślak 4d1806a656 fix(StatusQ): run all unittests via make and on CI
Closes: #12841
2023-11-24 23:32:08 +01:00
Stefan a87a11f92f fix(tests) fix UI tests when run from scratch
The STATUSQ_SHADOW_BUILD will allow loading the qml files from sources

The StatusQ dependency helps building StatusQ which is used for C++
helpers

Updates #12639

ghstack-source-id: cbe0a994e7
Pull Request resolved: https://github.com/status-im/status-desktop/pull/12787
2023-11-20 20:38:19 +01:00
Michał Cieślak 7fe6e10b81 chore(StatusQ): Tests for SubmodelProxyModel added 2023-11-06 12:26:04 +01:00
Michał Cieślak ffadd7522c StatusQ: Add generic LeftJoinModel model mimicking SQL Left Join
Closes: #12502
2023-10-27 13:27:30 +02:00
Michał Cieślak 628d9cdd31 StatusQ: Add generic proxy model for roles renaming 2023-10-27 13:27:30 +02:00
Igor Sirotin a3ec245b44
fix(Sandbox): Fixed hot reloading. Fixed MacOS arm64 builds. (#10562) 2023-05-05 19:05:44 +03:00
Igor Sirotin aefa2b9f48
fix(StatusQ): StatusQ is QML module (#10207)
* StatusQ QML module
* qzxing is static lib again
* updated StatusQ resources
* fixed Emoji lookup
* added display to tests-imports ci
2023-04-14 11:18:56 +03:00
Stefan 0f40f5bb0d fix(tests): fix building tests 2022-09-21 18:20:13 +02:00
Patryk Osmaczko 6dd8c5fa46 feat: use cmake instead of qmake
- cmake is superior to qmake (e.g. linking custom libraries)
- maintaining two build system generators is costly

iterates: status-im/status-desktop#6510
2022-09-21 18:20:12 +02:00
Stefan e293f80554 tests(general): refactor tests
Enhance the CMake strucuture of thests
Update documentation
2022-09-21 18:20:09 +02:00