Change sort characters by series from a boolean to a combo list.

This commit is contained in:
Lucas Sköld
2024-07-29 14:49:26 +02:00
parent 4f97507d4e
commit 2d176fa85f
3 changed files with 13 additions and 9 deletions
+1 -1
View File
@@ -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
+5 -5
View File
@@ -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),
};