gdkchan's requested changes

This commit is contained in:
Xpl0itR 2019-07-20 15:09:47 +01:00
parent 098f76a695
commit 472384f793
No known key found for this signature in database
GPG key ID: 91798184109676AD
14 changed files with 603 additions and 665 deletions

View file

@ -29,21 +29,11 @@
<ItemGroup>
<None Remove="Homebrew.npdm" />
<None Remove="ryujinxNCAIcon.png" />
<None Remove="ryujinxNROIcon.png" />
<None Remove="ryujinxNSOIcon.png" />
<None Remove="ryujinxNSPIcon.png" />
<None Remove="ryujinxXCIIcon.png" />
<None Remove="RyujinxProfileImage.jpg" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Homebrew.npdm" />
<EmbeddedResource Include="ryujinxNCAIcon.png" />
<EmbeddedResource Include="ryujinxNROIcon.png" />
<EmbeddedResource Include="ryujinxNSOIcon.png" />
<EmbeddedResource Include="ryujinxNSPIcon.png" />
<EmbeddedResource Include="ryujinxXCIIcon.png" />
<EmbeddedResource Include="RyujinxProfileImage.jpg" />
</ItemGroup>

View file

@ -20,6 +20,11 @@
<ItemGroup>
<EmbeddedResource Include="Ui\AboutWindow.glade" />
<EmbeddedResource Include="Ui\assets\ryujinxNCAIcon.png" />
<EmbeddedResource Include="Ui\assets\ryujinxNROIcon.png" />
<EmbeddedResource Include="Ui\assets\ryujinxNSOIcon.png" />
<EmbeddedResource Include="Ui\assets\ryujinxNSPIcon.png" />
<EmbeddedResource Include="Ui\assets\ryujinxXCIIcon.png" />
<EmbeddedResource Include="Ui\assets\DiscordLogo.png" />
<EmbeddedResource Include="Ui\assets\GitHubLogo.png" />
<EmbeddedResource Include="Ui\assets\JoyCon.png" />

View file

