Hide UI rework/arrow key fix (#2504)
* Unbreak arrow keys * Use bitshift for Flags instead of literal
This commit is contained in:
parent
5ceaf344ce
commit
46ffc81d90
7 changed files with 43 additions and 21 deletions
|
@ -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 */)
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">Ryujinx</property>
|
||||
<property name="window_position">center</property>
|
||||
<signal name="key-release-event" handler="Focus_Menu_Bar" swapped="no" />
|
||||
<child>
|
||||
<object class="GtkBox" id="_box">
|
||||
<property name="visible">True</property>
|
||||
|
@ -15,7 +14,7 @@
|
|||
<child>
|
||||
<object class="GtkMenuBar" id="_menuBar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuItem" id="_fileMenu">
|
||||
<property name="visible">True</property>
|
||||
|
@ -343,7 +342,7 @@
|
|||
<object class="GtkMenuItem" id="_hideUi">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Hide UI (Alt to show)</property>
|
||||
<property name="label" translatable="yes">Hide UI (SHOWUIKEY to show)</property>
|
||||
<property name="use_underline">True</property>
|
||||
<signal name="activate" handler="HideUi_Pressed" swapped="no" />
|
||||
</object>
|
||||
|
|
|
@ -568,6 +568,12 @@ namespace Ryujinx.Ui
|
|||
Renderer.Screenshot();
|
||||
}
|
||||
|
||||
if (currentHotkeyState.HasFlag(KeyboardHotkeyState.ShowUi) &&
|
||||
!_prevHotkeyState.HasFlag(KeyboardHotkeyState.ShowUi))
|
||||
{
|
||||
(Toplevel as MainWindow).ToggleExtraWidgets(true);
|
||||
}
|
||||
|
||||
_prevHotkeyState = currentHotkeyState;
|
||||
}
|
||||
|
||||
|
@ -593,9 +599,10 @@ namespace Ryujinx.Ui
|
|||
[Flags]
|
||||
private enum KeyboardHotkeyState
|
||||
{
|
||||
None,
|
||||
ToggleVSync,
|
||||
Screenshot
|
||||
None = 0,
|
||||
ToggleVSync = 1 << 0,
|
||||
Screenshot = 1 << 1,
|
||||
ShowUi = 1 << 2
|
||||
}
|
||||
|
||||
private KeyboardHotkeyState GetHotkeyState()
|
||||
|
@ -612,6 +619,11 @@ namespace Ryujinx.Ui
|
|||
state |= KeyboardHotkeyState.Screenshot;
|
||||
}
|
||||
|
||||
if (_keyboardInterface.IsPressed((Key)ConfigurationState.Instance.Hid.Hotkeys.Value.ShowUi))
|
||||
{
|
||||
state |= KeyboardHotkeyState.ShowUi;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue