모델 빠른 설정 팝업 하단의 중복 모델 칩 줄을 제거해 리스트 선택만 남기도록 정리했다. 하단 모델 표시 라벨은 서비스명과 모델명을 함께 나열하던 방식에서 현재 모델명 중심의 간결한 표기로 바꿨다. README와 DEVELOPMENT 문서에 변경 이력과 시점을 반영했다. 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
@@ -1973,10 +1973,6 @@
|
||||
<StackPanel x:Name="InlineModelListPanel"
|
||||
Margin="0,0,0,8"/>
|
||||
|
||||
<WrapPanel x:Name="InlineModelChipPanel"
|
||||
Visibility="Collapsed"
|
||||
Margin="0,0,0,8"/>
|
||||
|
||||
<WrapPanel x:Name="InlineSettingsQuickActions" Margin="0,0,0,0">
|
||||
<Button x:Name="BtnInlineFastMode"
|
||||
Style="{StaticResource OutlineHoverBtn}"
|
||||
|
||||
@@ -14252,12 +14252,12 @@ public partial class ChatWindow : Window
|
||||
_ => "Ollama",
|
||||
};
|
||||
var model = GetCurrentModelDisplayName();
|
||||
const int maxLen = 22;
|
||||
const int maxLen = 24;
|
||||
if (model.Length > maxLen)
|
||||
model = model[..(maxLen - 1)] + "…";
|
||||
ModelLabel.Text = $"서비스 {serviceLabel} · {model}";
|
||||
ModelLabel.Text = string.IsNullOrWhiteSpace(model) ? serviceLabel : model;
|
||||
if (BtnModelSelector != null)
|
||||
BtnModelSelector.ToolTip = $"현재 서비스: {serviceLabel}\n현재 모델: {GetCurrentModelDisplayName()}\n모델/추론 빠른 설정";
|
||||
BtnModelSelector.ToolTip = $"현재 모델: {GetCurrentModelDisplayName()}\n서비스: {serviceLabel}";
|
||||
}
|
||||
|
||||
private static string NextReasoning(string current) => (current ?? "normal").ToLowerInvariant() switch
|
||||
@@ -14345,13 +14345,10 @@ public partial class ChatWindow : Window
|
||||
BuildInlineServiceCards(normalizedService);
|
||||
|
||||
CmbInlineModel.Items.Clear();
|
||||
InlineModelChipPanel.Children.Clear();
|
||||
if (models.Count == 0)
|
||||
{
|
||||
CmbInlineModel.Items.Add(new ComboBoxItem { Content = "등록된 모델 없음", IsEnabled = false });
|
||||
CmbInlineModel.SelectedIndex = 0;
|
||||
if (InlineModelChipPanel != null)
|
||||
InlineModelChipPanel.Visibility = Visibility.Collapsed;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -14367,55 +14364,6 @@ public partial class ChatWindow : Window
|
||||
var selectedIndex = models.FindIndex(m => m.Id == llm.Model);
|
||||
CmbInlineModel.SelectedIndex = selectedIndex >= 0 ? selectedIndex : 0;
|
||||
BuildInlineModelRows(models, llm.Model);
|
||||
|
||||
if (InlineModelChipPanel != null)
|
||||
{
|
||||
InlineModelChipPanel.Visibility = Visibility.Visible;
|
||||
foreach (var (id, label) in models.Take(6))
|
||||
{
|
||||
var isActive = string.Equals(id, llm.Model, StringComparison.OrdinalIgnoreCase);
|
||||
var chip = new Border
|
||||
{
|
||||
Background = isActive ? BrushFromHex("#EEF2FF") : Brushes.Transparent,
|
||||
BorderBrush = isActive ? BrushFromHex("#C7D2FE") : (TryFindResource("BorderColor") as Brush ?? Brushes.Gray),
|
||||
BorderThickness = new Thickness(1),
|
||||
CornerRadius = new CornerRadius(14),
|
||||
Padding = new Thickness(10, 5, 10, 5),
|
||||
Margin = new Thickness(0, 0, 6, 6),
|
||||
Cursor = Cursors.Hand,
|
||||
};
|
||||
var text = new TextBlock
|
||||
{
|
||||
Text = label,
|
||||
FontSize = 10.5,
|
||||
Foreground = isActive
|
||||
? BrushFromHex("#1D4ED8")
|
||||
: (TryFindResource("PrimaryText") as Brush ?? Brushes.White),
|
||||
};
|
||||
chip.Child = text;
|
||||
var capturedId = id;
|
||||
var capturedLabel = label;
|
||||
chip.MouseEnter += (_, _) =>
|
||||
{
|
||||
if (!isActive)
|
||||
chip.Background = TryFindResource("ItemHoverBackground") as Brush ?? Brushes.LightGray;
|
||||
};
|
||||
chip.MouseLeave += (_, _) =>
|
||||
{
|
||||
if (!isActive)
|
||||
chip.Background = Brushes.Transparent;
|
||||
};
|
||||
chip.MouseLeftButtonUp += (_, _) =>
|
||||
{
|
||||
llm.Model = capturedId;
|
||||
_settings.Save();
|
||||
UpdateModelLabel();
|
||||
RefreshInlineSettingsPanel();
|
||||
SetStatus($"모델 전환: {capturedLabel}", spinning: false);
|
||||
};
|
||||
InlineModelChipPanel.Children.Add(chip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BtnInlineFastMode.Content = GetQuickActionLabel("Fast", llm.FreeTierMode ? "켜짐" : "꺼짐");
|
||||
|
||||
Reference in New Issue
Block a user