TLDR: later this should form a basic building block for a new
TokenSelector picker component, potentially replacing the current
HoldingSelector* and TokenListView components (support for collectibles
TBD as part of https://github.com/status-im/status-desktop/issues/15121)
- create reusable `TokenSelectorAssetDelegate` and `TokenSelectorView`
- add corresponding SB page, showcasing the flow/integration and the
separation of concerns between the view, adaptor and delegate layers
- add QML testcase for TokenSelectorView
- don't display crypto symbol for token balances per chain tags
- update the stores and SB pages
- add some missing formatter functions to LocaleUtils and CurrenciesStore
Fixes#14716
Now SubmodelProxyModel doesn't affect source model therefore it's
possible to safely use multiple SubmodelProxyModels over the same source
model.
Closes: #14550
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
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
Whenever source model emits layoutAboutToBeChanged/layoutChanged,
persisten model are updated appropriately, also scenario when items are
removed is covered.
Closes: #14244Closes: #14245
It works similarly as isSame(...) but doesn't print warnings when
mismatch is found. Thanks to that may be used conveniently whenever
we expect differing models in a test.
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
Threshold for acceptable accesses has been increased but also
additional check regarding roles has been introduced to ensure
expected behavior.
Closes: #13181
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...
Provides FastExpressionSorter component compatible with
SortFilterProxyModel. In comparison to original ExpressionSorter it allows
to define which role values should be provided to the expression's
context and improves performance significantly.
Closes: #13062
Provides FastExpressionFilter component compatible with
SortFilterProxyModel. In comparison to original ExpressionFilter it allows
to define which role values should be provided to the expression's
context and improves performance significantly.
Closes: #13063
.. to filter by community or collection name
- make the HistoryView own filter button look like the other combos
- fix some cosmetic issues for StatusCombo in small/secondary mode
- fix StatusBaseInput bg color in dark mode (was invisible)
- update CollectiblesViewPage with options to include regular and/or
community collectibles
Fixes#12969Fixes#12948
- ability to change left/right models
- improved handling of model deletion
- base class changed to QAbstractListModel, dataChanged signal
emision improved
Closes: #12912
The general rule should be to avoid any actions on destruction different
than setting relevant pointers to null. Other actions like emiting
signals are potentially dangerous when the whole objects hierarchy is
under destruction.
Closes: #13065
Provides FastExpressionRole component compatible with
SortFilterProxyModel. In comparison to original ExpressionRole it allows
to define which role values should be provided to the expression's
context. This approach improves performance significantly in most cases.
Closes: #13047
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