Skip to content

Commit ec3c6f9

Browse files
committed
Keep inline model dropdown alphabetical
1 parent 4c440cc commit ec3c6f9

2 files changed

Lines changed: 1 addition & 45 deletions

File tree

StabilityMatrix.Avalonia/Controls/Inference/ModelCard.axaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
Grid.Column="1"
5757
Padding="8,6,4,6"
5858
HorizontalAlignment="Stretch"
59-
ItemsSource="{Binding WorkflowFilteredModels}"
59+
ItemsSource="{Binding ClientManager.AllModels}"
6060
SelectedItem="{Binding SelectedUnifiedModel}"
6161
Theme="{StaticResource BetterComboBoxHybridModelTheme}" />
6262

StabilityMatrix.Avalonia/ViewModels/Inference/ModelCardViewModel.cs

Lines changed: 0 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Collections.ObjectModel;
2-
using System.Collections.Specialized;
32
using System.ComponentModel.DataAnnotations;
43
using System.Text.Json.Nodes;
54
using CommunityToolkit.Mvvm.ComponentModel;
@@ -185,7 +184,6 @@ public HybridModelFile? SelectedUnifiedModel
185184
nameof(ShowShift),
186185
nameof(ShowEncoderTypeSelection),
187186
nameof(HasRecommendedDefaults),
188-
nameof(WorkflowFilteredModels),
189187
nameof(WorkflowProfileStatusText),
190188
nameof(ShowWorkflowProfileStatus),
191189
nameof(RecommendedDefaultsToolTip)
@@ -313,7 +311,6 @@ SelectedWorkflowProfile is InferenceWorkflowProfile.Auto
313311
"Apply recommended sampler defaults: ER SDE / Simple / 30 steps / CFG 4",
314312
_ => "No recommended sampler defaults for this workflow",
315313
};
316-
public IReadOnlyList<HybridModelFile> WorkflowFilteredModels => GetWorkflowFilteredModels();
317314

318315
public event Action<InferenceWorkflowProfile>? RecommendedDefaultsRequested;
319316

@@ -327,27 +324,19 @@ protected override void OnInitialLoaded()
327324
{
328325
SetDefaultEncoderCount();
329326
}
330-
331-
ClientManager.AllModels.CollectionChanged += AllModelsOnCollectionChanged;
332327
}
333328

334329
public override void OnUnloaded()
335330
{
336331
base.OnUnloaded();
337332
ExtraNetworksStackCardViewModel.CardAdded -= ExtraNetworksStackCardViewModelOnCardAdded;
338-
ClientManager.AllModels.CollectionChanged -= AllModelsOnCollectionChanged;
339333
}
340334

341335
private void ExtraNetworksStackCardViewModelOnCardAdded(object? sender, LoadableViewModelBase e)
342336
{
343337
OnSelectedModelChanged(SelectedModel);
344338
}
345339

346-
private void AllModelsOnCollectionChanged(object? sender, NotifyCollectionChangedEventArgs e)
347-
{
348-
OnPropertyChanged(nameof(WorkflowFilteredModels));
349-
}
350-
351340
[RelayCommand]
352341
private static async Task OnConfigClickAsync()
353342
{
@@ -713,39 +702,6 @@ private static InferenceWorkflowProfile InferWorkflowProfile(HybridModelFile? mo
713702
return InferenceWorkflowProfile.DefaultCheckpoint;
714703
}
715704

716-
private IReadOnlyList<HybridModelFile> GetWorkflowFilteredModels()
717-
{
718-
var allModels = ClientManager.AllModels.ToList();
719-
720-
if (SelectedWorkflowProfile is InferenceWorkflowProfile.Auto or InferenceWorkflowProfile.Custom)
721-
return allModels;
722-
723-
var compatibleModels = allModels
724-
.Where(model => IsModelCompatibleWithWorkflow(model, SelectedWorkflowProfile))
725-
.ToHashSet(HybridModelFile.Comparer);
726-
727-
if (compatibleModels.Count == 0)
728-
return allModels;
729-
730-
return allModels
731-
.OrderBy(model => compatibleModels.Contains(model) ? 0 : 1)
732-
.ThenBy(model => model.ShortDisplayName, StringComparer.OrdinalIgnoreCase)
733-
.ToList();
734-
}
735-
736-
private static bool IsModelCompatibleWithWorkflow(HybridModelFile model, InferenceWorkflowProfile profile)
737-
{
738-
var isUnetModel = model.Local?.SharedFolderType is SharedFolderType.DiffusionModels;
739-
740-
if (profile is InferenceWorkflowProfile.DefaultCheckpoint)
741-
return !isUnetModel;
742-
743-
if (!isUnetModel)
744-
return false;
745-
746-
return InferWorkflowProfile(model, true) == profile;
747-
}
748-
749705
/// <summary>
750706
/// Loads text encoders from the saved model state, supporting both new and legacy formats.
751707
/// </summary>

0 commit comments

Comments
 (0)