Skip to content

Commit 119e52a

Browse files
authored
feat: add coder icon to all forms (#89)
Closes: #76
1 parent 78ff6da commit 119e52a

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

App/Utils/TitleBarIcon.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
using System;
2+
using Microsoft.UI;
3+
using Microsoft.UI.Windowing;
4+
using Microsoft.UI.Xaml;
5+
using Microsoft.UI.Xaml.Controls.Primitives;
6+
using WinRT.Interop;
7+
8+
namespace Coder.Desktop.App.Utils
9+
{
10+
public static class TitleBarIcon
11+
{
12+
public static void SetTitlebarIcon(Window window)
13+
{
14+
var hwnd = WindowNative.GetWindowHandle(window);
15+
var windowId = Win32Interop.GetWindowIdFromWindow(hwnd);
16+
AppWindow.GetFromWindowId(windowId).SetIcon("coder.ico");
17+
}
18+
}
19+
}

App/Views/DirectoryPickerWindow.xaml.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using Microsoft.UI.Xaml.Media;
99
using WinRT.Interop;
1010
using WinUIEx;
11+
using Coder.Desktop.App.Utils;
1112

1213
namespace Coder.Desktop.App.Views;
1314

@@ -16,6 +17,8 @@ public sealed partial class DirectoryPickerWindow : WindowEx
1617
public DirectoryPickerWindow(DirectoryPickerViewModel viewModel)
1718
{
1819
InitializeComponent();
20+
TitleBarIcon.SetTitlebarIcon(this);
21+
1922
SystemBackdrop = new DesktopAcrylicBackdrop();
2023

2124
viewModel.Initialize(this, DispatcherQueue);

App/Views/FileSyncListWindow.xaml.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using Coder.Desktop.App.Views.Pages;
33
using Microsoft.UI.Xaml.Media;
44
using WinUIEx;
5+
using Coder.Desktop.App.Utils;
56

67
namespace Coder.Desktop.App.Views;
78

@@ -13,11 +14,14 @@ public FileSyncListWindow(FileSyncListViewModel viewModel)
1314
{
1415
ViewModel = viewModel;
1516
InitializeComponent();
17+
TitleBarIcon.SetTitlebarIcon(this);
18+
1619
SystemBackdrop = new DesktopAcrylicBackdrop();
1720

1821
ViewModel.Initialize(this, DispatcherQueue);
1922
RootFrame.Content = new FileSyncListMainPage(ViewModel);
2023

2124
this.CenterOnScreen();
2225
}
26+
2327
}

App/Views/SignInWindow.xaml.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Microsoft.UI.Windowing;
77
using Microsoft.UI.Xaml;
88
using Microsoft.UI.Xaml.Media;
9+
using Coder.Desktop.App.Utils;
910

1011
namespace Coder.Desktop.App.Views;
1112

@@ -22,6 +23,7 @@ public sealed partial class SignInWindow : Window
2223
public SignInWindow(SignInViewModel viewModel)
2324
{
2425
InitializeComponent();
26+
TitleBarIcon.SetTitlebarIcon(this);
2527
SystemBackdrop = new DesktopAcrylicBackdrop();
2628
RootFrame.SizeChanged += RootFrame_SizeChanged;
2729

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy