Michał Cieślak
40daec02ac
Improve handling of QTBUG-57971 (ListModel initializing roles on first insertion)
...
So far the provided workaround was missing some corner cases when there
is more than one SFPM (or other proxies) in a chain, providing some
custom roles like proxy roles in SFPM. Detailed explanation provided as
a comment directly in the source.
2024-09-13 16:30:18 +02:00
Alex Jbanca
b176badf6e
fix: Revert commit - Improve sorting performance
...
The proper fix will be handled in another task
2024-02-06 10:10:58 +02:00
Alex Jbanca
67a7f727a6
Merge pull request #3 from status-im/pert/improveSortingPerformance
...
perf(SortFilterProxyModel): Improve sorting performance
2024-01-31 20:44:49 +02:00
Alex Jbanca
dae1dcaa13
perf(SortFilterProxyModel): Improve sorting performance
...
Implement strict less in lessThan override. This function is used as the < operator when sorting.
+ avoid row invalidation if the model component is not ready
+ `Sorter::invalidate` is virtual. It provides more control to the derived classes
2024-01-31 20:42:50 +02:00
Lukáš Tinkl
70b76297fd
clazy fixes
...
- don't detach containers while iterating
- mixing const/non-const iterators
- const/qAsConst fixes
- QStringLiteral usage
- nullptr fixes
- don't #include whole Qt modules in .h files
2023-07-19 10:50:21 +02:00
Lukáš Tinkl
497171b3dd
Revert "feat: limit the number of results"
...
This reverts commit 285a86d492
.
2023-07-19 10:50:21 +02:00
Lukáš Tinkl
285a86d492
feat: limit the number of results
...
introduce a new property, `limit` that allows for narrowing down the
number of returned results
usecase: give me list of 5 most valuable assets
```qml
tagsModel: SortFilterProxyModel {
id: walletAccountAssetsModel
sourceModel: assets
limit: 5
function filterPredicate(modelData) {
return d.uniquePermissionTokenKeys.includes(modelData.symbol.toUpperCase())
}
filters: [
ExpressionFilter {
expression: walletAccountAssetsModel.filterPredicate(model)
}
]
sorters: ExpressionSorter {
expression: {
return modelLeft.enabledNetworkBalance.amount > modelRight.enabledNetworkBalance.amount // descending, biggest first
}
}
}
```
2023-07-13 15:35:18 +02:00
Lukáš Tinkl
c32b851264
chore: clazy fixes
...
- detaching container while iterating
- mixing const and non-const iterators
2023-07-13 15:35:18 +02:00
Patryk Osmaczko
6a471f1bef
chore: add qqsfpm::registerTypes()
...
Under some circumstances, auto-registration doesn't work,
call this function to ensure types are registered.
2022-07-19 17:00:52 +02:00
Patryk Osmaczko
63e64c0a93
chore: use target_compile_features for setting lang standard
2022-07-19 16:53:50 +02:00
Mitch Curtis
5a930885b7
Add SortFilterProxyModel.qbs for inclusion into Qbs projects ( #89 )
...
This can be used similary to how the .pri is used. For example,
to build it as part of an existing library:
import "../3rdparty/SortFilterProxyModel/SortFilterProxyModel.qbs" as SortFilterProxyModelSources
Product {
// ...
cpp.includePaths: [
sortFilterProxyModelSources.prefix
]
SortFilterProxyModelSources {
id: sortFilterProxyModelSources
}
}
2021-05-03 22:51:37 +02:00
grecko
6678acc67c
doc: improve and regenerate doc
2020-02-02 16:27:46 +01:00
grecko
53c01b6ee3
feat: Add Sorter.priority property
2020-02-02 13:39:47 +01:00
grecko
314598ae54
feat: Add FilterContainer and SorterContainer attached types
...
feat: Add FilterContainer and SorterContainer attached types
2020-02-02 13:39:47 +01:00
Pierre-Yves Siret
7921c92f5a
test: make delayed test independent of Qt version
...
The number of time the QQmlExpression was evaluated changed between 5.13
and 5.14
2020-01-08 23:46:12 +01:00
Pierre-Yves Siret
47ac3de0c1
doc: fix delayed property documentation
2020-01-08 23:15:19 +01:00
oKcerG
35ffc48d7f
Revert "Support Qt in namespace ( #69 )" ( #71 )
...
This reverts commit f8393999b6
.
2020-01-07 00:30:45 +01:00
Pierre-Yves Siret
1e98ca7776
Revert "Support Qt in namespace ( #69 )"
...
The commit broke the build for non namespaced Qt
This reverts commit f8393999b6
.
closes #70
2020-01-07 00:22:18 +01:00
Patrick Stewart
f8393999b6
Support Qt in namespace ( #69 )
...
Enable support for Qt built with the -qtnamespace configure option
2019-12-20 15:40:28 +01:00
grecko
36befddf5d
feat: Add delayed property
2019-07-25 00:18:37 +02:00
grecko
770789ee48
fix: Fix dataChanged bug
...
dataChanged was emitted for all roles when dataChanged was emitted for a single role and we had no proxy role.
Fixes #60
2019-05-06 02:23:03 +02:00
grecko
26501aa078
test: reproduce dataChanged bug
...
#60
2019-05-06 02:18:07 +02:00
grecko
4d96016151
test: Add a missing test for proxy roles
2019-05-06 02:15:56 +02:00
Grecko
ae14fc994f
fix: Fix RangeFilter bug
...
Closes #58
2018-10-30 01:17:30 +01:00
Grecko
7345ddfb89
test: reproduct RangeFilter bug
...
This test demonstrates the bug mentionned in issue #58
2018-10-30 00:49:53 +01:00
Jeroen Oomkes
02f8f9ef65
Cmake support ( #55 )
...
* Added cmake support. This builds an object library target that can be included with generator expression in the executable.
2018-10-20 00:27:31 +02:00
Alberto Mardegan
a4b7b6e1d1
proxyroles: Fix warning on unused parameter
2018-10-11 22:27:09 +02:00
Grecko
f77d371786
doc: regenerate doc
2018-10-01 21:24:50 +02:00
Grecko
8d6f679f49
doc: fix FilterRole and RegExpRole doc
2018-10-01 21:24:24 +02:00
Grecko
fd147bbb57
doc: Add doc for RegExpRole
...
small changes to SwitchRole and RegExpFilter doc
2018-10-01 21:19:41 +02:00
Grecko
a15a86be81
chore: correct typo in a test
2018-10-01 21:18:39 +02:00
Grecko
f08fd2eaed
feat: Add FilterRole role type
2018-09-30 03:00:36 +02:00
Grecko
2b3a368ae1
feat: Add FilterSorter sorter type
2018-09-29 12:02:15 +02:00
Grecko
1ae65bca74
misc: set filters as the default property of SwitchRole
2018-09-28 22:16:41 +02:00
Grecko
51c6a62f4d
fix SwitchRole compilation
...
closes #54
2018-08-28 00:13:24 +02:00
Grecko
3a55ea0d8c
feat: Add RegExpRole proxy role type
...
Add support for multiple roles for one proxy role.
2018-08-08 01:37:20 +02:00
oKcerG
d2772bd6e4
fix: compilation error due to bad includes
...
oops
2018-04-30 10:43:46 +02:00
Grecko
88b5ba4260
refactor: move proxyroles in separate files
2018-04-30 03:16:20 +02:00
Grecko
2ee1936545
refactor: move sorters in separate files
2018-04-30 03:15:52 +02:00
Grecko
df41e94e45
refactor: move filters in separate files
2018-04-30 03:14:08 +02:00
Grecko
febeade02b
refactor: Add container interfaces for filters, sorters and roles
2018-04-30 03:13:46 +02:00
Grecko
d844e7dcfd
test: add tests for Filter containers
2018-04-24 01:49:08 +02:00
Grecko
8499099464
fix: Handle source model with no roles better
...
They are now handled in setSourceModel instead of resetInternalData
Fixes #46
2018-03-22 23:41:36 +01:00
Grecko
9c3e57c02e
fix: don't call sourceData with an invalid role
...
This is related to bug #46
2018-03-22 23:36:59 +01:00
Grecko
6ff055d47d
test: Add a test case for sorting on a model with no initial roles
...
This cause a crash when adding 2 rows to an empty ListModel
2018-03-22 19:16:00 +01:00
Grecko
6211989a48
test: Simplify IndexFilter tests
2017-12-01 00:40:52 +01:00
Kenn Sebesta
18218454e2
Include checkbox in README.md
...
This includes the missing checkbox component for the sorting demo.
2017-11-21 19:04:22 +01:00
oKcerG
d1c46fd13f
doc: Add link to showcase in readme
2017-11-21 18:41:38 +01:00
Grecko
23faaeea22
doc: Regenerate the doc
2017-10-13 01:10:47 +02:00
mitchcurtis
26e2a983eb
Fix ExpressionSorter docs ( #45 )
2017-10-13 00:50:57 +02:00