Skip to content

Commit

Permalink
ui push
Browse files Browse the repository at this point in the history
  • Loading branch information
rmbadmin committed Feb 28, 2021
1 parent 546c06f commit e081b13
Show file tree
Hide file tree
Showing 22 changed files with 343 additions and 106 deletions.
25 changes: 11 additions & 14 deletions System.Application.SteamTools.Client.Desktop.Avalonia.App/App.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,15 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:ui="clr-namespace:System.Application.UI"
x:Class="System.Application.UI.App">
<Application.DataTemplates>
<ui:ViewLocator/>
</Application.DataTemplates>
<Application.Styles>
<FluentTheme Mode="Dark" />
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Styles.xaml" />
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Controls/SideBar.xaml" />
<!--<StyleInclude Source="/Styles/Styles.xaml" />
<StyleInclude Source="/Styles/Controls/SideBar.xaml" />-->
<!--<StyleInclude Source="avares://AvaloniaEdit/AvaloniaEdit.xaml"/>-->
<Style Selector="Window">
<Setter Property="Icon" Value="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico"/>
</Style>
</Application.Styles>
<Application.DataTemplates>
<ui:ViewLocator/>
</Application.DataTemplates>
<Application.Styles>
<FluentTheme Mode="Light" />
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Styles.xaml" />
<StyleInclude Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Styles/Controls/SideBar.xaml" />
<Style Selector="Window">
<Setter Property="Icon" Value="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico"/>
</Style>
</Application.Styles>
</Application>
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
using ShutdownMode = Avalonia.Controls.ShutdownMode;
using Window = Avalonia.Controls.Window;
using WindowState = Avalonia.Controls.WindowState;
using Avalonia.Themes.Fluent;