@ -10,29 +10,29 @@ namespace Ryujinx.UI
public class AboutWindow : Window
{
#pragma warning disable 649
[GUI] Window AboutWin;
[GUI] Label VersionText;
[GUI] Image RyujinxLogo;
[GUI] Image PatreonLogo;
[GUI] Image GitHubLogo;
[GUI] Image DiscordLogo;
[GUI] Image TwitterLogo;
[GUI] Window _aboutWin;
[GUI] Label _versionText;
[GUI] Image _ryujinxLogo;
[GUI] Image _patreonLogo;
[GUI] Image _gitHubLogo;
[GUI] Image _discordLogo;
[GUI] Image _twitterLogo;
#pragma warning restore 649
public AboutWindow() : this(new Builder("Ryujinx.Ui.AboutWindow.glade")) { }
private AboutWindow(Builder builder) : base(builder.GetObject("AboutWin").Handle)
private AboutWindow(Builder builder) : base(builder.GetObject("_aboutWin").Handle)
{
builder.Autoconnect(this);
AboutWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.ryujinxIcon.png");
RyujinxLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.ryujinxIcon.png", 100, 100);
PatreonLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.PatreonLogo.png", 30 , 30 );
GitHubLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.GitHubLogo.png" , 30 , 30 );
DiscordLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.DiscordLogo.png", 30 , 30 );
TwitterLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.TwitterLogo.png", 30 , 30 );
_aboutWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
_ryujinxLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png", 100, 100);
_patreonLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.PatreonLogo.png", 30 , 30 );
_gitHubLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.GitHubLogo.png" , 30 , 30 );
_discordLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.DiscordLogo.png", 30 , 30 );
_twitterLogo.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.TwitterLogo.png", 30 , 30 );
VersionText.Text = "Version x.x.x (Commit Number)";
_versionText.Text = "Version x.x.x (Commit Number)";
}
public void OpenUrl(string url)
@ -79,7 +79,7 @@ namespace Ryujinx.UI
private void ContributersButton_Pressed(object obj, ButtonPressEventArgs args)
{
OpenUrl("https://github.com/Ryujinx/Ryujinx/graphs/contributors");
OpenUrl("https://github.com/Ryujinx/Ryujinx/graphs/contributors?type=a");
}
private void CloseToggle_Activated(object obj, EventArgs args)

View file

@ -2,7 +2,7 @@
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkDialog" id="AboutWin">
<object class="GtkDialog" id="_aboutWin">
<property name="can_focus">False</property>
<property name="resizable">False</property>
<property name="modal">True</property>
@ -50,7 +50,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage" id="RyujinxLogo">
<object class="GtkImage" id="_ryujinxLogo">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">10</property>
@ -138,7 +138,7 @@
</packing>
</child>
<child>
<object class="GtkLabel" id="VersionText">
<object class="GtkLabel" id="_versionText">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Version x.x.x (Commit Number)</property>
@ -206,7 +206,7 @@ or any of its partners, in any way</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="PatreonLogo">
<object class="GtkImage" id="_patreonLogo">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@ -248,7 +248,7 @@ or any of its partners, in any way</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="GitHubLogo">
<object class="GtkImage" id="_gitHubLogo">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@ -290,7 +290,7 @@ or any of its partners, in any way</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="DiscordLogo">
<object class="GtkImage" id="_discordLogo">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
@ -332,7 +332,7 @@ or any of its partners, in any way</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkImage" id="TwitterLogo">
<object class="GtkImage" id="_twitterLogo">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>

View file

@ -10,12 +10,12 @@ using System.Linq;
using System.Reflection;
using System.Text;
namespace Ryujinx.HLE
namespace Ryujinx.UI
{
public class ApplicationLibrary
{
private static Keyset KeySet;
private static HOS.SystemState.TitleLanguage DesiredTitleLanguage;
private static HLE.HOS.SystemState.TitleLanguage DesiredTitleLanguage;
private const double SecondsPerMinute = 60.0;
private const double SecondsPerHour = SecondsPerMinute * 60;
@ -43,17 +43,17 @@ namespace Ryujinx.HLE
public string Path;
}
public static void Init(List<string> AppDirs, Keyset keySet, HOS.SystemState.TitleLanguage desiredTitleLanguage)
public static void Init(List<string> AppDirs, Keyset keySet, HLE.HOS.SystemState.TitleLanguage desiredTitleLanguage)
{
KeySet = keySet;
DesiredTitleLanguage = desiredTitleLanguage;
// Loads the default application Icons
RyujinxNspIcon = GetResourceBytes("Ryujinx.HLE.ryujinxNSPIcon.png");
RyujinxXciIcon = GetResourceBytes("Ryujinx.HLE.ryujinxXCIIcon.png");
RyujinxNcaIcon = GetResourceBytes("Ryujinx.HLE.ryujinxNCAIcon.png");
RyujinxNroIcon = GetResourceBytes("Ryujinx.HLE.ryujinxNROIcon.png");
RyujinxNsoIcon = GetResourceBytes("Ryujinx.HLE.ryujinxNSOIcon.png");
RyujinxNspIcon = GetResourceBytes("Ryujinx.Ui.assets.ryujinxNSPIcon.png");
RyujinxXciIcon = GetResourceBytes("Ryujinx.Ui.assets.ryujinxXCIIcon.png");
RyujinxNcaIcon = GetResourceBytes("Ryujinx.Ui.assets.ryujinxNCAIcon.png");
RyujinxNroIcon = GetResourceBytes("Ryujinx.Ui.assets.ryujinxNROIcon.png");
RyujinxNsoIcon = GetResourceBytes("Ryujinx.Ui.assets.ryujinxNSOIcon.png");
// Builds the applications list with paths to found applications
List<string> applications = new List<string>();

View file

@ -5,7 +5,6 @@ using Ryujinx.Audio;
using Ryujinx.Common.Logging;
using Ryujinx.Graphics.Gal;
using Ryujinx.Graphics.Gal.OpenGL;
using Ryujinx.HLE;
using Ryujinx.HLE.FileSystem;
using Ryujinx.Profiler;
using System;
@ -39,18 +38,27 @@ namespace Ryujinx.UI
private static bool _gameLoaded = false;
#pragma warning disable 649
[GUI] Window MainWin;
[GUI] CheckMenuItem FullScreen;
[GUI] MenuItem StopEmulation;
[GUI] MenuItem Nfc;
[GUI] Box Box;
[GUI] TreeView GameTable;
[GUI] GLArea GlScreen;
[GUI] Window _mainWin;
[GUI] CheckMenuItem _fullScreen;
[GUI] MenuItem _stopEmulation;
[GUI] CheckMenuItem _iconToggle;
[GUI] CheckMenuItem _titleToggle;
[GUI] CheckMenuItem _developerToggle;
[GUI] CheckMenuItem _versionToggle;
[GUI] CheckMenuItem _timePlayedToggle;
[GUI] CheckMenuItem _lastPlayedToggle;
[GUI] CheckMenuItem _fileExtToggle;
[GUI] CheckMenuItem _fileSizeToggle;
[GUI] CheckMenuItem _pathToggle;
[GUI] MenuItem _nfc;
[GUI] Box _box;
[GUI] TreeView _gameTable;
[GUI] GLArea _glScreen;
#pragma warning restore 649
public MainWindow(string[] args, Application gtkapp) : this(new Builder("Ryujinx.Ui.MainWindow.glade"), args, gtkapp) { }
private MainWindow(Builder builder, string[] args, Application gtkapp) : base(builder.GetObject("MainWin").Handle)
private MainWindow(Builder builder, string[] args, Application gtkapp) : base(builder.GetObject("_mainWin").Handle)
{
_renderer = new OglRenderer();
@ -67,8 +75,6 @@ namespace Ryujinx.UI
ApplyTheme();
DeleteEvent += Window_Close;
if (DiscordIntegrationEnabled)
{
DiscordClient = new DiscordRpcClient("568815339807309834");
@ -89,25 +95,38 @@ namespace Ryujinx.UI
}
builder.Autoconnect(this);
MainWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
DeleteEvent += Window_Close;
_mainWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
_nfc.Sensitive = false;
_stopEmulation.Sensitive = false;
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { _iconToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[1]) { _titleToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[2]) { _developerToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[3]) { _versionToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[4]) { _timePlayedToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[5]) { _lastPlayedToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[6]) { _fileExtToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[7]) { _fileSizeToggle.Active = true; }
if (SwitchSettings.SwitchConfig.GuiColumns[8]) { _pathToggle.Active = true; }
if (args.Length == 1)
{
// Temporary code section start, remove this section when game is rendered to the GLArea in the GUI
Box.Remove(GlScreen);
Nfc.Sensitive = false;
StopEmulation.Sensitive = false;
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { GameTable.AppendColumn("Icon" , new CellRendererPixbuf(), "pixbuf", 0); }
if (SwitchSettings.SwitchConfig.GuiColumns[1]) { GameTable.AppendColumn("Application", new CellRendererText() , "text" , 1); }
if (SwitchSettings.SwitchConfig.GuiColumns[2]) { GameTable.AppendColumn("Developer" , new CellRendererText() , "text" , 2); }
if (SwitchSettings.SwitchConfig.GuiColumns[3]) { GameTable.AppendColumn("Version" , new CellRendererText() , "text" , 3); }
if (SwitchSettings.SwitchConfig.GuiColumns[4]) { GameTable.AppendColumn("Time Played", new CellRendererText() , "text" , 4); }
if (SwitchSettings.SwitchConfig.GuiColumns[5]) { GameTable.AppendColumn("Last Played", new CellRendererText() , "text" , 5); }
if (SwitchSettings.SwitchConfig.GuiColumns[6]) { GameTable.AppendColumn("File Ext" , new CellRendererText() , "text" , 6); }
if (SwitchSettings.SwitchConfig.GuiColumns[7]) { GameTable.AppendColumn("File Size" , new CellRendererText() , "text" , 7); }
if (SwitchSettings.SwitchConfig.GuiColumns[8]) { GameTable.AppendColumn("Path" , new CellRendererText() , "text" , 8); }
_tableStore = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
GameTable.Model = _tableStore;
_box.Remove(_glScreen);
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { _gameTable.AppendColumn("Icon" , new CellRendererPixbuf(), "pixbuf", 0); }
if (SwitchSettings.SwitchConfig.GuiColumns[1]) { _gameTable.AppendColumn("Application", new CellRendererText() , "text" , 1); }
if (SwitchSettings.SwitchConfig.GuiColumns[2]) { _gameTable.AppendColumn("Developer" , new CellRendererText() , "text" , 2); }
if (SwitchSettings.SwitchConfig.GuiColumns[3]) { _gameTable.AppendColumn("Version" , new CellRendererText() , "text" , 3); }
if (SwitchSettings.SwitchConfig.GuiColumns[4]) { _gameTable.AppendColumn("Time Played", new CellRendererText() , "text" , 4); }
if (SwitchSettings.SwitchConfig.GuiColumns[5]) { _gameTable.AppendColumn("Last Played", new CellRendererText() , "text" , 5); }
if (SwitchSettings.SwitchConfig.GuiColumns[6]) { _gameTable.AppendColumn("File Ext" , new CellRendererText() , "text" , 6); }
if (SwitchSettings.SwitchConfig.GuiColumns[7]) { _gameTable.AppendColumn("File Size" , new CellRendererText() , "text" , 7); }
if (SwitchSettings.SwitchConfig.GuiColumns[8]) { _gameTable.AppendColumn("Path" , new CellRendererText() , "text" , 8); }
_tableStore = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
_gameTable.Model = _tableStore;
UpdateGameTable();
// Temporary code section end
@ -115,23 +134,20 @@ namespace Ryujinx.UI
}
else
{
Box.Remove(GlScreen);
_box.Remove(_glScreen);
Nfc.Sensitive = false;
StopEmulation.Sensitive = false;
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { _gameTable.AppendColumn("Icon" , new CellRendererPixbuf(), "pixbuf", 0); }
if (SwitchSettings.SwitchConfig.GuiColumns[1]) { _gameTable.AppendColumn("Application", new CellRendererText() , "text" , 1); }
if (SwitchSettings.SwitchConfig.GuiColumns[2]) { _gameTable.AppendColumn("Developer" , new CellRendererText() , "text" , 2); }
if (SwitchSettings.SwitchConfig.GuiColumns[3]) { _gameTable.AppendColumn("Version" , new CellRendererText() , "text" , 3); }
if (SwitchSettings.SwitchConfig.GuiColumns[4]) { _gameTable.AppendColumn("Time Played", new CellRendererText() , "text" , 4); }
if (SwitchSettings.SwitchConfig.GuiColumns[5]) { _gameTable.AppendColumn("Last Played", new CellRendererText() , "text" , 5); }
if (SwitchSettings.SwitchConfig.GuiColumns[6]) { _gameTable.AppendColumn("File Ext" , new CellRendererText() , "text" , 6); }
if (SwitchSettings.SwitchConfig.GuiColumns[7]) { _gameTable.AppendColumn("File Size" , new CellRendererText() , "text" , 7); }
if (SwitchSettings.SwitchConfig.GuiColumns[8]) { _gameTable.AppendColumn("Path" , new CellRendererText() , "text" , 8); }
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { GameTable.AppendColumn("Icon" , new CellRendererPixbuf(), "pixbuf", 0); }
if (SwitchSettings.SwitchConfig.GuiColumns[1]) { GameTable.AppendColumn("Application", new CellRendererText() , "text" , 1); }
if (SwitchSettings.SwitchConfig.GuiColumns[2]) { GameTable.AppendColumn("Developer" , new CellRendererText() , "text" , 2); }
if (SwitchSettings.SwitchConfig.GuiColumns[3]) { GameTable.AppendColumn("Version" , new CellRendererText() , "text" , 3); }
if (SwitchSettings.SwitchConfig.GuiColumns[4]) { GameTable.AppendColumn("Time Played", new CellRendererText() , "text" , 4); }
if (SwitchSettings.SwitchConfig.GuiColumns[5]) { GameTable.AppendColumn("Last Played", new CellRendererText() , "text" , 5); }
if (SwitchSettings.SwitchConfig.GuiColumns[6]) { GameTable.AppendColumn("File Ext" , new CellRendererText() , "text" , 6); }
if (SwitchSettings.SwitchConfig.GuiColumns[7]) { GameTable.AppendColumn("File Size" , new CellRendererText() , "text" , 7); }
if (SwitchSettings.SwitchConfig.GuiColumns[8]) { GameTable.AppendColumn("Path" , new CellRendererText() , "text" , 8); }
_tableStore = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
GameTable.Model = _tableStore;
_tableStore = new ListStore(typeof(Gdk.Pixbuf), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
_gameTable.Model = _tableStore;
UpdateGameTable();
}
@ -249,8 +265,8 @@ namespace Ryujinx.UI
new Thread(new ThreadStart(CreateGameWindow)).Start();
_gameLoaded = true;
StopEmulation.Sensitive = true;
_gameLoaded = true;
_stopEmulation.Sensitive = true;
if (DiscordIntegrationEnabled)
{
@ -437,8 +453,8 @@ namespace Ryujinx.UI
private void FullScreen_Toggled(object o, EventArgs args)
{
if (FullScreen.Active == true) { Fullscreen(); }
else { Unfullscreen(); }
if (_fullScreen.Active == true) { Fullscreen(); }
else { Unfullscreen(); }
}
private void Settings_Pressed(object o, EventArgs args)
@ -469,5 +485,77 @@ namespace Ryujinx.UI
_gtkapp.AddWindow(AboutWin);
AboutWin.Show();
}
private void Icon_Toggled(object o, EventArgs args)
{
if (_iconToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[0] = true;
else SwitchSettings.SwitchConfig.GuiColumns[0] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void Title_Toggled(object o, EventArgs args)
{
if (_titleToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[1] = true;
else SwitchSettings.SwitchConfig.GuiColumns[1] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void Developer_Toggled(object o, EventArgs args)
{
if (_developerToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[2] = true;
else SwitchSettings.SwitchConfig.GuiColumns[2] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void Version_Toggled(object o, EventArgs args)
{
if (_versionToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[3] = true;
else SwitchSettings.SwitchConfig.GuiColumns[3] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void TimePlayed_Toggled(object o, EventArgs args)
{
if (_timePlayedToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[4] = true;
else SwitchSettings.SwitchConfig.GuiColumns[4] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void LastPlayed_Toggled(object o, EventArgs args)
{
if (_lastPlayedToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[5] = true;
else SwitchSettings.SwitchConfig.GuiColumns[5] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void FileExt_Toggled(object o, EventArgs args)
{
if (_fileExtToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[6] = true;
else SwitchSettings.SwitchConfig.GuiColumns[6] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void FileSize_Toggled(object o, EventArgs args)
{
if (_fileSizeToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[7] = true;
else SwitchSettings.SwitchConfig.GuiColumns[7] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
private void Path_Toggled(object o, EventArgs args)
{
if (_pathToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[8] = true;
else SwitchSettings.SwitchConfig.GuiColumns[8] = false;
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
}
}
}

View file

@ -2,7 +2,7 @@
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkApplicationWindow" id="MainWin">
<object class="GtkApplicationWindow" id="_mainWin">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Ryujinx</property>
<property name="default_width">1280</property>
@ -11,7 +11,7 @@
<placeholder/>
</child>
<child>
<object class="GtkBox" id="Box">
<object class="GtkBox" id="_box">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
@ -92,7 +92,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkCheckMenuItem" id="FullScreen">
<object class="GtkCheckMenuItem" id="_fullScreen">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Fullscreen</property>
@ -101,7 +101,7 @@
</object>
</child>
<child>
<object class="GtkMenuItem" id="StopEmulation">
<object class="GtkMenuItem" id="_stopEmulation">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Stop Emulation</property>
@ -115,6 +115,117 @@
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="GUIColumns">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Select which GUI columns to enable (restart Ryujinx for these changes to take effect)</property>
<property name="label" translatable="yes">Enable GUI Columns</property>
<property name="use_underline">True</property>
<child type="submenu">
<object class="GtkMenu">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkCheckMenuItem" id="_iconToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Icon Column in the game list</property>
<property name="label" translatable="yes">Enable Icon Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="Icon_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_titleToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Title Name/ID Column in the game list</property>
<property name="label" translatable="yes">Enable Title Name/ID Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="Title_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_developerToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Developer Column in the game list</property>
<property name="label" translatable="yes">Enable Developer Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="Developer_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_versionToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Version Column in the game list</property>
<property name="label" translatable="yes">Enable Version Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="Version_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_timePlayedToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Time Played Column in the game list</property>
<property name="label" translatable="yes">Enable Time Played Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="TimePlayed_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_lastPlayedToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Last Played Column in the game list</property>
<property name="label" translatable="yes">Enable Last Played Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="LastPlayed_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_fileExtToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable file extension column in the game list</property>
<property name="label" translatable="yes">Enable File Ext Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="FileExt_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_fileSizeToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable File Size Column in the game list</property>
<property name="label" translatable="yes">Enable File Size Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="FileSize_Toggled" swapped="no"/>
</object>
</child>
<child>
<object class="GtkCheckMenuItem" id="_pathToggle">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Path Column in the game list</property>
<property name="label" translatable="yes">Enable Path Column</property>
<property name="use_underline">True</property>
<signal name="toggled" handler="Path_Toggled" swapped="no"/>
</object>
</child>
</object>
</child>
</object>
</child>
<child>
<object class="GtkSeparatorMenuItem">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
</child>
<child>
<object class="GtkMenuItem" id="SettingsMenu">
<property name="visible">True</property>
@ -139,7 +250,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkMenuItem" id="Nfc">
<object class="GtkMenuItem" id="_nfc">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Scan NFC Tag from File</property>
@ -182,12 +293,12 @@
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="GameTableWindow">
<object class="GtkScrolledWindow" id="_gameTableWindow">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="GameTable">
<object class="GtkTreeView" id="_gameTable">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_clickable">False</property>
@ -207,7 +318,7 @@
</packing>
</child>
<child>
<object class="GtkGLArea" id="GlScreen">
<object class="GtkGLArea" id="_glScreen">
<property name="width_request">1280</property>
<property name="height_request">720</property>
<property name="visible">True</property>

View file

@ -22,188 +22,171 @@ namespace Ryujinx.UI
private static bool _listeningForKeypress;
#pragma warning disable 649
[GUI] Window SettingsWin;
[GUI] CheckButton IconToggle;
[GUI] CheckButton TitleToggle;
[GUI] CheckButton DeveloperToggle;
[GUI] CheckButton VersionToggle;
[GUI] CheckButton TimePlayedToggle;
[GUI] CheckButton LastPlayedToggle;
[GUI] CheckButton FileExtToggle;
[GUI] CheckButton FileSizeToggle;
[GUI] CheckButton PathToggle;
[GUI] CheckButton ErrorLogToggle;
[GUI] CheckButton WarningLogToggle;
[GUI] CheckButton InfoLogToggle;
[GUI] CheckButton StubLogToggle;
[GUI] CheckButton DebugLogToggle;
[GUI] CheckButton FileLogToggle;
[GUI] CheckButton GuestLogToggle;
[GUI] CheckButton FsAccessLogToggle;
[GUI] Adjustment FsLogSpinAdjustment;
[GUI] CheckButton DockedModeToggle;
[GUI] CheckButton DiscordToggle;
[GUI] CheckButton VSyncToggle;
[GUI] CheckButton MultiSchedToggle;
[GUI] CheckButton FSICToggle;
[GUI] CheckButton AggrToggle;
[GUI] CheckButton IgnoreToggle;
[GUI] CheckButton DirectKeyboardAccess;
[GUI] ComboBoxText SystemLanguageSelect;
[GUI] CheckButton CustThemeToggle;
[GUI] Entry CustThemeDir;
[GUI] ToggleButton BrowseThemeDir;
[GUI] Label CustThemeDirLabel;
[GUI] TreeView GameDirsBox;
[GUI] Entry AddGameDirBox;
[GUI] ToggleButton AddDir;
[GUI] ToggleButton BrowseDir;
[GUI] ToggleButton RemoveDir;
[GUI] Entry LogPath;
[GUI] Entry GraphicsShadersDumpPath;
[GUI] Image ControllerImage;
[GUI] Window _settingsWin;
[GUI] CheckButton _errorLogToggle;
[GUI] CheckButton _warningLogToggle;
[GUI] CheckButton _infoLogToggle;
[GUI] CheckButton _stubLogToggle;
[GUI] CheckButton _debugLogToggle;
[GUI] CheckButton _fileLogToggle;
[GUI] CheckButton _guestLogToggle;
[GUI] CheckButton _fsAccessLogToggle;
[GUI] Adjustment _fsLogSpinAdjustment;
[GUI] CheckButton _dockedModeToggle;
[GUI] CheckButton _discordToggle;
[GUI] CheckButton _vSyncToggle;
[GUI] CheckButton _multiSchedToggle;
[GUI] CheckButton _fsicToggle;
[GUI] CheckButton _aggrToggle;
[GUI] CheckButton _ignoreToggle;
[GUI] CheckButton _directKeyboardAccess;
[GUI] ComboBoxText _systemLanguageSelect;
[GUI] CheckButton _custThemeToggle;
[GUI] Entry _custThemePath;
[GUI] ToggleButton _browseThemePath;
[GUI] Label _custThemePathLabel;
[GUI] TreeView _gameDirsBox;
[GUI] Entry _addGameDirBox;
[GUI] ToggleButton _addDir;
[GUI] ToggleButton _browseDir;
[GUI] ToggleButton _removeDir;
[GUI] Entry _logPath;
[GUI] Entry _graphicsShadersDumpPath;
[GUI] Image _controllerImage;
[GUI] ComboBoxText Controller1Type;
[GUI] ToggleButton LStickUp1;
[GUI] ToggleButton LStickDown1;
[GUI] ToggleButton LStickLeft1;
[GUI] ToggleButton LStickRight1;
[GUI] ToggleButton LStickButton1;
[GUI] ToggleButton DpadUp1;
[GUI] ToggleButton DpadDown1;
[GUI] ToggleButton DpadLeft1;
[GUI] ToggleButton DpadRight1;
[GUI] ToggleButton Minus1;
[GUI] ToggleButton L1;
[GUI] ToggleButton ZL1;
[GUI] ToggleButton RStickUp1;
[GUI] ToggleButton RStickDown1;
[GUI] ToggleButton RStickLeft1;
[GUI] ToggleButton RStickRight1;
[GUI] ToggleButton RStickButton1;
[GUI] ToggleButton A1;
[GUI] ToggleButton B1;
[GUI] ToggleButton X1;
[GUI] ToggleButton Y1;
[GUI] ToggleButton Plus1;
[GUI] ToggleButton R1;
[GUI] ToggleButton ZR1;
[GUI] ComboBoxText _controller1Type;
[GUI] ToggleButton _lStickUp1;
[GUI] ToggleButton _lStickDown1;
[GUI] ToggleButton _lStickLeft1;
[GUI] ToggleButton _lStickRight1;
[GUI] ToggleButton _lStickButton1;
[GUI] ToggleButton _dpadUp1;
[GUI] ToggleButton _dpadDown1;
[GUI] ToggleButton _dpadLeft1;
[GUI] ToggleButton _dpadRight1;
[GUI] ToggleButton _minus1;
[GUI] ToggleButton _l1;
[GUI] ToggleButton _zL1;
[GUI] ToggleButton _rStickUp1;
[GUI] ToggleButton _rStickDown1;
[GUI] ToggleButton _rStickLeft1;
[GUI] ToggleButton _rStickRight1;
[GUI] ToggleButton _rStickButton1;
[GUI] ToggleButton _a1;
[GUI] ToggleButton _b1;
[GUI] ToggleButton _x1;
[GUI] ToggleButton _y1;
[GUI] ToggleButton _plus1;
[GUI] ToggleButton _r1;
[GUI] ToggleButton _zR1;
#pragma warning restore 649
public static void ConfigureSettings(Configuration Instance) { SwitchConfig = Instance; }
public SwitchSettings(HLE.Switch device) : this(new Builder("Ryujinx.Ui.SwitchSettings.glade"), device) { }
private SwitchSettings(Builder builder, HLE.Switch device) : base(builder.GetObject("SettingsWin").Handle)
private SwitchSettings(Builder builder, HLE.Switch device) : base(builder.GetObject("_settingsWin").Handle)
{
Device = device;
builder.Autoconnect(this);
SettingsWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
ControllerImage.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.JoyCon.png", 500, 500);
_settingsWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
_controllerImage.Pixbuf = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.JoyCon.png", 500, 500);
//Bind Events
LStickUp1.Clicked += (o, args) => Button_Pressed(o, args, LStickUp1);
LStickDown1.Clicked += (o, args) => Button_Pressed(o, args, LStickDown1);
LStickLeft1.Clicked += (o, args) => Button_Pressed(o, args, LStickLeft1);
LStickRight1.Clicked += (o, args) => Button_Pressed(o, args, LStickRight1);
LStickButton1.Clicked += (o, args) => Button_Pressed(o, args, LStickButton1);
DpadUp1.Clicked += (o, args) => Button_Pressed(o, args, DpadUp1);
DpadDown1.Clicked += (o, args) => Button_Pressed(o, args, DpadDown1);
DpadLeft1.Clicked += (o, args) => Button_Pressed(o, args, DpadLeft1);
DpadRight1.Clicked += (o, args) => Button_Pressed(o, args, DpadRight1);
Minus1.Clicked += (o, args) => Button_Pressed(o, args, Minus1);
L1.Clicked += (o, args) => Button_Pressed(o, args, L1);
ZL1.Clicked += (o, args) => Button_Pressed(o, args, ZL1);
RStickUp1.Clicked += (o, args) => Button_Pressed(o, args, RStickUp1);
RStickDown1.Clicked += (o, args) => Button_Pressed(o, args, RStickDown1);
RStickLeft1.Clicked += (o, args) => Button_Pressed(o, args, RStickLeft1);
RStickRight1.Clicked += (o, args) => Button_Pressed(o, args, RStickRight1);
RStickButton1.Clicked += (o, args) => Button_Pressed(o, args, RStickButton1);
A1.Clicked += (o, args) => Button_Pressed(o, args, A1);
B1.Clicked += (o, args) => Button_Pressed(o, args, B1);
X1.Clicked += (o, args) => Button_Pressed(o, args, X1);
Y1.Clicked += (o, args) => Button_Pressed(o, args, Y1);
Plus1.Clicked += (o, args) => Button_Pressed(o, args, Plus1);
R1.Clicked += (o, args) => Button_Pressed(o, args, R1);
ZR1.Clicked += (o, args) => Button_Pressed(o, args, ZR1);
_lStickUp1.Clicked += (o, args) => Button_Pressed(o, args, _lStickUp1);
_lStickDown1.Clicked += (o, args) => Button_Pressed(o, args, _lStickDown1);
_lStickLeft1.Clicked += (o, args) => Button_Pressed(o, args, _lStickLeft1);
_lStickRight1.Clicked += (o, args) => Button_Pressed(o, args, _lStickRight1);
_lStickButton1.Clicked += (o, args) => Button_Pressed(o, args, _lStickButton1);
_dpadUp1.Clicked += (o, args) => Button_Pressed(o, args, _dpadUp1);
_dpadDown1.Clicked += (o, args) => Button_Pressed(o, args, _dpadDown1);
_dpadLeft1.Clicked += (o, args) => Button_Pressed(o, args, _dpadLeft1);
_dpadRight1.Clicked += (o, args) => Button_Pressed(o, args, _dpadRight1);
_minus1.Clicked += (o, args) => Button_Pressed(o, args, _minus1);
_l1.Clicked += (o, args) => Button_Pressed(o, args, _l1);
_zL1.Clicked += (o, args) => Button_Pressed(o, args, _zL1);
_rStickUp1.Clicked += (o, args) => Button_Pressed(o, args, _rStickUp1);
_rStickDown1.Clicked += (o, args) => Button_Pressed(o, args, _rStickDown1);
_rStickLeft1.Clicked += (o, args) => Button_Pressed(o, args, _rStickLeft1);
_rStickRight1.Clicked += (o, args) => Button_Pressed(o, args, _rStickRight1);
_rStickButton1.Clicked += (o, args) => Button_Pressed(o, args, _rStickButton1);
_a1.Clicked += (o, args) => Button_Pressed(o, args, _a1);
_b1.Clicked += (o, args) => Button_Pressed(o, args, _b1);
_x1.Clicked += (o, args) => Button_Pressed(o, args, _x1);
_y1.Clicked += (o, args) => Button_Pressed(o, args, _y1);
_plus1.Clicked += (o, args) => Button_Pressed(o, args, _plus1);
_r1.Clicked += (o, args) => Button_Pressed(o, args, _r1);
_zR1.Clicked += (o, args) => Button_Pressed(o, args, _zR1);
//Setup Currents
if (SwitchConfig.GuiColumns[0]) { IconToggle.Click(); }
if (SwitchConfig.GuiColumns[1]) { TitleToggle.Click(); }
if (SwitchConfig.GuiColumns[2]) { DeveloperToggle.Click(); }
if (SwitchConfig.GuiColumns[3]) { VersionToggle.Click(); }
if (SwitchConfig.GuiColumns[4]) { TimePlayedToggle.Click(); }
if (SwitchConfig.GuiColumns[5]) { LastPlayedToggle.Click(); }
if (SwitchConfig.GuiColumns[6]) { FileExtToggle.Click(); }
if (SwitchConfig.GuiColumns[7]) { FileSizeToggle.Click(); }
if (SwitchConfig.GuiColumns[8]) { PathToggle.Click(); }
if (SwitchConfig.EnableFileLog) { FileLogToggle.Click(); }
if (SwitchConfig.LoggingEnableError) { ErrorLogToggle.Click(); }
if (SwitchConfig.LoggingEnableWarn) { WarningLogToggle.Click(); }
if (SwitchConfig.LoggingEnableInfo) { InfoLogToggle.Click(); }
if (SwitchConfig.LoggingEnableStub) { StubLogToggle.Click(); }
if (SwitchConfig.LoggingEnableDebug) { DebugLogToggle.Click(); }
if (SwitchConfig.EnableFileLog) { FileLogToggle.Click(); }
if (SwitchConfig.DockedMode) { DockedModeToggle.Click(); }
if (SwitchConfig.EnableDiscordIntegration) { DiscordToggle.Click(); }
if (SwitchConfig.EnableVsync) { VSyncToggle.Click(); }
if (SwitchConfig.EnableMulticoreScheduling) { MultiSchedToggle.Click(); }
if (SwitchConfig.EnableFsIntegrityChecks) { FSICToggle.Click(); }
if (SwitchConfig.EnableAggressiveCpuOpts) { AggrToggle.Click(); }
if (SwitchConfig.IgnoreMissingServices) { IgnoreToggle.Click(); }
if (SwitchConfig.EnableKeyboard) { DirectKeyboardAccess.Click(); }
if (SwitchConfig.EnableCustomTheme) { CustThemeToggle.Click(); }
if (SwitchConfig.EnableFileLog) { _fileLogToggle.Click(); }
if (SwitchConfig.LoggingEnableError) { _errorLogToggle.Click(); }
if (SwitchConfig.LoggingEnableWarn) { _warningLogToggle.Click(); }
if (SwitchConfig.LoggingEnableInfo) { _infoLogToggle.Click(); }
if (SwitchConfig.LoggingEnableStub) { _stubLogToggle.Click(); }
if (SwitchConfig.LoggingEnableDebug) { _debugLogToggle.Click(); }
if (SwitchConfig.LoggingEnableGuest) { _guestLogToggle.Click(); }
if (SwitchConfig.LoggingEnableFsAccessLog) { _fsAccessLogToggle.Click(); }
if (SwitchConfig.DockedMode) { _dockedModeToggle.Click(); }
if (SwitchConfig.EnableDiscordIntegration) { _discordToggle.Click(); }
if (SwitchConfig.EnableVsync) { _vSyncToggle.Click(); }
if (SwitchConfig.EnableMulticoreScheduling) { _multiSchedToggle.Click(); }
if (SwitchConfig.EnableFsIntegrityChecks) { _fsicToggle.Click(); }
if (SwitchConfig.EnableAggressiveCpuOpts) { _aggrToggle.Click(); }
if (SwitchConfig.IgnoreMissingServices) { _ignoreToggle.Click(); }
if (SwitchConfig.EnableKeyboard) { _directKeyboardAccess.Click(); }
if (SwitchConfig.EnableCustomTheme) { _custThemeToggle.Click(); }
SystemLanguageSelect.SetActiveId(SwitchConfig.SystemLanguage.ToString());
Controller1Type .SetActiveId(SwitchConfig.ControllerType.ToString());
_systemLanguageSelect.SetActiveId(SwitchConfig.SystemLanguage.ToString());
_controller1Type .SetActiveId(SwitchConfig.ControllerType.ToString());
LStickUp1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickUp.ToString();
LStickDown1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickDown.ToString();
LStickLeft1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickLeft.ToString();
LStickRight1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickRight.ToString();
LStickButton1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickButton.ToString();
DpadUp1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadUp.ToString();
DpadDown1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadDown.ToString();
DpadLeft1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadLeft.ToString();
DpadRight1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadRight.ToString();
Minus1.Label = SwitchConfig.KeyboardControls.LeftJoycon.ButtonMinus.ToString();
L1.Label = SwitchConfig.KeyboardControls.LeftJoycon.ButtonL.ToString();
ZL1.Label = SwitchConfig.KeyboardControls.LeftJoycon.ButtonZl.ToString();
RStickUp1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickUp.ToString();
RStickDown1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickDown.ToString();
RStickLeft1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickLeft.ToString();
RStickRight1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickRight.ToString();
RStickButton1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickButton.ToString();
A1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonA.ToString();
B1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonB.ToString();
X1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonX.ToString();
Y1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonY.ToString();
Plus1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonPlus.ToString();
R1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonR.ToString();
ZR1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonZr.ToString();
_lStickUp1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickUp.ToString();
_lStickDown1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickDown.ToString();
_lStickLeft1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickLeft.ToString();
_lStickRight1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickRight.ToString();
_lStickButton1.Label = SwitchConfig.KeyboardControls.LeftJoycon.StickButton.ToString();
_dpadUp1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadUp.ToString();
_dpadDown1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadDown.ToString();
_dpadLeft1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadLeft.ToString();
_dpadRight1.Label = SwitchConfig.KeyboardControls.LeftJoycon.DPadRight.ToString();
_minus1.Label = SwitchConfig.KeyboardControls.LeftJoycon.ButtonMinus.ToString();
_l1.Label = SwitchConfig.KeyboardControls.LeftJoycon.ButtonL.ToString();
_zL1.Label = SwitchConfig.KeyboardControls.LeftJoycon.ButtonZl.ToString();
_rStickUp1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickUp.ToString();
_rStickDown1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickDown.ToString();
_rStickLeft1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickLeft.ToString();
_rStickRight1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickRight.ToString();
_rStickButton1.Label = SwitchConfig.KeyboardControls.RightJoycon.StickButton.ToString();
_a1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonA.ToString();
_b1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonB.ToString();
_x1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonX.ToString();
_y1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonY.ToString();
_plus1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonPlus.ToString();
_r1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonR.ToString();
_zR1.Label = SwitchConfig.KeyboardControls.RightJoycon.ButtonZr.ToString();
CustThemeDir.Buffer.Text = SwitchConfig.CustomThemePath;
GraphicsShadersDumpPath.Buffer.Text = SwitchConfig.GraphicsShadersDumpPath;
FsLogSpinAdjustment.Value = SwitchConfig.FsGlobalAccessLogMode;
_custThemePath.Buffer.Text = SwitchConfig.CustomThemePath;
_graphicsShadersDumpPath.Buffer.Text = SwitchConfig.GraphicsShadersDumpPath;
_fsLogSpinAdjustment.Value = SwitchConfig.FsGlobalAccessLogMode;
GameDirsBox.AppendColumn("", new CellRendererText(), "text", 0);
_gameDirsBox.AppendColumn("", new CellRendererText(), "text", 0);
_gameDirsBoxStore = new ListStore(typeof(string));
GameDirsBox.Model = _gameDirsBoxStore;
_gameDirsBox.Model = _gameDirsBoxStore;
foreach (string gameDir in SwitchConfig.GameDirs)
{
_gameDirsBoxStore.AppendValues(gameDir);
}
if (CustThemeToggle.Active == false)
if (_custThemeToggle.Active == false)
{
CustThemeDir.Sensitive = false;
CustThemeDirLabel.Sensitive = false;
BrowseThemeDir.Sensitive = false;
_custThemePath.Sensitive = false;
_custThemePathLabel.Sensitive = false;
_browseThemePath.Sensitive = false;
}
LogPath.Buffer.Text = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Ryujinx.log");
_logPath.Buffer.Text = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Ryujinx.log");
_listeningForKeypress = false;
}
@ -235,9 +218,9 @@ namespace Ryujinx.UI
private void AddDir_Pressed(object obj, EventArgs args)
{
if (Directory.Exists(AddGameDirBox.Buffer.Text)) { _gameDirsBoxStore.AppendValues(AddGameDirBox.Buffer.Text); }
if (Directory.Exists(_addGameDirBox.Buffer.Text)) { _gameDirsBoxStore.AppendValues(_addGameDirBox.Buffer.Text); }
AddDir.SetStateFlags(0, true);
_addDir.SetStateFlags(0, true);
}
private void BrowseDir_Pressed(object obj, EventArgs args)
@ -251,32 +234,32 @@ namespace Ryujinx.UI
fc.Destroy();
BrowseDir.SetStateFlags(0, true);
_browseDir.SetStateFlags(0, true);
}
private void RemoveDir_Pressed(object obj, EventArgs args)
{
TreeSelection selection = GameDirsBox.Selection;
TreeSelection selection = _gameDirsBox.Selection;
selection.GetSelected(out TreeIter treeiter);
_gameDirsBoxStore.Remove(ref treeiter);
RemoveDir.SetStateFlags(0, true);
_removeDir.SetStateFlags(0, true);
}
private void CustThemeToggle_Activated(object obj, EventArgs args)
{
if (CustThemeToggle.Active == false)
if (_custThemeToggle.Active == false)
{
CustThemeDir.Sensitive = false;
CustThemeDirLabel.Sensitive = false;
BrowseThemeDir.Sensitive = false;
_custThemePath.Sensitive = false;
_custThemePathLabel.Sensitive = false;
_browseThemePath.Sensitive = false;
}
else
{
CustThemeDir.Sensitive = true;
CustThemeDirLabel.Sensitive = true;
BrowseThemeDir.Sensitive = true;
_custThemePath.Sensitive = true;
_custThemePathLabel.Sensitive = true;
_browseThemePath.Sensitive = true;
}
}
@ -288,12 +271,12 @@ namespace Ryujinx.UI
if (fc.Run() == (int)ResponseType.Accept)
{
CustThemeDir.Buffer.Text = fc.Filename;
_custThemePath.Buffer.Text = fc.Filename;
}
fc.Destroy();
BrowseThemeDir.SetStateFlags(0, true);
_browseThemePath.SetStateFlags(0, true);
}
private void SaveToggle_Activated(object obj, EventArgs args)
@ -310,98 +293,80 @@ namespace Ryujinx.UI
_gameDirsBoxStore.IterNext(ref iter);
}
if (IconToggle.Active) SwitchConfig.GuiColumns[0] = true;
if (TitleToggle.Active) SwitchConfig.GuiColumns[1] = true;
if (DeveloperToggle.Active) SwitchConfig.GuiColumns[2] = true;
if (VersionToggle.Active) SwitchConfig.GuiColumns[3] = true;
if (TimePlayedToggle.Active) SwitchConfig.GuiColumns[4] = true;
if (LastPlayedToggle.Active) SwitchConfig.GuiColumns[5] = true;
if (FileExtToggle.Active) SwitchConfig.GuiColumns[6] = true;
if (FileSizeToggle.Active) SwitchConfig.GuiColumns[7] = true;
if (PathToggle.Active) SwitchConfig.GuiColumns[8] = true;
if (ErrorLogToggle.Active) SwitchConfig.LoggingEnableError = true;
if (WarningLogToggle.Active) SwitchConfig.LoggingEnableWarn = true;
if (InfoLogToggle.Active) SwitchConfig.LoggingEnableInfo = true;
if (StubLogToggle.Active) SwitchConfig.LoggingEnableStub = true;
if (DebugLogToggle.Active) SwitchConfig.LoggingEnableDebug = true;
if (GuestLogToggle.Active) SwitchConfig.LoggingEnableGuest = true;
if (FsAccessLogToggle.Active) SwitchConfig.LoggingEnableFsAccessLog = true;
if (FileLogToggle.Active) SwitchConfig.EnableFileLog = true;
if (DockedModeToggle.Active) SwitchConfig.DockedMode = true;
if (DiscordToggle.Active) SwitchConfig.EnableDiscordIntegration = true;
if (VSyncToggle.Active) SwitchConfig.EnableVsync = true;
if (MultiSchedToggle.Active) SwitchConfig.EnableMulticoreScheduling = true;
if (FSICToggle.Active) SwitchConfig.EnableFsIntegrityChecks = true;
if (AggrToggle.Active) SwitchConfig.EnableAggressiveCpuOpts = true;
if (IgnoreToggle.Active) SwitchConfig.IgnoreMissingServices = true;
if (DirectKeyboardAccess.Active) SwitchConfig.EnableKeyboard = true;
if (CustThemeToggle.Active) SwitchConfig.EnableCustomTheme = true;
if (_errorLogToggle.Active) SwitchConfig.LoggingEnableError = true;
if (_warningLogToggle.Active) SwitchConfig.LoggingEnableWarn = true;
if (_infoLogToggle.Active) SwitchConfig.LoggingEnableInfo = true;
if (_stubLogToggle.Active) SwitchConfig.LoggingEnableStub = true;
if (_debugLogToggle.Active) SwitchConfig.LoggingEnableDebug = true;
if (_guestLogToggle.Active) SwitchConfig.LoggingEnableGuest = true;
if (_fsAccessLogToggle.Active) SwitchConfig.LoggingEnableFsAccessLog = true;
if (_fileLogToggle.Active) SwitchConfig.EnableFileLog = true;
if (_dockedModeToggle.Active) SwitchConfig.DockedMode = true;
if (_discordToggle.Active) SwitchConfig.EnableDiscordIntegration = true;
if (_vSyncToggle.Active) SwitchConfig.EnableVsync = true;
if (_multiSchedToggle.Active) SwitchConfig.EnableMulticoreScheduling = true;
if (_fsicToggle.Active) SwitchConfig.EnableFsIntegrityChecks = true;
if (_aggrToggle.Active) SwitchConfig.EnableAggressiveCpuOpts = true;
if (_ignoreToggle.Active) SwitchConfig.IgnoreMissingServices = true;
if (_directKeyboardAccess.Active) SwitchConfig.EnableKeyboard = true;
if (_custThemeToggle.Active) SwitchConfig.EnableCustomTheme = true;
if (!IconToggle.Active) SwitchConfig.GuiColumns[0] = false;
if (!TitleToggle.Active) SwitchConfig.GuiColumns[1] = false;
if (!DeveloperToggle.Active) SwitchConfig.GuiColumns[2] = false;
if (!VersionToggle.Active) SwitchConfig.GuiColumns[3] = false;
if (!TimePlayedToggle.Active) SwitchConfig.GuiColumns[4] = false;
if (!LastPlayedToggle.Active) SwitchConfig.GuiColumns[5] = false;
if (!FileExtToggle.Active) SwitchConfig.GuiColumns[6] = false;
if (!FileSizeToggle.Active) SwitchConfig.GuiColumns[7] = false;
if (!PathToggle.Active) SwitchConfig.GuiColumns[8] = false;
if (!ErrorLogToggle.Active) SwitchConfig.LoggingEnableError = false;
if (!WarningLogToggle.Active) SwitchConfig.LoggingEnableWarn = false;
if (!InfoLogToggle.Active) SwitchConfig.LoggingEnableInfo = false;
if (!StubLogToggle.Active ) SwitchConfig.LoggingEnableStub = false;
if (!DebugLogToggle.Active) SwitchConfig.LoggingEnableDebug = false;
if (!GuestLogToggle.Active) SwitchConfig.LoggingEnableGuest = false;
if (!FsAccessLogToggle.Active) SwitchConfig.LoggingEnableFsAccessLog = false;
if (!FileLogToggle.Active) SwitchConfig.EnableFileLog = false;
if (!DockedModeToggle.Active) SwitchConfig.DockedMode = false;
if (!DiscordToggle.Active) SwitchConfig.EnableDiscordIntegration = false;
if (!VSyncToggle.Active) SwitchConfig.EnableVsync = false;
if (!MultiSchedToggle.Active) SwitchConfig.EnableMulticoreScheduling = false;
if (!FSICToggle.Active) SwitchConfig.EnableFsIntegrityChecks = false;
if (!AggrToggle.Active) SwitchConfig.EnableAggressiveCpuOpts = false;
if (!IgnoreToggle.Active) SwitchConfig.IgnoreMissingServices = false;
if (!DirectKeyboardAccess.Active) SwitchConfig.EnableKeyboard = false;
if (!CustThemeToggle.Active) SwitchConfig.EnableCustomTheme = false;
if (!_errorLogToggle.Active) SwitchConfig.LoggingEnableError = false;
if (!_warningLogToggle.Active) SwitchConfig.LoggingEnableWarn = false;
if (!_infoLogToggle.Active) SwitchConfig.LoggingEnableInfo = false;
if (!_stubLogToggle.Active ) SwitchConfig.LoggingEnableStub = false;
if (!_debugLogToggle.Active) SwitchConfig.LoggingEnableDebug = false;
if (!_guestLogToggle.Active) SwitchConfig.LoggingEnableGuest = false;
if (!_fsAccessLogToggle.Active) SwitchConfig.LoggingEnableFsAccessLog = false;
if (!_fileLogToggle.Active) SwitchConfig.EnableFileLog = false;
if (!_dockedModeToggle.Active) SwitchConfig.DockedMode = false;
if (!_discordToggle.Active) SwitchConfig.EnableDiscordIntegration = false;
if (!_vSyncToggle.Active) SwitchConfig.EnableVsync = false;
if (!_multiSchedToggle.Active) SwitchConfig.EnableMulticoreScheduling = false;
if (!_fsicToggle.Active) SwitchConfig.EnableFsIntegrityChecks = false;
if (!_aggrToggle.Active) SwitchConfig.EnableAggressiveCpuOpts = false;
if (!_ignoreToggle.Active) SwitchConfig.IgnoreMissingServices = false;
if (!_directKeyboardAccess.Active) SwitchConfig.EnableKeyboard = false;
if (!_custThemeToggle.Active) SwitchConfig.EnableCustomTheme = false;
SwitchConfig.KeyboardControls.LeftJoycon = new NpadKeyboardLeft()
{
StickUp = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), LStickUp1.Label),
StickDown = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), LStickDown1.Label),
StickLeft = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), LStickLeft1.Label),
StickRight = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), LStickRight1.Label),
StickButton = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), LStickButton1.Label),
DPadUp = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), DpadUp1.Label),
DPadDown = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), DpadDown1.Label),
DPadLeft = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), DpadLeft1.Label),
DPadRight = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), DpadRight1.Label),
ButtonMinus = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), Minus1.Label),
ButtonL = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), L1.Label),
ButtonZl = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), ZL1.Label),
StickUp = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _lStickUp1.Label),
StickDown = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _lStickDown1.Label),
StickLeft = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _lStickLeft1.Label),
StickRight = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _lStickRight1.Label),
StickButton = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _lStickButton1.Label),
DPadUp = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _dpadUp1.Label),
DPadDown = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _dpadDown1.Label),
DPadLeft = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _dpadLeft1.Label),
DPadRight = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _dpadRight1.Label),
ButtonMinus = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _minus1.Label),
ButtonL = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _l1.Label),
ButtonZl = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _zL1.Label),
};
SwitchConfig.KeyboardControls.RightJoycon = new NpadKeyboardRight()
{
StickUp = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), RStickUp1.Label),
StickDown = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), RStickDown1.Label),
StickLeft = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), RStickLeft1.Label),
StickRight = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), RStickRight1.Label),
StickButton = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), RStickButton1.Label),
ButtonA = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), A1.Label),
ButtonB = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), B1.Label),
ButtonX = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), X1.Label),
ButtonY = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), Y1.Label),
ButtonPlus = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), Plus1.Label),
ButtonR = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), R1.Label),
ButtonZr = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), ZR1.Label),
StickUp = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _rStickUp1.Label),
StickDown = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _rStickDown1.Label),
StickLeft = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _rStickLeft1.Label),
StickRight = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _rStickRight1.Label),
StickButton = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _rStickButton1.Label),
ButtonA = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _a1.Label),
ButtonB = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _b1.Label),
ButtonX = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _x1.Label),
ButtonY = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _y1.Label),
ButtonPlus = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _plus1.Label),
ButtonR = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _r1.Label),
ButtonZr = (OpenTK.Input.Key)Enum.Parse(typeof(OpenTK.Input.Key), _zR1.Label),
};
SwitchConfig.SystemLanguage = (SystemLanguage)Enum.Parse(typeof(SystemLanguage), SystemLanguageSelect.ActiveId);
SwitchConfig.ControllerType = (ControllerStatus)Enum.Parse(typeof(ControllerStatus), Controller1Type.ActiveId);
SwitchConfig.CustomThemePath = CustThemeDir.Buffer.Text;
SwitchConfig.GraphicsShadersDumpPath = GraphicsShadersDumpPath.Buffer.Text;
SwitchConfig.SystemLanguage = (SystemLanguage)Enum.Parse(typeof(SystemLanguage), _systemLanguageSelect.ActiveId);
SwitchConfig.ControllerType = (ControllerStatus)Enum.Parse(typeof(ControllerStatus), _controller1Type.ActiveId);
SwitchConfig.CustomThemePath = _custThemePath.Buffer.Text;
SwitchConfig.GraphicsShadersDumpPath = _graphicsShadersDumpPath.Buffer.Text;
SwitchConfig.GameDirs = gameDirs;
SwitchConfig.FsGlobalAccessLogMode = (int)FsLogSpinAdjustment.Value;
SwitchConfig.FsGlobalAccessLogMode = (int)_fsLogSpinAdjustment.Value;
Configuration.SaveConfig(SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
Configuration.Configure(Device, SwitchConfig);

View file

@ -2,12 +2,12 @@
<!-- Generated with glade 3.22.1 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkAdjustment" id="FsLogSpinAdjustment">
<object class="GtkAdjustment" id="_fsLogSpinAdjustment">
<property name="upper">3</property>
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
<object class="GtkDialog" id="SettingsWin">
<object class="GtkDialog" id="_settingsWin">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Ryujinx - Settings</property>
<property name="resizable">False</property>
@ -103,301 +103,80 @@
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Change System Language</property>
<property name="halign">end</property>
<property name="label" translatable="yes">System Language:</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="SystemLanguageSelect">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Change System Language</property>
<property name="margin_left">10</property>
<items>
<item id="AmericanEnglish" translatable="yes">American English</item>
<item id="BritishEnglish" translatable="yes">British English</item>
<item id="CanadianFrench" translatable="yes">Canadian French</item>
<item id="Chinese" translatable="yes">Chinese</item>
<item id="Dutch" translatable="yes">Dutch</item>
<item id="French" translatable="yes">French</item>
<item id="German" translatable="yes">German</item>
<item id="Italian" translatable="yes">Italian</item>
<item id="Japanese" translatable="yes">Japanese</item>
<item id="Korean" translatable="yes">Korean</item>
<item id="LatinAmericanSpanish" translatable="yes">Latin American Spanish</item>
<item id="Portuguese" translatable="yes">Portuguese</item>
<item id="Russian" translatable="yes">Russian</item>
<item id="SimplifiedChinese" translatable="yes">Simplified Chinese</item>
<item id="Spanish" translatable="yes">Spanish</item>
<item id="Taiwanese" translatable="yes">Taiwanese</item>
<item id="TraditionalChinese" translatable="yes">Traditional Chinese</item>
</items>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="DiscordToggle">
<property name="label" translatable="yes">Enable Discord Integration</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enables or disables Discord Rich Presense</property>
<property name="halign">start</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkBox">
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="IconToggle">
<property name="label" translatable="yes">Enable Icon Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Icon Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="DeveloperToggle">
<property name="label" translatable="yes">Enable Developer Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Developer Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="TimePlayedToggle">
<property name="label" translatable="yes">Enable Time Played Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Time Played Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<property name="tooltip_text" translatable="yes">Change System Language</property>
<property name="halign">end</property>
<property name="label" translatable="yes">System Language:</property>
</object>
<packing>
<property name="expand">True</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkBox">
<object class="GtkComboBoxText" id="_systemLanguageSelect">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="TitleToggle">
<property name="label" translatable="yes">Enable Title Name/ID Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Title Name/ID Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="VersionToggle">
<property name="label" translatable="yes">Enable Version Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Version Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="LastPlayedToggle">
<property name="label" translatable="yes">Enable Last Played Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Last Played Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
<property name="tooltip_text" translatable="yes">Change System Language</property>
<items>
<item id="AmericanEnglish" translatable="yes">American English</item>
<item id="BritishEnglish" translatable="yes">British English</item>
<item id="CanadianFrench" translatable="yes">Canadian French</item>
<item id="Chinese" translatable="yes">Chinese</item>
<item id="Dutch" translatable="yes">Dutch</item>
<item id="French" translatable="yes">French</item>
<item id="German" translatable="yes">German</item>
<item id="Italian" translatable="yes">Italian</item>
<item id="Japanese" translatable="yes">Japanese</item>
<item id="Korean" translatable="yes">Korean</item>
<item id="LatinAmericanSpanish" translatable="yes">Latin American Spanish</item>
<item id="Portuguese" translatable="yes">Portuguese</item>
<item id="Russian" translatable="yes">Russian</item>
<item id="SimplifiedChinese" translatable="yes">Simplified Chinese</item>
<item id="Spanish" translatable="yes">Spanish</item>
<item id="Taiwanese" translatable="yes">Taiwanese</item>
<item id="TraditionalChinese" translatable="yes">Traditional Chinese</item>
</items>
</object>
<packing>
<property name="expand">True</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="FileExtToggle">
<property name="label" translatable="yes">Enable File Ext Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable file extension column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="FileSizeToggle">
<property name="label" translatable="yes">Enable File Size Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable File Size Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="PathToggle">
<property name="label" translatable="yes">Enable Path Column</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enable or Disable Path Column in the game list</property>
<property name="halign">start</property>
<property name="margin_top">5</property>
<property name="margin_bottom">5</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="_discordToggle">
<property name="label" translatable="yes">Enable Discord Integration</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Enables or disables Discord Rich Presense</property>
<property name="halign">start</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="padding">5</property>
<property name="position">1</property>
</packing>
</child>
@ -478,7 +257,7 @@
<property name="margin_bottom">10</property>
<property name="shadow_type">in</property>
<child>
<object class="GtkTreeView" id="GameDirsBox">
<object class="GtkTreeView" id="_gameDirsBox">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
@ -503,7 +282,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkEntry" id="AddGameDirBox">
<object class="GtkEntry" id="_addGameDirBox">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Enter a game directroy to add to the list</property>
@ -515,7 +294,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="AddDir">
<object class="GtkToggleButton" id="_addDir">
<property name="label" translatable="yes">Add</property>
<property name="width_request">80</property>
<property name="visible">True</property>
@ -532,7 +311,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="BrowseDir">
<object class="GtkToggleButton" id="_browseDir">
<property name="label" translatable="yes">Browse...</property>
<property name="width_request">80</property>
<property name="visible">True</property>
@ -549,7 +328,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="RemoveDir">
<object class="GtkToggleButton" id="_removeDir">
<property name="label" translatable="yes">Remove</property>
<property name="width_request">80</property>
<property name="visible">True</property>
@ -633,7 +412,7 @@
<property name="margin_right">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="CustThemeToggle">
<object class="GtkCheckButton" id="_custThemeToggle">
<property name="label" translatable="yes">Use Custom Theme</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -655,7 +434,7 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="CustThemeDirLabel">
<object class="GtkLabel" id="_custThemePathLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="tooltip_text" translatable="yes">Path to custom GUI theme</property>
@ -669,7 +448,7 @@
</packing>
</child>
<child>
<object class="GtkEntry" id="CustThemeDir">
<object class="GtkEntry" id="_custThemePath">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Path to custom GUI theme</property>
@ -682,7 +461,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="BrowseThemeDir">
<object class="GtkToggleButton" id="_browseThemePath">
<property name="label" translatable="yes">Browse...</property>
<property name="width_request">80</property>
<property name="visible">True</property>
@ -745,7 +524,7 @@
<property name="margin_top">5</property>
<property name="margin_bottom">10</property>
<child>
<object class="GtkCheckButton" id="DockedModeToggle">
<object class="GtkCheckButton" id="_dockedModeToggle">
<property name="label" translatable="yes">Enable Docked Mode</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -760,7 +539,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="DirectKeyboardAccess">
<object class="GtkCheckButton" id="_directKeyboardAccess">
<property name="label" translatable="yes">Direct Keyboard Access</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -821,7 +600,7 @@
</packing>
</child>
<child>
<object class="GtkComboBoxText" id="Controller1Type">
<object class="GtkComboBoxText" id="_controller1Type">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">5</property>
@ -1119,7 +898,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="LStickUp1">
<object class="GtkToggleButton" id="_lStickUp1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1131,7 +910,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="LStickDown1">
<object class="GtkToggleButton" id="_lStickDown1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1143,7 +922,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="LStickLeft1">
<object class="GtkToggleButton" id="_lStickLeft1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1155,7 +934,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="LStickRight1">
<object class="GtkToggleButton" id="_lStickRight1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1167,7 +946,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="LStickButton1">
<object class="GtkToggleButton" id="_lStickButton1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1179,7 +958,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="DpadUp1">
<object class="GtkToggleButton" id="_dpadUp1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1191,7 +970,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="DpadDown1">
<object class="GtkToggleButton" id="_dpadDown1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1203,7 +982,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="DpadLeft1">
<object class="GtkToggleButton" id="_dpadLeft1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1215,7 +994,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="DpadRight1">
<object class="GtkToggleButton" id="_dpadRight1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1227,7 +1006,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="Minus1">
<object class="GtkToggleButton" id="_minus1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1239,7 +1018,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="L1">
<object class="GtkToggleButton" id="_l1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1251,7 +1030,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="ZL1">
<object class="GtkToggleButton" id="_zL1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1263,7 +1042,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="RStickUp1">
<object class="GtkToggleButton" id="_rStickUp1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1275,7 +1054,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="RStickDown1">
<object class="GtkToggleButton" id="_rStickDown1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1287,7 +1066,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="RStickLeft1">
<object class="GtkToggleButton" id="_rStickLeft1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1299,7 +1078,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="RStickRight1">
<object class="GtkToggleButton" id="_rStickRight1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1311,7 +1090,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="RStickButton1">
<object class="GtkToggleButton" id="_rStickButton1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1323,7 +1102,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="A1">
<object class="GtkToggleButton" id="_a1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1335,7 +1114,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="B1">
<object class="GtkToggleButton" id="_b1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1347,7 +1126,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="X1">
<object class="GtkToggleButton" id="_x1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1359,7 +1138,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="Y1">
<object class="GtkToggleButton" id="_y1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1371,7 +1150,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="Plus1">
<object class="GtkToggleButton" id="_plus1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1383,7 +1162,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="R1">
<object class="GtkToggleButton" id="_r1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1395,7 +1174,7 @@
</packing>
</child>
<child>
<object class="GtkToggleButton" id="ZR1">
<object class="GtkToggleButton" id="_zR1">
<property name="label" translatable="yes"> </property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1422,7 +1201,7 @@
</packing>
</child>
<child>
<object class="GtkImage" id="ControllerImage">
<object class="GtkImage" id="_controllerImage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="margin_left">5</property>
@ -1658,7 +1437,7 @@
<property name="margin_right">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="VSyncToggle">
<object class="GtkCheckButton" id="_vSyncToggle">
<property name="label" translatable="yes">Enable VSync</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1676,7 +1455,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="MultiSchedToggle">
<object class="GtkCheckButton" id="_multiSchedToggle">
<property name="label" translatable="yes">Enable Multicore Scheduling</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1694,7 +1473,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="AggrToggle">
<object class="GtkCheckButton" id="_aggrToggle">
<property name="label" translatable="yes">Enable Aggressive CPU Optimizations</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1712,7 +1491,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="FSICToggle">
<object class="GtkCheckButton" id="_fsicToggle">
<property name="label" translatable="yes">Enable FS Integrity Checks</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1748,7 +1527,7 @@
</packing>
</child>
<child>
<object class="GtkEntry" id="GraphicsShadersDumpPath">
<object class="GtkEntry" id="_graphicsShadersDumpPath">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Graphics Shaders Dump Path</property>
@ -1830,7 +1609,7 @@
<property name="margin_right">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="FileLogToggle">
<object class="GtkCheckButton" id="_fileLogToggle">
<property name="label" translatable="yes">Enable Logging to File</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1868,7 +1647,7 @@
</packing>
</child>
<child>
<object class="GtkEntry" id="LogPath">
<object class="GtkEntry" id="_logPath">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Location of the log file</property>
@ -1891,7 +1670,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="DebugLogToggle">
<object class="GtkCheckButton" id="_debugLogToggle">
<property name="label" translatable="yes">Enable Debug Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1909,7 +1688,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="StubLogToggle">
<object class="GtkCheckButton" id="_stubLogToggle">
<property name="label" translatable="yes">Enable Stub Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1927,7 +1706,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="InfoLogToggle">
<object class="GtkCheckButton" id="_infoLogToggle">
<property name="label" translatable="yes">Enable Info Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1945,7 +1724,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="WarningLogToggle">
<object class="GtkCheckButton" id="_warningLogToggle">
<property name="label" translatable="yes">Enable Warning Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1963,7 +1742,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="ErrorLogToggle">
<object class="GtkCheckButton" id="_errorLogToggle">
<property name="label" translatable="yes">Enable Error Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1981,7 +1760,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="GuestLogToggle">
<object class="GtkCheckButton" id="_guestLogToggle">
<property name="label" translatable="yes">Enable Guest Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -1999,7 +1778,7 @@
</packing>
</child>
<child>
<object class="GtkCheckButton" id="FsAccessLogToggle">
<object class="GtkCheckButton" id="_fsAccessLogToggle">
<property name="label" translatable="yes">Enable Fs Access Logs</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
@ -2039,7 +1818,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="tooltip_text" translatable="yes">Enables FS access log output to the console. Possible modes are 0-3</property>
<property name="adjustment">FsLogSpinAdjustment</property>
<property name="adjustment">_fsLogSpinAdjustment</property>
</object>
<packing>
<property name="expand">True</property>
@ -2141,7 +1920,7 @@
<property name="margin_right">10</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkCheckButton" id="IgnoreToggle">
<object class="GtkCheckButton" id="_ignoreToggle">
<property name="label" translatable="yes">Ignore Missing Services</property>
<property name="visible">True</property>
<property name="can_focus">True</property>

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB