- created a new component (`ErrorTag`) based on the existing
`InformationTag`, suitable for displaying a row of icon (optional), text
and (optional) button in red/danger color
- add ErrorTagPage.qml to StoryBook
- add some basic QML tests
- InformationTag: make more properties customizable, use the same
`bgRadius` consistently
- StatusSmartIdenticon: some fixes for the MouseArea hover/click
behavior
Fixes#14792
- Some NIM's models define additional (not part of the
QAbstractModelItem API) method rowData to allow access to model's data
on UI side
- The same job can be done relying fully on public QAbstractModelItem
API using ModelUtils utility. It gives full transparency if we need
nim's model or other like ListModel replacement in tests/storybook
- propagate `tokensStore` to unbreak the Browser's wallet menu
Fixes#14805
- fix rounded corners in header/footer background
- add support for footer drop shadow
- add a page/demo with the various features to StoryBook
Fixes#14499
- hide the permissions row and tokens when the community is free to join
- fix evaluating the `requirementsMet` property which affects the lock
icon state; that role was never part of the model
- add a helper C++ method `isTokenGatedCommunity`
- adjust the SB models, adding different variations of the
permissionsModel for the CommunitiesPortalLayoutPage
Fixes#14671
- run the user's display name (ENS name) thru the `Emoji.parse()`
function as that will convert the potentially UTF-16 encoded name
containing emojis into an image
Fixes#12290
Other changes
- start Wallet Connect SDK using web engine after wallet is ready
- source WC project ID from the constants in nim
- close list when opening the `ConnectDappModal`
- remove the old POC modal instantiation
- rename ConnectDappPopup to Modal for consistency
- move specific dapps related user settings to their place in the component
- add DAppsStore to be used for dapps abstraction
Updates #14556
- since the window can be a combination of several states (e.g.
maximized + fullscreen + minimized), use the newer `windowStates()` to
track and toggle them
- call `makeStatusAppActive()` in all the identical codepaths (clicking
tray icon, activating a mac or win instance, running a second instance,
etc)
- fixes restoring the window to its previous state(s) when activating
from the tray or dock icon
- use some more standard keyboard shortcuts
Fixes#14132
TLDR: the `StatusLoadingIndicator` will be able to continue the
(rotating) animation eventhough the app might be stuck as
`RotationAnimator` runs on the render thread
- make `StatusIcon` use internally `ColorImage` component which makes it
possible to recolor `Image` on the fly w/o the need to use
`QtGraphicalEffects` module and a separate color layer
- which in turn enables us to use `StatusIcon` with the
`RotationAnimator`
- one minor drawback though, we can no longer use the versioned
properties like `mipmap` with `StatusIcon`; not a big deal as we use
this with SVGs only
Fixes#10014
- correct propagation of hover events, fixes card flicker
- improve the ugly thick border
- token icons are now correctly rounded
- fix text descent lines are cut of ("y" and "p" truncated at the
bottom) due to excessive clipping, set correct max line count
- fix tag outline not being visible in dark mode
- add/update the corresponding SB page, with more controls to play
around with the different params
Fixes#14555
- make it conditionally available for testing via
Settings/Advanced/Enable translations
- display a tooltip and infobox explaining the current and future
situation
- upon app start, force the language to "en" if the translations are not
enabled; and suggest app restart when they get disabled
Fixes#14527
- fix the corner case and allow the user to join a community without an
explicitely stated "Member" permission
- enable/disable the Share/Join/Save buttons when the permission to join
check is ongoing, or when the permission check failed
- display tooltips over the disabled buttons explaining why it's disabled
- always display the eligibility button floating on top of the
(scrollable) contents
Fixes#14473Fixes#14299
There was inconsistency in qvariant type of submodels depending if it
was initial call for a given row (creating proxy) or further calls
(returning cached object). It led to subtle issues in views - view was
reporting type errors and failing assigning submodels properly when used
with submodel proxy with already initialized and cached proxy submodels.
Closes: #14507
- gives an overview of all the `Theme.palette.foo` colors
- the color name/code can be copied to clipboard
- light/dark variant supported via storybook's "Dark mode" switch
- integrated search (both the color name and value)
So far submodel's proxies were created on the fly, on every data(...)
call. Now, once created the proxy is persistent and reused whenever
needed.
Closes: #14389
- teach `userInputLocale` about `Locale.OmitGroupSeparator` option which
discards the said thousands separator
- some more fixes to other inputs to do the same, and align what the
validators do
- StatusAmountInput: discard illegal characters, and reuse the same
locale for the validator
- StatusAmountInputPage: make it possible to select a different locale
Fixes#14165
The "settings exist" done via ManageTokensController::hasSettings() was
using the global store, hence not working user based. Therefore, after
an onboarding the previous user's settings presence was taken into account.
The fix now uses the order data that is loaded externally per user.
Closes#14383
The is image flag and source was not in sync due to sequential change
of source and isImage. This was causing the following warning:
`Warning: qrc:/StatusQ/Components/StatusRoundedImage.qml:27:5: QML StatusImage: Cannot open: qrc:/StatusQ/Components/help
Removed loading hidden groups from local settings and instead reload
them from the externally loaded settings.
Also move the local saving code from the controller to external,
therefore now it is implemented in storybook
Updates #14365
Whenever source model emits layoutAboutToBeChanged/layoutChanged,
persisten model are updated appropriately, also scenario when items are
removed is covered.
Closes: #14244Closes: #14245
Earier attempts to initialize proxy may fail bc left/right models
may be not ready when they are set. It may lead to a situation where
the model remains uninitialized and reporint 0 row count.
- don't use the expensive `ExpressionFoo` in SFPM, just use
`AnyOf/AllOf` combinations where possible
- in HoldingsSelectionModel, don't call the `getTokenByKey` twice to
construct the `text`, once is enough
- lastly, rewrite the JS helper `PermissionsHelpers.getTokenByKey` to
C++; this method gets called recursively way too often from many places
In the longterm, we should provide a specific C++ transformation model
for SharedAddressesPermissionsPanel to follow the UI requirements more
closely; that way we'd be able to fix the issues here for good
Fixes#14276
- Fix errors when switching between assets and collectibles tabs
- Fix by controlling the order of instantiation between model and
delegates not to mix models and delegates from different sources
- Fix size errors
- Various improvements
Updates: #14212