#if WINDOWS
using System.Windows.Shell;
using WpfApplication = System.Windows.Application;
Expand All @@ -26,7 +28,6 @@ namespace System.Application.UI
public partial class App : AvaloniaApplication, IDisposableHolder
{
public static App Instance => Current is App app ? app : throw new Exception("Impossible");

[Obsolete("use IOPath.AppDataDirectory", true)]
public DirectoryInfo LocalAppData => new DirectoryInfo(IOPath.AppDataDirectory);

Expand All @@ -35,10 +36,11 @@ public partial class App : AvaloniaApplication, IDisposableHolder
[Obsolete("use AppHelper.ProgramName", true)]
public string ProgramName => AppHelper.ProgramName;

public FluentTheme? fluentTheme;

public override void Initialize()
{
AvaloniaXamlLoader.Load(this);

MainWindow = new MainWindow
{
DataContext = new MainWindowViewModel(),
Expand All @@ -59,7 +61,6 @@ public override void OnFrameworkInitializationCompleted()
// 在UI预览中,ApplicationLifetime 为 null
ViewModelBase.IsInDesignMode = ApplicationLifetime == null;
Startup.Init();

if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
{
#if MAC
Expand Down Expand Up @@ -92,6 +93,22 @@ public override void OnFrameworkInitializationCompleted()
NotifyIconContextMenu = new ContextMenu();
var menuItems = new List<MenuItem>
{
new MenuItem()
{
Header = "Light",
Command = ReactiveCommand.Create(()=>{
if(fluentTheme is not null)
fluentTheme.Mode= FluentThemeMode.Light;
})
},
new MenuItem()
{
Header = "Dark",
Command = ReactiveCommand.Create(()=>{
if(fluentTheme is not null)
fluentTheme.Mode= FluentThemeMode.Dark;
})
},
new MenuItem()
{
Header = "NotifyIconContextMenuItemHeaderRestore",
Expand All @@ -115,6 +132,14 @@ public override void OnFrameworkInitializationCompleted()

#endregion

foreach (var style in App.Current.Styles)
{
if (style is FluentTheme fluent)
{
fluentTheme = fluent;
}
}

#if WINDOWS
AddJumpTask();
#endif
Expand Down Expand Up @@ -149,6 +174,7 @@ void NotifyIcon_Click(object? sender, EventArgs e)

public Window? MainWindow { get; set; }


/// <summary>
/// Restores the app's main window by setting its <c>WindowState</c> to
/// <c>WindowState.Normal</c> and showing the window.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
d:DesignWidth="1200" Width="1400" MinWidth="800"
d:DesignHeight="600" Height="800" MinHeight="600"
xmlns:pages="clr-namespace:System.Application.UI.Pages;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
xmlns:local="clr-namespace:System.Application.UI.Views;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
xmlns:local="clr-namespace:System.Application.UI.Views;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
xmlns:manager="clr-namespace:Avalonia.ThemeManager;assembly=Avalonia.ThemeManager"
x:Class="System.Application.UI.Views.MainWindow"
x:Name="MainWindow"
WindowStartupLocation="CenterScreen"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<UserControl.Styles>
<Style Selector="Image:pointerover">
<Style.Animations>
<Animation Duration="0:0:0.1" FillMode="Forward">
<Animation Duration="0:0:0.15" FillMode="Forward">
<KeyFrame Cue="0%">
<Setter Property="Width" Value="150"/>
<Setter Property="Height" Value="225"/>
Expand All @@ -25,7 +25,7 @@
</UserControl.Styles>
<Border BorderBrush="Gray" BorderThickness="0">
<Panel>
<Image Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/Icon.ico"></Image>
<Image Source="avares://System.Application.SteamTools.Client.Desktop.Avalonia/Application/UI/Assets/AppResources/app.png"></Image>
<Label IsHitTestVisible="False" Content="Test" HorizontalAlignment="Center" VerticalAlignment="Bottom" FontSize="18"></Label>
</Panel>
</Border>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="1200" d:DesignHeight="600"
xmlns:pages="clr-namespace:System.Application.UI.Views.Pages"
xmlns:controls="clr-namespace:System.Application.UI.Views.Controls"
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
x:Class="System.Application.UI.Views.MainView"
FontSize="14"
Foreground="{StaticResource SystemBaseHighColor}">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<Grid>
<DockPanel HorizontalAlignment="Stretch">
<ExperimentalAcrylicBorder IsHitTestVisible="False" DockPanel.Dock="Left" Width="240">
<ExperimentalAcrylicBorder.Material>
<ExperimentalAcrylicMaterial TintColor="black" MaterialOpacity="0.85" TintOpacity="1"/>
</ExperimentalAcrylicBorder.Material>
<!--<AutoCompleteBox HorizontalAlignment="Stretch" Margin="20 40 20 0" Watermark="Search" Items="{Binding SearchItems}" />-->
<StackPanel IsHitTestVisible="False" Orientation="Horizontal" HorizontalAlignment="Center" Height="110" VerticalAlignment="Top">
<Image IsHitTestVisible="False" Source="/Application/UI/Assets/Icon.ico" Height="64" Width="64" VerticalAlignment="Center" Margin="-8,0,0,0"/>
<Label IsHitTestVisible="False" Content="{Binding Path=Title}" VerticalContentAlignment="Center" FontSize="20" Margin="8,0,0,0"/>
</StackPanel>
</ExperimentalAcrylicBorder>
<ExperimentalAcrylicBorder IsHitTestVisible="False">
<ExperimentalAcrylicBorder.Material>
<ExperimentalAcrylicMaterial TintColor="{DynamicResource ThemeBackgroundBrush}" MaterialOpacity="0.85" TintOpacity="1"/>
</ExperimentalAcrylicBorder.Material>
<Label Content="{ReflectionBinding #TabControl.SelectedItem.Header}" Margin="20 15" FontSize="32"/>
</ExperimentalAcrylicBorder>
</DockPanel>

<TabControl x:Name="TabControl" Classes="sidebar" Margin="0 40 0 0">
<TabItem Header="{Binding Path=Res.Welcome,Mode=OneWay,Source={x:Static resx:R.Current}}" VerticalContentAlignment="Center">
<controls:CardView></controls:CardView>
</TabItem>
<TabItem Header="{Binding Path=Res.CommunityFix,Mode=OneWay,Source={x:Static resx:R.Current}}">
</TabItem>
<TabItem Header="{Binding Path=Res.UserFastChange,Mode=OneWay,Source={x:Static resx:R.Current}}">
</TabItem>
<TabItem Header="{Binding Path=Res.GameList,Mode=OneWay,Source={x:Static resx:R.Current}}">
<pages:GameListPage />
</TabItem>
<TabItem Header="{Binding Path=Res.SteamAuth,Mode=OneWay,Source={x:Static resx:R.Current}}">
</TabItem>
<TabItem Header="{Binding Path=Res.IdleCard,Mode=OneWay,Source={x:Static resx:R.Current}}">
</TabItem>
<TabItem Header="{Binding Path=Res.GameRelated,Mode=OneWay,Source={x:Static resx:R.Current}}">
</TabItem>
<TabItem Header="{Binding Path=Res.Settings,Mode=OneWay,Source={x:Static resx:R.Current}}">
<pages:SettingsPage />
</TabItem>
<TabItem Header="{Binding Path=Res.About,Source={x:Static resx:R.Current}}">
</TabItem>
</TabControl>
</Grid>
</UserControl>
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="System.Application.UI.Views.Pages.GameList">
x:Class="System.Application.UI.Views.Pages.GameListPage">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@

namespace System.Application.UI.Views.Pages
{
public class GameList : UserControl
public class GameListPage : UserControl
{
public GameList()
public GameListPage()
{
InitializeComponent();
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,37 +1,43 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop.Avalonia"
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="System.Application.UI.Views.Pages.SettingsPage">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<StackPanel HorizontalAlignment="Stretch" Margin="{StaticResource PageMargin}" Background="Transparent" Spacing="20">
<Grid RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto">
<StackPanel Orientation="Vertical"
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<StackPanel HorizontalAlignment="Stretch" Margin="{StaticResource PageMargin}" Background="Transparent" Spacing="20">
<Grid RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto">
<StackPanel Orientation="Vertical"
HorizontalAlignment="Stretch"
Spacing="16">
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_General,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Path=Res.Language,Mode=OneWay,Source={x:Static resx:R.Current}}" Margin="0 0 0 20"/>
<ComboBox HorizontalAlignment="Stretch"
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_General,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Path=Res.Language,Mode=OneWay,Source={x:Static resx:R.Current}}" Margin="0 0 0 20"/>
<ComboBox HorizontalAlignment="Stretch"
SelectedIndex="{Binding Path=SettingsPage.CurrentLanguageIndex}"
Items="{Binding Path=SettingsPage.Languages}" />
</StackPanel>
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
</StackPanel>
<StackPanel Orientation="Vertical"
</StackPanel>
<StackPanel Orientation="Vertical">
<ComboBox x:Name="Themes" SelectedIndex="0">
<ComboBoxItem>Light</ComboBoxItem>
<ComboBoxItem>Dark</ComboBoxItem>
</ComboBox>
</StackPanel>
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
</StackPanel>
<StackPanel Orientation="Vertical"
HorizontalAlignment="Stretch"
Spacing="16"
Grid.Row="1">
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_Auth,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
<StackPanel Orientation="Vertical">
</StackPanel>
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
</StackPanel>
</Grid>
</StackPanel>
<TextBlock FontSize="18" Text="{Binding Path=Res.Settings_Auth,Mode=OneWay,Source={x:Static resx:R.Current}}"/>
<StackPanel Orientation="Vertical">
</StackPanel>
<Border Background="{DynamicResource SystemControlHighlightBaseLowBrush}" BorderThickness="1" Margin="15"/>
</StackPanel>
</Grid>
</StackPanel>
</UserControl>
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using Avalonia.Markup.Xaml.Styling;
using System.Application.UI.ViewModels;

namespace System.Application.UI.Views.Pages
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:System.Application.UI.ViewModels;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:resx="clr-namespace:System.Application.UI.Resx;assembly=System.Application.SteamTools.Client.Desktop"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="System.Application.UI.Views.Pages.SteamAccountPage">
<Design.DataContext>
<vm:MainWindowViewModel/>
</Design.DataContext>
<StackPanel HorizontalAlignment="Stretch" Margin="{StaticResource PageMargin}" Background="Transparent" Spacing="20">
<Grid ColumnDefinitions="Auto,Auto">

</Grid>
</StackPanel>
</UserControl>
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
using System.Application.UI.ViewModels;

namespace System.Application.UI.Views.Pages
{
public class SteamAccountPage : UserControl
{
public SteamAccountPage()
{
InitializeComponent();
}

private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<controls:ResourceDictionary xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:Avalonia.Controls;assembly=Avalonia.Styling"
xmlns:markupextensions="clr-namespace:Avalonia.Markup.Xaml.MarkupExtensions;assembly=Avalonia.Markup.Xaml">
<controls:ResourceDictionary.MergedDictionaries>
<markupextensions:ResourceInclude Source="/Application/UI/Styles/Theme.Dark.xaml" />
<markupextensions:ResourceInclude Source="/Application/UI/Styles/Theme.Light.xaml" />
</controls:ResourceDictionary.MergedDictionaries>
</controls:ResourceDictionary>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<Styles xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Design.PreviewWith>
<Border Padding="20">
<StackPanel Spacing="5">
<TextBlock Text="Code Font Family" FontFamily="{StaticResource CodeFontFamily}" />
</StackPanel>
</Border>
</Design.PreviewWith>
<Styles.Resources>
<Thickness x:Key="PageMargin">40 0 40 0</Thickness>
<!--<FontFamily x:Key="CodeFontFamily">avares://Steam++/Assets/Fonts#Source Code Pro</FontFamily>-->
</Styles.Resources>

<Style Selector="TextBlock.code">
<!--<Setter Property="FontFamily" Value="{StaticResource CodeFontFamily}" />-->
</Style>
</Styles>
Loading

0 comments on commit e081b13

Please sign in to comment.