Re-implement the status and importance flags #1034
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
This PR completely rewrites the NWStatus class, the class that controls all the status and importance flags in the project.
With this change, the text of the label is no longer the information stored for each item in the project. Matching those with the pre-defined list was always a bit risky due to the way XML treats text. In this new implementation, each status or importance flag is given a key, which is either an "s" or an "i" followed by a random 24 bit value in hex. This decouples the visible label from the underlying flag, which means there is no need to update the values for the project items when a flag is re-labelled. It's the same logic that is used with the item labels themselves.
Related Issue(s):
Reviewer's Checklist: