mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-25 23:37:11 +02:00
UI: Rename Show Title Bar + Revamp for global settings window
This commit is contained in:
parent
97a1bbdd74
commit
f3a9cecf72
22 changed files with 156 additions and 94 deletions
|
@ -6,6 +6,7 @@
|
|||
xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
|
||||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||
xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
|
||||
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
|
||||
mc:Ignorable="d"
|
||||
d:DesignWidth="400"
|
||||
d:DesignHeight="350"
|
||||
|
@ -24,14 +25,12 @@
|
|||
</Design.DataContext>
|
||||
<Grid RowDefinitions="Auto,Auto,*,Auto" Margin="15" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
|
||||
<Grid Name="FlushControls" ColumnDefinitions="Auto,Auto" Grid.Row="1" Margin="-15">
|
||||
<Image
|
||||
<controls:RyujinxLogo
|
||||
Grid.Column="0"
|
||||
Name="RyuLogo"
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Margin="8, 8, 7, 0"
|
||||
Height="25"
|
||||
Width="25" />
|
||||
ToolTip.Tip="{ext:WindowTitle Amiibo}" />
|
||||
<StackPanel Grid.Column="1" Orientation="Horizontal" Margin="0, 0, 0, 100">
|
||||
<StackPanel Spacing="10" Orientation="Horizontal" HorizontalAlignment="Left">
|
||||
<TextBlock VerticalAlignment="Center" Text="{ext:Locale AmiiboSeriesLabel}" />
|
||||
|
|
|
@ -17,9 +17,8 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
|
||||
InitializeComponent();
|
||||
|
||||
FlushControls.IsVisible = !ConfigurationState.Instance.ShowTitleBar;
|
||||
NormalControls.IsVisible = ConfigurationState.Instance.ShowTitleBar;
|
||||
RyuLogo.Source = MainWindowViewModel.IconBitmap;
|
||||
FlushControls.IsVisible = !ConfigurationState.Instance.ShowOldUI;
|
||||
NormalControls.IsVisible = ConfigurationState.Instance.ShowOldUI;
|
||||
|
||||
Title = RyujinxApp.FormatTitle(LocaleKeys.Amiibo);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
xmlns:ext="clr-namespace:Ryujinx.Ava.Common.Markup"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
|
||||
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
|
||||
Width="600"
|
||||
Height="750"
|
||||
MinWidth="500"
|
||||
|
@ -21,14 +22,14 @@
|
|||
</Window.Styles>
|
||||
<Grid Name="CheatGrid" Margin="15" RowDefinitions="Auto,Auto,Auto,*,Auto" ColumnDefinitions="*,*">
|
||||
<Grid Name="FlushHeader" Grid.Row="1" Column="0" ColumnSpan="2" RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="Auto,*,Auto,*">
|
||||
<Image
|
||||
<controls:RyujinxLogo
|
||||
Grid.Row="0"
|
||||
Grid.Column="0"
|
||||
Name="RyuLogo"
|
||||
HorizontalAlignment="Left"
|
||||
Margin="-7, -22, 7, 0"
|
||||
Height="28"
|
||||
Width="28" />
|
||||
Width="28"
|
||||
ToolTip.Tip="{ext:WindowTitle CheatWindowTitle}"/>
|
||||
<StackPanel Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2"
|
||||
Margin="7, -7, 0, 5"
|
||||
Orientation="Horizontal"
|
||||
|
|
|
@ -45,9 +45,8 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
|
||||
InitializeComponent();
|
||||
|
||||
FlushHeader.IsVisible = !ConfigurationState.Instance.ShowTitleBar;
|
||||
NormalHeader.IsVisible = ConfigurationState.Instance.ShowTitleBar;
|
||||
RyuLogo.Source = MainWindowViewModel.IconBitmap;
|
||||
FlushHeader.IsVisible = !ConfigurationState.Instance.ShowOldUI;
|
||||
NormalHeader.IsVisible = ConfigurationState.Instance.ShowOldUI;
|
||||
|
||||
string modsBasePath = ModLoader.GetModsBasePath();
|
||||
string titleModsPath = ModLoader.GetApplicationDir(modsBasePath, titleId);
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
|
||||
xmlns:systems="clr-namespace:Ryujinx.Ava.Systems"
|
||||
xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
|
||||
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
|
||||
CanResize="False"
|
||||
mc:Ignorable="d"
|
||||
MinWidth="800"
|
||||
|
@ -18,11 +19,10 @@
|
|||
</window:StyleableAppWindow.DataContext>
|
||||
<Grid RowDefinitions="Auto,*">
|
||||
<Grid Grid.Row="0" ColumnDefinitions="Auto,*,Auto,Auto" Name="FlushControls">
|
||||
<Image
|
||||
Name="RyuLogo"
|
||||
<controls:RyujinxLogo
|
||||
Grid.Column="0"
|
||||
Margin="15, 0, 7, 0"
|
||||
Height="25"
|
||||
Width="25" />
|
||||
ToolTip.Tip="{ext:WindowTitle CompatibilityListTitle, False}"/>
|
||||
<TextBox Name="SearchBoxFlush" Grid.Column="1" Margin="0, 5, 0, 5" HorizontalAlignment="Stretch" Watermark="{ext:Locale CompatibilityListSearchBoxWatermarkWithCount}" TextChanged="TextBox_OnTextChanged" />
|
||||
<CheckBox Grid.Column="2" Margin="7, 0, 0, 0" IsChecked="{Binding OnlyShowOwnedGames}" />
|
||||
<TextBlock Grid.Column="3" Padding="0, 0, 138, 0" Margin="-10, 0, 18, 0" Text="{ext:Locale CompatibilityListOnlyShowOwnedGames}" />
|
||||
|
|
|
@ -26,10 +26,9 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
Title = RyujinxApp.FormatTitle(LocaleKeys.CompatibilityListTitle);
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
RyuLogo.Source = MainWindowViewModel.IconBitmap;
|
||||
FlushControls.IsVisible = !ConfigurationState.Instance.ShowTitleBar;
|
||||
NormalControls.IsVisible = ConfigurationState.Instance.ShowTitleBar;
|
||||
|
||||
FlushControls.IsVisible = !ConfigurationState.Instance.ShowOldUI;
|
||||
NormalControls.IsVisible = ConfigurationState.Instance.ShowOldUI;
|
||||
}
|
||||
|
||||
// ReSharper disable once UnusedMember.Local
|
||||
|
|
|
@ -97,7 +97,7 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
TitleBar.Height = MenuBarHeight;
|
||||
|
||||
// Correctly size window when 'TitleBar' is enabled (Nov. 14, 2024)
|
||||
TitleBarHeight = (ConfigurationState.Instance.ShowTitleBar ? TitleBar.Height : 0);
|
||||
TitleBarHeight = (ConfigurationState.Instance.ShowOldUI ? TitleBar.Height : 0);
|
||||
|
||||
ApplicationList.DataContext = DataContext;
|
||||
ApplicationGrid.DataContext = DataContext;
|
||||
|
|
|
@ -11,10 +11,11 @@
|
|||
xmlns:settings="clr-namespace:Ryujinx.Ava.UI.Views.Settings"
|
||||
xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
|
||||
xmlns:helper="clr-namespace:Ryujinx.Common.Helper;assembly=Ryujinx.Common"
|
||||
xmlns:controls="clr-namespace:Ryujinx.Ava.UI.Controls"
|
||||
Width="1100"
|
||||
Height="927"
|
||||
MinWidth="800"
|
||||
MinHeight="480"
|
||||
Title="{ext:WindowTitle Settings}"
|
||||
WindowStartupLocation="CenterOwner"
|
||||
x:DataType="viewModels:SettingsViewModel"
|
||||
mc:Ignorable="d"
|
||||
|
@ -22,13 +23,20 @@
|
|||
<Design.DataContext>
|
||||
<viewModels:SettingsViewModel />
|
||||
</Design.DataContext>
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="600" RowDefinitions="Auto,*,Auto">
|
||||
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="600" RowDefinitions="Auto,Auto,*,Auto">
|
||||
<StackPanel Grid.Row="0" Orientation="Horizontal">
|
||||
<controls:RyujinxLogo
|
||||
HorizontalAlignment="Left"
|
||||
VerticalAlignment="Top"
|
||||
Margin="7, 7, 7, 0"
|
||||
ToolTip.Tip="{ext:WindowTitle Settings}"/>
|
||||
</StackPanel>
|
||||
<ContentPresenter
|
||||
x:Name="ContentPresenter"
|
||||
Grid.Row="1"
|
||||
Grid.Row="2"
|
||||
IsVisible="False"
|
||||
KeyboardNavigation.IsTabStop="False"/>
|
||||
<Grid Name="Pages" IsVisible="False" Grid.Row="2">
|
||||
<Grid Name="Pages" IsVisible="False" Grid.Row="3">
|
||||
<settings:SettingsUiView Name="UiPage" />
|
||||
<settings:SettingsInputView Name="InputPage" />
|
||||
<settings:SettingsHotkeysView Name="HotkeysPage" />
|
||||
|
@ -41,12 +49,11 @@
|
|||
<settings:SettingsHacksView Name="HacksPage" />
|
||||
</Grid>
|
||||
<ui:NavigationView
|
||||
Grid.Row="1"
|
||||
Grid.Row="2"
|
||||
IsSettingsVisible="False"
|
||||
Name="NavPanel"
|
||||
IsBackEnabled="False"
|
||||
PaneDisplayMode="Left"
|
||||
Margin="2,10,10,0"
|
||||
Margin="10,10,10,0"
|
||||
VerticalAlignment="Stretch"
|
||||
HorizontalAlignment="Stretch"
|
||||
OpenPaneLength="200">
|
||||
|
@ -108,7 +115,7 @@
|
|||
</Style>
|
||||
</ui:NavigationView.Styles>
|
||||
</ui:NavigationView>
|
||||
<Grid Grid.Row="2"
|
||||
<Grid Grid.Row="3"
|
||||
ColumnDefinitions="Auto,*,Auto">
|
||||
<StackPanel Grid.Column="0" Orientation="Horizontal">
|
||||
<Button
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using Avalonia.Controls;
|
||||
using FluentAvalonia.UI.Controls;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Ava.Systems.Configuration;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
using Ryujinx.HLE.FileSystem;
|
||||
using Ryujinx.Input;
|
||||
|
@ -13,7 +14,7 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
{
|
||||
internal readonly SettingsViewModel ViewModel;
|
||||
|
||||
public SettingsWindow(VirtualFileSystem virtualFileSystem, ContentManager contentManager)
|
||||
public SettingsWindow(VirtualFileSystem virtualFileSystem, ContentManager contentManager) : base(true)
|
||||
{
|
||||
Title = RyujinxApp.FormatTitle(LocaleKeys.Settings);
|
||||
|
||||
|
@ -23,6 +24,16 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
ViewModel.SaveSettingsEvent += SaveSettings;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
NavPanel.PaneDisplayMode =
|
||||
ConfigurationState.Instance.ShowOldUI
|
||||
? NavigationViewPaneDisplayMode.Left
|
||||
: NavigationViewPaneDisplayMode.Top;
|
||||
|
||||
Height = ConfigurationState.Instance.ShowOldUI
|
||||
? 927
|
||||
: 993; // nav panel is put on top with custom title bar so account for new height
|
||||
|
||||
Load();
|
||||
}
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ using Avalonia.Platform;
|
|||
using FluentAvalonia.UI.Windowing;
|
||||
using Ryujinx.Ava.Common.Locale;
|
||||
using Ryujinx.Ava.Systems.Configuration;
|
||||
using Ryujinx.Ava.UI.Controls;
|
||||
using Ryujinx.Ava.UI.ViewModels;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
|
@ -32,14 +33,14 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
|
||||
if (useCustomTitleBar)
|
||||
{
|
||||
TitleBar.ExtendsContentIntoTitleBar = !ConfigurationState.Instance.ShowTitleBar;
|
||||
TitleBar.TitleBarHitTestType = ConfigurationState.Instance.ShowTitleBar ? TitleBarHitTestType.Simple : TitleBarHitTestType.Complex;
|
||||
TitleBar.ExtendsContentIntoTitleBar = !ConfigurationState.Instance.ShowOldUI;
|
||||
TitleBar.TitleBarHitTestType = ConfigurationState.Instance.ShowOldUI ? TitleBarHitTestType.Simple : TitleBarHitTestType.Complex;
|
||||
|
||||
if (TitleBar.ExtendsContentIntoTitleBar && titleBarHeight != null)
|
||||
TitleBar.Height = titleBarHeight.Value;
|
||||
}
|
||||
|
||||
Icon = MainWindowViewModel.IconBitmap;
|
||||
Icon = RyujinxLogo.Bitmap;
|
||||
}
|
||||
|
||||
private void LocaleChanged()
|
||||
|
@ -73,7 +74,7 @@ namespace Ryujinx.Ava.UI.Windows
|
|||
LocaleManager.Instance.LocaleChanged += LocaleChanged;
|
||||
LocaleChanged();
|
||||
|
||||
Icon = new WindowIcon(MainWindowViewModel.IconBitmap);
|
||||
Icon = new WindowIcon(RyujinxLogo.Bitmap);
|
||||
}
|
||||
|
||||
private void LocaleChanged()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue