fix event bugs

This commit is contained in:
Gregor Biswanger
2017-10-25 21:28:43 +02:00
parent 1b8a7089a5
commit 4b0fca35fa
19 changed files with 343 additions and 252 deletions

View File

@@ -28,18 +28,21 @@ namespace ElectronNET.API
{
if (_windowAllClosed == null)
{
BridgeConnector.Socket.On("app-window-all-closed", () =>
BridgeConnector.Socket.On("app-window-all-closed" + GetHashCode(), () =>
{
_windowAllClosed();
});
BridgeConnector.Socket.Emit("register-app-window-all-closed-event");
BridgeConnector.Socket.Emit("register-app-window-all-closed-event", GetHashCode());
}
_windowAllClosed += value;
}
remove
{
_windowAllClosed -= value;
if(_windowAllClosed == null)
BridgeConnector.Socket.Off("app-window-all-closed" + GetHashCode());
}
}
@@ -57,18 +60,21 @@ namespace ElectronNET.API
{
if (_beforeQuit == null)
{
BridgeConnector.Socket.On("app-before-quit", () =>
BridgeConnector.Socket.On("app-before-quit" + GetHashCode(), () =>
{
_beforeQuit();
});
BridgeConnector.Socket.Emit("register-app-before-quit-event");
BridgeConnector.Socket.Emit("register-app-before-quit-event", GetHashCode());
}
_beforeQuit += value;
}
remove
{
_beforeQuit -= value;
if (_beforeQuit == null)
BridgeConnector.Socket.Off("app-before-quit" + GetHashCode());
}
}
@@ -86,18 +92,21 @@ namespace ElectronNET.API
{
if (_willQuit == null)
{
BridgeConnector.Socket.On("app-will-quit", () =>
BridgeConnector.Socket.On("app-will-quit" + GetHashCode(), () =>
{
_willQuit();
});
BridgeConnector.Socket.Emit("register-app-will-quit-event");
BridgeConnector.Socket.Emit("register-app-will-quit-event", GetHashCode());
}
_willQuit += value;
}
remove
{
_willQuit -= value;
if (_willQuit == null)
BridgeConnector.Socket.Off("app-will-quit" + GetHashCode());
}
}
@@ -112,18 +121,21 @@ namespace ElectronNET.API
{
if (_quitting == null)
{
BridgeConnector.Socket.On("app-quit", () =>
BridgeConnector.Socket.On("app-quit" + GetHashCode(), () =>
{
_quitting();
});
BridgeConnector.Socket.Emit("register-app-quit-event");
BridgeConnector.Socket.Emit("register-app-quit-event", GetHashCode());
}
_quitting += value;
}
remove
{
_quitting -= value;
if (_quitting == null)
BridgeConnector.Socket.Off("app-quit" + GetHashCode());
}
}
@@ -138,18 +150,21 @@ namespace ElectronNET.API
{
if (_browserWindowBlur == null)
{
BridgeConnector.Socket.On("app-browser-window-blur", () =>
BridgeConnector.Socket.On("app-browser-window-blur" + GetHashCode(), () =>
{
_browserWindowBlur();
});
BridgeConnector.Socket.Emit("register-app-browser-window-blur-event");
BridgeConnector.Socket.Emit("register-app-browser-window-blur-event", GetHashCode());
}
_browserWindowBlur += value;
}
remove
{
_browserWindowBlur -= value;
if (_browserWindowBlur == null)
BridgeConnector.Socket.Off("app-browser-window-blur" + GetHashCode());
}
}
@@ -164,18 +179,21 @@ namespace ElectronNET.API
{
if (_browserWindowFocus == null)
{
BridgeConnector.Socket.On("app-browser-window-focus", () =>
BridgeConnector.Socket.On("app-browser-window-focus" + GetHashCode(), () =>
{
_browserWindowFocus();
});
BridgeConnector.Socket.Emit("register-app-browser-window-focus-event");
BridgeConnector.Socket.Emit("register-app-browser-window-focus-event", GetHashCode());
}
_browserWindowFocus += value;
}
remove
{
_browserWindowFocus -= value;
if (_browserWindowFocus == null)
BridgeConnector.Socket.Off("app-browser-window-focus" + GetHashCode());
}
}
@@ -190,18 +208,21 @@ namespace ElectronNET.API
{
if (_browserWindowCreated == null)
{
BridgeConnector.Socket.On("app-browser-window-created", () =>
BridgeConnector.Socket.On("app-browser-window-created" + GetHashCode(), () =>
{
_browserWindowCreated();
});
BridgeConnector.Socket.Emit("register-app-browser-window-created-event");
BridgeConnector.Socket.Emit("register-app-browser-window-created-event", GetHashCode());
}
_browserWindowCreated += value;
}
remove
{
_browserWindowCreated -= value;
if (_browserWindowCreated == null)
BridgeConnector.Socket.Off("app-browser-window-created" + GetHashCode());
}
}
@@ -216,18 +237,21 @@ namespace ElectronNET.API
{
if (_webContentsCreated == null)
{
BridgeConnector.Socket.On("app-web-contents-created", () =>
BridgeConnector.Socket.On("app-web-contents-created" + GetHashCode(), () =>
{
_webContentsCreated();
});
BridgeConnector.Socket.Emit("register-app-web-contents-created-event");
BridgeConnector.Socket.Emit("register-app-web-contents-created-event", GetHashCode());
}
_webContentsCreated += value;
}
remove
{
_webContentsCreated -= value;
if (_webContentsCreated == null)
BridgeConnector.Socket.Off("app-web-contents-created" + GetHashCode());
}
}
@@ -244,18 +268,21 @@ namespace ElectronNET.API
{
if (_accessibilitySupportChanged == null)
{
BridgeConnector.Socket.On("app-accessibility-support-changed", (state) =>
BridgeConnector.Socket.On("app-accessibility-support-changed" + GetHashCode(), (state) =>
{
_accessibilitySupportChanged((bool)state);
});
BridgeConnector.Socket.Emit("register-app-accessibility-support-changed-event");
BridgeConnector.Socket.Emit("register-app-accessibility-support-changed-event", GetHashCode());
}
_accessibilitySupportChanged += value;
}
remove
{
_accessibilitySupportChanged -= value;
if (_accessibilitySupportChanged == null)
BridgeConnector.Socket.Off("app-accessibility-support-changed" + GetHashCode());
}
}
@@ -402,58 +429,6 @@ namespace ElectronNET.API
return await taskCompletionSource.Task;
}
// TODO: Fertig coden
/// <summary>
/// Fetches a path's associated icon. On Windows, there a 2 kinds of icons: On Linux
/// and macOS, icons depend on the application associated with file mime type.
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
//public async static Task<NativeImage> GetFileIconAsync(string filePath)
//{
// var taskCompletionSource = new TaskCompletionSource<NativeImage>();
// BridgeConnector.Socket.On("appGetFileIconCompleted", (results) =>
// {
// BridgeConnector.Socket.Off("appGetFileIconCompleted");
// byte[] test = ((JArray)results).Last.ToObject<byte[]>();
// //object[] result = results as object[];
// //NativeImage nativeImage = (NativeImage)result[1];
// //taskCompletionSource.SetResult(nativeImage);
// });
// BridgeConnector.Socket.Emit("appGetFileIcon", filePath);
// return await taskCompletionSource.Task;
//}
// TODO: Fertig coden
/// <summary>
/// Fetches a path's associated icon. On Windows, there a 2 kinds of icons: On Linux
/// and macOS, icons depend on the application associated with file mime type.
/// </summary>
/// <param name="filePath"></param>
/// <param name="fileIconOptions"></param>
/// <returns></returns>
//public async static Task<NativeImage> GetFileIconAsync(string filePath, FileIconOptions fileIconOptions)
//{
// var taskCompletionSource = new TaskCompletionSource<NativeImage>();
// BridgeConnector.Socket.On("appGetFileIconCompleted", (results) =>
// {
// BridgeConnector.Socket.Off("appGetFileIconCompleted");
// object[] result = results as object[];
// NativeImage nativeImage = (NativeImage)result[1];
// taskCompletionSource.SetResult(nativeImage);
// });
// BridgeConnector.Socket.Emit("appGetFileIcon", filePath, JObject.FromObject(fileIconOptions, _jsonSerializer));
// return await taskCompletionSource.Task;
//}
/// <summary>
/// Overrides the path to a special directory or file associated with name. If the
@@ -1354,14 +1329,5 @@ namespace ElectronNET.API
{
BridgeConnector.Socket.Emit("appDockSetIcon", image);
}
/// <summary>
/// Sets the image associated with this dock icon.
/// </summary>
/// <param name="image"></param>
//public static void DockSetIcon(NativeImage image)
//{
// BridgeConnector.Socket.Emit("appDockSetIcon", JObject.FromObject(image, _jsonSerializer));
//}
}
}

