feat: imagegen2 아이콘·글리프·일러스트 생성 후 GUI 전면 적용 (투명 배경)
codex noninteractive + imagegen2로 앱 비주얼 에셋 일괄 생성, 코드 생성 차단 (gen-one.sh: FORBID 블록 + 코드파일 감지 + 재시도). 모든 산출물은 플러드필 배경 제거로 진짜 알파 투명 PNG화. 생성 에셋 (assets-gen/): - app-master: 앱 아이콘 마스터 (사이클 화살표, 솔리드 타일 유지) - 카테고리 글리프 8종: image/video/audio/document/data/vector/archive/ai - 일러스트 2종: illus-empty(드롭존), illus-done(완료) - logo-mark: 브랜드 마크 GUI 적용: - 사이드바 헤더 브랜드 → logo-mark - 드롭존 빈 상태 → illus-empty - QuickProgressWindow 완료 → illus-done - AI 작업 패널 → glyph-ai 스파클 - 큐/과거결과 행 라벨 아이콘 → 카테고리 글리프 (CategoryGlyphs 매핑) - 미리보기 placeholder → 형식별 카테고리 글리프 (경고 대신) 앱 아이콘: - app.ico (멀티 크기 16~256) + 윈도우 Icon - MSIX 타일 4종(Square44/150·Wide310·Store) app-master 기반 갱신 - Package 버전 1.0.2.0
This commit is contained in:
parent
ef10c139cd
commit
acb3fdbfd1
37 changed files with 189 additions and 34 deletions
|
|
@ -393,8 +393,10 @@ public partial class MainWindow : Wpf.Ui.Controls.FluentWindow
|
|||
}
|
||||
else
|
||||
{
|
||||
PreviewReasonText.Text = result.Reason ?? "미리보기를 생성하지 못했습니다.";
|
||||
PreviewReason.Visibility = Visibility.Visible;
|
||||
// 래스터 미리보기가 없는 형식(영상·오디오·문서·데이터 등)은 경고 대신 카테고리 글리프로 표현
|
||||
ShowPreviewGlyph(
|
||||
System.IO.Path.GetExtension(sourcePath),
|
||||
result.Reason ?? "이 형식은 미리보기를 만들 수 없습니다. 변환은 정상 동작합니다.");
|
||||
}
|
||||
|
||||
PreviewDimText.Text = result.Dimensions ?? "—";
|
||||
|
|
@ -431,6 +433,21 @@ public partial class MainWindow : Wpf.Ui.Controls.FluentWindow
|
|||
PreviewEmpty.Visibility = Visibility.Collapsed;
|
||||
PreviewImage.Visibility = Visibility.Collapsed;
|
||||
PreviewLoading.Visibility = Visibility.Collapsed;
|
||||
PreviewGlyph.Visibility = Visibility.Collapsed;
|
||||
PreviewWarnIcon.Visibility = Visibility.Visible;
|
||||
PreviewReasonText.Text = reason;
|
||||
PreviewReason.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
||||
/// <summary>래스터 미리보기가 없는 형식은 경고 대신 카테고리 글리프로 안내한다.</summary>
|
||||
private void ShowPreviewGlyph(string? extension, string reason)
|
||||
{
|
||||
PreviewEmpty.Visibility = Visibility.Collapsed;
|
||||
PreviewImage.Visibility = Visibility.Collapsed;
|
||||
PreviewLoading.Visibility = Visibility.Collapsed;
|
||||
PreviewGlyph.Source = CategoryGlyphs.ForExtension(extension);
|
||||
PreviewGlyph.Visibility = Visibility.Visible;
|
||||
PreviewWarnIcon.Visibility = Visibility.Collapsed;
|
||||
PreviewReasonText.Text = reason;
|
||||
PreviewReason.Visibility = Visibility.Visible;
|
||||
}
|
||||
|
|
@ -1120,6 +1137,9 @@ public sealed class QueueItem : INotifyPropertyChanged
|
|||
public required string MetaLine { get; init; }
|
||||
public required long SourceSizeBytes { get; init; }
|
||||
|
||||
/// <summary>형식 카테고리 글리프(라벨 아이콘).</summary>
|
||||
public System.Windows.Media.ImageSource GlyphSource => CategoryGlyphs.ForExtension(Path.GetExtension(SourcePath));
|
||||
|
||||
public string StateText
|
||||
{
|
||||
get => _state;
|
||||
|
|
@ -1225,6 +1245,9 @@ public sealed record HistoryRow(
|
|||
{
|
||||
public string RevealPath => OutputPath ?? SourcePath;
|
||||
|
||||
/// <summary>형식 카테고리 글리프(라벨 아이콘).</summary>
|
||||
public System.Windows.Media.ImageSource GlyphSource => CategoryGlyphs.ForExtension(Path.GetExtension(SourcePath));
|
||||
|
||||
public static HistoryRow From(HistoryEntry e)
|
||||
{
|
||||
var ext = Path.GetExtension(e.SourcePath).TrimStart('.').ToLowerInvariant();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue