4차 C-2: 아래쪽 정보를 창 아래 한 줄로
같은 뜻의 숫자가 세 군데에 있었다. 왼쪽은 어디, 가운데는 얼마나 남았나, 오른쪽은 무슨 파일인가. 패널 밖으로 나오면서 두 패널 코드 영역 높이가 저절로 같아진다.
This commit is contained in:
parent
9f0802e58f
commit
cbf9e64539
@ -320,4 +320,44 @@ Git 모드도 같이 정리됐다 - `BASE / 9c9e0bb · StartWeld.cs`, `LOCAL / m
|
|||||||
**걸린 것 하나** - `SplitLead` 의 튜플 요소 이름을 `Rest` 로 뒀다가 CS8126 이 났다.
|
**걸린 것 하나** - `SplitLead` 의 튜플 요소 이름을 `Rest` 로 뒀다가 CS8126 이 났다.
|
||||||
`Rest` 는 `ValueTuple` 이 제 필드 이름으로 쓰는 예약어다. `Tail` 로 바꿨다.
|
`Rest` 는 `ValueTuple` 이 제 필드 이름으로 쓰는 예약어다. `Tail` 로 바꿨다.
|
||||||
|
|
||||||
|
검사 571건 통과 · 빌드 경고 0 · 오류 0.
|
||||||
|
---
|
||||||
|
|
||||||
|
## C-2. 아래쪽 정보가 세 군데로 흩어져 있던 것 — **완료** (2026-09-10)
|
||||||
|
|
||||||
|
**무엇이 문제였나** - 같은 성격의 정보가 세 자리에 나뉘어 있었다.
|
||||||
|
|
||||||
|
```
|
||||||
|
BASE 바닥 Diff 요약 / 총 43 라인 · 차이 10 라인
|
||||||
|
MERGED 바닥① 1행 1열 | 차이 - / 5 | UTF-8 · CRLF · C#
|
||||||
|
MERGED 바닥② 편집 0건 · 되돌리기 0건 · 남은 차이 10 라인 | 코드 검사 이상 없음
|
||||||
|
```
|
||||||
|
|
||||||
|
<b>같은 뜻의 숫자가 세 벌이었다</b> - `차이 10 라인` · `남은 차이 10 라인` · `차이 - / 5`.
|
||||||
|
어느 것을 봐야 할지 헷갈리고, 패널마다 54px 를 먹었다.
|
||||||
|
|
||||||
|
**패널 안이 아니라 창 아래 한 줄로 옮겼다.** 자리 규칙을 정했다.
|
||||||
|
|
||||||
|
| 자리 | 무엇 |
|
||||||
|
|---|---|
|
||||||
|
| 왼쪽 | 지금 어디에 있는지 — `1행 1열` · `차이 3 / 5` |
|
||||||
|
| 가운데 | 얼마나 남았는지 — `총 34줄 · 남은 차이 5줄` (고친 것이 있으면 편집·되돌리기가 붙는다) |
|
||||||
|
| 오른쪽 | 이 파일이 무엇인지 — `UTF-8 · CRLF · C#` · 비교 규칙 · 코드 검사 |
|
||||||
|
|
||||||
|
**곁들여 얻은 것** - 상태바가 패널 밖으로 나오면서 <b>두 패널의 코드 영역 높이가 저절로 같아진다.</b>
|
||||||
|
전에는 BASE 와 MERGED 의 바닥 높이를 손으로 맞춰 두어야 했다(`PaneFooterHeight` 상수가 그 흔적이다).
|
||||||
|
3-Way 에서도 네 칸이 같은 자리에 선다.
|
||||||
|
|
||||||
|
**숫자를 하나씩만 남겼다.** `총 N줄` 은 파일 크기, `남은 차이 N줄` 은 남은 일이다.
|
||||||
|
편집·되돌리기 건수는 **0건일 때는 아예 적지 않는다** - 늘 `0건 0건` 이 붙어 있으면 눈이 그냥 지나친다.
|
||||||
|
|
||||||
|
**화면에서 확인한 것**
|
||||||
|
|
||||||
|
| 확인 | 결과 |
|
||||||
|
|---|---|
|
||||||
|
| 2-Way | `1행 1열 │ 차이 -/2 │ 총 8줄 · 남은 차이 2줄 … UTF-8 · CRLF · C/C++ │ 코드 검사 이상 없음` |
|
||||||
|
| 3-Way | 같은 한 줄, `총 34줄 · 남은 차이 5줄` · `코드 검사 확인 필요 1건` |
|
||||||
|
| 두 패널 코드 높이 | 같다. 3-Way 네 칸도 같은 자리에 선다 |
|
||||||
|
| 같은 숫자 두 번 | 없다 |
|
||||||
|
|
||||||
검사 571건 통과 · 빌드 경고 0 · 오류 0.
|
검사 571건 통과 · 빌드 경고 0 · 오류 0.
|
||||||
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
| 날짜 | 항목 | 커밋 |
|
| 날짜 | 항목 | 커밋 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
| 2026-09-10 | **4차 C-2** — 아래쪽 세 군데 상태 정보를 창 아래 한 줄로. 두 패널 코드 높이가 저절로 맞는다 | 아래 |
|
||||||
| 2026-09-10 | **4차 C-1 다시** — 머리글을 파일 이름만으로 줄인 것이 잘못이었다. 두 경로에서 다른 부분만 남기게 고침 | 아래 |
|
| 2026-09-10 | **4차 C-1 다시** — 머리글을 파일 이름만으로 줄인 것이 잘못이었다. 두 경로에서 다른 부분만 남기게 고침 | 아래 |
|
||||||
| 2026-09-10 | **4차 C-1** — 파일 비교에서 같은 경로가 나오던 세 자리를 하나로. 코드가 두 줄 더 보인다 | 아래 |
|
| 2026-09-10 | **4차 C-1** — 파일 비교에서 같은 경로가 나오던 세 자리를 하나로. 코드가 두 줄 더 보인다 | 아래 |
|
||||||
| 2026-09-10 | **4차 B-3** — 폴더 비교 목록을 파일 비교 화면에서 이전/다음으로 딛는다 (Ctrl+PageUp/PageDown) | 아래 |
|
| 2026-09-10 | **4차 B-3** — 폴더 비교 목록을 파일 비교 화면에서 이전/다음으로 딛는다 (Ctrl+PageUp/PageDown) | 아래 |
|
||||||
@ -33,6 +34,7 @@
|
|||||||
|
|
||||||
| 날짜 | 문서 | 내용 |
|
| 날짜 | 문서 | 내용 |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
|
| 2026-09-10 | **4차 C-2** — 아래쪽 세 군데 상태 정보를 창 아래 한 줄로. 두 패널 코드 높이가 저절로 맞는다 | 아래 |
|
||||||
| 2026-09-10 | **4차 C-1 다시** — 머리글을 파일 이름만으로 줄인 것이 잘못이었다. 두 경로에서 다른 부분만 남기게 고침 | 아래 |
|
| 2026-09-10 | **4차 C-1 다시** — 머리글을 파일 이름만으로 줄인 것이 잘못이었다. 두 경로에서 다른 부분만 남기게 고침 | 아래 |
|
||||||
| 2026-09-10 | **4차 C-1** — 파일 비교에서 같은 경로가 나오던 세 자리를 하나로. 코드가 두 줄 더 보인다 | 아래 |
|
| 2026-09-10 | **4차 C-1** — 파일 비교에서 같은 경로가 나오던 세 자리를 하나로. 코드가 두 줄 더 보인다 | 아래 |
|
||||||
| 2026-09-10 | **4차 B-3** — 폴더 비교 목록을 파일 비교 화면에서 이전/다음으로 딛는다 (Ctrl+PageUp/PageDown) | 아래 |
|
| 2026-09-10 | **4차 B-3** — 폴더 비교 목록을 파일 비교 화면에서 이전/다음으로 딛는다 (Ctrl+PageUp/PageDown) | 아래 |
|
||||||
|
|||||||
@ -39,7 +39,7 @@
|
|||||||
| 상태 | 항목 |
|
| 상태 | 항목 |
|
||||||
|---|---|
|
|---|---|
|
||||||
| **완료** | C-1 같은 경로가 세 군데 나온다 |
|
| **완료** | C-1 같은 경로가 세 군데 나온다 |
|
||||||
| 대기 | C-2 아래쪽 정보가 세 군데로 흩어져 있다 |
|
| **완료** | C-2 아래쪽 정보가 세 군데로 흩어져 있다 |
|
||||||
| 대기 | C-3 Git 탭의 원격 블록을 접는다 |
|
| 대기 | C-3 Git 탭의 원격 블록을 접는다 |
|
||||||
| 대기 | C-4 색 구분 범례를 이동 도구로 |
|
| 대기 | C-4 색 구분 범례를 이동 도구로 |
|
||||||
| 대기 | C-5 ACTIONS 칸을 자주 쓰는 것과 한 번 정하는 것으로 나눈다 |
|
| 대기 | C-5 ACTIONS 칸을 자주 쓰는 것과 한 번 정하는 것으로 나눈다 |
|
||||||
|
|||||||
@ -2534,9 +2534,15 @@ namespace MergeHub.ViewModels
|
|||||||
var total = Lines.Count;
|
var total = Lines.Count;
|
||||||
var diff = Lines.Count(l => l.IsDifferent);
|
var diff = Lines.Count(l => l.IsDifferent);
|
||||||
|
|
||||||
DiffSummary = total == 0 ? "-" : $"총 {total} 라인 · 차이 {diff} 라인";
|
// 같은 숫자를 두 번 적지 않는다(4차 C-2). 예전에는 여기서 "차이 {diff} 라인" 을 적고
|
||||||
|
// 바로 아래 줄에서 "남은 차이 {diff} 라인" 을 또 적었다 - 어느 쪽을 봐야 하는지 헷갈렸다.
|
||||||
|
// 파일 크기(총 N줄)와 남은 일(차이 N줄)은 다른 것이므로 하나씩만 남긴다.
|
||||||
|
DiffSummary = total == 0 ? "-" : $"총 {total}줄";
|
||||||
DiffVersion++;
|
DiffVersion++;
|
||||||
EditSummary = $"편집 {_undo.Count}건 · 되돌리기 {_redo.Count}건 · 남은 차이 {diff} 라인";
|
|
||||||
|
EditSummary = _undo.Count == 0 && _redo.Count == 0
|
||||||
|
? $"남은 차이 {diff}줄"
|
||||||
|
: $"남은 차이 {diff}줄 · 편집 {_undo.Count}건 · 되돌리기 {_redo.Count}건";
|
||||||
|
|
||||||
UpdateLegendCounts();
|
UpdateLegendCounts();
|
||||||
RefreshProblems();
|
RefreshProblems();
|
||||||
|
|||||||
@ -339,6 +339,8 @@
|
|||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
<RowDefinition Height="*"/>
|
<RowDefinition Height="*"/>
|
||||||
|
<!-- 상태바. 패널 안이 아니라 창 아래 한 줄로 둔다(4차 C-2). -->
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<!-- ===== 상단 상태 바 ===== -->
|
<!-- ===== 상단 상태 바 ===== -->
|
||||||
@ -999,15 +1001,7 @@
|
|||||||
Value="{Binding SourceScrollValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl}}"
|
Value="{Binding SourceScrollValue, Mode=TwoWay, RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||||
Visibility="{Binding SourceBarVisibility, RelativeSource={RelativeSource AncestorType=UserControl}}"/>
|
Visibility="{Binding SourceBarVisibility, RelativeSource={RelativeSource AncestorType=UserControl}}"/>
|
||||||
|
|
||||||
<Border Grid.Row="2" Padding="8,5" BorderThickness="0,1,0,0"
|
<!-- Diff 요약도 아래 한 줄로 갔다(4차 C-2). 같은 숫자가 세 군데 있었다. -->
|
||||||
Height="{StaticResource PaneFooterHeight}"
|
|
||||||
Visibility="{Binding IsTwoWay, Converter={StaticResource BoolToVis}}"
|
|
||||||
BorderBrush="{DynamicResource Ubisam.Brush.Input.Border}">
|
|
||||||
<StackPanel VerticalAlignment="Center">
|
|
||||||
<TextBlock Text="Diff 요약" Style="{StaticResource Muted}" FontSize="11"/>
|
|
||||||
<TextBlock Text="{Binding DiffSummary}" FontSize="12"/>
|
|
||||||
</StackPanel>
|
|
||||||
</Border>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
@ -1184,103 +1178,7 @@
|
|||||||
LineRequested="MiniMap_LineRequested"/>
|
LineRequested="MiniMap_LineRequested"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<Border Grid.Row="2" Padding="8,5" BorderThickness="0,1,0,0"
|
<!-- 상태바는 창 아래 한 줄로 옮겼다(4차 C-2). 두 패널이 같은 높이를 갖게 된다. -->
|
||||||
Height="{StaticResource PaneFooterHeight}"
|
|
||||||
BorderBrush="{DynamicResource Ubisam.Brush.Input.Border}">
|
|
||||||
<StackPanel VerticalAlignment="Center">
|
|
||||||
<!--
|
|
||||||
상태바. 지금 어디에 있고(행·열, 몇 번째 차이),
|
|
||||||
저장하면 어떤 형식으로 나가는지(인코딩·줄바꿈)를 한 줄에 모아 둔다.
|
|
||||||
-->
|
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,0,0,4">
|
|
||||||
<TextBlock Text="{Binding CaretPosition}" Style="{StaticResource Mono}" FontSize="11"/>
|
|
||||||
<Border Width="1" Margin="8,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"/>
|
|
||||||
<TextBlock Text="{Binding DiffPosition}" FontSize="11" FontWeight="Bold"
|
|
||||||
Foreground="{DynamicResource Ubisam.Brush.Accent}"/>
|
|
||||||
<Border Width="1" Margin="8,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"/>
|
|
||||||
<TextBlock Text="{Binding FileEncoding}" Style="{StaticResource Muted}" FontSize="11"/>
|
|
||||||
<TextBlock Text="·" Style="{StaticResource Muted}" FontSize="11" Margin="5,0"/>
|
|
||||||
<TextBlock Text="{Binding FileNewLine}" Style="{StaticResource Muted}" FontSize="11"/>
|
|
||||||
<TextBlock Text="·" Style="{StaticResource Muted}" FontSize="11" Margin="5,0"/>
|
|
||||||
<TextBlock Text="{Binding LanguageName}" Style="{StaticResource Muted}" FontSize="11"
|
|
||||||
ToolTip="확장자로 고른 언어입니다. 색칠과 코드 검사가 이 값을 따릅니다"/>
|
|
||||||
|
|
||||||
<Border Width="1" Margin="8,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"
|
|
||||||
Visibility="{Binding RulesSummary, Converter={StaticResource TextToVis}}"/>
|
|
||||||
<TextBlock Text="{Binding RulesSummary}" FontSize="11"
|
|
||||||
Foreground="{DynamicResource Ubisam.Brush.Muted}"
|
|
||||||
Visibility="{Binding RulesSummary, Converter={StaticResource TextToVis}}"/>
|
|
||||||
</StackPanel>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
편집 상태와 코드 검사를 한 줄에 둔다. BASE 쪽 요약과 높이를 맞춰야
|
|
||||||
두 패널의 코드 영역이 같은 크기가 되고 나란히 읽힌다.
|
|
||||||
|
|
||||||
검사 결과는 걸린 게 있을 때만 눌러서 목록을 펼친다 - 늘 펼쳐 두면
|
|
||||||
이 칸이 커져 코드가 가린다.
|
|
||||||
-->
|
|
||||||
<StackPanel Orientation="Horizontal" Margin="0,2,0,0">
|
|
||||||
<TextBlock Text="{Binding EditSummary}" FontSize="12"
|
|
||||||
VerticalAlignment="Center"/>
|
|
||||||
|
|
||||||
<Border Width="1" Margin="8,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"/>
|
|
||||||
<TextBlock Text="코드 검사" Style="{StaticResource Muted}" FontSize="11" Margin="0,0,6,0"/>
|
|
||||||
|
|
||||||
<ToggleButton x:Name="ProblemToggle" Padding="6,1" FontSize="11" FontWeight="Bold"
|
|
||||||
MinHeight="22" BorderThickness="0" Background="Transparent"
|
|
||||||
IsEnabled="{Binding HasProblems}"
|
|
||||||
ToolTip="눌러서 확인이 필요한 줄을 봅니다">
|
|
||||||
<ToggleButton.Style>
|
|
||||||
<Style TargetType="ToggleButton">
|
|
||||||
<Setter Property="Foreground" Value="{DynamicResource Ubisam.Brush.Success}"/>
|
|
||||||
<Setter Property="Cursor" Value="Arrow"/>
|
|
||||||
<Style.Triggers>
|
|
||||||
<DataTrigger Binding="{Binding HasProblems}" Value="True">
|
|
||||||
<Setter Property="Foreground" Value="{DynamicResource Ubisam.Brush.Danger}"/>
|
|
||||||
<Setter Property="Cursor" Value="Hand"/>
|
|
||||||
</DataTrigger>
|
|
||||||
</Style.Triggers>
|
|
||||||
</Style>
|
|
||||||
</ToggleButton.Style>
|
|
||||||
<TextBlock Text="{Binding ProblemSummary}"/>
|
|
||||||
</ToggleButton>
|
|
||||||
|
|
||||||
<Popup IsOpen="{Binding IsChecked, ElementName=ProblemToggle}"
|
|
||||||
PlacementTarget="{Binding ElementName=ProblemToggle}"
|
|
||||||
Placement="Top" StaysOpen="False" AllowsTransparency="True"
|
|
||||||
HorizontalOffset="-8" VerticalOffset="-4">
|
|
||||||
<Border Background="{DynamicResource Ubisam.Brush.Input.Background}"
|
|
||||||
BorderBrush="{DynamicResource Ubisam.Brush.Danger}"
|
|
||||||
BorderThickness="1" Padding="4" MaxWidth="620" MaxHeight="240"
|
|
||||||
Effect="{DynamicResource Ubisam.Effect.Popup}">
|
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
||||||
<ItemsControl ItemsSource="{Binding Problems}">
|
|
||||||
<ItemsControl.ItemTemplate>
|
|
||||||
<DataTemplate>
|
|
||||||
<Button Command="{Binding DataContext.GoToProblemCommand,
|
|
||||||
RelativeSource={RelativeSource AncestorType=UserControl}}"
|
|
||||||
CommandParameter="{Binding}"
|
|
||||||
HorizontalContentAlignment="Left"
|
|
||||||
Background="Transparent" BorderThickness="0"
|
|
||||||
Padding="6,3" Margin="0"
|
|
||||||
ToolTip="누르면 그 줄로 이동합니다">
|
|
||||||
<StackPanel Orientation="Horizontal">
|
|
||||||
<TextBlock Text="{Binding Where}" FontFamily="Consolas"
|
|
||||||
FontSize="11" FontWeight="Bold" MinWidth="46"
|
|
||||||
Foreground="{DynamicResource Ubisam.Brush.Danger}"/>
|
|
||||||
<TextBlock Text="{Binding Message}" FontSize="11"
|
|
||||||
TextWrapping="Wrap" Margin="6,0,0,0"/>
|
|
||||||
</StackPanel>
|
|
||||||
</Button>
|
|
||||||
</DataTemplate>
|
|
||||||
</ItemsControl.ItemTemplate>
|
|
||||||
</ItemsControl>
|
|
||||||
</ScrollViewer>
|
|
||||||
</Border>
|
|
||||||
</Popup>
|
|
||||||
</StackPanel>
|
|
||||||
</StackPanel>
|
|
||||||
</Border>
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
|
||||||
@ -1602,5 +1500,116 @@
|
|||||||
</DockPanel>
|
</DockPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
④ 상태바 — 창 아래 한 줄.
|
||||||
|
|
||||||
|
<b>왜 옮겼나</b> - 예전에는 세 군데에 흩어져 있었다.
|
||||||
|
BASE 바닥의 "총 43 라인 · 차이 10 라인", MERGED 바닥 첫 줄의 "1행 1열 | 차이 -/5 | UTF-8",
|
||||||
|
그 아래 줄의 "편집 0건 · 되돌리기 0건 · 남은 차이 10 라인". 같은 뜻의 숫자가 세 벌이라
|
||||||
|
어느 것을 봐야 할지 헷갈렸고, 패널마다 54px 를 먹었다.
|
||||||
|
|
||||||
|
<b>자리 규칙</b> - 왼쪽은 지금 어디에 있는지, 가운데는 얼마나 남았는지, 오른쪽은 이 파일이 무엇인지.
|
||||||
|
패널 밖으로 나오면서 두 패널의 코드 영역 높이가 저절로 같아진다.
|
||||||
|
-->
|
||||||
|
<Border Grid.Row="3" Padding="8,4" BorderThickness="1,1,1,1" Margin="0,2,0,0"
|
||||||
|
Background="{DynamicResource Ubisam.Brush.Sidebar.Background}"
|
||||||
|
BorderBrush="{DynamicResource Ubisam.Brush.Input.Border}">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<!-- 왼쪽: 지금 어디 -->
|
||||||
|
<StackPanel Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center">
|
||||||
|
<TextBlock Text="{Binding CaretPosition}" Style="{StaticResource Mono}" FontSize="11"/>
|
||||||
|
<Border Width="1" Margin="10,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"/>
|
||||||
|
<TextBlock Text="{Binding DiffPosition}" FontSize="11" FontWeight="Bold"
|
||||||
|
Foreground="{DynamicResource Ubisam.Brush.Accent}"/>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- 가운데: 얼마나 남았나 -->
|
||||||
|
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center"
|
||||||
|
Margin="14,0,14,0">
|
||||||
|
<TextBlock Text="{Binding DiffSummary}" FontSize="12" VerticalAlignment="Center"/>
|
||||||
|
<TextBlock Text="·" Style="{StaticResource Muted}" FontSize="11" Margin="6,0"
|
||||||
|
Visibility="{Binding EditSummary, Converter={StaticResource TextToVis}}"/>
|
||||||
|
<TextBlock Text="{Binding EditSummary}" FontSize="12" VerticalAlignment="Center"/>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<!-- 오른쪽: 이 파일이 무엇인가 -->
|
||||||
|
<StackPanel Grid.Column="2" Orientation="Horizontal" VerticalAlignment="Center">
|
||||||
|
<TextBlock Text="{Binding FileEncoding}" Style="{StaticResource Muted}" FontSize="11"/>
|
||||||
|
<TextBlock Text="·" Style="{StaticResource Muted}" FontSize="11" Margin="5,0"/>
|
||||||
|
<TextBlock Text="{Binding FileNewLine}" Style="{StaticResource Muted}" FontSize="11"/>
|
||||||
|
<TextBlock Text="·" Style="{StaticResource Muted}" FontSize="11" Margin="5,0"/>
|
||||||
|
<TextBlock Text="{Binding LanguageName}" Style="{StaticResource Muted}" FontSize="11"
|
||||||
|
ToolTip="확장자로 고른 언어입니다. 색칠과 코드 검사가 이 값을 따릅니다"/>
|
||||||
|
|
||||||
|
<Border Width="1" Margin="10,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"
|
||||||
|
Visibility="{Binding RulesSummary, Converter={StaticResource TextToVis}}"/>
|
||||||
|
<TextBlock Text="{Binding RulesSummary}" FontSize="11"
|
||||||
|
Foreground="{DynamicResource Ubisam.Brush.Muted}"
|
||||||
|
Visibility="{Binding RulesSummary, Converter={StaticResource TextToVis}}"/>
|
||||||
|
|
||||||
|
<Border Width="1" Margin="10,1" Background="{DynamicResource Ubisam.Brush.Input.Border}"/>
|
||||||
|
<TextBlock Text="코드 검사" Style="{StaticResource Muted}" FontSize="11" Margin="0,0,6,0"/>
|
||||||
|
<ToggleButton x:Name="ProblemToggle" Padding="6,1" FontSize="11" FontWeight="Bold"
|
||||||
|
MinHeight="22" BorderThickness="0" Background="Transparent"
|
||||||
|
IsEnabled="{Binding HasProblems}"
|
||||||
|
ToolTip="눌러서 확인이 필요한 줄을 봅니다">
|
||||||
|
<ToggleButton.Style>
|
||||||
|
<Style TargetType="ToggleButton">
|
||||||
|
<Setter Property="Foreground" Value="{DynamicResource Ubisam.Brush.Success}"/>
|
||||||
|
<Setter Property="Cursor" Value="Arrow"/>
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding HasProblems}" Value="True">
|
||||||
|
<Setter Property="Foreground" Value="{DynamicResource Ubisam.Brush.Danger}"/>
|
||||||
|
<Setter Property="Cursor" Value="Hand"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</ToggleButton.Style>
|
||||||
|
<TextBlock Text="{Binding ProblemSummary}"/>
|
||||||
|
</ToggleButton>
|
||||||
|
|
||||||
|
<Popup IsOpen="{Binding IsChecked, ElementName=ProblemToggle}"
|
||||||
|
PlacementTarget="{Binding ElementName=ProblemToggle}"
|
||||||
|
Placement="Top" StaysOpen="False" AllowsTransparency="True"
|
||||||
|
HorizontalOffset="-8" VerticalOffset="-4">
|
||||||
|
<Border Background="{DynamicResource Ubisam.Brush.Input.Background}"
|
||||||
|
BorderBrush="{DynamicResource Ubisam.Brush.Danger}"
|
||||||
|
BorderThickness="1" Padding="4" MaxWidth="620" MaxHeight="240"
|
||||||
|
Effect="{DynamicResource Ubisam.Effect.Popup}">
|
||||||
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
||||||
|
<ItemsControl ItemsSource="{Binding Problems}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Button Command="{Binding DataContext.GoToProblemCommand,
|
||||||
|
RelativeSource={RelativeSource AncestorType=UserControl}}"
|
||||||
|
CommandParameter="{Binding}"
|
||||||
|
HorizontalContentAlignment="Left"
|
||||||
|
Background="Transparent" BorderThickness="0"
|
||||||
|
Padding="6,3" Margin="0"
|
||||||
|
ToolTip="누르면 그 줄로 이동합니다">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding Where}" FontFamily="Consolas"
|
||||||
|
FontSize="11" FontWeight="Bold" MinWidth="46"
|
||||||
|
Foreground="{DynamicResource Ubisam.Brush.Danger}"/>
|
||||||
|
<TextBlock Text="{Binding Message}" FontSize="11"
|
||||||
|
TextWrapping="Wrap" Margin="6,0,0,0"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Button>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
</ScrollViewer>
|
||||||
|
</Border>
|
||||||
|
</Popup>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
</UserControl>
|
</UserControl>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user