This commit is contained in:
theolivenbaum
2021-07-12 21:27:40 +02:00
parent 126d39f4a5
commit 95d614796e
13 changed files with 65 additions and 58 deletions

View File

@@ -338,7 +338,7 @@ namespace ElectronNET.API
{
if (_accessibilitySupportChanged == null)
{
BridgeConnector.On("app-accessibility-support-changed" + GetHashCode(), (state) =>
BridgeConnector.On<bool>("app-accessibility-support-changed" + GetHashCode(), (state) =>
{
_accessibilitySupportChanged((bool)state);
});

View File

@@ -2,6 +2,15 @@
using Newtonsoft.Json.Converters;
namespace ElectronNET.API.Entities {
public class CookieRemovedResponse
{
public Cookie cookie {get;set;}
public CookieChangedCause cause { get; set; }
public bool removed { get; set; }
}
/// <summary>
/// The cause of the change
/// </summary>

View File

@@ -1,5 +1,10 @@
namespace ElectronNET.API.Entities
{
public class DisplayChanged
{
public Display display { get; set; }
public string[] metrics { get; set; }
}
/// <summary>
///
/// </summary>

View File

@@ -1,5 +1,6 @@
namespace ElectronNET.API
{
/// <summary>
///
/// </summary>

View File

@@ -0,0 +1,8 @@
namespace ElectronNET.API.Entities
{
public class TrayClickEventResponse
{
public TrayClickEventArgs eventArgs { get; set; }
public Rectangle bounds { get; set; }
}
}

View File

@@ -50,9 +50,9 @@ namespace ElectronNET.API
{
if (_onDisplayRemoved == null)
{
BridgeConnector.On("screen-display-removed-event" + GetHashCode(), (display) =>
BridgeConnector.On<Display>("screen-display-removed-event" + GetHashCode(), (display) =>
{
_onDisplayRemoved(((JObject)display).ToObject<Display>());
_onDisplayRemoved(display);
});
BridgeConnector.Emit("register-screen-display-removed", GetHashCode());
@@ -81,12 +81,9 @@ namespace ElectronNET.API
{
if (_onDisplayMetricsChanged == null)
{
BridgeConnector.On("screen-display-metrics-changed-event" + GetHashCode(), (args) =>
BridgeConnector.On<DisplayChanged>("screen-display-metrics-changed-event" + GetHashCode(), (args) =>
{
var display = ((JArray)args).First.ToObject<Display>();
var metrics = ((JArray)args).Last.ToObject<string[]>();
_onDisplayMetricsChanged(display, metrics);
_onDisplayMetricsChanged(args.display, args.metrics);
});
BridgeConnector.Emit("register-screen-display-metrics-changed", GetHashCode());
@@ -136,11 +133,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Point>();
BridgeConnector.On("screen-getCursorScreenPointCompleted", (point) =>
BridgeConnector.On<Point>("screen-getCursorScreenPointCompleted", (point) =>
{
BridgeConnector.Off("screen-getCursorScreenPointCompleted");
taskCompletionSource.SetResult(((JObject)point).ToObject<Point>());
taskCompletionSource.SetResult(point);
});
BridgeConnector.Emit("screen-getCursorScreenPoint");
@@ -156,11 +153,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<int>();
BridgeConnector.On("screen-getMenuBarHeightCompleted", (height) =>
BridgeConnector.On<int>("screen-getMenuBarHeightCompleted", (height) =>
{
BridgeConnector.Off("screen-getMenuBarHeightCompleted");
taskCompletionSource.SetResult(int.Parse(height.ToString()));
taskCompletionSource.SetResult(height);
});
BridgeConnector.Emit("screen-getMenuBarHeight");
@@ -176,11 +173,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display>();
BridgeConnector.On("screen-getPrimaryDisplayCompleted", (display) =>
BridgeConnector.On<Display>("screen-getPrimaryDisplayCompleted", (display) =>
{
BridgeConnector.Off("screen-getPrimaryDisplayCompleted");
taskCompletionSource.SetResult(((JObject)display).ToObject<Display>());
taskCompletionSource.SetResult(display);
});
BridgeConnector.Emit("screen-getPrimaryDisplay");
@@ -196,11 +193,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display[]>();
BridgeConnector.On("screen-getAllDisplaysCompleted", (displays) =>
BridgeConnector.On<Display[]>("screen-getAllDisplaysCompleted", (displays) =>
{
BridgeConnector.Off("screen-getAllDisplaysCompleted");
taskCompletionSource.SetResult(((JArray)displays).ToObject<Display[]>());
taskCompletionSource.SetResult(displays);
});
BridgeConnector.Emit("screen-getAllDisplays");
@@ -216,11 +213,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display>();
BridgeConnector.On("screen-getDisplayNearestPointCompleted", (display) =>
BridgeConnector.On<Display>("screen-getDisplayNearestPointCompleted", (display) =>
{
BridgeConnector.Off("screen-getDisplayNearestPointCompleted");
taskCompletionSource.SetResult(((JObject)display).ToObject<Display>());
taskCompletionSource.SetResult(display);
});
BridgeConnector.Emit("screen-getDisplayNearestPoint", JObject.FromObject(point, _jsonSerializer));
@@ -237,11 +234,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<Display>();
BridgeConnector.On("screen-getDisplayMatching", (display) =>
BridgeConnector.On<Display>("screen-getDisplayMatching", (display) =>
{
BridgeConnector.Off("screen-getDisplayMatching");
taskCompletionSource.SetResult(((JObject)display).ToObject<Display>());
taskCompletionSource.SetResult(display);
});
BridgeConnector.Emit("screen-getDisplayMatching", JObject.FromObject(rectangle, _jsonSerializer));

View File

@@ -63,7 +63,7 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.On("shell-openPathCompleted", (errorMessage) =>
BridgeConnector.On<string>("shell-openPathCompleted", (errorMessage) =>
{
BridgeConnector.Off("shell-openPathCompleted");
@@ -97,7 +97,7 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<string>();
BridgeConnector.On("shell-openExternalCompleted", (error) =>
BridgeConnector.On<string>("shell-openExternalCompleted", (error) =>
{
BridgeConnector.Off("shell-openExternalCompleted");
@@ -125,7 +125,7 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.On("shell-trashItem-completed", (success) =>
BridgeConnector.On<bool>("shell-trashItem-completed", (success) =>
{
BridgeConnector.Off("shell-trashItem-completed");
@@ -156,7 +156,7 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.On("shell-writeShortcutLinkCompleted", (success) =>
BridgeConnector.On<bool>("shell-writeShortcutLinkCompleted", (success) =>
{
BridgeConnector.Off("shell-writeShortcutLinkCompleted");
@@ -178,14 +178,10 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<ShortcutDetails>();
BridgeConnector.On("shell-readShortcutLinkCompleted", (shortcutDetails) =>
BridgeConnector.On<ShortcutDetails>("shell-readShortcutLinkCompleted", (shortcutDetails) =>
{
BridgeConnector.Off("shell-readShortcutLinkCompleted");
var shortcutObject = shortcutDetails as JObject;
var details = shortcutObject?.ToObject<ShortcutDetails>();
taskCompletionSource.SetResult(details);
taskCompletionSource.SetResult(shortcutDetails);
});
BridgeConnector.Emit("shell-readShortcutLink", shortcutPath);

View File

@@ -23,12 +23,9 @@ namespace ElectronNET.API
{
if (_click == null)
{
BridgeConnector.On("tray-click-event" + GetHashCode(), (result) =>
BridgeConnector.On<TrayClickEventResponse>("tray-click-event" + GetHashCode(), (result) =>
{
var args = ((JArray)result).ToObject<object[]>();
var trayClickEventArgs = ((JObject)args[0]).ToObject<TrayClickEventArgs>();
var bounds = ((JObject)args[1]).ToObject<Rectangle>();
_click(trayClickEventArgs, bounds);
_click(result.eventArgs, result.bounds);
});
BridgeConnector.Emit("register-tray-click", GetHashCode());
@@ -55,12 +52,9 @@ namespace ElectronNET.API
{
if (_rightClick == null)
{
BridgeConnector.On("tray-right-click-event" + GetHashCode(), (result) =>
BridgeConnector.On<TrayClickEventResponse>("tray-right-click-event" + GetHashCode(), (result) =>
{
var args = ((JArray)result).ToObject<object[]>();
var trayClickEventArgs = ((JObject)args[0]).ToObject<TrayClickEventArgs>();
var bounds = ((JObject)args[1]).ToObject<Rectangle>();
_rightClick(trayClickEventArgs, bounds);
_rightClick(result.eventArgs, result.bounds);
});
BridgeConnector.Emit("register-tray-right-click", GetHashCode());
@@ -87,12 +81,9 @@ namespace ElectronNET.API
{
if (_doubleClick == null)
{
BridgeConnector.On("tray-double-click-event" + GetHashCode(), (result) =>
BridgeConnector.On<TrayClickEventResponse>("tray-double-click-event" + GetHashCode(), (result) =>
{
var args = ((JArray)result).ToObject<object[]>();
var trayClickEventArgs = ((JObject)args[0]).ToObject<TrayClickEventArgs>();
var bounds = ((JObject)args[1]).ToObject<Rectangle>();
_doubleClick(trayClickEventArgs, bounds);
_doubleClick(result.eventArgs, result.bounds);
});
BridgeConnector.Emit("register-tray-double-click", GetHashCode());

View File

@@ -34,7 +34,7 @@ namespace ElectronNET.API
{
if (_crashed == null)
{
BridgeConnector.On("webContents-crashed" + Id, (killed) =>
BridgeConnector.On<bool>("webContents-crashed" + Id, (killed) =>
{
_crashed((bool)killed);
});
@@ -115,11 +115,11 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<PrinterInfo[]>();
BridgeConnector.On("webContents-getPrinters-completed", (printers) =>
BridgeConnector.On<PrinterInfo[]>("webContents-getPrinters-completed", (printers) =>
{
BridgeConnector.Off("webContents-getPrinters-completed");
taskCompletionSource.SetResult(((Newtonsoft.Json.Linq.JArray)printers).ToObject<PrinterInfo[]>());
taskCompletionSource.SetResult(printers);
});
BridgeConnector.Emit("webContents-getPrinters", Id);
@@ -136,7 +136,7 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.On("webContents-print-completed", (success) =>
BridgeConnector.On<bool>("webContents-print-completed", (success) =>
{
BridgeConnector.Off("webContents-print-completed");
taskCompletionSource.SetResult((bool)success);
@@ -167,7 +167,7 @@ namespace ElectronNET.API
{
var taskCompletionSource = new TaskCompletionSource<bool>();
BridgeConnector.On("webContents-printToPDF-completed", (success) =>
BridgeConnector.On<bool>("webContents-printToPDF-completed", (success) =>
{
BridgeConnector.Off("webContents-printToPDF-completed");
taskCompletionSource.SetResult((bool)success);
@@ -195,7 +195,7 @@ namespace ElectronNET.API
var taskCompletionSource = new TaskCompletionSource<string>();
var eventString = "webContents-getUrl" + Id;
BridgeConnector.On(eventString, (url) =>
BridgeConnector.On<string>(eventString, (url) =>
{
BridgeConnector.Off(eventString);
taskCompletionSource.SetResult((string)url);
@@ -247,7 +247,7 @@ namespace ElectronNET.API
taskCompletionSource.SetResult(null);
});
BridgeConnector.On("webContents-loadURL-error" + Id, (error) =>
BridgeConnector.On<string>("webContents-loadURL-error" + Id, (error) =>
{
BridgeConnector.Off("webContents-loadURL-error" + Id);
taskCompletionSource.SetException(new InvalidOperationException(error.ToString()));

View File

@@ -151,7 +151,7 @@ module.exports = (socket, app) => {
const success = app.requestSingleInstanceLock();
electronSocket.emit('appRequestSingleInstanceLockCompleted', success);
app.on('second-instance', (event, args = [], workingDirectory = '') => {
electronSocket.emit('secondInstance', new { args: args, workingDirectory: workingDirectory }]);
electronSocket.emit('secondInstance', new { args: args, workingDirectory: workingDirectory });
});
});
socket.on('appHasSingleInstanceLock', () => {

View File

@@ -15,7 +15,7 @@ module.exports = (socket) => {
});
socket.on('register-screen-display-metrics-changed', (id) => {
electron_1.screen.on('display-metrics-changed', (event, display, changedMetrics) => {
electronSocket.emit('screen-display-metrics-changed-event' + id, [display, changedMetrics]);
electronSocket.emit('screen-display-metrics-changed-event' + id, new {display: display, changedMetrics: changedMetrics});
});
});
socket.on('screen-getCursorScreenPoint', () => {

View File

@@ -7,21 +7,21 @@ module.exports = (socket) => {
socket.on('register-tray-click', (id) => {
if (tray.value) {
tray.value.on('click', (event, bounds) => {
electronSocket.emit('tray-click-event' + id, [event.__proto__, bounds]);
electronSocket.emit('tray-click-event' + id, new { eventArgs: event.__proto__, bounds: bounds });
});
}
});
socket.on('register-tray-right-click', (id) => {
if (tray.value) {
tray.value.on('right-click', (event, bounds) => {
electronSocket.emit('tray-right-click-event' + id, [event.__proto__, bounds]);
electronSocket.emit('tray-right-click-event' + id, new { eventArgs: event.__proto__, bounds: bounds });
});
}
});
socket.on('register-tray-double-click', (id) => {
if (tray.value) {
tray.value.on('double-click', (event, bounds) => {
electronSocket.emit('tray-double-click-event' + id, [event.__proto__, bounds]);
electronSocket.emit('tray-double-click-event' + id, new { eventArgs: event.__proto__, bounds: bounds });
});
}
});

View File

@@ -10,7 +10,7 @@ namespace ElectronNET.WebApp
{
public static void Main(string[] args)
{
Debugger.Launch();
//Debugger.Launch();
CreateWebHostBuilder(args).Build().Run();
}