diff --git a/UI/AboutWindow.axaml.cs b/UI/AboutWindow.axaml.cs
deleted file mode 100644
index 7461811..0000000
--- a/UI/AboutWindow.axaml.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-
-namespace TagHierarchyManager.UI;
-
-public partial class AboutWindow : Window
-{
- public AboutWindow()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/UI/Assets/Resources.resx b/UI/Assets/Resources.resx
index 30261ea..0500e67 100644
--- a/UI/Assets/Resources.resx
+++ b/UI/Assets/Resources.resx
@@ -128,4 +128,7 @@
Default tag bindings:
+
+ About {0}
+
\ No newline at end of file
diff --git a/UI/MainWindow.axaml.cs b/UI/MainWindow.axaml.cs
deleted file mode 100644
index 745d220..0000000
--- a/UI/MainWindow.axaml.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using Avalonia.Controls;
-
-namespace TagHierarchyManager.UI;
-
-public partial class MainWindow : Window
-{
- public MainWindow()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/UI/TagHierarchyManager.UI.csproj b/UI/TagHierarchyManager.UI.csproj
index 4207d2d..52acc13 100644
--- a/UI/TagHierarchyManager.UI.csproj
+++ b/UI/TagHierarchyManager.UI.csproj
@@ -33,5 +33,21 @@
True
Resources.resx
+
+ AboutWindow.axaml
+ Code
+
+
+ DatabaseSettingsWindow.axaml
+ Code
+
+
+ MainWindow.axaml
+ Code
+
+
+ App.axaml
+ Code
+
diff --git a/UI/TagHierarchyManager.UI.csproj.DotSettings b/UI/TagHierarchyManager.UI.csproj.DotSettings
new file mode 100644
index 0000000..ffe17e5
--- /dev/null
+++ b/UI/TagHierarchyManager.UI.csproj.DotSettings
@@ -0,0 +1,2 @@
+
+ True
\ No newline at end of file
diff --git a/UI/AboutWindow.axaml b/UI/Views/AboutWindow.axaml
similarity index 62%
rename from UI/AboutWindow.axaml
rename to UI/Views/AboutWindow.axaml
index a096de1..319d359 100644
--- a/UI/AboutWindow.axaml
+++ b/UI/Views/AboutWindow.axaml
@@ -3,14 +3,20 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:assets="clr-namespace:TagHierarchyManager.UI.Assets"
+ xmlns:ui="clr-namespace:TagHierarchyManager.UI"
mc:Ignorable="d" d:DesignWidth="405" d:DesignHeight="140"
- Width="405" Height="180"
+ Width="405" Height="140"
x:Class="TagHierarchyManager.UI.AboutWindow"
- Title="AboutWindow">
+ CanResize="False">
+
+
+
+
+
-
-
+
+
diff --git a/UI/Views/AboutWindow.axaml.cs b/UI/Views/AboutWindow.axaml.cs
new file mode 100644
index 0000000..8221566
--- /dev/null
+++ b/UI/Views/AboutWindow.axaml.cs
@@ -0,0 +1,19 @@
+using System;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+using Avalonia.Markup.Xaml;
+
+namespace TagHierarchyManager.UI;
+
+public partial class AboutWindow : Window
+{
+ public Uri ProjectUri { get; } = new(Assets.Resources.URL);
+
+ public AboutWindow()
+ {
+ InitializeComponent();
+ }
+
+ public void OnOKClick(object? sender, RoutedEventArgs e) => this.Close();
+}
\ No newline at end of file
diff --git a/UI/DatabaseSettingsWindow.axaml b/UI/Views/DatabaseSettingsWindow.axaml
similarity index 100%
rename from UI/DatabaseSettingsWindow.axaml
rename to UI/Views/DatabaseSettingsWindow.axaml
diff --git a/UI/DatabaseSettingsWindow.axaml.cs b/UI/Views/DatabaseSettingsWindow.axaml.cs
similarity index 100%
rename from UI/DatabaseSettingsWindow.axaml.cs
rename to UI/Views/DatabaseSettingsWindow.axaml.cs
diff --git a/UI/MainWindow.axaml b/UI/Views/MainWindow.axaml
similarity index 95%
rename from UI/MainWindow.axaml
rename to UI/Views/MainWindow.axaml
index b4a0679..7ee1081 100644
--- a/UI/MainWindow.axaml
+++ b/UI/Views/MainWindow.axaml
@@ -5,17 +5,13 @@
xmlns:assets="clr-namespace:TagHierarchyManager.UI.Assets"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="TagHierarchyManager.UI.MainWindow"
- Title="Tag Hierarchy Manager">
+ Title="{x:Static assets:Resources.Title}">
diff --git a/UI/Views/MainWindow.axaml.cs b/UI/Views/MainWindow.axaml.cs
new file mode 100644
index 0000000..1c15e45
--- /dev/null
+++ b/UI/Views/MainWindow.axaml.cs
@@ -0,0 +1,17 @@
+using System;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Interactivity;
+
+namespace TagHierarchyManager.UI;
+
+public partial class MainWindow : Window
+{
+ public MainWindow()
+ {
+ InitializeComponent();
+ }
+
+ public void OpenAboutWindow(object? sender, RoutedEventArgs e) => new AboutWindow().ShowDialog(this);
+ public void Quit(object? sender, RoutedEventArgs e) => this.Close();
+}
\ No newline at end of file