Commit Graph

85 Commits

Author SHA1 Message Date
mitchcurtis 26e2a983eb Fix ExpressionSorter docs (#45) 2017-10-13 00:50:57 +02:00
Grecko 15ccba1f14 doc: Regenerate the doc 2017-09-26 22:34:19 +02:00
Grecko 2a439497ae doc: document the proxy role types 2017-09-26 22:28:07 +02:00
Grecko 38903de8f8 feat: add ExpressionRole proxy role type 2017-09-26 22:28:06 +02:00
Grecko 4dc2eb1d7a fix: fix StringSorter case sensitive test 2017-09-26 22:28:05 +02:00
Grecko d19e22fd54 feat: add a defaultValue property to SwitchRole 2017-09-26 22:28:05 +02:00
Grecko 9a475e52ac feature: Add SwitchRole proxy role type 2017-09-17 21:16:26 +02:00
Grecko 94a08b49ec refactor: Refactor Sorter and Fitler to be consistent with ProxyRole
remove the friendness with QQSFPM
2017-09-17 21:01:53 +02:00
Grecko 7a2e70b980 fix: emit modelReset signal after a ProxyRole changes its name
refactor proxy roles tests
2017-09-17 15:54:56 +02:00
Grecko dc154fd46b fix: correctly emit dataChanged
emit dataChanged for all of our proxyRoles when another roles has changed
2017-09-16 19:33:22 +02:00
Grecko c81dcafc35 fix: Allow filters to filters on proxy roles 2017-09-16 19:22:57 +02:00
Grecko 5b071c9526 feat: Add JoinRole proxy role type 2017-09-16 16:53:11 +02:00
Grecko 48ac2bfcd7 test: Add tests for the proxy role functionality 2017-09-16 16:50:39 +02:00
Unknown 400f453d91 feature: Add new basic ProxyRole functionality
Add a base ProxyRole type and proxyRoles handling
2017-09-16 16:44:56 +02:00
oKcerG 25b506a3d7 Update README.md 2017-09-12 01:50:42 +02:00
oKcerG e5b90a47df Update README.md 2017-09-12 01:46:41 +02:00
Pierre-Yves Siret 3f52c81299 doc: Regenerate documentation for StringSorter 2017-09-12 01:29:47 +02:00
Pierre-Yves Siret 9e37e58eef feature: add StringSorter type 2017-09-12 01:28:28 +02:00
Pierre-Yves Siret 2f555860ff tests: Fix order of values in assert message 2017-09-12 00:02:18 +02:00
Pierre-Yves Siret 27af0544ec test: add more tests for sorters
Test RoleSorter and add a test to check tie resolutions in sorters
2017-09-11 21:40:59 +02:00
Pierre-Yves Siret e260eac830 [fix] Fix IndexFilter bug with negative limits 2017-09-03 18:11:46 +02:00
Pierre-Yves Siret a96701bb85 [test] Add a new test revealing a bug in IndexFilter 2017-09-03 17:43:17 +02:00
Pierre-Yves Siret 84519a2a8e [doc] Generate documentation 2017-09-02 18:32:31 +02:00
Pierre-Yves Siret 9009d18554 Merge branch 'feature/filters-and-sorters' 2017-09-02 18:31:04 +02:00
Pierre-Yves Siret 14c0acc993 [doc] Adding some documentation
🔥 📖
2017-09-02 18:10:01 +02:00
Pierre-Yves Siret 985c5b0e55 refactor: ascendingSortOrder property becomes sortOrder
Changed type from a bool to the Qt::SortOrder enum.

It's still possible to use the ascendingSortOrder bool property (for
now).
2017-09-02 16:07:22 +02:00
Pierre-Yves Siret 1c0731a38c refactor: copy PatternSyntax enum to RegExpFilter 2017-09-02 16:03:34 +02:00
Tim Angus 598bd7295b Improve warning to handle C++14 case (#42) 2017-08-16 10:49:22 +02:00
Alberto Mardegan c723de3fb5 Update version number in README.md (#39) 2017-07-26 12:14:41 +02:00
Pierre-Yves Siret 070597a9d4 refactor: remove superfluous signal to slot connection
Now Filter::filterChanged and Sorter::sorterChanged are both protected
functions and not anymore signals.
Derived classes call these functions directly to indicated that they have
changed.
2017-06-07 16:12:27 +02:00
Pierre-Yves Siret e109c91553 Add *.qmlc in .gitignore 2017-06-07 02:19:47 +02:00
Pierre-Yves Siret ac45b581d6 fix: workaround for ListModel starting with no roles
A ListModel with no roles first won't emit modelReset when its roles
change (QTBUG-57971).

Fixes #26
2017-06-07 02:10:22 +02:00
Pierre-Yves Siret 7c72171c7a test: add some tests for the builtin convenience filters 2017-06-07 01:28:59 +02:00
Pierre-Yves Siret f2edc17ad6 test: Enable no_keywords config for the test project 2017-02-28 01:04:22 +01:00
Pierre-Yves Siret 79b651c9fd feat: Add mapToSource and mapFromSource helpers
Add helper functions to map a row number to and from a source model.
This avoids the need of creating a QModelIndex first when mapping
indexes between the proxy model and the source model.
Mapping with a QModelIndex is still possible, the return type of the
helpers will be the same as the one of the input parameter, a QModelIndex
or a row number.

Fix #23
2017-02-28 00:46:59 +01:00
Pierre-Yves Siret cb26d890b9 Added 2 helper functions : get & roleForName
Closes #24
2017-02-16 19:07:25 +01:00
Pierre-Yves Siret 56f78c7037 Fixes the capitalization of RegExpFilter
From RegexpFilter to RegExpFilter (both in C++ and QML)
Fixes #21
2017-01-24 19:25:55 +01:00
Pierre-Yves Siret fcd8d07fc9 Fixes the sorting not being invalidated when disabling a Sorter
Fixes #22
2017-01-24 19:19:33 +01:00
Pierre-Yves Siret 8fc7679ab8 Fixes a bug where sorters wouldn't get cleared
This bug was exposed by commit 9a72c73226
Also fixes a cosmetic typo in a variable name
2017-01-24 19:16:35 +01:00
Pierre-Yves Siret 9a72c73226 Added tests to verify the core sorter functionnality
Issue #22 where a Sorter being disabled doesn't trigger a sort change is
exposed.
2017-01-24 19:07:15 +01:00
Pierre-Yves Siret a3d95d2290 Check the roles after a row is added for a model with no roles intially
Fixes #13
2017-01-08 22:54:44 +01:00
Pierre-Yves Siret edf53b56ef Add tests to check if the proxy roles are synched with the source model 2017-01-08 22:07:45 +01:00
PYS 10e03e32b6 Add the possibility to specify a negative index in IndexFilter to start from the end 2016-12-02 15:35:53 +01:00
PYS 65fb8595f8 Modify .gitignore to hide shadow builds 2016-12-02 14:22:53 +01:00
Pierre-Yves Siret ace384cd22 Fixes bug where a 0 minimum/maximumIndex has no effect in IndexFilter
Closes #15
2016-12-02 02:29:17 +01:00
Pierre-Yves Siret 90d0c567a8 Fixes the filtering not being invalidated when disabling a filter
Fixes #14
2016-12-02 02:24:44 +01:00
Pierre-Yves Siret f542f18976 Allow compilation when using CONFIG += no_keywords
Fixes #19
2016-12-02 02:13:16 +01:00
Keith Kyzivat fea3718d99 Add tests infrastructure, starting with RangeFilter and IndexFilter
* Add infrastructure for testing SortFilterProxyModel
* Add tests for RangeFilter.
* Add tests for IndexFilter.
2016-12-02 01:38:22 +01:00
Keith Kyzivat 472b344ff6 Add a basic .gitignore
* Ignore basic stuff, like qt creator user project files, object
  files, vim backup files, Makefiles, etc.
2016-12-02 01:36:28 +01:00
Keith Kyzivat 7e2dff0703 Consistent initial min,max values for IndexFilter
* Set initial min,max values for IndexFilter to 0.
* Improves testability, allows one to leave-off setting min, max
  if they want 0 for the value.
2016-12-02 01:36:27 +01:00