Skip to content

Commit

Permalink
UI: Give the cheat manager the custom window title bar treatment
Browse files Browse the repository at this point in the history
  • Loading branch information
GreemDev committed Mar 5, 2025
1 parent 7bdf013 commit c76f32a
Show file tree
Hide file tree
Showing 4 changed files with 86 additions and 37 deletions.
107 changes: 75 additions & 32 deletions src/Ryujinx/UI/Windows/CheatWindow.axaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,38 +20,81 @@
</Style>
</Window.Styles>
<Grid Name="CheatGrid" Margin="15" RowDefinitions="Auto,Auto,Auto,*,Auto" ColumnDefinitions="*,*">
<TextBlock
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
MaxWidth="500"
Margin="20,15,20,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
LineHeight="18"
Text="{Binding Heading}"
TextAlignment="Center"
TextWrapping="Wrap" />
<TextBlock
Grid.Row="2"
Grid.Column="0"
MaxWidth="500"
Margin="140,15,20,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
LineHeight="30"
Text="{ext:Locale BuildId}"
TextAlignment="Center"
TextWrapping="Wrap" />
<TextBox
Grid.Row="2"
Grid.Column="1"
Margin="0,5,110,5"
MinWidth="160"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding BuildId}"
IsReadOnly="True" />
<Grid Name="FlushHeader" Grid.Row="1" Column="0" ColumnSpan="2" RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="Auto,*,Auto,*">
<Image
Grid.Row="0"
Grid.Column="0"
Name="RyuLogo"
HorizontalAlignment="Left"
Margin="-7, -22, 7, 0"
Height="28"
Width="28" />
<StackPanel Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2"
Margin="7, -7, 0, 5"
Orientation="Horizontal"
VerticalAlignment="Center"
HorizontalAlignment="Stretch">
<TextBlock
MaxWidth="500"
Margin="0,8,5,0"
LineHeight="30"
Text="{ext:Locale BuildId}"
TextAlignment="Center"
TextWrapping="Wrap" />
<TextBox
Margin="0,0,0,0"
MinWidth="135"
Text="{Binding BuildId}"
IsReadOnly="True" />
</StackPanel>
<TextBlock
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="4"
MaxWidth="500"
Margin="0,10,0,5"
HorizontalAlignment="Stretch"
VerticalAlignment="Center"
LineHeight="18"
Text="{Binding Heading}"
TextAlignment="Center"
TextWrapping="Wrap" />

</Grid>
<Grid Name="NormalHeader" Grid.Row="1" Column="0" ColumnSpan="2" RowDefinitions="Auto,Auto,Auto" ColumnDefinitions="*,*">
<TextBlock
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
MaxWidth="500"
Margin="20,15,20,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
LineHeight="18"
Text="{Binding Heading}"
TextAlignment="Center"
TextWrapping="Wrap" />
<TextBlock
Grid.Row="2"
Grid.Column="0"
MaxWidth="500"
Margin="140,15,20,5"
HorizontalAlignment="Center"
VerticalAlignment="Center"
LineHeight="30"
Text="{ext:Locale BuildId}"
TextAlignment="Center"
TextWrapping="Wrap" />
<TextBox
Grid.Row="2"
Grid.Column="1"
Margin="0,5,110,5"
MinWidth="160"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Text="{Binding BuildId}"
IsReadOnly="True" />
</Grid>
<Border
Grid.Row="3"
Grid.Column="0"
Expand Down
7 changes: 6 additions & 1 deletion src/Ryujinx/UI/Windows/CheatWindow.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using Ryujinx.Ava.UI.Models;
using Ryujinx.Ava.Systems.AppLibrary;
using Ryujinx.Ava.Systems.Configuration;
using Ryujinx.Ava.UI.ViewModels;
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS;
using System.Collections.Generic;
Expand Down Expand Up @@ -32,7 +33,7 @@ public CheatWindow()
Title = RyujinxApp.FormatTitle(LocaleKeys.CheatWindowTitle);
}

public CheatWindow(VirtualFileSystem virtualFileSystem, string titleId, string titleName, string titlePath)
public CheatWindow(VirtualFileSystem virtualFileSystem, string titleId, string titleName, string titlePath) : base(useCustomTitleBar: true, 46)
{
MinWidth = 500;
MinHeight = 650;
Expand All @@ -44,6 +45,10 @@ public CheatWindow(VirtualFileSystem virtualFileSystem, string titleId, string t

InitializeComponent();

FlushHeader.IsVisible = !ConfigurationState.Instance.ShowTitleBar;
NormalHeader.IsVisible = ConfigurationState.Instance.ShowTitleBar;
RyuLogo.Source = MainWindowViewModel.IconBitmap;

string modsBasePath = ModLoader.GetModsBasePath();
string titleModsPath = ModLoader.GetApplicationDir(modsBasePath, titleId);
ulong titleIdValue = ulong.Parse(titleId, NumberStyles.HexNumber);
Expand Down
4 changes: 1 addition & 3 deletions src/Ryujinx/UI/Windows/CompatibilityListWindow.axaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,10 @@ public static Task Show(string titleId = null) =>
SearchBoxNormal = { Text = titleId ?? string.Empty }
});

public CompatibilityListWindow() : base(useCustomTitleBar: true)
public CompatibilityListWindow() : base(useCustomTitleBar: true, 37)
{
Title = RyujinxApp.FormatTitle(LocaleKeys.CompatibilityListTitle);

TitleBar.Height = 37;

InitializeComponent();

RyuLogo.Source = MainWindowViewModel.IconBitmap;
Expand Down
5 changes: 4 additions & 1 deletion src/Ryujinx/UI/Windows/StyleableWindow.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public static async Task ShowAsync(StyleableAppWindow appWindow, Window owner =
await appWindow.ShowDialog(owner ?? RyujinxApp.MainWindow);
}

protected StyleableAppWindow(bool useCustomTitleBar = false)
protected StyleableAppWindow(bool useCustomTitleBar = false, double? titleBarHeight = null)
{
WindowStartupLocation = WindowStartupLocation.CenterOwner;
TransparencyLevelHint = [WindowTransparencyLevel.None];
Expand All @@ -34,6 +34,9 @@ protected StyleableAppWindow(bool useCustomTitleBar = false)
{
TitleBar.ExtendsContentIntoTitleBar = !ConfigurationState.Instance.ShowTitleBar;
TitleBar.TitleBarHitTestType = ConfigurationState.Instance.ShowTitleBar ? TitleBarHitTestType.Simple : TitleBarHitTestType.Complex;

if (TitleBar.ExtendsContentIntoTitleBar && titleBarHeight != null)
TitleBar.Height = titleBarHeight.Value;
}

Icon = MainWindowViewModel.IconBitmap;
Expand Down

0 comments on commit c76f32a

Please sign in to comment.