feat: Add theme (and general config.json) import functionality #519
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.
! Generated with significant LLM assistance !
Adds the ability to import color themes from JSON files within the preferences dialog.
This commit introduces:
SetColormethod toColourButtonto allow programmatic color updates.ThemeImportVisitorto recursively parse JSON objects and update corresponding color options.Currently it works with the themes from this collection https://sgt0.github.io/aegisub-themes . However, you need to manually create a valid JSON file with a structure mirroring the value of the "Colors" key in the config.json.
Note that this is a commit to gauge whether this might be an interesting feature. To polish it more, I suggest creating a general themes folder where people could drop their theme and select it from a dropdown menu in the interface.