하단 워크스페이스 진입 흐름과 패널 요약 보강
Some checks failed
Release Gate / gate (push) Has been cancelled

- Cowork와 Code 하단 바에 워크스페이스 진입 칩을 공통 추가해 작업 위치 전환 흐름을 먼저 보이도록 정리함

- 워크스페이스 검색 패널 상단에 현재·최근·전체 요약 strip을 넣어 현재 선택과 탐색 범위를 즉시 파악할 수 있게 보강함

- README.md와 docs/DEVELOPMENT.md에 2026-04-05 00:43 (KST) 기준 이력을 반영함

- 검증: 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:
2026-04-05 00:27:54 +09:00
parent f9fd144bd0
commit d657539556
3 changed files with 39 additions and 0 deletions

View File

@@ -1304,6 +1304,16 @@ public partial class ChatWindow : Window
.Take(maxDisplay)
.ToList();
var currentWorkspaceName = string.IsNullOrWhiteSpace(currentFolder)
? "없음"
: System.IO.Path.GetFileName(currentFolder.TrimEnd('\\', '/'));
FolderMenuItems.Children.Add(CreatePopupSummaryStrip(new[]
{
("현재", currentWorkspaceName, "#F8FAFC", "#E2E8F0", "#475569"),
("최근", filteredRecent.Count.ToString(), "#EFF6FF", "#BFDBFE", "#1D4ED8"),
("전체", workspaceFolders.Count.ToString(), "#F5F3FF", "#DDD6FE", "#6D28D9"),
}));
void AddWorkspaceRows(IEnumerable<string> folders)
{
foreach (var folder in folders)
@@ -12540,6 +12550,10 @@ public partial class ChatWindow : Window
{
MoodIconPanel.Children.Clear();
var workspaceBtn = CreateWorkspaceFolderBarButton();
workspaceBtn.MouseLeftButtonUp += (_, e) => { e.Handled = true; ShowFolderMenu(); };
MoodIconPanel.Children.Add(workspaceBtn);
// ── 파일 탐색기 토글 버튼 ──
var fileBrowserBtn = CreateFolderBarButton("\uED25", "파일", "파일 탐색기 열기/닫기", "#D97706");
fileBrowserBtn.MouseLeftButtonUp += (_, e) => { e.Handled = true; ToggleFileBrowser(); };
@@ -12557,6 +12571,10 @@ public partial class ChatWindow : Window
{
MoodIconPanel.Children.Clear();
var workspaceBtn = CreateWorkspaceFolderBarButton();
workspaceBtn.MouseLeftButtonUp += (_, e) => { e.Handled = true; ShowFolderMenu(); };
MoodIconPanel.Children.Add(workspaceBtn);
var localBtn = CreateFolderBarButton("\uED25", "로컬", "원본 워크스페이스로 전환", "#6B7280");
localBtn.MouseLeftButtonUp += (_, e) =>
{
@@ -12586,6 +12604,18 @@ public partial class ChatWindow : Window
if (FormatMoodSeparator != null) FormatMoodSeparator.Visibility = Visibility.Visible;
}
private Border CreateWorkspaceFolderBarButton()
{
var currentFolder = GetCurrentWorkFolder();
var label = string.IsNullOrWhiteSpace(currentFolder)
? "워크스페이스"
: TruncateForStatus(Path.GetFileName(currentFolder.TrimEnd('\\', '/')), 18);
var tooltip = string.IsNullOrWhiteSpace(currentFolder)
? "워크스페이스 선택"
: $"워크스페이스 선택\n현재: {currentFolder}";
return CreateFolderBarButton("\uE8B7", label, tooltip, "#4B5EFC");
}
private string GetWorktreeModeLabel()
{
var folder = GetCurrentWorkFolder();