레이어 검색을 접어 두고 머리로 올린다
검색칩이 항상 한 줄을 먹고 있었다. 컨트롤이 몇 개뿐인 서식이 대부분이라 그 줄은 대개 빈 상자다. 돋보기·필터·필터해제를 '레이어' 글씨 오른쪽으로 올리고, 검색바는 돋보기를 눌러야 나오게 했다. 돋보기를 끌 때 검색어를 지운다. 상자가 접힌 채 필터만 살아 있으면 목록이 통째로 비어 보이는데 원인을 찾을 단서가 화면에 하나도 없다 — 열어 봐야 비로소 "아, 검색어가 남아 있었구나"가 된다. 켤 때는 한 틱 뒤에 포커스를 준다. 상자가 실제로 보이게 된 다음이어야 캐럿이 들어간다 (그룹 이름 편집 상자가 같은 이유로 같은 방식을 쓴다). 필터 버튼 둘은 위치만 옮겼다 — 활성 표시(파란 깔때기)와 해제 버튼을 흐리게 두는 규칙은 그대로다. 게이트: 테스트 267/267, --edit-smoke 236건 0실패, --query-popup 17/17, --maxrect 10/10, --db-smoke 3000 diff 0·예외 0, --db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 동일, --dialog-shots 57파일. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6ee4435575
commit
d474937837
@@ -113,6 +113,26 @@ public partial class LayerPanelView : System.Windows.Controls.UserControl
|
||||
e.Handled = handled;
|
||||
}
|
||||
|
||||
/// <summary>돋보기를 켰다 — 상자가 실제로 보이게 된 뒤에 포커스를 준다(한 틱 뒤)</summary>
|
||||
private void OnLayerSearchOpened(object sender, RoutedEventArgs e)
|
||||
=> Dispatcher.BeginInvoke(new Action(() =>
|
||||
{
|
||||
LayerSearchBox.Focus();
|
||||
System.Windows.Input.Keyboard.Focus(LayerSearchBox);
|
||||
}), System.Windows.Threading.DispatcherPriority.Input);
|
||||
|
||||
/// <summary>
|
||||
/// 돋보기를 껐다 — 검색어를 지운다.
|
||||
/// 상자가 접힌 채 필터만 살아 있으면 목록이 통째로 비어 보이고 원인을 찾을 단서가 화면에 없다.
|
||||
/// </summary>
|
||||
private void OnLayerSearchClosed(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (Designer is { } designer)
|
||||
{
|
||||
designer.LayerFilter = string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>페이지 구획의 + — 트리 안에 있던 '페이지 추가' 행을 대신한다</summary>
|
||||
private void OnPageAddClick(object sender, RoutedEventArgs e) => Designer?.AddPage();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user