Change sort characters by series from a boolean to a combo list.
This commit is contained in:
@@ -35,7 +35,7 @@ In the ComfyUI settings, you can modify various settings. Some changes will appl
|
||||
| Max Difference in Lora Loading | 0 - 100 | Specifies the maximum allowable difference between a tag and a LoRa for it to be loaded. |
|
||||
| Random Characters from Favourites Only | True / False | Ensures random characters are selected only from your favorited characters. |
|
||||
| Remove Lora Path | True / False | Removes the path information from loras and only keeps the name. |
|
||||
| Sort Characters By Series | True / False | Sorts characters by their series instead of alphabetically. |
|
||||
| Sort Characters By | Alphabetically<br>Series | Sorts characters either alphabetically or by their series. |
|
||||
| Sort Loras By | Alphabetically<br>Last Changed | Sorts loras either alphabetically or by latest changed. |
|
||||
|
||||
## Important Note
|
||||
|
||||
@@ -28,7 +28,7 @@ class CharacterSelectNode:
|
||||
character_dict = {}
|
||||
final_character_dict = {}
|
||||
final_characters = []
|
||||
cached_sorting_setting = ConfigReader.get_setting("sn0w.SortBySeries", False)
|
||||
cached_sorting_setting = ConfigReader.get_setting("sn0w.SortCharactersBy", "alphabetical")
|
||||
cached_default_character_setting = ConfigReader.get_setting("sn0w.DisableDefaultCharacters", False)
|
||||
last_character = ""
|
||||
|
||||
@@ -56,7 +56,7 @@ class CharacterSelectNode:
|
||||
):
|
||||
cls.cached_default_character_setting = ConfigReader.get_setting("sn0w.DisableDefaultCharacters", False)
|
||||
cls.initialize()
|
||||
elif cls.cached_sorting_setting != ConfigReader.get_setting("sn0w.SortBySeries", False):
|
||||
elif cls.cached_sorting_setting != ConfigReader.get_setting("sn0w.SortCharactersBy", "alphabetical"):
|
||||
cls.sort_characters()
|
||||
|
||||
@classmethod
|
||||
@@ -92,13 +92,13 @@ class CharacterSelectNode:
|
||||
|
||||
@classmethod
|
||||
def sort_characters(cls, force_sort=False):
|
||||
current_sorting_setting = ConfigReader.get_setting("sn0w.SortBySeries", False)
|
||||
current_sorting_setting = ConfigReader.get_setting("sn0w.SortCharactersBy", "alphabetical")
|
||||
if current_sorting_setting != cls.cached_sorting_setting or force_sort:
|
||||
if current_sorting_setting:
|
||||
if current_sorting_setting == "series":
|
||||
cls.final_character_dict = {
|
||||
name: cls.character_dict[name] for name in sorted(cls.character_dict, key=cls.extract_series_name)
|
||||
}
|
||||
else:
|
||||
if current_sorting_setting == "alphabetical":
|
||||
cls.final_character_dict = {name: cls.character_dict[name] for name in sorted(cls.character_dict)}
|
||||
|
||||
cls.cached_sorting_setting = current_sorting_setting
|
||||
|
||||
@@ -16,12 +16,16 @@ function updateSorting(graphCanvas) {
|
||||
}, 50);
|
||||
}
|
||||
|
||||
const id = 'sn0w.SortBySeries';
|
||||
const id = 'sn0w.SortCharactersBy';
|
||||
const settingDefinition = {
|
||||
id,
|
||||
name: '[Sn0w] Sort Characters By Series',
|
||||
name: '[Sn0w] Sort Characters By',
|
||||
defaultValue: false,
|
||||
type: 'boolean',
|
||||
options: [
|
||||
{ text: 'Alphabetical', value: 'alphabetical' },
|
||||
{ text: 'Series', value: 'series' },
|
||||
],
|
||||
type: 'combo',
|
||||
onChange: () => updateSorting(app),
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user