From 46ffc81d90bd3a8f2d24c2997166d22f12ecbbb6 Mon Sep 17 00:00:00 2001
From: ooa113y <13thSlayer@gmail.com>
Date: Thu, 5 Aug 2021 00:28:19 +0300
Subject: [PATCH] Hide UI rework/arrow key fix (#2504)
* Unbreak arrow keys
* Use bitshift for Flags instead of literal
---
.../Configuration/Hid/KeyboardHotkeys.cs | 3 ++-
Ryujinx/Config.json | 7 ++++---
.../Configuration/ConfigurationFileFormat.cs | 2 +-
Ryujinx/Configuration/ConfigurationState.cs | 17 ++++++++++++++++-
Ryujinx/Ui/MainWindow.cs | 12 +++---------
Ryujinx/Ui/MainWindow.glade | 5 ++---
Ryujinx/Ui/RendererWidgetBase.cs | 18 +++++++++++++++---
7 files changed, 43 insertions(+), 21 deletions(-)
diff --git a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs
index 47772ea848..38f5ad3688 100644
--- a/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs
+++ b/Ryujinx.Common/Configuration/Hid/KeyboardHotkeys.cs
@@ -4,5 +4,6 @@
{
public Key ToggleVsync { get; set; }
public Key Screenshot { get; set; }
+ public Key ShowUi { get; set; }
}
-}
\ No newline at end of file
+}
diff --git a/Ryujinx/Config.json b/Ryujinx/Config.json
index 3d4ea23b13..504a713f26 100644
--- a/Ryujinx/Config.json
+++ b/Ryujinx/Config.json
@@ -1,5 +1,5 @@
{
- "version": 28,
+ "version": 29,
"enable_file_log": true,
"res_scale": 1,
"res_scale_custom": 1,
@@ -58,7 +58,8 @@
"enable_mouse": false,
"hotkeys": {
"toggle_vsync": "Tab",
- "screenshot": "F8"
+ "screenshot": "F8",
+ "show_ui": "F4"
},
"keyboard_config": [],
"controller_config": [],
@@ -107,4 +108,4 @@
"player_index": "Player1"
}
]
-}
\ No newline at end of file
+}
diff --git a/Ryujinx/Configuration/ConfigurationFileFormat.cs b/Ryujinx/Configuration/ConfigurationFileFormat.cs
index 4634dafebb..65165d8db3 100644
--- a/Ryujinx/Configuration/ConfigurationFileFormat.cs
+++ b/Ryujinx/Configuration/ConfigurationFileFormat.cs
@@ -14,7 +14,7 @@ namespace Ryujinx.Configuration
///
/// The current version of the file format
///
- public const int CurrentVersion = 28;
+ public const int CurrentVersion = 29;
public int Version { get; set; }
diff --git a/Ryujinx/Configuration/ConfigurationState.cs b/Ryujinx/Configuration/ConfigurationState.cs
index c98fbcca25..41bd64a7b0 100644
--- a/Ryujinx/Configuration/ConfigurationState.cs
+++ b/Ryujinx/Configuration/ConfigurationState.cs
@@ -543,7 +543,8 @@ namespace Ryujinx.Configuration
Hid.Hotkeys.Value = new KeyboardHotkeys
{
ToggleVsync = Key.Tab,
- Screenshot = Key.F8
+ Screenshot = Key.F8,
+ ShowUi = Key.F4
};
Hid.InputConfig.Value = new List
{
@@ -859,6 +860,20 @@ namespace Ryujinx.Configuration
configurationFileUpdated = true;
}
+ if (configurationFileFormat.Version < 29)
+ {
+ Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 29.");
+
+ configurationFileFormat.Hotkeys = new KeyboardHotkeys
+ {
+ ToggleVsync = Key.Tab,
+ Screenshot = Key.F8,
+ ShowUi = Key.F4
+ };
+
+ configurationFileUpdated = true;
+ }
+
Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
Graphics.ResScale.Value = configurationFileFormat.ResScale;
Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
diff --git a/Ryujinx/Ui/MainWindow.cs b/Ryujinx/Ui/MainWindow.cs
index 387ae63aae..8e579e78ea 100644
--- a/Ryujinx/Ui/MainWindow.cs
+++ b/Ryujinx/Ui/MainWindow.cs
@@ -101,6 +101,7 @@ namespace Ryujinx.Ui
[GUI] MenuItem _simulateWakeUpMessage;
[GUI] MenuItem _scanAmiibo;
[GUI] MenuItem _takeScreenshot;
+ [GUI] MenuItem _hideUi;
[GUI] MenuItem _fullScreen;
[GUI] CheckMenuItem _startFullScreen;
[GUI] CheckMenuItem _favToggle;
@@ -243,6 +244,8 @@ namespace Ryujinx.Ui
_gameTable.SearchColumn = 2;
_gameTable.SearchEqualFunc = (model, col, key, iter) => !((string)model.GetValue(iter, col)).Contains(key, StringComparison.InvariantCultureIgnoreCase);
+ _hideUi.Label = _hideUi.Label.Replace("SHOWUIKEY", ConfigurationState.Instance.Hid.Hotkeys.Value.ShowUi.ToString());
+
UpdateColumns();
UpdateGameTable();
@@ -1072,15 +1075,6 @@ namespace Ryujinx.Ui
ConfigurationState.Instance.Graphics.AspectRatio.Value = ((int)aspectRatio + 1) > Enum.GetNames(typeof(AspectRatio)).Length - 1 ? AspectRatio.Fixed4x3 : aspectRatio + 1;
}
- private void Focus_Menu_Bar(object sender, KeyReleaseEventArgs args)
- {
- if (args.Event.Key == Gdk.Key.Alt_L)
- {
- ToggleExtraWidgets(true);
- _menuBar.GrabFocus();
- }
- }
-
private void Row_Clicked(object sender, ButtonReleaseEventArgs args)
{
if (args.Event.Button != 3 /* Right Click */)
diff --git a/Ryujinx/Ui/MainWindow.glade b/Ryujinx/Ui/MainWindow.glade
index abe969075f..ff95506af5 100644
--- a/Ryujinx/Ui/MainWindow.glade
+++ b/Ryujinx/Ui/MainWindow.glade
@@ -6,7 +6,6 @@
False
Ryujinx
center
-