diff --git a/SafeExamBrowser.Browser/BrowserApplicationController.cs b/SafeExamBrowser.Browser/BrowserApplicationController.cs
index d3ab8868..1d469757 100644
--- a/SafeExamBrowser.Browser/BrowserApplicationController.cs
+++ b/SafeExamBrowser.Browser/BrowserApplicationController.cs
@@ -10,6 +10,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using CefSharp;
+using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Browser;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
diff --git a/SafeExamBrowser.Browser/BrowserApplicationInstance.cs b/SafeExamBrowser.Browser/BrowserApplicationInstance.cs
index c136a97d..57925e13 100644
--- a/SafeExamBrowser.Browser/BrowserApplicationInstance.cs
+++ b/SafeExamBrowser.Browser/BrowserApplicationInstance.cs
@@ -8,6 +8,8 @@
using System;
using SafeExamBrowser.Browser.Handlers;
+using SafeExamBrowser.Contracts.Behaviour;
+using SafeExamBrowser.Contracts.Behaviour.Events;
using SafeExamBrowser.Contracts.Browser;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.Configuration.Settings;
@@ -34,7 +36,7 @@ namespace SafeExamBrowser.Browser
public event DownloadRequestedEventHandler ConfigurationDownloadRequested;
public event NameChangedEventHandler NameChanged;
- public event TerminatedEventHandler Terminated;
+ public event InstanceTerminatedEventHandler Terminated;
public BrowserApplicationInstance(
AppConfig appConfig,
diff --git a/SafeExamBrowser.Browser/BrowserControl.cs b/SafeExamBrowser.Browser/BrowserControl.cs
index 1a1daa0d..d8a2fc0a 100644
--- a/SafeExamBrowser.Browser/BrowserControl.cs
+++ b/SafeExamBrowser.Browser/BrowserControl.cs
@@ -11,6 +11,7 @@ using CefSharp.WinForms;
using SafeExamBrowser.Browser.Handlers;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.UserInterface.Browser;
+using SafeExamBrowser.Contracts.UserInterface.Browser.Events;
using BrowserSettings = SafeExamBrowser.Contracts.Configuration.Settings.BrowserSettings;
namespace SafeExamBrowser.Browser
diff --git a/SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs b/SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs
index b660babf..5356449f 100644
--- a/SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs
+++ b/SafeExamBrowser.Client.UnitTests/Notifications/NotificationButtonMock.cs
@@ -7,6 +7,7 @@
*/
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
namespace SafeExamBrowser.Client.UnitTests.Notifications
{
diff --git a/SafeExamBrowser.Contracts/Behaviour/Events/InstanceTerminatedEventHandler.cs b/SafeExamBrowser.Contracts/Behaviour/Events/InstanceTerminatedEventHandler.cs
new file mode 100644
index 00000000..6828f8f5
--- /dev/null
+++ b/SafeExamBrowser.Contracts/Behaviour/Events/InstanceTerminatedEventHandler.cs
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+using System;
+
+namespace SafeExamBrowser.Contracts.Behaviour.Events
+{
+ ///
+ /// Event handler used to indicate that an application instance with a particular ID has terminated.
+ ///
+ public delegate void InstanceTerminatedEventHandler(Guid id);
+}
diff --git a/SafeExamBrowser.Contracts/Behaviour/Events/NameChangedEventHandler.cs b/SafeExamBrowser.Contracts/Behaviour/Events/NameChangedEventHandler.cs
new file mode 100644
index 00000000..2e3537bd
--- /dev/null
+++ b/SafeExamBrowser.Contracts/Behaviour/Events/NameChangedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.Behaviour.Events
+{
+ ///
+ /// Event handler used to indicate that a name has changed to a new value.
+ ///
+ public delegate void NameChangedEventHandler(string name);
+}
diff --git a/SafeExamBrowser.Contracts/Configuration/IApplicationInstance.cs b/SafeExamBrowser.Contracts/Behaviour/IApplicationInstance.cs
similarity index 82%
rename from SafeExamBrowser.Contracts/Configuration/IApplicationInstance.cs
rename to SafeExamBrowser.Contracts/Behaviour/IApplicationInstance.cs
index ee8d6178..8f4a2c05 100644
--- a/SafeExamBrowser.Contracts/Configuration/IApplicationInstance.cs
+++ b/SafeExamBrowser.Contracts/Behaviour/IApplicationInstance.cs
@@ -7,14 +7,11 @@
*/
using System;
-using SafeExamBrowser.Contracts.UserInterface;
+using SafeExamBrowser.Contracts.Behaviour.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
-namespace SafeExamBrowser.Contracts.Configuration
+namespace SafeExamBrowser.Contracts.Behaviour
{
- public delegate void TerminatedEventHandler(Guid id);
- public delegate void NameChangedEventHandler(string name);
-
///
/// Defines an instance of a (third-party) application which can be accessed via the .
///
@@ -33,7 +30,7 @@ namespace SafeExamBrowser.Contracts.Configuration
///
/// Event fired when the application instance has been terminated.
///
- event TerminatedEventHandler Terminated;
+ event InstanceTerminatedEventHandler Terminated;
///
/// Event fired when the name or (document) title of the application instance has changed.
diff --git a/SafeExamBrowser.Contracts/Monitoring/Events/DisplayChangedEventHandler.cs b/SafeExamBrowser.Contracts/Monitoring/Events/DisplayChangedEventHandler.cs
new file mode 100644
index 00000000..790fe210
--- /dev/null
+++ b/SafeExamBrowser.Contracts/Monitoring/Events/DisplayChangedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.Monitoring.Events
+{
+ ///
+ /// Indicates that the configuration of a display has changed.
+ ///
+ public delegate void DisplayChangedEventHandler();
+}
diff --git a/SafeExamBrowser.Contracts/Monitoring/Events/ExplorerStartedEventHandler.cs b/SafeExamBrowser.Contracts/Monitoring/Events/ExplorerStartedEventHandler.cs
new file mode 100644
index 00000000..bb1da3b1
--- /dev/null
+++ b/SafeExamBrowser.Contracts/Monitoring/Events/ExplorerStartedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.Monitoring.Events
+{
+ ///
+ /// Indicates that the Windows explorer process has started.
+ ///
+ public delegate void ExplorerStartedEventHandler();
+}
diff --git a/SafeExamBrowser.Contracts/Monitoring/Events/WindowChangedEventHandler.cs b/SafeExamBrowser.Contracts/Monitoring/Events/WindowChangedEventHandler.cs
new file mode 100644
index 00000000..0190bc86
--- /dev/null
+++ b/SafeExamBrowser.Contracts/Monitoring/Events/WindowChangedEventHandler.cs
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+using System;
+
+namespace SafeExamBrowser.Contracts.Monitoring.Events
+{
+ ///
+ /// Indicates that the input focus has changed to the window with the specified handle.
+ ///
+ public delegate void WindowChangedEventHandler(IntPtr window);
+}
diff --git a/SafeExamBrowser.Contracts/Monitoring/IDisplayMonitor.cs b/SafeExamBrowser.Contracts/Monitoring/IDisplayMonitor.cs
index 49a72d6f..b7889bc8 100644
--- a/SafeExamBrowser.Contracts/Monitoring/IDisplayMonitor.cs
+++ b/SafeExamBrowser.Contracts/Monitoring/IDisplayMonitor.cs
@@ -6,10 +6,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.Monitoring.Events;
+
namespace SafeExamBrowser.Contracts.Monitoring
{
- public delegate void DisplayChangedEventHandler();
-
///
/// Monitors the displays of the computer for (setup) changes and provides access to display-related functionality.
///
diff --git a/SafeExamBrowser.Contracts/Monitoring/IProcessMonitor.cs b/SafeExamBrowser.Contracts/Monitoring/IProcessMonitor.cs
index 41ae9fcb..102c75f9 100644
--- a/SafeExamBrowser.Contracts/Monitoring/IProcessMonitor.cs
+++ b/SafeExamBrowser.Contracts/Monitoring/IProcessMonitor.cs
@@ -7,19 +7,17 @@
*/
using System;
+using SafeExamBrowser.Contracts.Monitoring.Events;
namespace SafeExamBrowser.Contracts.Monitoring
{
- public delegate void ExplorerStartedEventHandler();
-
///
/// Monitors the processes running on the computer and provides access to process-related functionality.
///
public interface IProcessMonitor
{
///
- /// Event fired when the process monitor observes that a new instance of
- /// the Windows explorer has been started.
+ /// Event fired when the process monitor observes that a new instance of the Windows explorer has been started.
///
event ExplorerStartedEventHandler ExplorerStarted;
@@ -39,8 +37,8 @@ namespace SafeExamBrowser.Contracts.Monitoring
void StartExplorerShell();
///
- /// Starts monitoring the Windows explorer, i.e. any newly created instances of
- /// explorer.exe will trigger the ExplorerStarted event.
+ /// Starts monitoring the Windows explorer, i.e. any newly created instances of explorer.exe will trigger the
+ /// event.
///
void StartMonitoringExplorer();
diff --git a/SafeExamBrowser.Contracts/Monitoring/IWindowMonitor.cs b/SafeExamBrowser.Contracts/Monitoring/IWindowMonitor.cs
index 88d98b27..774dc178 100644
--- a/SafeExamBrowser.Contracts/Monitoring/IWindowMonitor.cs
+++ b/SafeExamBrowser.Contracts/Monitoring/IWindowMonitor.cs
@@ -7,11 +7,10 @@
*/
using System;
+using SafeExamBrowser.Contracts.Monitoring.Events;
namespace SafeExamBrowser.Contracts.Monitoring
{
- public delegate void WindowChangedEventHandler(IntPtr window);
-
///
/// Monitors the windows associated with the current desktop and provides window-related functionality.
///
diff --git a/SafeExamBrowser.Contracts/SafeExamBrowser.Contracts.csproj b/SafeExamBrowser.Contracts/SafeExamBrowser.Contracts.csproj
index 728a555d..2a9d5031 100644
--- a/SafeExamBrowser.Contracts/SafeExamBrowser.Contracts.csproj
+++ b/SafeExamBrowser.Contracts/SafeExamBrowser.Contracts.csproj
@@ -52,6 +52,8 @@
+
+
@@ -105,7 +107,7 @@
-
+
@@ -127,6 +129,9 @@
+
+
+
@@ -140,11 +145,20 @@
+
+
+
+
-
+
+
+
+
+
+
@@ -163,6 +177,7 @@
+
diff --git a/SafeExamBrowser.Contracts/UserInterface/Browser/Events/ActionRequestedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/ActionRequestedEventHandler.cs
new file mode 100644
index 00000000..73ce2fd5
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/ActionRequestedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.UserInterface.Browser.Events
+{
+ ///
+ /// Indicates that the user requested an action.
+ ///
+ public delegate void ActionRequestedEventHandler();
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Browser/Events/AddressChangedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/AddressChangedEventHandler.cs
new file mode 100644
index 00000000..8022bdb6
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/AddressChangedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.UserInterface.Browser.Events
+{
+ ///
+ /// Indicates that the address has changed to the specified value.
+ ///
+ public delegate void AddressChangedEventHandler(string address);
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Browser/Events/LoadingStateChangedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/LoadingStateChangedEventHandler.cs
new file mode 100644
index 00000000..ec09dce8
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/LoadingStateChangedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.UserInterface.Browser.Events
+{
+ ///
+ /// Indicates that the loading state of a has changed, i.e. whether it's loading or not.
+ ///
+ public delegate void LoadingStateChangedEventHandler(bool isLoading);
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Browser/Events/TitleChangedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/TitleChangedEventHandler.cs
new file mode 100644
index 00000000..7fcf9fd5
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Browser/Events/TitleChangedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.UserInterface.Browser.Events
+{
+ ///
+ /// Indicates that the title of a has changed.
+ ///
+ public delegate void TitleChangedEventHandler(string title);
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserControl.cs b/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserControl.cs
index c79c27ff..c677383c 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserControl.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserControl.cs
@@ -6,12 +6,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.UserInterface.Browser.Events;
+
namespace SafeExamBrowser.Contracts.UserInterface.Browser
{
- public delegate void AddressChangedEventHandler(string address);
- public delegate void LoadingStateChangedEventHandler(bool isLoading);
- public delegate void TitleChangedEventHandler(string title);
-
///
/// Defines the functionality of a browser control (i.e. an instance of the browser resp. its user interface) and is normally embedded
/// within an .
diff --git a/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserWindow.cs b/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserWindow.cs
index f1e29e1a..331d829c 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserWindow.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Browser/IBrowserWindow.cs
@@ -6,12 +6,11 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.UserInterface.Browser.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
namespace SafeExamBrowser.Contracts.UserInterface.Browser
{
- public delegate void ActionRequestedEventHandler();
-
///
/// Defines the functionality of a browser window, i.e. a window with an embedded browser instance (see ).
///
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/ApplicationButtonClickedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/ApplicationButtonClickedEventHandler.cs
new file mode 100644
index 00000000..dc1cceab
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/ApplicationButtonClickedEventHandler.cs
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+using System;
+
+namespace SafeExamBrowser.Contracts.UserInterface.Taskbar.Events
+{
+ ///
+ /// Indicates that an has been clicked, optionally specifying the ID of the selected instance (if
+ /// multiple instances of the same application are running).
+ ///
+ public delegate void ApplicationButtonClickedEventHandler(Guid? instanceId = null);
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/KeyboardLayoutSelectedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/KeyboardLayoutSelectedEventHandler.cs
new file mode 100644
index 00000000..f645ba56
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/KeyboardLayoutSelectedEventHandler.cs
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+using SafeExamBrowser.Contracts.SystemComponents;
+
+namespace SafeExamBrowser.Contracts.UserInterface.Taskbar.Events
+{
+ ///
+ /// Indicates that a particular has been selected by the user.
+ ///
+ public delegate void KeyboardLayoutSelectedEventHandler(IKeyboardLayout layout);
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/NotificationButtonClickedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/NotificationButtonClickedEventHandler.cs
new file mode 100644
index 00000000..ca5e91ce
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/NotificationButtonClickedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.UserInterface.Taskbar.Events
+{
+ ///
+ /// Indicates that the user clicked on a in the .
+ ///
+ public delegate void NotificationButtonClickedEventHandler();
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/QuitButtonClickedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/QuitButtonClickedEventHandler.cs
similarity index 89%
rename from SafeExamBrowser.Contracts/UserInterface/Taskbar/QuitButtonClickedEventHandler.cs
rename to SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/QuitButtonClickedEventHandler.cs
index 8e7afa59..831d4604 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Taskbar/QuitButtonClickedEventHandler.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/QuitButtonClickedEventHandler.cs
@@ -8,7 +8,7 @@
using System.ComponentModel;
-namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
+namespace SafeExamBrowser.Contracts.UserInterface.Taskbar.Events
{
///
/// Event handler used to define the control flow when the 's quit button is clicked.
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/WindowClosingEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/WindowClosingEventHandler.cs
new file mode 100644
index 00000000..e6b40b88
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/WindowClosingEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.UserInterface.Taskbar.Events
+{
+ ///
+ /// Indicates that a window is about to be closed.
+ ///
+ public delegate void WindowClosingEventHandler();
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/WirelessNetworkSelectedEventHandler.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/WirelessNetworkSelectedEventHandler.cs
new file mode 100644
index 00000000..61a2abae
--- /dev/null
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/Events/WirelessNetworkSelectedEventHandler.cs
@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+using SafeExamBrowser.Contracts.SystemComponents;
+
+namespace SafeExamBrowser.Contracts.UserInterface.Taskbar.Events
+{
+ ///
+ /// Indicates that a particular has been selected by the user.
+ ///
+ public delegate void WirelessNetworkSelectedEventHandler(IWirelessNetwork network);
+}
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/IApplicationButton.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/IApplicationButton.cs
index 51604ea0..2175d12d 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Taskbar/IApplicationButton.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/IApplicationButton.cs
@@ -6,13 +6,11 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-using System;
-using SafeExamBrowser.Contracts.Configuration;
+using SafeExamBrowser.Contracts.Behaviour;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
- public delegate void ApplicationButtonClickedEventHandler(Guid? instanceId = null);
-
///
/// The button of a (third-party) application which can be loaded into the .
///
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/INotificationButton.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/INotificationButton.cs
index c2032db2..e5fac28e 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Taskbar/INotificationButton.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/INotificationButton.cs
@@ -6,10 +6,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
+
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
- public delegate void NotificationButtonClickedEventHandler();
-
///
/// The button of a notification which can be loaded into the .
///
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemKeyboardLayoutControl.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemKeyboardLayoutControl.cs
index 8c20ff6b..ba57cb61 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemKeyboardLayoutControl.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemKeyboardLayoutControl.cs
@@ -7,11 +7,10 @@
*/
using SafeExamBrowser.Contracts.SystemComponents;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
- public delegate void KeyboardLayoutSelectedEventHandler(IKeyboardLayout layout);
-
///
/// The control of the keyboard layout system component.
///
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemWirelessNetworkControl.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemWirelessNetworkControl.cs
index 3ff921a0..dd305459 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemWirelessNetworkControl.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/ISystemWirelessNetworkControl.cs
@@ -8,11 +8,10 @@
using System.Collections.Generic;
using SafeExamBrowser.Contracts.SystemComponents;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
- public delegate void WirelessNetworkSelectedEventHandler(IWirelessNetwork network);
-
///
/// The control of the wireless network system component.
///
diff --git a/SafeExamBrowser.Contracts/UserInterface/Taskbar/ITaskbar.cs b/SafeExamBrowser.Contracts/UserInterface/Taskbar/ITaskbar.cs
index e289f5ba..814fc536 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Taskbar/ITaskbar.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Taskbar/ITaskbar.cs
@@ -6,6 +6,8 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
+
namespace SafeExamBrowser.Contracts.UserInterface.Taskbar
{
///
diff --git a/SafeExamBrowser.Contracts/UserInterface/Windows/IWindow.cs b/SafeExamBrowser.Contracts/UserInterface/Windows/IWindow.cs
index 9dfd8d79..9abf8017 100644
--- a/SafeExamBrowser.Contracts/UserInterface/Windows/IWindow.cs
+++ b/SafeExamBrowser.Contracts/UserInterface/Windows/IWindow.cs
@@ -6,10 +6,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
+
namespace SafeExamBrowser.Contracts.UserInterface.Windows
{
- public delegate void WindowClosingEventHandler();
-
///
/// Defines the functionality of a window.
///
diff --git a/SafeExamBrowser.Contracts/WindowsApi/Events/ProcessTerminatedEventHandler.cs b/SafeExamBrowser.Contracts/WindowsApi/Events/ProcessTerminatedEventHandler.cs
new file mode 100644
index 00000000..e4ffdd4f
--- /dev/null
+++ b/SafeExamBrowser.Contracts/WindowsApi/Events/ProcessTerminatedEventHandler.cs
@@ -0,0 +1,15 @@
+/*
+ * Copyright (c) 2018 ETH Zürich, Educational Development and Technology (LET)
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+namespace SafeExamBrowser.Contracts.WindowsApi.Events
+{
+ ///
+ /// Indicates that a process has terminated with the specified exit code.
+ ///
+ public delegate void ProcessTerminatedEventHandler(int exitCode);
+}
diff --git a/SafeExamBrowser.Contracts/WindowsApi/IProcess.cs b/SafeExamBrowser.Contracts/WindowsApi/IProcess.cs
index efd8fa52..2f0fb492 100644
--- a/SafeExamBrowser.Contracts/WindowsApi/IProcess.cs
+++ b/SafeExamBrowser.Contracts/WindowsApi/IProcess.cs
@@ -6,10 +6,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+using SafeExamBrowser.Contracts.WindowsApi.Events;
+
namespace SafeExamBrowser.Contracts.WindowsApi
{
- public delegate void ProcessTerminatedEventHandler(int exitCode);
-
///
/// Represents a process and defines its functionality.
///
diff --git a/SafeExamBrowser.Monitoring/Display/DisplayMonitor.cs b/SafeExamBrowser.Monitoring/Display/DisplayMonitor.cs
index 72c2abd6..cd996e99 100644
--- a/SafeExamBrowser.Monitoring/Display/DisplayMonitor.cs
+++ b/SafeExamBrowser.Monitoring/Display/DisplayMonitor.cs
@@ -11,6 +11,7 @@ using System.Windows.Forms;
using Microsoft.Win32;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
+using SafeExamBrowser.Contracts.Monitoring.Events;
using SafeExamBrowser.Contracts.WindowsApi;
namespace SafeExamBrowser.Monitoring.Display
diff --git a/SafeExamBrowser.Monitoring/Processes/ProcessMonitor.cs b/SafeExamBrowser.Monitoring/Processes/ProcessMonitor.cs
index 99003cdf..83c7470d 100644
--- a/SafeExamBrowser.Monitoring/Processes/ProcessMonitor.cs
+++ b/SafeExamBrowser.Monitoring/Processes/ProcessMonitor.cs
@@ -14,6 +14,7 @@ using System.Management;
using System.Threading;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
+using SafeExamBrowser.Contracts.Monitoring.Events;
using SafeExamBrowser.Contracts.WindowsApi;
namespace SafeExamBrowser.Monitoring.Processes
diff --git a/SafeExamBrowser.Monitoring/Windows/WindowMonitor.cs b/SafeExamBrowser.Monitoring/Windows/WindowMonitor.cs
index 03afbc2d..c82ce673 100644
--- a/SafeExamBrowser.Monitoring/Windows/WindowMonitor.cs
+++ b/SafeExamBrowser.Monitoring/Windows/WindowMonitor.cs
@@ -10,6 +10,7 @@ using System;
using System.Collections.Generic;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.Monitoring;
+using SafeExamBrowser.Contracts.Monitoring.Events;
using SafeExamBrowser.Contracts.WindowsApi;
namespace SafeExamBrowser.Monitoring.Windows
diff --git a/SafeExamBrowser.Runtime/Behaviour/Operations/ClientOperation.cs b/SafeExamBrowser.Runtime/Behaviour/Operations/ClientOperation.cs
index 4869dd55..74f7258e 100644
--- a/SafeExamBrowser.Runtime/Behaviour/Operations/ClientOperation.cs
+++ b/SafeExamBrowser.Runtime/Behaviour/Operations/ClientOperation.cs
@@ -16,6 +16,7 @@ using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface;
using SafeExamBrowser.Contracts.WindowsApi;
+using SafeExamBrowser.Contracts.WindowsApi.Events;
namespace SafeExamBrowser.Runtime.Behaviour.Operations
{
diff --git a/SafeExamBrowser.UserInterface.Classic/AboutWindow.xaml.cs b/SafeExamBrowser.UserInterface.Classic/AboutWindow.xaml.cs
index 9fe78b49..83c19c12 100644
--- a/SafeExamBrowser.UserInterface.Classic/AboutWindow.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/AboutWindow.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows;
using System.Windows.Documents;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
namespace SafeExamBrowser.UserInterface.Classic
diff --git a/SafeExamBrowser.UserInterface.Classic/BrowserWindow.xaml.cs b/SafeExamBrowser.UserInterface.Classic/BrowserWindow.xaml.cs
index 850547a8..9e72a668 100644
--- a/SafeExamBrowser.UserInterface.Classic/BrowserWindow.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/BrowserWindow.xaml.cs
@@ -11,6 +11,8 @@ using System.Windows;
using System.Windows.Input;
using SafeExamBrowser.Contracts.Configuration.Settings;
using SafeExamBrowser.Contracts.UserInterface.Browser;
+using SafeExamBrowser.Contracts.UserInterface.Browser.Events;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
using SafeExamBrowser.UserInterface.Classic.Utilities;
diff --git a/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationButton.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationButton.xaml.cs
index b4db565c..d469489d 100644
--- a/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationButton.xaml.cs
@@ -12,8 +12,10 @@ using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
+using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Classic.Utilities;
namespace SafeExamBrowser.UserInterface.Classic.Controls
diff --git a/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationInstanceButton.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationInstanceButton.xaml.cs
index 5e623b06..3d685271 100644
--- a/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationInstanceButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Controls/ApplicationInstanceButton.xaml.cs
@@ -9,6 +9,7 @@
using System;
using System.Windows;
using System.Windows.Controls;
+using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.UserInterface.Classic.Utilities;
diff --git a/SafeExamBrowser.UserInterface.Classic/Controls/KeyboardLayoutControl.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Controls/KeyboardLayoutControl.xaml.cs
index f6f31466..9c2cb3a7 100644
--- a/SafeExamBrowser.UserInterface.Classic/Controls/KeyboardLayoutControl.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Controls/KeyboardLayoutControl.xaml.cs
@@ -12,6 +12,7 @@ using System.Windows.Controls;
using System.Windows.Media;
using SafeExamBrowser.Contracts.SystemComponents;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
namespace SafeExamBrowser.UserInterface.Classic.Controls
{
diff --git a/SafeExamBrowser.UserInterface.Classic/Controls/NotificationButton.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Controls/NotificationButton.xaml.cs
index dd3af9d9..6bd0e251 100644
--- a/SafeExamBrowser.UserInterface.Classic/Controls/NotificationButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Controls/NotificationButton.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows;
using System.Windows.Controls;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Classic.Utilities;
namespace SafeExamBrowser.UserInterface.Classic.Controls
diff --git a/SafeExamBrowser.UserInterface.Classic/Controls/QuitButton.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Controls/QuitButton.xaml.cs
index 605da386..e6cbca45 100644
--- a/SafeExamBrowser.UserInterface.Classic/Controls/QuitButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Controls/QuitButton.xaml.cs
@@ -10,7 +10,7 @@ using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
-using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Classic.Utilities;
namespace SafeExamBrowser.UserInterface.Classic.Controls
diff --git a/SafeExamBrowser.UserInterface.Classic/Controls/WirelessNetworkControl.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Controls/WirelessNetworkControl.xaml.cs
index f33ef115..45210192 100644
--- a/SafeExamBrowser.UserInterface.Classic/Controls/WirelessNetworkControl.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Controls/WirelessNetworkControl.xaml.cs
@@ -14,6 +14,7 @@ using System.Windows.Media;
using FontAwesome.WPF;
using SafeExamBrowser.Contracts.SystemComponents;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Classic.Utilities;
namespace SafeExamBrowser.UserInterface.Classic.Controls
diff --git a/SafeExamBrowser.UserInterface.Classic/LogWindow.xaml.cs b/SafeExamBrowser.UserInterface.Classic/LogWindow.xaml.cs
index dfb781ac..a1be03ea 100644
--- a/SafeExamBrowser.UserInterface.Classic/LogWindow.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/LogWindow.xaml.cs
@@ -10,6 +10,7 @@ using System.ComponentModel;
using System.Windows;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.Logging;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
using SafeExamBrowser.UserInterface.Classic.ViewModels;
diff --git a/SafeExamBrowser.UserInterface.Classic/PasswordDialog.xaml.cs b/SafeExamBrowser.UserInterface.Classic/PasswordDialog.xaml.cs
index 885364da..60c88e00 100644
--- a/SafeExamBrowser.UserInterface.Classic/PasswordDialog.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/PasswordDialog.xaml.cs
@@ -8,6 +8,7 @@
using System.Windows;
using SafeExamBrowser.Contracts.I18n;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
namespace SafeExamBrowser.UserInterface.Classic
diff --git a/SafeExamBrowser.UserInterface.Classic/RuntimeWindow.xaml.cs b/SafeExamBrowser.UserInterface.Classic/RuntimeWindow.xaml.cs
index cd92edf6..5f7a7965 100644
--- a/SafeExamBrowser.UserInterface.Classic/RuntimeWindow.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/RuntimeWindow.xaml.cs
@@ -12,6 +12,7 @@ using System.Windows.Documents;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.Logging;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
using SafeExamBrowser.UserInterface.Classic.ViewModels;
diff --git a/SafeExamBrowser.UserInterface.Classic/SplashScreen.xaml.cs b/SafeExamBrowser.UserInterface.Classic/SplashScreen.xaml.cs
index e0c98a8a..3b39f208 100644
--- a/SafeExamBrowser.UserInterface.Classic/SplashScreen.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/SplashScreen.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows;
using System.Windows.Documents;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
using SafeExamBrowser.UserInterface.Classic.ViewModels;
diff --git a/SafeExamBrowser.UserInterface.Classic/Taskbar.xaml.cs b/SafeExamBrowser.UserInterface.Classic/Taskbar.xaml.cs
index 0ed4af16..e162114a 100644
--- a/SafeExamBrowser.UserInterface.Classic/Taskbar.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Classic/Taskbar.xaml.cs
@@ -10,6 +10,7 @@ using System.ComponentModel;
using System.Windows;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Classic.Utilities;
namespace SafeExamBrowser.UserInterface.Classic
diff --git a/SafeExamBrowser.UserInterface.Windows10/AboutWindow.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/AboutWindow.xaml.cs
index 6cd28ec3..cdeb8353 100644
--- a/SafeExamBrowser.UserInterface.Windows10/AboutWindow.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/AboutWindow.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows;
using System.Windows.Documents;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
namespace SafeExamBrowser.UserInterface.Windows10
diff --git a/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationButton.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationButton.xaml.cs
index da36bc21..6619da7d 100644
--- a/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationButton.xaml.cs
@@ -12,8 +12,10 @@ using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
+using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Windows10.Utilities;
namespace SafeExamBrowser.UserInterface.Windows10.Controls
diff --git a/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationInstanceButton.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationInstanceButton.xaml.cs
index e5315b21..fd269683 100644
--- a/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationInstanceButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/Controls/ApplicationInstanceButton.xaml.cs
@@ -9,6 +9,7 @@
using System;
using System.Windows;
using System.Windows.Controls;
+using SafeExamBrowser.Contracts.Behaviour;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.UserInterface.Windows10.Utilities;
diff --git a/SafeExamBrowser.UserInterface.Windows10/Controls/NotificationButton.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/Controls/NotificationButton.xaml.cs
index df4adcc5..a9810634 100644
--- a/SafeExamBrowser.UserInterface.Windows10/Controls/NotificationButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/Controls/NotificationButton.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows;
using System.Windows.Controls;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Windows10.Utilities;
namespace SafeExamBrowser.UserInterface.Windows10.Controls
diff --git a/SafeExamBrowser.UserInterface.Windows10/Controls/QuitButton.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/Controls/QuitButton.xaml.cs
index 6859c194..a31e8b9c 100644
--- a/SafeExamBrowser.UserInterface.Windows10/Controls/QuitButton.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/Controls/QuitButton.xaml.cs
@@ -10,6 +10,7 @@ using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
namespace SafeExamBrowser.UserInterface.Windows10.Controls
{
diff --git a/SafeExamBrowser.UserInterface.Windows10/LogWindow.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/LogWindow.xaml.cs
index c8cad60d..319f917f 100644
--- a/SafeExamBrowser.UserInterface.Windows10/LogWindow.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/LogWindow.xaml.cs
@@ -10,6 +10,7 @@ using System.ComponentModel;
using System.Windows;
using SafeExamBrowser.Contracts.I18n;
using SafeExamBrowser.Contracts.Logging;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
using SafeExamBrowser.UserInterface.Windows10.ViewModels;
diff --git a/SafeExamBrowser.UserInterface.Windows10/SplashScreen.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/SplashScreen.xaml.cs
index 34b48577..5c29e4c5 100644
--- a/SafeExamBrowser.UserInterface.Windows10/SplashScreen.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/SplashScreen.xaml.cs
@@ -10,6 +10,7 @@ using System.Windows;
using System.Windows.Documents;
using SafeExamBrowser.Contracts.Configuration;
using SafeExamBrowser.Contracts.I18n;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.Contracts.UserInterface.Windows;
using SafeExamBrowser.UserInterface.Windows10.ViewModels;
diff --git a/SafeExamBrowser.UserInterface.Windows10/Taskbar.xaml.cs b/SafeExamBrowser.UserInterface.Windows10/Taskbar.xaml.cs
index 160d7ce9..49922118 100644
--- a/SafeExamBrowser.UserInterface.Windows10/Taskbar.xaml.cs
+++ b/SafeExamBrowser.UserInterface.Windows10/Taskbar.xaml.cs
@@ -10,6 +10,7 @@ using System.ComponentModel;
using System.Windows;
using SafeExamBrowser.Contracts.Logging;
using SafeExamBrowser.Contracts.UserInterface.Taskbar;
+using SafeExamBrowser.Contracts.UserInterface.Taskbar.Events;
using SafeExamBrowser.UserInterface.Windows10.Utilities;
namespace SafeExamBrowser.UserInterface.Windows10
diff --git a/SafeExamBrowser.WindowsApi/Process.cs b/SafeExamBrowser.WindowsApi/Process.cs
index 967e39eb..c09b9c62 100644
--- a/SafeExamBrowser.WindowsApi/Process.cs
+++ b/SafeExamBrowser.WindowsApi/Process.cs
@@ -7,6 +7,7 @@
*/
using SafeExamBrowser.Contracts.WindowsApi;
+using SafeExamBrowser.Contracts.WindowsApi.Events;
namespace SafeExamBrowser.WindowsApi
{