Commit Graph

29 Commits

Author SHA1 Message Date
Igor Sirotin 5ff4b5a435
fix(MessageContextMenu): Cleanup. Separate menu for profile. (#10729) 2023-05-19 19:07:50 +03:00
Stefan 691de11211 fix(Wallet) network selection and unify network implementations
Major changes:

- Don't allow empty network selection. End up using the nim model
  directly instead because of individual row changes issues
  encountered with nim models
- Made the clone model a generic implementation to be used in other
places where we need to clone a model: ReceiveModal,
AddEditSavedAddressPopup
- Use cloned model as alternative to NetworksExtraStoreProxy in
  ReceiveModal
- Added tristate support to our generic checkbox control
- UX improvements as per design
- Fix save address tests naming and zero address issue
- Various fixes

Notes:
- Failed to make NetworkSelectPopup follow ground-truth: show partially
  checked as user intention until the network is selected in the
  source model. Got stuck on nim models not being stable models and
  report wrong entry change when reset. Tried sorting and only updating
  changes without reset but it didn't work.
- Moved grouped property SingleSelectionInfo to its own file from
  an inline component after finding out that it fails to load on Linux
  with error "Cannot assign to property of unknown type: "*".".
  It works on MacOS as expected

Closes: #10119
2023-04-20 19:34:24 +02: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 81c3463816 feat(wallet): implement DerivationPathInput control
The enforcing of the derivation path editing rules is done in a structured
way by handling all the changes on the array of `Element` stored in
d.elements and then recomposing the HTML string to be displayed after
every change.

Main limitation is the workaround in `onTextChanged` that regenerates
the text in order to dismiss foreign characters introduced by pasting
which I couldn't find a way to disable without disabling also the ability
to copy content to clipboard.

Highlights:
- Implement DerivationPathInput control that intercepts the modifiable
keyboard events in order to edit the visible TextEdit.text while
respecting the requirements of the derivation path editing
- Implement a JS Controller that handles the logic of the
  decomposing and recomposing the derivation path string
- Add anew StatusQ with the TextEdit basic look and feel to be used
  in DerivationPathInput control without duplicating the style
- Allow passing modifiable events that are not generating characters in
  order to allow copy to clipboard
- Disable add account when control is in error state
- Limit to maximum 5 elements in the derivation path

Testing:
- Integrate the control with StoryBook for a quick preview of the
  control
- Add unit tests for the Controller basic functionality and regression
  for the main control Item
- Removed forcing x64 architecture on apple arm64 hardware from the
  storybook build configuration

Note: initially the implementation was suppose to be simple parse the
derivation path string edit elements and format it. However, I could not
find a quick way fix the circular dependency issue between editing the
text and reformatting it. The solution was to use a one way from the
structured data to the formatted string which complicates the
implementation logic.

Closes: #9890
2023-03-31 18:14:50 +04:00
Jakub Sokołowski f39dfa87f7 move qzxing and SortFilterProxyModel to vendor folder
Lets avoid creating chaos by having multiple vendor folders.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-23 12:09:19 +01:00
Michał Cieślak 95d29c76f9 fix(Storybook): Register StatusQ types for Storybook/qmlTests
Closes: #9690
2023-03-02 11:33:37 +01:00
Michał Cieślak 9772145ce5 chore(Storybook): Update Readme to point CMakeLists.txt as the main way to build instead of WebAssembly
So far README.md had only description for WASM builds what was
misleading, suggesting that's the only proper way of building Storybook.

Closes: #9679
2023-03-01 13:48:31 +01:00
Michał Cieślak f8f4757a0b fix(Storybook): fix cmake config to show qmldirs in QtCreator 2023-02-20 18:40:59 +01:00
Noelia 243f1e5607 fix(storybook): Fix cmake file for macos
Replaced `PROJECT_NAME` to `PROJECT_LIB` for MacOS in cmake file.
2023-02-10 13:22:24 +02:00
Michał Cieślak 51afe05d3c chore(general): cmake include file defined for StatusQ sources
Closes: #9426
2023-02-09 13:41:15 +01:00
Michał Cieślak 940d8cd2c0 chore(general): Move RXValidator to StatusQ 2023-02-09 12:48:11 +01:00
Michał Cieślak f43c3e2f2b chore(general): Move StatusSyntaxHighlighter to StatusQ, remove mock from Storybook 2023-02-09 12:48:11 +01:00
Michał Cieślak 8f25b93f96 chore(general): Move QClipboardProxy to StatusQ 2023-02-09 12:48:11 +01:00
Alex Jbanca 3059631226 Add qml tests for StatusChatInput
Test parts of the working functionality
2022-12-19 10:11:53 +02:00
Alex Jbanca b414a829e8 Adding qml tests to storybook
+ dummy StatusChatInput test
2022-12-08 15:31:43 +02:00
Michał Cieślak 5dcd3dde23 chore(Storybook): CMakeLists - common lib for app and tests defined 2022-11-29 11:30:13 +01:00
Michał Cieślak 8e39d761dc feat(Storybook): Figma links loaded from json file
Closes: #8187
2022-11-29 11:30:13 +01:00
Michał Cieślak a998f654a2 fix(Storybook): linking WebEngine causes errors on Linux
Linking to WE is not needed. Setting Qt::AA_ShareOpenGLContexts
attribute is sufficient to make QWebEngine working properly.

Closes: #8454
2022-11-28 15:04:31 +01:00
alexjba 1b2fd40b20 Adding qmake project file for wasm
This changeset contains the prerequisites required to compile StoryBook on wasm_32 and the README file with instructions
2022-11-23 16:20:37 +02:00
Michał Cieślak 284302b486 feat(Storybook): Pages model excluded to a separate file, figma links added 2022-11-22 15:34:18 +01:00
Michał Cieślak c1d5fdd04a feat(Storybook): sections decorator model impl and basic tests
Proxy model extending source model by adding foldable sections
based on "section" role from the source model.
2022-11-21 12:51:22 +01:00
Lukáš Tinkl c0e9c28ff5 chore: add correct QML import paths for QtCreator 2022-11-14 14:14:32 +01:00
Jonathan Rainville cea4945cba feat(storybook): add browser settings in the storybook 2022-10-25 14:27:50 -04:00
Michał Cieślak 8981b8615a feat(Storybook): Hot reloading for pages
Closes: #7975
2022-10-20 20:34:35 +02:00
Michał Cieślak de4ef7daf0 fix(Storybook): mock for DotherSide types added
Additionally `ui/imports/shared/views/chat/qmldir` fixed.

Closes: #7932
2022-10-17 10:50:12 -04:00
Patryk Osmaczko 8a45e34870 fix(storybook): fix build on mac 2022-10-14 13:57:18 +02:00
Patryk Osmaczko 148d0518f8 fix(storybook): fix build on linux
CMake's GLOB is capturing source files from `build/*` resulting in
multiple `main` definitions.

Generally, usage of GLOB is discouraged.
2022-10-14 13:57:18 +02:00
Michał Cieślak cb7e67ce8c chore(Storybook): LogsView added
Closes: #7818
2022-10-11 16:39:39 +02:00
Michał Cieślak 38299f7169 feat(Storybook): Initial project config and main qml/cpp
Closes: #7547
2022-10-10 15:09:12 +02:00