Basic impl of Error Applet (#1551)
This commit is contained in:
parent
f89b754abb
commit
4f65043ad7
8 changed files with 303 additions and 0 deletions
|
@ -128,5 +128,56 @@ namespace Ryujinx.Ui
|
|||
device.UserChannelPersistence.ExecuteProgram(kind, value);
|
||||
MainWindow.GlWidget?.Exit();
|
||||
}
|
||||
|
||||
public bool DisplayErrorAppletDialog(string title, string message, string[] buttons)
|
||||
{
|
||||
ManualResetEvent dialogCloseEvent = new ManualResetEvent(false);
|
||||
bool showDetails = false;
|
||||
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
try
|
||||
{
|
||||
ErrorAppletDialog msgDialog = new ErrorAppletDialog(_parent, DialogFlags.DestroyWithParent, MessageType.Error, buttons)
|
||||
{
|
||||
Title = title,
|
||||
Text = message,
|
||||
UseMarkup = true,
|
||||
WindowPosition = WindowPosition.CenterAlways
|
||||
};
|
||||
|
||||
msgDialog.SetDefaultSize(400, 0);
|
||||
|
||||
msgDialog.Response += (object o, ResponseArgs args) =>
|
||||
{
|
||||
if (buttons != null)
|
||||
{
|
||||
if (buttons.Length > 1)
|
||||
{
|
||||
if (args.ResponseId != (ResponseType)(buttons.Length - 1))
|
||||
{
|
||||
showDetails = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dialogCloseEvent.Set();
|
||||
msgDialog?.Dispose();
|
||||
};
|
||||
|
||||
msgDialog.Show();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Logger.Error?.Print(LogClass.Application, $"Error displaying ErrorApplet Dialog: {e}");
|
||||
|
||||
dialogCloseEvent.Set();
|
||||
}
|
||||
});
|
||||
|
||||
dialogCloseEvent.WaitOne();
|
||||
|
||||
return showDetails;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue