Ruben 4 سال پیش
والد
کامیت
68eaf0ca5d

+ 3 - 1
src/.gitignore → .gitignore

@@ -356,4 +356,6 @@ MigrationBackup/
 .vscode/
 
 .vs/
-*.sou
+*.sou
+
+.idea/

+ 4 - 4
src/PicView.sln

@@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio Version 17
 VisualStudioVersion = 17.1.31911.260
 MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PicView.UI", "PicView.UI\PicView.UI.csproj", "{22426C51-1FC3-4B5A-BCA6-8DBE918A30D2}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PicView", "PicView\PicView.csproj", "{22426C51-1FC3-4B5A-BCA6-8DBE918A30D2}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PicView.Win32", "PicView.Win32\PicView.Win32.csproj", "{445786E7-3F3B-4711-A348-DDC7593D9862}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PicView.Win32", "PicView.Win32\PicView.Win32.csproj", "{445786E7-3F3B-4711-A348-DDC7593D9862}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PicView.MacOS", "PicView.MacOS\PicView.MacOS.csproj", "{A1A51DED-F4F0-4C1B-AA87-20229CB31293}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PicView.MacOS", "PicView.MacOS\PicView.MacOS.csproj", "{A1A51DED-F4F0-4C1B-AA87-20229CB31293}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PicView.Tests", "PicView.Tests\PicView.Tests.csproj", "{98069EF0-C2E0-4301-BE4E-96C7E76EA9BA}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PicView.Tests", "PicView.Tests\PicView.Tests.csproj", "{98069EF0-C2E0-4301-BE4E-96C7E76EA9BA}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution

+ 2 - 1
src/PicView.UI/App.axaml → src/PicView/App.axaml

@@ -7,6 +7,7 @@
 	</Application.DataTemplates>
 
 	<Application.Styles>
-		<FluentTheme Mode="Dark"/>
+		<StyleInclude Source="/Styles/Text.xaml" />
 	</Application.Styles>
+
 </Application>

+ 8 - 0
src/PicView.UI/App.axaml.cs → src/PicView/App.axaml.cs

@@ -1,6 +1,7 @@
 using Avalonia;
 using Avalonia.Controls.ApplicationLifetimes;
 using Avalonia.Markup.Xaml;
+using PicView.Styles.Themes;
 using PicView.ViewModels;
 using PicView.Views;
 
@@ -11,6 +12,13 @@ namespace PicView
         public override void Initialize()
         {
             AvaloniaXamlLoader.Load(this);
+            LoadTheme();
+        }
+
+        private void LoadTheme()
+        {
+            // TODO add more themes that can be switched
+            Styles.Add(new DarkTheme());
         }
 
         public override void OnFrameworkInitializationCompleted()

+ 0 - 0
src/PicView.UI/Assets/PicViewIcon.png → src/PicView/Assets/PicView/PicViewIcon.png


+ 0 - 0
src/PicView.UI/Assets/icon__Q6k_icon.ico → src/PicView/Assets/PicView/icon__Q6k_icon.ico


+ 0 - 0
src/PicView.UI/Assets/logo.png → src/PicView/Assets/PicView/logo.png


+ 17 - 13
src/PicView.UI/PicView.UI.csproj → src/PicView/PicView.csproj

@@ -3,37 +3,41 @@
 		<OutputType>WinExe</OutputType>
 		<TargetFramework>net6.0</TargetFramework>
 		<Nullable>enable</Nullable>
-		<ApplicationIcon>Assets\icon__Q6k_icon.ico</ApplicationIcon>
+		<ApplicationIcon>Assets\PicView\icon__Q6k_icon.ico</ApplicationIcon>
 		<PackageIcon>PicViewIcon.png</PackageIcon>
 		<ImplicitUsings>enable</ImplicitUsings>
 		<AssemblyName>PicView</AssemblyName>
+		<PlatformTarget>AnyCPU</PlatformTarget>
 	</PropertyGroup>
 	<ItemGroup>
-		<Folder Include="Assets\Styles\" />
+		<Folder Include="Assets\Fonts\" />
+		<Folder Include="Assets\SvgIcons\" />
+		<Folder Include="Styles\Themes\Dark\" />
 		<Folder Include="Models\" />
 		<AvaloniaResource Include="Assets\**" />
-		<AvaloniaResource Remove="Assets\icon__Q6k_icon.ico" />
-		<AvaloniaResource Remove="Assets\logo.png" />
-		<None Remove=".gitignore" />
-		<None Remove="Assets\icon__Q6k_icon.ico" />
-		<None Remove="Resources\icon__Q6k_icon.ico" />
+		<AvaloniaResource Include="Assets\Fonts\*" />
 	</ItemGroup>
 	<ItemGroup>
