AX Commander 하단 위젯 설정 분리와 서버 상태 제거
Some checks failed
Release Gate / gate (push) Has been cancelled

- 일반 설정의 AX Commander 섹션에 성능, 포모도로, 메모, 날씨, 일정, 배터리 위젯 표시 토글을 추가

- 런처 하단의 Ollama, API, MCP 서버 상태 위젯을 완전히 제거하고 남은 위젯만 설정값 기준으로 표시되도록 정리

- 배터리 위젯은 실제 배터리 가용 상태와 사용자 토글을 함께 반영하고 위젯이 모두 꺼지면 하단 바 전체를 숨기도록 조정

- README와 DEVELOPMENT 문서를 2026-04-05 15:16 (KST) 기준으로 갱신하고 dotnet build 검증에서 경고 0 오류 0 확인
This commit is contained in:
2026-04-05 13:48:00 +09:00
parent d368ebf822
commit 5fd69d32f5
7 changed files with 241 additions and 140 deletions

View File

@@ -121,10 +121,13 @@
<Setter Property="HasDropShadow" Value="False"/>
<Setter Property="MaxWidth" Value="320"/>
<Setter Property="Placement" Value="Bottom"/>
<Setter Property="Background" Value="#1F2440"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="TextElement.Foreground" Value="White"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToolTip">
<Border Background="{DynamicResource LauncherBackground}" CornerRadius="10" Padding="14,10"
<Border Background="{TemplateBinding Background}" CornerRadius="10" Padding="14,10"
BorderBrush="{DynamicResource AccentColor}" BorderThickness="1">
<ContentPresenter/>
</Border>
@@ -546,6 +549,7 @@
<!-- 탭 컨트롤 (좌측 사이드바) -->
<!-- ══════════════════════════════════════════════════════════════════ -->
<TabControl x:Name="MainSettingsTab" Grid.Row="0" TabStripPlacement="Left"
SelectionChanged="MainSettingsTab_SelectionChanged"
Background="Transparent" BorderThickness="0">
<TabControl.Template>
<ControlTemplate TargetType="TabControl">
@@ -656,58 +660,6 @@
<ScrollViewer x:Name="GeneralMainPanel" Grid.Row="2" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Disabled">
<StackPanel>
<TextBlock Text="AI 기능" Style="{StaticResource SectionHeader}" Visibility="Collapsed"/>
<Border Style="{StaticResource SettingsRow}" Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Width="36" Height="36" CornerRadius="9"
Background="#8B2FC9" Margin="0,0,14,0" VerticalAlignment="Center">
<TextBlock Text="&#xE8BD;" FontFamily="Segoe MDL2 Assets" FontSize="17"
Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Column="1" VerticalAlignment="Center">
<TextBlock Text="AX Agent (AI 기능) 활성화" Style="{StaticResource RowLabel}"/>
<TextBlock Text="비활성화하면 ! 명령어가 차단되고 AX Agent 설정 메뉴가 숨겨집니다"
Style="{StaticResource RowHint}"/>
</StackPanel>
<CheckBox x:Name="AiEnabledToggle"
Grid.Column="2" Style="{StaticResource ToggleSwitch}"
HorizontalAlignment="Right" VerticalAlignment="Center"
Checked="AiEnabled_Changed" Unchecked="AiEnabled_Changed"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}" Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="200"/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" Width="36" Height="36" CornerRadius="9"
Background="#2563EB" Margin="0,0,14,0" VerticalAlignment="Center">
<TextBlock Text="&#xE72E;" FontFamily="Segoe MDL2 Assets" FontSize="17"
Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<StackPanel Grid.Column="1" VerticalAlignment="Center">
<TextBlock Text="운영 모드 (사내/사외)" Style="{StaticResource RowLabel}"/>
<TextBlock Text="사내모드는 외부 검색/외부 HTTP 호출/외부 URL 열기를 차단합니다."
Style="{StaticResource RowHint}"/>
</StackPanel>
<ComboBox x:Name="OperationModeCombo"
Grid.Column="2"
Width="200" Height="34"
VerticalAlignment="Center"
SelectionChanged="OperationModeCombo_SelectionChanged">
<ComboBoxItem Tag="internal" Content="사내모드 (internal)"/>
<ComboBoxItem Tag="external" Content="사외모드 (external)"/>
</ComboBox>
</Grid>
</Border>
<TextBlock Text="단축키" Style="{StaticResource SectionHeader}"/>
<Border Style="{StaticResource SettingsRow}">
<Grid>
@@ -1155,6 +1107,20 @@
</Grid>
</TabItem>
<TabItem x:Name="AgentShortcutTabItem" Header="AX Agent" Tag="&#xE8BD;" Style="{StaticResource SideNavItem}">
<Grid>
<StackPanel VerticalAlignment="Top">
<TextBlock Text="AX Agent 내부 설정 바로가기" Style="{StaticResource SectionHeader}" Margin="2,8,0,8"/>
<Border Style="{StaticResource SettingsRow}">
<StackPanel>
<TextBlock Text="AX Agent 채팅창을 열고 내부 설정 오버레이를 바로 표시합니다."
Style="{StaticResource RowHint}"/>
</StackPanel>
</Border>
</StackPanel>
</Grid>
</TabItem>
<!-- ════════════════════════════════════════════════════════════ -->
<!-- 2. 테마 탭 (테마 선택 + 색상 편집 합침) -->
<!-- ════════════════════════════════════════════════════════════ -->
@@ -3020,6 +2986,19 @@
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="마지막 위치 기억"/>
<TextBlock Style="{StaticResource RowHint}"
Text="AX Commander를 닫은 위치를 기억하고 다음에 같은 위치에서 엽니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}"
HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding RememberPosition, Mode=TwoWay}"/>
</Grid>
</Border>
<!-- 액션 모드 -->
<Border Style="{StaticResource SettingsRow}">
<Grid>
@@ -3065,6 +3044,74 @@
</Grid>
</Border>
<TextBlock Style="{StaticResource SectionHeader}" Text="하단 위젯"/>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="성능 위젯 표시"/>
<TextBlock Style="{StaticResource RowHint}" Text="CPU, RAM, 저장 공간 요약을 하단 바에 표시합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding ShowWidgetPerf, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="포모도로 위젯 표시"/>
<TextBlock Style="{StaticResource RowHint}" Text="집중 타이머와 남은 시간을 런처 하단에 표시합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding ShowWidgetPomo, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="메모 위젯 표시"/>
<TextBlock Style="{StaticResource RowHint}" Text="최근 메모 상태를 하단 바에서 빠르게 확인합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding ShowWidgetNote, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="날씨 위젯 표시"/>
<TextBlock Style="{StaticResource RowHint}" Text="현재 날씨와 온도를 런처 하단에 표시합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding ShowWidgetWeather, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="일정 위젯 표시"/>
<TextBlock Style="{StaticResource RowHint}" Text="다가오는 일정 또는 날짜 요약을 하단 바에서 보여줍니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding ShowWidgetCalendar, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="배터리 위젯 표시"/>
<TextBlock Style="{StaticResource RowHint}" Text="노트북 배터리 잔량과 충전 상태를 하단 바에 표시합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding ShowWidgetBattery, Mode=TwoWay}"/>
</Grid>
</Border>
</StackPanel>
</ScrollViewer>
@@ -3365,7 +3412,7 @@
<StackPanel x:Name="AgentCommonOverviewSection">
<TextBlock Style="{StaticResource SectionHeader}" Text="기본 상태"/>
<Border Style="{StaticResource AgentSettingsRow}">
<Border Style="{StaticResource AgentSettingsRow}" Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -3384,7 +3431,7 @@
Unchecked="AiEnabled_Changed"/>
</Grid>
</Border>
<Border Style="{StaticResource AgentSettingsRow}">
<Border Style="{StaticResource AgentSettingsRow}" Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -3409,7 +3456,7 @@
</WrapPanel>
</Grid>
</Border>
<Border Style="{StaticResource AgentSettingsRow}">
<Border Style="{StaticResource AgentSettingsRow}" Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
@@ -5669,17 +5716,6 @@
<Button Content="불러오기" Style="{StaticResource SecondaryButton}"
Click="ImportSettings_Click"
FontSize="10" Padding="8,3"/>
<Button Style="{StaticResource SecondaryButton}"
Click="BtnAgentShortcut_Click"
Margin="8,0,0,0"
FontSize="10"
Padding="10,4">
<StackPanel Orientation="Horizontal">
<TextBlock Text="&#xE8BD;" FontFamily="Segoe MDL2 Assets"
FontSize="11" Margin="0,0,5,0" VerticalAlignment="Center"/>
<TextBlock Text="AX Agent 설정" VerticalAlignment="Center"/>
</StackPanel>
</Button>
</StackPanel>
<!-- 저장 / 취소 -->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">