Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AIDevGallery/Controls/ModelPicker/ModelOrApiPicker.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
<ColumnDefinition Width="16" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Source="{x:Bind Icon}" />
<Image Source="{x:Bind Icon, Mode=OneWay}" />
<TextBlock Grid.Column="1" Text="{x:Bind Name}" TextWrapping="Wrap" />
</Grid>
</DataTemplate>
Expand Down
2 changes: 2 additions & 0 deletions AIDevGallery/Controls/ModelPicker/ModelOrApiPicker.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ internal sealed partial class ModelOrApiPicker : UserControl
public ModelOrApiPicker()
{
this.InitializeComponent();
this.ActualThemeChanged += (_, _) => ModelPickerDefinition.RefreshThemeAwareIcons();
}

private void OnSelectedModelsChanged(object sender, List<ModelDetails?> args)
Expand Down Expand Up @@ -157,6 +158,7 @@ private void SetSelectedIndex(int index)

private async Task LoadModels(List<ModelType> types)
{
ModelPickerDefinition.RefreshThemeAwareIcons();
modelTypeSelector.Items.Clear();
modelsGrid.Children.Clear();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,14 @@

using AIDevGallery.ExternalModelUtils;
using AIDevGallery.Utils;
using CommunityToolkit.Mvvm.ComponentModel;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace AIDevGallery.Controls.ModelPickerViews;

internal class ModelPickerDefinition
internal class ModelPickerDefinition : ObservableObject
{
public static readonly Dictionary<string, ModelPickerDefinition> Definitions = new()
{
Expand Down Expand Up @@ -71,9 +72,25 @@ internal class ModelPickerDefinition
}
};

private string icon = string.Empty;

public required string Name { get; set; }
public required string Icon { get; set; }

public required string Icon
{
get => icon;
set => SetProperty(ref icon, value);
}

public required string Id { get; set; }
public required Func<BaseModelPickerView> CreatePicker { get; set; }
public Func<Task<bool>> IsAvailable { get; set; } = () => Task.FromResult(true);

public static void RefreshThemeAwareIcons()
{
string suffix = AppUtils.GetThemeAssetSuffix();
Definitions["onnx"].Icon = $"ms-appx:///Assets/ModelIcons/CustomModel{suffix}.png";
Definitions["ollama"].Icon = $"ms-appx:///Assets/ModelIcons/Ollama{suffix}.png";
Definitions["openai"].Icon = $"ms-appx:///Assets/ModelIcons/OpenAI{suffix}.png";
}
}
3 changes: 2 additions & 1 deletion AIDevGallery/Controls/SampleContainer.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@
</Grid.ColumnDefinitions>
<ScrollViewer
x:Name="LineNumbersScroller"
AutomationProperties.Name="Line numbers"
HorizontalScrollBarVisibility="Hidden"
HorizontalScrollMode="Disabled"
VerticalScrollBarVisibility="Hidden"
Expand All @@ -172,7 +173,7 @@
x:Name="LineNumbersTextBlock"
Grid.Column="0"
Margin="8,16"
AutomationProperties.Name="Line numbers"
AutomationProperties.AccessibilityView="Raw"
FontFamily="Consolas"
FontSize="14"
Foreground="{ThemeResource AccentTextFillColorSecondaryBrush}"
Expand Down
4 changes: 1 addition & 3 deletions AIDevGallery/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -563,9 +563,7 @@ private void UpdateResources()
new Uri($"ms-appx:///Assets/ModelIcons/GitHub{AppUtils.GetThemeAssetSuffix()}.svg"));
}

ModelPickerDefinition.Definitions["onnx"].Icon = $"ms-appx:///Assets/ModelIcons/CustomModel{AppUtils.GetThemeAssetSuffix()}.png";
ModelPickerDefinition.Definitions["ollama"].Icon = $"ms-appx:///Assets/ModelIcons/Ollama{AppUtils.GetThemeAssetSuffix()}.png";
ModelPickerDefinition.Definitions["openai"].Icon = $"ms-appx:///Assets/ModelIcons/OpenAI{AppUtils.GetThemeAssetSuffix()}.png";
ModelPickerDefinition.RefreshThemeAwareIcons();
UpdateCaptionButtonColors();
});
}
Expand Down
Loading