View File

@@ -33,7 +33,7 @@ namespace ElectronNET.API
{
if (_readyToShow == null)
{
BridgeConnector.Socket.On("browserWindow-ready-to-show", () =>
BridgeConnector.Socket.On("browserWindow-ready-to-show" + Id, () =>
{
_readyToShow();
});
@@ -45,6 +45,9 @@ namespace ElectronNET.API
remove
{
_readyToShow -= value;
if (_readyToShow == null)
BridgeConnector.Socket.Off("browserWindow-ready-to-show" + Id);
}
}
@@ -59,7 +62,7 @@ namespace ElectronNET.API
{
if (_pageTitleUpdated == null)
{
BridgeConnector.Socket.On("browserWindow-page-title-updated", (title) =>
BridgeConnector.Socket.On("browserWindow-page-title-updated" + Id, (title) =>
{
_pageTitleUpdated(title.ToString());
});
@@ -71,6 +74,9 @@ namespace ElectronNET.API
remove
{
_pageTitleUpdated -= value;
if (_pageTitleUpdated == null)
BridgeConnector.Socket.Off("browserWindow-page-title-updated" + Id);
}
}
@@ -85,7 +91,7 @@ namespace ElectronNET.API
{
if (_close == null)
{
BridgeConnector.Socket.On("browserWindow-close", () =>
BridgeConnector.Socket.On("browserWindow-close" + Id, () =>
{
_close();
});
@@ -97,6 +103,9 @@ namespace ElectronNET.API
remove
{
_close -= value;
if (_close == null)
BridgeConnector.Socket.Off("browserWindow-close" + Id);
}
}
@@ -113,7 +122,7 @@ namespace ElectronNET.API
{
if (_closed == null)
{
BridgeConnector.Socket.On("browserWindow-closed", () =>
BridgeConnector.Socket.On("browserWindow-closed" + Id, () =>
{
_closed();
});
@@ -125,6 +134,9 @@ namespace ElectronNET.API
remove
{
_closed -= value;
if (_closed == null)
BridgeConnector.Socket.Off("browserWindow-closed" + Id);
}
}
@@ -139,7 +151,7 @@ namespace ElectronNET.API
{
if (_sessionEnd == null)
{
BridgeConnector.Socket.On("browserWindow-session-end", () =>
BridgeConnector.Socket.On("browserWindow-session-end" + Id, () =>
{
_sessionEnd();
});
@@ -151,6 +163,9 @@ namespace ElectronNET.API
remove
{
_sessionEnd -= value;
if (_sessionEnd == null)
BridgeConnector.Socket.Off("browserWindow-session-end" + Id);
}
}
@@ -177,6 +192,9 @@ namespace ElectronNET.API
remove
{
_unresponsive -= value;
if (_unresponsive == null)
BridgeConnector.Socket.Off("browserWindow-unresponsive" + Id);
}
}
@@ -203,6 +221,9 @@ namespace ElectronNET.API
remove
{
_responsive -= value;
if (_responsive == null)
BridgeConnector.Socket.Off("browserWindow-responsive" + Id);
}
}
@@ -217,7 +238,7 @@ namespace ElectronNET.API
{
if (_blur == null)
{
BridgeConnector.Socket.On("browserWindow-blur", () =>
BridgeConnector.Socket.On("browserWindow-blur" + Id, () =>
{
_blur();
});
@@ -229,6 +250,9 @@ namespace ElectronNET.API
remove
{
_blur -= value;
if (_blur == null)
BridgeConnector.Socket.Off("browserWindow-blur" + Id);
}
}
@@ -243,7 +267,7 @@ namespace ElectronNET.API
{
if (_focus == null)
{
BridgeConnector.Socket.On("browserWindow-focus", () =>
BridgeConnector.Socket.On("browserWindow-focus" + Id, () =>
{
_focus();
});
@@ -255,6 +279,9 @@ namespace ElectronNET.API
remove
{
_focus -= value;
if (_focus == null)
BridgeConnector.Socket.Off("browserWindow-focus" + Id);
}
}
@@ -269,7 +296,7 @@ namespace ElectronNET.API
{
if (_show == null)
{
BridgeConnector.Socket.On("browserWindow-show", () =>
BridgeConnector.Socket.On("browserWindow-show" + Id, () =>
{
_show();
});
@@ -281,6 +308,9 @@ namespace ElectronNET.API
remove
{
_show -= value;
if (_show == null)
BridgeConnector.Socket.Off("browserWindow-show" + Id);
}
}
@@ -295,7 +325,7 @@ namespace ElectronNET.API
{
if (_hide == null)
{
BridgeConnector.Socket.On("browserWindow-hide", () =>
BridgeConnector.Socket.On("browserWindow-hide" + Id, () =>
{
_hide();
});
@@ -307,6 +337,9 @@ namespace ElectronNET.API
remove
{
_hide -= value;
if (_hide == null)
BridgeConnector.Socket.Off("browserWindow-hide" + Id);
}
}
@@ -321,7 +354,7 @@ namespace ElectronNET.API
{
if (_maximize == null)
{
BridgeConnector.Socket.On("browserWindow-maximize", () =>
BridgeConnector.Socket.On("browserWindow-maximize" + Id, () =>
{
_maximize();
});
@@ -333,6 +366,9 @@ namespace ElectronNET.API
remove
{
_maximize -= value;
if (_maximize == null)
BridgeConnector.Socket.Off("browserWindow-maximize" + Id);
}
}
@@ -347,7 +383,7 @@ namespace ElectronNET.API
{
if (_unmaximize == null)
{
BridgeConnector.Socket.On("browserWindow-unmaximize", () =>
BridgeConnector.Socket.On("browserWindow-unmaximize" + Id, () =>
{
_unmaximize();
});
@@ -359,6 +395,9 @@ namespace ElectronNET.API
remove
{
_unmaximize -= value;
if (_unmaximize == null)
BridgeConnector.Socket.Off("browserWindow-unmaximize" + Id);
}
}
@@ -373,7 +412,7 @@ namespace ElectronNET.API
{
if (_minimize == null)
{
BridgeConnector.Socket.On("browserWindow-minimize", () =>
BridgeConnector.Socket.On("browserWindow-minimize" + Id, () =>
{
_minimize();
});
@@ -385,6 +424,9 @@ namespace ElectronNET.API
remove
{
_minimize -= value;
if (_minimize == null)
BridgeConnector.Socket.Off("browserWindow-minimize" + Id);
}
}
@@ -399,7 +441,7 @@ namespace ElectronNET.API
{
if (_restore == null)
{
BridgeConnector.Socket.On("browserWindow-restore", () =>
BridgeConnector.Socket.On("browserWindow-restore" + Id, () =>
{
_restore();
});
@@ -411,6 +453,9 @@ namespace ElectronNET.API
remove
{
_restore -= value;
if (_restore == null)
BridgeConnector.Socket.Off("browserWindow-restore" + Id);
}
}
@@ -425,7 +470,7 @@ namespace ElectronNET.API
{
if (_resize == null)
{
BridgeConnector.Socket.On("browserWindow-resize", () =>
BridgeConnector.Socket.On("browserWindow-resize" + Id, () =>
{
_resize();
});
@@ -437,6 +482,9 @@ namespace ElectronNET.API
remove
{
_resize -= value;
if (_resize == null)
BridgeConnector.Socket.Off("browserWindow-resize" + Id);
}
}
@@ -453,7 +501,7 @@ namespace ElectronNET.API
{
if (_move == null)
{
BridgeConnector.Socket.On("browserWindow-move", () =>
BridgeConnector.Socket.On("browserWindow-move" + Id, () =>
{
_move();
});
@@ -465,6 +513,9 @@ namespace ElectronNET.API
remove
{
_move -= value;
if (_move == null)
BridgeConnector.Socket.Off("browserWindow-move" + Id);
}
}
@@ -479,7 +530,7 @@ namespace ElectronNET.API
{
if (_moved == null)
{
BridgeConnector.Socket.On("browserWindow-moved", () =>
BridgeConnector.Socket.On("browserWindow-moved" + Id, () =>
{
_moved();
});
@@ -491,6 +542,9 @@ namespace ElectronNET.API
remove
{
_moved -= value;
if (_moved == null)
BridgeConnector.Socket.Off("browserWindow-moved" + Id);
}
}
@@ -505,7 +559,7 @@ namespace ElectronNET.API
{
if (_enterFullScreen == null)
{
BridgeConnector.Socket.On("browserWindow-enter-full-screen", () =>
BridgeConnector.Socket.On("browserWindow-enter-full-screen" + Id, () =>
{
_enterFullScreen();
});
@@ -517,6 +571,9 @@ namespace ElectronNET.API
remove
{
_enterFullScreen -= value;
if (_enterFullScreen == null)
BridgeConnector.Socket.Off("browserWindow-enter-full-screen" + Id);
}
}
@@ -531,7 +588,7 @@ namespace ElectronNET.API
{
if (_leaveFullScreen == null)
{
BridgeConnector.Socket.On("browserWindow-leave-full-screen", () =>
BridgeConnector.Socket.On("browserWindow-leave-full-screen" + Id, () =>
{
_leaveFullScreen();
});
@@ -543,6 +600,9 @@ namespace ElectronNET.API
remove
{
_leaveFullScreen -= value;
if (_leaveFullScreen == null)
BridgeConnector.Socket.Off("browserWindow-leave-full-screen" + Id);
}
}
@@ -557,7 +617,7 @@ namespace ElectronNET.API
{
if (_enterHtmlFullScreen == null)
{
BridgeConnector.Socket.On("browserWindow-enter-html-full-screen", () =>
BridgeConnector.Socket.On("browserWindow-enter-html-full-screen" + Id, () =>
{
_enterHtmlFullScreen();
});
@@ -569,6 +629,9 @@ namespace ElectronNET.API
remove
{
_enterHtmlFullScreen -= value;
if (_enterHtmlFullScreen == null)
BridgeConnector.Socket.Off("browserWindow-enter-html-full-screen" + Id);
}
}
@@ -583,7 +646,7 @@ namespace ElectronNET.API
{
if (_leaveHtmlFullScreen == null)
{
BridgeConnector.Socket.On("browserWindow-leave-html-full-screen", () =>
BridgeConnector.Socket.On("browserWindow-leave-html-full-screen" + Id, () =>
{
_leaveHtmlFullScreen();
});
@@ -595,6 +658,9 @@ namespace ElectronNET.API
remove
{
_leaveHtmlFullScreen -= value;
if (_leaveHtmlFullScreen == null)
BridgeConnector.Socket.Off("browserWindow-leave-html-full-screen" + Id);
}
}
@@ -615,7 +681,7 @@ namespace ElectronNET.API
{
if (_appCommand == null)
{
BridgeConnector.Socket.On("browserWindow-app-command", (command) =>
BridgeConnector.Socket.On("browserWindow-app-command" + Id, (command) =>
{
_appCommand(command.ToString());
});
@@ -627,6 +693,9 @@ namespace ElectronNET.API
remove
{
_appCommand -= value;
if (_appCommand == null)
BridgeConnector.Socket.Off("browserWindow-app-command" + Id);
}
}
@@ -641,7 +710,7 @@ namespace ElectronNET.API
{
if (_scrollTouchBegin == null)
{
BridgeConnector.Socket.On("browserWindow-scroll-touch-begin", () =>
BridgeConnector.Socket.On("browserWindow-scroll-touch-begin" + Id, () =>
{
_scrollTouchBegin();
});
@@ -653,6 +722,9 @@ namespace ElectronNET.API
remove
{
_scrollTouchBegin -= value;
if (_scrollTouchBegin == null)
BridgeConnector.Socket.Off("browserWindow-scroll-touch-begin" + Id);
}
}
@@ -667,7 +739,7 @@ namespace ElectronNET.API
{
if (_scrollTouchEnd == null)
{
BridgeConnector.Socket.On("browserWindow-scroll-touch-end", () =>
BridgeConnector.Socket.On("browserWindow-scroll-touch-end" + Id, () =>
{
_scrollTouchEnd();
});
@@ -679,6 +751,9 @@ namespace ElectronNET.API
remove
{
_scrollTouchEnd -= value;
if (_scrollTouchEnd == null)
BridgeConnector.Socket.Off("browserWindow-scroll-touch-end" + Id);
}
}
@@ -693,7 +768,7 @@ namespace ElectronNET.API
{
if (_scrollTouchEdge == null)
{
BridgeConnector.Socket.On("browserWindow-scroll-touch-edge", () =>
BridgeConnector.Socket.On("browserWindow-scroll-touch-edge" + Id, () =>
{
_scrollTouchEdge();
});
@@ -705,6 +780,9 @@ namespace ElectronNET.API
remove
{
_scrollTouchEdge -= value;
if (_scrollTouchEdge == null)
BridgeConnector.Socket.Off("browserWindow-scroll-touch-edge" + Id);
}
}
@@ -719,7 +797,7 @@ namespace ElectronNET.API
{
if (_swipe == null)
{
BridgeConnector.Socket.On("browserWindow-swipe", (direction) =>
BridgeConnector.Socket.On("browserWindow-swipe" + Id, (direction) =>
{
_swipe(direction.ToString());
});
@@ -731,6 +809,9 @@ namespace ElectronNET.API
remove
{
_swipe -= value;
if (_swipe == null)
BridgeConnector.Socket.Off("browserWindow-swipe" + Id);
}
}
@@ -745,7 +826,7 @@ namespace ElectronNET.API
{
if (_sheetBegin == null)
{
BridgeConnector.Socket.On("browserWindow-sheet-begin", () =>
BridgeConnector.Socket.On("browserWindow-sheet-begin" + Id, () =>
{
_sheetBegin();
});
@@ -757,6 +838,9 @@ namespace ElectronNET.API
remove
{
_sheetBegin -= value;
if (_sheetBegin == null)
BridgeConnector.Socket.Off("browserWindow-sheet-begin" + Id);
}
}
@@ -771,7 +855,7 @@ namespace ElectronNET.API
{
if (_sheetEnd == null)
{
BridgeConnector.Socket.On("browserWindow-sheet-end", () =>
BridgeConnector.Socket.On("browserWindow-sheet-end" + Id, () =>
{
_sheetEnd();
});
@@ -783,6 +867,9 @@ namespace ElectronNET.API
remove
{
_sheetEnd -= value;
if (_sheetEnd == null)
BridgeConnector.Socket.Off("browserWindow-sheet-end" + Id);
}
}
@@ -797,7 +884,7 @@ namespace ElectronNET.API
{
if (_newWindowForTab == null)
{
BridgeConnector.Socket.On("browserWindow-new-window-for-tab", () =>
BridgeConnector.Socket.On("browserWindow-new-window-for-tab" + Id, () =>
{
_newWindowForTab();
});
@@ -809,6 +896,9 @@ namespace ElectronNET.API
remove
{
_newWindowForTab -= value;
if (_newWindowForTab == null)
BridgeConnector.Socket.Off("browserWindow-new-window-for-tab" + Id);
}
}

View File

@@ -80,10 +80,10 @@ namespace ElectronNET.API.Entities
/// <summary>
/// Normalize the keyboard access keys across platforms. Default is false. Enabling
/// this assumes & is used in the button labels for the placement of the keyboard
/// this assumes AND character is used in the button labels for the placement of the keyboard
/// shortcut access key and labels will be converted so they work correctly on each
/// platform, & characters are removed on macOS, converted to _ on Linux, and left
/// untouched on Windows.For example, a button label of Vie&w will be converted to
/// platform, AND characters are removed on macOS, converted to _ on Linux, and left
/// untouched on Windows.For example, a button label of VieANDw will be converted to
/// Vie_w on Linux and View on macOS and can be selected via Alt-W on Windows and
/// Linux.
/// </summary>

View File

@@ -1,7 +1,4 @@
/// <summary>
///
/// </summary>
namespace ElectronNET.API
namespace ElectronNET.API
{
/// <summary>
///

View File

@@ -33,6 +33,9 @@ namespace ElectronNET.API
remove
{
_onDisplayAdded -= value;
if (_onDisplayAdded == null)
BridgeConnector.Socket.Off("screen-display-added-event" + GetHashCode());
}
}
@@ -59,6 +62,9 @@ namespace ElectronNET.API
remove
{
_onDisplayRemoved -= value;
if (_onDisplayRemoved == null)
BridgeConnector.Socket.Off("screen-display-removed-event" + GetHashCode());
}
}
@@ -90,6 +96,9 @@ namespace ElectronNET.API
remove
{
_onDisplayMetricsChanged -= value;
if (_onDisplayMetricsChanged == null)
BridgeConnector.Socket.Off("screen-display-metrics-changed-event" + GetHashCode());
}
}

View File

@@ -23,7 +23,7 @@ namespace ElectronNET.API
{
if (_click == null)
{
BridgeConnector.Socket.On("tray-click-event", (result) =>
BridgeConnector.Socket.On("tray-click-event" + GetHashCode(), (result) =>
{
var args = ((JArray)result).ToObject<object[]>();
var trayClickEventArgs = ((JObject)args[0]).ToObject<TrayClickEventArgs>();
@@ -31,13 +31,16 @@ namespace ElectronNET.API
_click(trayClickEventArgs, bounds);
});
BridgeConnector.Socket.Emit("register-tray-click");
BridgeConnector.Socket.Emit("register-tray-click", GetHashCode());
}
_click += value;
}
remove
{
_click -= value;
if (_click == null)
BridgeConnector.Socket.Off("tray-click-event" + GetHashCode());
}
}
@@ -52,7 +55,7 @@ namespace ElectronNET.API
{
if (_rightClick == null)
{
BridgeConnector.Socket.On("tray-right-click-event", (result) =>
BridgeConnector.Socket.On("tray-right-click-event" + GetHashCode(), (result) =>
{
var args = ((JArray)result).ToObject<object[]>();
var trayClickEventArgs = ((JObject)args[0]).ToObject<TrayClickEventArgs>();
@@ -60,13 +63,16 @@ namespace ElectronNET.API
_rightClick(trayClickEventArgs, bounds);
});
BridgeConnector.Socket.Emit("register-tray-right-click");
BridgeConnector.Socket.Emit("register-tray-right-click", GetHashCode());
}
_rightClick += value;
}
remove
{
_rightClick -= value;
if (_rightClick == null)
BridgeConnector.Socket.Off("tray-right-click-event" + GetHashCode());
}
}
@@ -81,7 +87,7 @@ namespace ElectronNET.API
{
if (_doubleClick == null)
{
BridgeConnector.Socket.On("tray-double-click-event", (result) =>
BridgeConnector.Socket.On("tray-double-click-event" + GetHashCode(), (result) =>
{
var args = ((JArray)result).ToObject<object[]>();
var trayClickEventArgs = ((JObject)args[0]).ToObject<TrayClickEventArgs>();
@@ -89,13 +95,16 @@ namespace ElectronNET.API
_doubleClick(trayClickEventArgs, bounds);
});
BridgeConnector.Socket.Emit("register-tray-double-click");
BridgeConnector.Socket.Emit("register-tray-double-click", GetHashCode());
}
_doubleClick += value;
}
remove
{
_doubleClick -= value;
if (_doubleClick == null)
BridgeConnector.Socket.Off("tray-double-click-event" + GetHashCode());
}
}
@@ -110,18 +119,21 @@ namespace ElectronNET.API
{
if (_balloonShow == null)
{
BridgeConnector.Socket.On("tray-balloon-show-event", () =>
BridgeConnector.Socket.On("tray-balloon-show-event" + GetHashCode(), () =>
{
_balloonShow();
});
BridgeConnector.Socket.Emit("register-tray-balloon-show");
BridgeConnector.Socket.Emit("register-tray-balloon-show", GetHashCode());
}
_balloonShow += value;
}
remove
{
_balloonShow -= value;
if (_balloonShow == null)
BridgeConnector.Socket.Off("tray-balloon-show-event" + GetHashCode());
}
}
@@ -136,18 +148,21 @@ namespace ElectronNET.API
{
if (_balloonClick == null)
{
BridgeConnector.Socket.On("tray-balloon-click-event", () =>
BridgeConnector.Socket.On("tray-balloon-click-event" + GetHashCode(), () =>
{
_balloonClick();
});
BridgeConnector.Socket.Emit("register-tray-balloon-click");
BridgeConnector.Socket.Emit("register-tray-balloon-click", GetHashCode());
}
_balloonClick += value;
}
remove
{
_balloonClick -= value;
if (_balloonClick == null)
BridgeConnector.Socket.Off("tray-balloon-click-event" + GetHashCode());
}
}
@@ -163,18 +178,21 @@ namespace ElectronNET.API
{
if (_balloonClosed == null)
{
BridgeConnector.Socket.On("tray-balloon-closed-event", () =>
BridgeConnector.Socket.On("tray-balloon-closed-event" + GetHashCode(), () =>
{
_balloonClosed();
});
BridgeConnector.Socket.Emit("register-tray-balloon-closed");
BridgeConnector.Socket.Emit("register-tray-balloon-closed", GetHashCode());
}
_balloonClosed += value;
}
remove
{
_balloonClosed -= value;
if (_balloonClosed == null)
BridgeConnector.Socket.Off("tray-balloon-closed-event" + GetHashCode());
}
}

View File

@@ -3,7 +3,6 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
using System;
using System.Diagnostics;
using System.Threading.Tasks;
namespace ElectronNET.API
@@ -13,6 +12,12 @@ namespace ElectronNET.API
/// </summary>
public class WebContents
{
/// <summary>
/// Gets the identifier.
/// </summary>
/// <value>
/// The identifier.
/// </value>
public int Id { get; private set; }
/// <summary>
@@ -36,6 +41,9 @@ namespace ElectronNET.API
remove
{
_crashed -= value;
if (_crashed == null)
BridgeConnector.Socket.Off("webContents-crashed" + Id);
}
}
@@ -63,6 +71,9 @@ namespace ElectronNET.API
remove
{
_didFinishLoad -= value;
if (_didFinishLoad == null)
BridgeConnector.Socket.Off("webContents-didFinishLoad" + Id);
}
}