requested changes changed
This commit is contained in:
parent
504459199f
commit
240da0a9ac
8 changed files with 113 additions and 150 deletions
|
@ -46,7 +46,7 @@ namespace Ryujinx.UI
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var resolver = CompositeResolver.Create(new[] { StandardResolver.AllowPrivateSnakeCase });
|
IJsonFormatterResolver resolver = CompositeResolver.Create(new[] { StandardResolver.AllowPrivateSnakeCase });
|
||||||
|
|
||||||
using (Stream stream = File.OpenRead(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RyuFS", "Installer", "Config", "Config.json")))
|
using (Stream stream = File.OpenRead(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RyuFS", "Installer", "Config", "Config.json")))
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="resizable">False</property>
|
<property name="resizable">False</property>
|
||||||
<property name="modal">True</property>
|
<property name="modal">True</property>
|
||||||
|
<property name="window_position">center</property>
|
||||||
<property name="default_width">800</property>
|
<property name="default_width">800</property>
|
||||||
<property name="default_height">350</property>
|
<property name="default_height">350</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
|
|
|
@ -182,14 +182,7 @@ namespace Ryujinx.UI
|
||||||
|
|
||||||
if (applicationIcon == null)
|
if (applicationIcon == null)
|
||||||
{
|
{
|
||||||
if (Path.GetExtension(applicationPath) == ".xci")
|
applicationIcon = NspOrXciIcon(applicationPath);
|
||||||
{
|
|
||||||
applicationIcon = RyujinxXciIcon;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
applicationIcon = RyujinxNspIcon;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -199,15 +192,7 @@ namespace Ryujinx.UI
|
||||||
titleId = "Unknown";
|
titleId = "Unknown";
|
||||||
developer = "Unknown";
|
developer = "Unknown";
|
||||||
version = "?";
|
version = "?";
|
||||||
|
applicationIcon = NspOrXciIcon(applicationPath);
|
||||||
if (Path.GetExtension(applicationPath) == ".xci")
|
|
||||||
{
|
|
||||||
applicationIcon = RyujinxXciIcon;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
applicationIcon = RyujinxNspIcon;
|
|
||||||
}
|
|
||||||
|
|
||||||
Logger.PrintError(LogClass.Application, $"Your key set is missing a key with the name: {exception.Name}");
|
Logger.PrintError(LogClass.Application, $"Your key set is missing a key with the name: {exception.Name}");
|
||||||
}
|
}
|
||||||
|
@ -217,9 +202,7 @@ namespace Ryujinx.UI
|
||||||
titleId = "Unknown";
|
titleId = "Unknown";
|
||||||
developer = "Unknown";
|
developer = "Unknown";
|
||||||
version = "?";
|
version = "?";
|
||||||
|
applicationIcon = NspOrXciIcon(applicationPath);
|
||||||
if (Path.GetExtension(applicationPath) == ".xci") { applicationIcon = RyujinxXciIcon; }
|
|
||||||
else { applicationIcon = RyujinxNspIcon; }
|
|
||||||
|
|
||||||
Logger.PrintError(LogClass.Application, $"The file is not an NCA file or the header key is incorrect. Errored File: {applicationPath}");
|
Logger.PrintError(LogClass.Application, $"The file is not an NCA file or the header key is incorrect. Errored File: {applicationPath}");
|
||||||
}
|
}
|
||||||
|
@ -274,7 +257,8 @@ namespace Ryujinx.UI
|
||||||
titleId = controlData.SaveDataOwnerId.ToString("x16");
|
titleId = controlData.SaveDataOwnerId.ToString("x16");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(titleId)) {
|
if (string.IsNullOrWhiteSpace(titleId))
|
||||||
|
{
|
||||||
titleId = (controlData.AddOnContentBaseId - 0x1000).ToString("x16");
|
titleId = (controlData.AddOnContentBaseId - 0x1000).ToString("x16");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,5 +428,17 @@ namespace Ryujinx.UI
|
||||||
return new string[] { "Unknown", "Unknown" };
|
return new string[] { "Unknown", "Unknown" };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static byte[] NspOrXciIcon(string applicationPath)
|
||||||
|
{
|
||||||
|
if (Path.GetExtension(applicationPath) == ".xci")
|
||||||
|
{
|
||||||
|
return RyujinxXciIcon;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return RyujinxNspIcon;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,6 @@ namespace Ryujinx.UI
|
||||||
[GUI] CheckMenuItem _fileExtToggle;
|
[GUI] CheckMenuItem _fileExtToggle;
|
||||||
[GUI] CheckMenuItem _fileSizeToggle;
|
[GUI] CheckMenuItem _fileSizeToggle;
|
||||||
[GUI] CheckMenuItem _pathToggle;
|
[GUI] CheckMenuItem _pathToggle;
|
||||||
[GUI] MenuItem _nfc;
|
|
||||||
[GUI] Box _box;
|
[GUI] Box _box;
|
||||||
[GUI] TreeView _gameTable;
|
[GUI] TreeView _gameTable;
|
||||||
[GUI] GLArea _glScreen;
|
[GUI] GLArea _glScreen;
|
||||||
|
@ -100,7 +99,6 @@ namespace Ryujinx.UI
|
||||||
DeleteEvent += Window_Close;
|
DeleteEvent += Window_Close;
|
||||||
|
|
||||||
_mainWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
|
_mainWin.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
|
||||||
_nfc.Sensitive = false;
|
|
||||||
_stopEmulation.Sensitive = false;
|
_stopEmulation.Sensitive = false;
|
||||||
|
|
||||||
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { _iconToggle.Active = true; }
|
if (SwitchSettings.SwitchConfig.GuiColumns[0]) { _iconToggle.Active = true; }
|
||||||
|
@ -159,11 +157,13 @@ namespace Ryujinx.UI
|
||||||
|
|
||||||
public static void CreateErrorDialog(string errorMessage)
|
public static void CreateErrorDialog(string errorMessage)
|
||||||
{
|
{
|
||||||
MessageDialog errorDialog = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, errorMessage);
|
MessageDialog errorDialog = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, errorMessage)
|
||||||
|
{
|
||||||
|
Title = "Ryujinx - Error",
|
||||||
|
Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png"),
|
||||||
|
WindowPosition = WindowPosition.Center
|
||||||
|
};
|
||||||
errorDialog.SetSizeRequest(100, 20);
|
errorDialog.SetSizeRequest(100, 20);
|
||||||
errorDialog.Title = "Ryujinx - Error";
|
|
||||||
errorDialog.Icon = new Gdk.Pixbuf(Assembly.GetExecutingAssembly(), "Ryujinx.Ui.assets.RyujinxIcon.png");
|
|
||||||
errorDialog.WindowPosition = WindowPosition.Center;
|
|
||||||
errorDialog.Run();
|
errorDialog.Run();
|
||||||
errorDialog.Destroy();
|
errorDialog.Destroy();
|
||||||
}
|
}
|
||||||
|
@ -316,16 +316,18 @@ namespace Ryujinx.UI
|
||||||
Directory.CreateDirectory(savePath);
|
Directory.CreateDirectory(savePath);
|
||||||
using (FileStream stream = File.OpenWrite(System.IO.Path.Combine(savePath, "TimePlayed.dat"))) { stream.Write(Encoding.ASCII.GetBytes("0")); }
|
using (FileStream stream = File.OpenWrite(System.IO.Path.Combine(savePath, "TimePlayed.dat"))) { stream.Write(Encoding.ASCII.GetBytes("0")); }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (File.Exists(System.IO.Path.Combine(savePath, "LastPlayed.dat")) == false)
|
if (File.Exists(System.IO.Path.Combine(savePath, "LastPlayed.dat")) == false)
|
||||||
{
|
{
|
||||||
Directory.CreateDirectory(savePath);
|
Directory.CreateDirectory(savePath);
|
||||||
using (FileStream stream = File.OpenWrite(System.IO.Path.Combine(savePath, "LastPlayed.dat"))) { stream.Write(Encoding.ASCII.GetBytes("Never")); }
|
using (FileStream stream = File.OpenWrite(System.IO.Path.Combine(savePath, "LastPlayed.dat"))) { stream.Write(Encoding.ASCII.GetBytes("Never")); }
|
||||||
}
|
}
|
||||||
|
|
||||||
using (FileStream stream = File.OpenWrite(System.IO.Path.Combine(savePath, "LastPlayed.dat")))
|
using (FileStream stream = File.OpenWrite(System.IO.Path.Combine(savePath, "LastPlayed.dat")))
|
||||||
{
|
{
|
||||||
using (StreamWriter sr = new StreamWriter(stream))
|
using (StreamWriter writer = new StreamWriter(stream))
|
||||||
{
|
{
|
||||||
sr.WriteLine(DateTime.UtcNow);
|
writer.WriteLine(DateTime.UtcNow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -426,34 +428,34 @@ namespace Ryujinx.UI
|
||||||
|
|
||||||
private void Load_Application_File(object o, EventArgs args)
|
private void Load_Application_File(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
FileChooserDialog fc = new FileChooserDialog("Choose the file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
|
FileChooserDialog fileChooser = new FileChooserDialog("Choose the file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
|
||||||
|
|
||||||
fc.Filter = new FileFilter();
|
fileChooser.Filter = new FileFilter();
|
||||||
fc.Filter.AddPattern("*.nsp" );
|
fileChooser.Filter.AddPattern("*.nsp" );
|
||||||
fc.Filter.AddPattern("*.pfs0");
|
fileChooser.Filter.AddPattern("*.pfs0");
|
||||||
fc.Filter.AddPattern("*.xci" );
|
fileChooser.Filter.AddPattern("*.xci" );
|
||||||
fc.Filter.AddPattern("*.nca" );
|
fileChooser.Filter.AddPattern("*.nca" );
|
||||||
fc.Filter.AddPattern("*.nro" );
|
fileChooser.Filter.AddPattern("*.nro" );
|
||||||
fc.Filter.AddPattern("*.nso" );
|
fileChooser.Filter.AddPattern("*.nso" );
|
||||||
|
|
||||||
if (fc.Run() == (int)ResponseType.Accept)
|
if (fileChooser.Run() == (int)ResponseType.Accept)
|
||||||
{
|
{
|
||||||
LoadApplication(fc.Filename);
|
LoadApplication(fileChooser.Filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
fc.Destroy();
|
fileChooser.Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Load_Application_Folder(object o, EventArgs args)
|
private void Load_Application_Folder(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
FileChooserDialog fc = new FileChooserDialog("Choose the folder to open", this, FileChooserAction.SelectFolder, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
|
FileChooserDialog fileChooser = new FileChooserDialog("Choose the folder to open", this, FileChooserAction.SelectFolder, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
|
||||||
|
|
||||||
if (fc.Run() == (int)ResponseType.Accept)
|
if (fileChooser.Run() == (int)ResponseType.Accept)
|
||||||
{
|
{
|
||||||
LoadApplication(fc.Filename);
|
LoadApplication(fileChooser.Filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
fc.Destroy();
|
fileChooser.Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Open_Ryu_Folder(object o, EventArgs args)
|
private void Open_Ryu_Folder(object o, EventArgs args)
|
||||||
|
@ -483,7 +485,7 @@ namespace Ryujinx.UI
|
||||||
|
|
||||||
private void FullScreen_Toggled(object o, EventArgs args)
|
private void FullScreen_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_fullScreen.Active == true)
|
if (_fullScreen.Active)
|
||||||
{
|
{
|
||||||
Fullscreen();
|
Fullscreen();
|
||||||
}
|
}
|
||||||
|
@ -503,20 +505,6 @@ namespace Ryujinx.UI
|
||||||
SettingsWin.Show();
|
SettingsWin.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Nfc_Pressed(object o, EventArgs args)
|
|
||||||
{
|
|
||||||
FileChooserDialog fc = new FileChooserDialog("Choose the file to open", this, FileChooserAction.Open, "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept);
|
|
||||||
|
|
||||||
fc.Filter = new FileFilter();
|
|
||||||
fc.Filter.AddPattern("*.bin");
|
|
||||||
|
|
||||||
if (fc.Run() == (int)ResponseType.Accept)
|
|
||||||
{
|
|
||||||
// TODO: Write logic to emulate reading an NFC tag
|
|
||||||
}
|
|
||||||
fc.Destroy();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void Update_Pressed(object o, EventArgs args)
|
private void Update_Pressed(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
string ryuUpdater = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RyuFS", "RyuUpdater.exe");
|
string ryuUpdater = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "RyuFS", "RyuUpdater.exe");
|
||||||
|
@ -543,72 +531,63 @@ namespace Ryujinx.UI
|
||||||
|
|
||||||
private void Icon_Toggled(object o, EventArgs args)
|
private void Icon_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_iconToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[0] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[0] = _iconToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[0] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Title_Toggled(object o, EventArgs args)
|
private void Title_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_titleToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[1] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[1] = _titleToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[1] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Developer_Toggled(object o, EventArgs args)
|
private void Developer_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_developerToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[2] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[2] = _developerToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[2] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Version_Toggled(object o, EventArgs args)
|
private void Version_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_versionToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[3] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[3] = _versionToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[3] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TimePlayed_Toggled(object o, EventArgs args)
|
private void TimePlayed_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_timePlayedToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[4] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[4] = _timePlayedToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[4] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LastPlayed_Toggled(object o, EventArgs args)
|
private void LastPlayed_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_lastPlayedToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[5] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[5] = _lastPlayedToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[5] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FileExt_Toggled(object o, EventArgs args)
|
private void FileExt_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_fileExtToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[6] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[6] = _fileExtToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[6] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FileSize_Toggled(object o, EventArgs args)
|
private void FileSize_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_fileSizeToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[7] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[7] = _fileSizeToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[7] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Path_Toggled(object o, EventArgs args)
|
private void Path_Toggled(object o, EventArgs args)
|
||||||
{
|
{
|
||||||
if (_pathToggle.Active) SwitchSettings.SwitchConfig.GuiColumns[8] = true;
|
SwitchSettings.SwitchConfig.GuiColumns[8] = _pathToggle.Active;
|
||||||
else SwitchSettings.SwitchConfig.GuiColumns[8] = false;
|
|
||||||
|
|
||||||
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
Configuration.SaveConfig(SwitchSettings.SwitchConfig, System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json"));
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
<object class="GtkApplicationWindow" id="_mainWin">
|
<object class="GtkApplicationWindow" id="_mainWin">
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Ryujinx</property>
|
<property name="title" translatable="yes">Ryujinx</property>
|
||||||
|
<property name="window_position">center</property>
|
||||||
<property name="default_width">1280</property>
|
<property name="default_width">1280</property>
|
||||||
<property name="default_height">750</property>
|
<property name="default_height">750</property>
|
||||||
<child>
|
<child>
|
||||||
|
@ -245,21 +246,6 @@
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="label" translatable="yes">Tools</property>
|
<property name="label" translatable="yes">Tools</property>
|
||||||
<property name="use_underline">True</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="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>
|
|
||||||
<property name="use_underline">True</property>
|
|
||||||
<signal name="activate" handler="Nfc_Pressed" swapped="no"/>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
<property name="can_focus">False</property>
|
<property name="can_focus">False</property>
|
||||||
<property name="title" translatable="yes">Ryujinx - Settings</property>
|
<property name="title" translatable="yes">Ryujinx - Settings</property>
|
||||||
<property name="modal">True</property>
|
<property name="modal">True</property>
|
||||||
|
<property name="window_position">center</property>
|
||||||
<property name="default_width">910</property>
|
<property name="default_width">910</property>
|
||||||
<property name="default_height">790</property>
|
<property name="default_height">790</property>
|
||||||
<property name="type_hint">dialog</property>
|
<property name="type_hint">dialog</property>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue