View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005525 | DarkRadiant | GUI | public | 05.02.2021 13:16 | 18.01.2026 08:04 |
| Reporter | Dragofer | Assigned To | orbweaver | ||
| Priority | normal | Severity | minor | Reproducibility | N/A |
| Status | confirmed | Resolution | open | ||
| Product Version | 2.11.0 | ||||
| Summary | 0005525: Toggle multiple filters at once | ||||
| Description | [Split off from 0000590] Fidcal has suggested adding the ability to toggle multiple filters at once in pre-determined combinations ("favourites"). I think this is a worthwhile idea, since there are many filters that need to be enabled before a map can be meaningfully navigated by eye: - caulk, clip, paths, visportals, nodraw, collision, shadow, trigger Sometimes they all need to be disabled, such as when moving a section of the map or when one wants to see all components of a prefab, and it's inconvenient to re-enable them all individually. Making a combination out of them that can be enabled or disabled with one click would be a decent small QoL feature. As greebo suggested, one could just make one giant filter that filters out all the above things. But I don't see how one would then disable individual filters. | ||||
| Tags | No tags attached. | ||||
| related to | 0000590 | closed | Would like to add filters for "Portal Sky" and "No Draw Solid". Also, would like a "favourites" setting, and an "Inverse" |
|
DarkRadiant: master 579040b6 02.07.2025 18:43 Details Diff |
0005525: update to a new, flatter filter icon |
Affected Issues 0005525 |
|
| mod - install/bitmaps/iconFilter16.png | Diff File | ||
|
DarkRadiant: master a836b384 02.07.2025 19:03 Details Diff |
0005525: implement operator== for FilterRule |
Affected Issues 0005525 |
|
| mod - libs/scene/filters/FilterRule.h | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
|
DarkRadiant: master f51287c7 08.07.2025 19:43 Details Diff |
0005525: add FilterRule::getTypeString() This new method replaces two almost-duplicate code blocks which map filter types to string representations: one for the filter editor UI, and another for serialising the custom filters to XML. |
Affected Issues 0005525 |
|
| mod - libs/scene/filters/FilterRule.h | Diff File | ||
| mod - libs/scene/filters/SceneFilter.h | Diff File | ||
| mod - radiant/ui/filters/editor/FilterEditor.cpp | Diff File | ||
| mod - radiant/ui/filters/editor/FilterEditor.h | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.cpp | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
|
DarkRadiant: master ac26547c 15.07.2025 18:33 Details Diff |
0005525: FilterRule now initialised with filters::Query variant Replace the two Create methods and the two private constructors with a single public constructor which accepts a filters::Query variant. Each of the variant's subtypes corresponds to one of the filter types, and contains the necessary parameters for that type. Currently this only affects the construction parameters, not the internal storage. FilterRule is still exposing the same set of individual member variables containing the filter parameters, since these are used elsewhere. |
Affected Issues 0005525 |
|
| mod - libs/scene/filters/FilterRule.h | Diff File | ||
| mod - libs/scene/filters/SceneFilter.h | Diff File | ||
| mod - radiant/ui/filters/editor/FilterEditor.cpp | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.cpp | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
|
DarkRadiant: master 225db35d 23.07.2025 18:34 Details Diff |
0005525: remove type parameter from IFilterSystem::isEntityVisible The only user of this method was calling twice, once with ECLASS and again with SPAWNARG. This two-stage check is now moved into the method itself. |
Affected Issues 0005525 |
|
| mod - include/ientity.h | Diff File | ||
| mod - include/ifilter.h | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.cpp | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.h | Diff File | ||
| mod - radiantcore/filters/InstanceUpdateWalker.h | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
|
DarkRadiant: master b4059e27 30.07.2025 18:22 Details Diff |
0005525: remove type parameter from SceneFilter::isEntityVisible Move the two-stage check for ECLASS and SPAWNARG down into the method implementation so that it doesn't have to be repeated at each call site. |
Affected Issues 0005525 |
|
| mod - libs/scene/filters/SceneFilter.cpp | Diff File | ||
| mod - libs/scene/filters/SceneFilter.h | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.cpp | Diff File | ||
| mod - radiantcore/filters/SetObjectSelectionByFilterWalker.h | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
|
DarkRadiant: master 074f2711 04.08.2025 18:29 Details Diff |
0005525: SceneFilter can be constructed from xml::Node Move the parsing code from BasicFilterSystem into a new SceneFilter constructor, allowing it to be unit tested more easily. |
Affected Issues 0005525 |
|
| mod - libs/scene/CMakeLists.txt | Diff File | ||
| mod - libs/scene/filters/SceneFilter.cpp | Diff File | ||
| mod - libs/scene/filters/SceneFilter.h | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.cpp | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.h | Diff File | ||
| mod - radiantcore/filters/SetObjectSelectionByFilterWalker.h | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
|
DarkRadiant: master 61b177e1 12.08.2025 18:33 Details Diff |
0005525: saving filters to XML is now handled by SceneFilter A new method saveToNode contains the code for serialising filter objects to XML, which was previously in BasicFilterSystem. As a result, this code can now be unit tested. |
Affected Issues 0005525 |
|
| mod - libs/scene/filters/SceneFilter.cpp | Diff File | ||
| mod - libs/scene/filters/SceneFilter.h | Diff File | ||
| mod - radiantcore/filters/BasicFilterSystem.cpp | Diff File | ||
| mod - test/Filters.cpp | Diff File | ||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 05.02.2021 13:16 | Dragofer | New Issue | |
| 05.02.2021 13:16 | Dragofer | Relationship added | related to 0000590 |
| 05.02.2021 13:28 | Dragofer | Description Updated | |
| 01.07.2025 19:02 | orbweaver | Assigned To | => orbweaver |
| 01.07.2025 19:02 | orbweaver | Status | new => confirmed |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master 579040b6 |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master a836b384 |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master f51287c7 |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master ac26547c |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master 225db35d |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master b4059e27 |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master 074f2711 |
| 18.01.2026 08:04 | orbweaver | Changeset attached | => DarkRadiant master 61b177e1 |