-		<Content Include="Assets\icon__Q6k_icon.ico" />
+	  <AvaloniaXaml Include="Styles\Text.xaml">
+	    <Generator>MSBuild:Compile</Generator>
+	  </AvaloniaXaml>
 	</ItemGroup>
 	<ItemGroup>
-		<PackageReference Include="Avalonia" Version="0.10.10" />
-		<PackageReference Include="Avalonia.Desktop" Version="0.10.10" />
+		<Content Include="Assets\PicView\icon__Q6k_icon.ico" />
+	</ItemGroup>
+	<ItemGroup>
+		<PackageReference Include="Avalonia" Version="0.10.11-rc.1" />
+		<PackageReference Include="Avalonia.Desktop" Version="0.10.11-rc.1" />
 		<!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
-		<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.10" />
-		<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.10" />
+		<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.11-rc.1" />
+		<PackageReference Include="Avalonia.ReactiveUI" Version="0.10.11-rc.1" />
 	</ItemGroup>
 	<ItemGroup>
 		<Resource Include="Assets\icon__Q6k_icon.ico" />
 		<Resource Include="Resources\icon__Q6k_icon.ico" />
 	</ItemGroup>
 	<ItemGroup>
-		<None Update="Assets\PicViewIcon.png">
+		<None Update="Assets\PicView\PicViewIcon.png">
 			<Pack>True</Pack>
 			<PackagePath>\</PackagePath>
 		</None>

+ 0 - 0
src/PicView.UI/Program.cs → src/PicView/Program.cs


+ 7 - 0
src/PicView/Styles/Text.xaml

@@ -0,0 +1,7 @@
+<Styles xmlns="https://github.com/avaloniaui" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
+
+    <Style Selector="TextBlock">
+        <Setter Property="FontSize" Value="14" />
+        <!--<Setter Property="FontFamily" Value="avares://PicView/Assets/Fonts#IBM Plex Mono SemiBold" />-->
+    </Style>
+</Styles>

+ 11 - 0
src/PicView/Styles/Themes/Dark/DarkTheme.axaml

@@ -0,0 +1,11 @@
+<Styles xmlns="https://github.com/avaloniaui"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="PicView.Styles.Themes.DarkTheme">
+	<Design.PreviewWith>
+		<Border Padding="20">
+			<!-- Add Controls for Previewer Here -->
+		</Border>
+	</Design.PreviewWith>
+
+	<!-- Add Styles Here -->
+	<FluentTheme Mode="Dark"/>
+</Styles>

+ 11 - 0
src/PicView/Styles/Themes/Dark/DarkTheme.cs

@@ -0,0 +1,11 @@
+using Avalonia.Styling;
+using Avalonia.Markup.Xaml;
+using AvaloniaStyles = Avalonia.Styling.Styles;
+
+namespace PicView.Styles.Themes
+{
+    internal class DarkTheme : AvaloniaStyles
+    {
+        public DarkTheme() => AvaloniaXamlLoader.Load(this);
+    }
+}

+ 0 - 0
src/PicView.UI/ViewLocator.cs → src/PicView/ViewLocator.cs


+ 0 - 0
src/PicView.UI/ViewModels/MainWindowViewModel.cs → src/PicView/ViewModels/MainWindowViewModel.cs


+ 0 - 0
src/PicView.UI/ViewModels/ViewModelBase.cs → src/PicView/ViewModels/ViewModelBase.cs


+ 7 - 1
src/PicView.UI/Views/MainWindow.axaml → src/PicView/Views/MainWindow.axaml

@@ -5,6 +5,12 @@
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
         mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
         x:Class="PicView.Views.MainWindow"
+		Width="462"
+		Height="400"
+		MinWidth="462"
+		MinHeight="400"
+		WindowStartupLocation="CenterScreen"
+		SizeToContent="WidthAndHeight"
         Title="{Binding Title}"
 		TransparencyLevelHint="AcrylicBlur"
 		Background="Transparent"
@@ -15,7 +21,7 @@
 	</Design.DataContext>
 
 	<DockPanel>
-		<TextBlock Text="{Binding Title}" HorizontalAlignment="Center"/>
+		<TextBlock Text="{Binding Title}" HorizontalAlignment="Center" Margin="5"/>
 	</DockPanel>
 
 

+ 0 - 0
src/PicView.UI/Views/MainWindow.axaml.cs → src/PicView/Views/MainWindow.axaml.cs