diff --git a/SafeExamBrowser.I18n.Contracts/TextKey.cs b/SafeExamBrowser.I18n.Contracts/TextKey.cs index 505822cc..dd53c550 100644 --- a/SafeExamBrowser.I18n.Contracts/TextKey.cs +++ b/SafeExamBrowser.I18n.Contracts/TextKey.cs @@ -161,6 +161,7 @@ namespace SafeExamBrowser.I18n.Contracts OperationStatus_TerminateShell, OperationStatus_ValidateRemoteSessionPolicy, OperationStatus_ValidateVirtualMachinePolicy, + OperationStatus_WaitDisclaimerConfirmation, OperationStatus_WaitExplorerStartup, OperationStatus_WaitExplorerTermination, OperationStatus_WaitRuntimeDisconnection, diff --git a/SafeExamBrowser.I18n/Data/de.xml b/SafeExamBrowser.I18n/Data/de.xml index 759018c7..27654188 100644 --- a/SafeExamBrowser.I18n/Data/de.xml +++ b/SafeExamBrowser.I18n/Data/de.xml @@ -252,6 +252,12 @@ OK + + Die aktuelle Sitzung wird mithilfe eines Live-Video- und Audiostreams fernüberwacht, der an einen individuell konfigurierten Server gesendet wird. Fragen Sie Ihren Prüfer nach dessen Datenschutzbestimmungen. SEB selbst stellt keine Verbindung zu einem zentralen SEB-Überwachungsserver her. Ihr Prüfungsanbieter entscheidet, welcher Überwachungsdienst/-server verwendet werden soll. + + + Starte Fernüberwachung + Möchten Sie SEB beenden? @@ -435,6 +441,9 @@ Validiere Richtlinie für virtuelle Maschinen + + Warte auf die Bestätigung des Hinweises zur Fernüberwachung + Warte bis Windows Explorer gestartet ist diff --git a/SafeExamBrowser.I18n/Data/en.xml b/SafeExamBrowser.I18n/Data/en.xml index b6f7ab89..c6891505 100644 --- a/SafeExamBrowser.I18n/Data/en.xml +++ b/SafeExamBrowser.I18n/Data/en.xml @@ -441,6 +441,9 @@ Validating virtual machine policy + + Waiting for confirmation of the disclaimer + Waiting for Windows explorer to start up diff --git a/SafeExamBrowser.I18n/Data/fr.xml b/SafeExamBrowser.I18n/Data/fr.xml index 424fc883..2b793dc9 100644 --- a/SafeExamBrowser.I18n/Data/fr.xml +++ b/SafeExamBrowser.I18n/Data/fr.xml @@ -252,6 +252,12 @@ OK + + La session en cours sera surveillée à distance à l'aide d'un flux vidéo et audio en direct, qui est envoyé à un serveur configuré individuellement. Demandez à votre examinateur sa politique de confidentialité. SEB lui-même ne se connecte à aucun serveur de surveillance SEB centralisé, votre fournisseur d'examen décide du service / serveur de surveillance à utiliser. + + + Démarrage de la surveillance à distance + Voulez-vous quitter SEB ? @@ -435,6 +441,9 @@ Validation de la directive sur les machines virtuelles + + En attente de confirmation de la clause de non-responsabilité + Attente du démarrage de l’explorateur Windows diff --git a/SafeExamBrowser.I18n/Data/it.xml b/SafeExamBrowser.I18n/Data/it.xml index d809ccc7..c79c7486 100644 --- a/SafeExamBrowser.I18n/Data/it.xml +++ b/SafeExamBrowser.I18n/Data/it.xml @@ -252,6 +252,12 @@ OK + + La sessione corrente verrà controllata in remoto utilizzando un flusso video e audio dal vivo, che viene inviato a un server configurato individualmente. Chiedi al tuo esaminatore la sua politica sulla privacy. SEB stesso non si connette a nessun server di proctoring SEB centralizzato, il fornitore dell'esame decide quale servizio / server di proctoring utilizzare. + + + Avvio del proctoring remoto + Vuoi uscire da SEB? @@ -435,6 +441,9 @@ Convalida dei criteri della macchina virtuale + + In attesa di conferma del disclaimer + In attesa dell'avvio di Esplora risorse di Windows diff --git a/SafeExamBrowser.I18n/Data/zh.xml b/SafeExamBrowser.I18n/Data/zh.xml index 58a58e42..0ee60868 100644 --- a/SafeExamBrowser.I18n/Data/zh.xml +++ b/SafeExamBrowser.I18n/Data/zh.xml @@ -216,6 +216,12 @@ 确定 + + 当前会话将使用实时视频和音频流进行远程管理,并将其发送到单独配置的服务器。 向考官询问他们的隐私政策。 SEB本身不连接到任何集中式SEB代理服务器,您的考试提供商决定要使用哪个代理服务/服务器。 + + + 启动远程代理 + 您想要退出防作弊考试专用浏览器吗? @@ -387,6 +393,9 @@ 验证虚拟机策略 + + 等待确认免责声明 + 等待Windows资源管理器启动 diff --git a/SafeExamBrowser.Runtime.UnitTests/RuntimeControllerTests.cs b/SafeExamBrowser.Runtime.UnitTests/RuntimeControllerTests.cs index f029bcff..4160a4ad 100644 --- a/SafeExamBrowser.Runtime.UnitTests/RuntimeControllerTests.cs +++ b/SafeExamBrowser.Runtime.UnitTests/RuntimeControllerTests.cs @@ -306,7 +306,7 @@ namespace SafeExamBrowser.Runtime.UnitTests messageBox.Verify(m => m.Show( It.IsAny(), It.IsAny(), - It.Is(a => a == MessageBoxAction.Confirm), + It.Is(a => a == MessageBoxAction.Ok), It.Is(i => i == args.Icon), It.IsAny()), Times.Once); clientProxy.VerifyAdd(p => p.ConnectionLost += It.IsAny()); @@ -330,7 +330,7 @@ namespace SafeExamBrowser.Runtime.UnitTests clientProxy.Setup(c => c.ShowMessage( It.IsAny(), It.IsAny(), - It.Is(a => a == (int) MessageBoxAction.Confirm), + It.Is(a => a == (int) MessageBoxAction.Ok), It.IsAny(), It.IsAny())) .Callback((m, t, a, i, id) => @@ -345,7 +345,7 @@ namespace SafeExamBrowser.Runtime.UnitTests clientProxy.Verify(c => c.ShowMessage( It.IsAny(), It.IsAny(), - It.Is(a => a == (int) MessageBoxAction.Confirm), + It.Is(a => a == (int) MessageBoxAction.Ok), It.Is(i => i == (int) args.Icon), It.IsAny()), Times.Once); } diff --git a/SafeExamBrowser.Runtime/Operations/DisclaimerOperation.cs b/SafeExamBrowser.Runtime/Operations/DisclaimerOperation.cs index 91c6ee6a..77c84f4a 100644 --- a/SafeExamBrowser.Runtime/Operations/DisclaimerOperation.cs +++ b/SafeExamBrowser.Runtime/Operations/DisclaimerOperation.cs @@ -46,11 +46,13 @@ namespace SafeExamBrowser.Runtime.Operations { var args = new MessageEventArgs { - Icon = MessageBoxIcon.Question, + Action = MessageBoxAction.OkCancel, + Icon = MessageBoxIcon.Information, Message = TextKey.MessageBox_ProctoringDisclaimer, Title = TextKey.MessageBox_ProctoringDisclaimerTitle }; + StatusChanged?.Invoke(TextKey.OperationStatus_WaitDisclaimerConfirmation); ActionRequired?.Invoke(args); if (args.Result == MessageBoxResult.Ok) diff --git a/SafeExamBrowser.Runtime/Operations/Events/MessageEventArgs.cs b/SafeExamBrowser.Runtime/Operations/Events/MessageEventArgs.cs index b80ac8e3..bea6a1b8 100644 --- a/SafeExamBrowser.Runtime/Operations/Events/MessageEventArgs.cs +++ b/SafeExamBrowser.Runtime/Operations/Events/MessageEventArgs.cs @@ -25,7 +25,7 @@ namespace SafeExamBrowser.Runtime.Operations.Events public MessageEventArgs() { - Action = MessageBoxAction.Confirm; + Action = MessageBoxAction.Ok; MessagePlaceholders = new Dictionary(); TitlePlaceholders = new Dictionary(); } diff --git a/SafeExamBrowser.Runtime/RuntimeController.cs b/SafeExamBrowser.Runtime/RuntimeController.cs index 3c4ee1bc..3776d02c 100644 --- a/SafeExamBrowser.Runtime/RuntimeController.cs +++ b/SafeExamBrowser.Runtime/RuntimeController.cs @@ -468,11 +468,11 @@ namespace SafeExamBrowser.Runtime if (isStartup || isRunningOnDefaultDesktop) { - args.Result = messageBox.Show(message, title, MessageBoxAction.Confirm, args.Icon, runtimeWindow); + args.Result = messageBox.Show(message, title, args.Action, args.Icon, runtimeWindow); } else { - args.Result = ShowMessageBoxViaClient(message, title, MessageBoxAction.Confirm, args.Icon); + args.Result = ShowMessageBoxViaClient(message, title, args.Action, args.Icon); } } diff --git a/SafeExamBrowser.UserInterface.Contracts/MessageBox/IMessageBox.cs b/SafeExamBrowser.UserInterface.Contracts/MessageBox/IMessageBox.cs index e57ba547..74da9962 100644 --- a/SafeExamBrowser.UserInterface.Contracts/MessageBox/IMessageBox.cs +++ b/SafeExamBrowser.UserInterface.Contracts/MessageBox/IMessageBox.cs @@ -19,11 +19,11 @@ namespace SafeExamBrowser.UserInterface.Contracts.MessageBox /// /// Shows a message box according to the specified parameters and returns the result chosen by the user. /// - MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null); + MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null); /// /// Shows a message box according to the specified parameters and returns the result chosen by the user. /// - MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null); + MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null); } } diff --git a/SafeExamBrowser.UserInterface.Contracts/MessageBox/MessageBoxAction.cs b/SafeExamBrowser.UserInterface.Contracts/MessageBox/MessageBoxAction.cs index 49cd3f05..cb22aa1f 100644 --- a/SafeExamBrowser.UserInterface.Contracts/MessageBox/MessageBoxAction.cs +++ b/SafeExamBrowser.UserInterface.Contracts/MessageBox/MessageBoxAction.cs @@ -13,8 +13,8 @@ namespace SafeExamBrowser.UserInterface.Contracts.MessageBox /// public enum MessageBoxAction { - Confirm, - ConfirmAbort, + Ok, + OkCancel, YesNo } } diff --git a/SafeExamBrowser.UserInterface.Desktop/MessageBoxFactory.cs b/SafeExamBrowser.UserInterface.Desktop/MessageBoxFactory.cs index cc2b20a0..28284cb4 100644 --- a/SafeExamBrowser.UserInterface.Desktop/MessageBoxFactory.cs +++ b/SafeExamBrowser.UserInterface.Desktop/MessageBoxFactory.cs @@ -23,9 +23,9 @@ namespace SafeExamBrowser.UserInterface.Desktop this.text = text; } - public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) + public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) { - var result = System.Windows.MessageBoxResult.None; + var result = default(System.Windows.MessageBoxResult); if (parent is Window window) { @@ -39,7 +39,7 @@ namespace SafeExamBrowser.UserInterface.Desktop return ToResult(result); } - public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) + public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) { return Show(text.Get(message), text.Get(title), action, icon, parent); } @@ -48,6 +48,8 @@ namespace SafeExamBrowser.UserInterface.Desktop { switch (action) { + case MessageBoxAction.OkCancel: + return MessageBoxButton.OKCancel; case MessageBoxAction.YesNo: return MessageBoxButton.YesNo; default: diff --git a/SafeExamBrowser.UserInterface.Mobile/MessageBoxFactory.cs b/SafeExamBrowser.UserInterface.Mobile/MessageBoxFactory.cs index 8f83d187..551d079e 100644 --- a/SafeExamBrowser.UserInterface.Mobile/MessageBoxFactory.cs +++ b/SafeExamBrowser.UserInterface.Mobile/MessageBoxFactory.cs @@ -24,9 +24,9 @@ namespace SafeExamBrowser.UserInterface.Mobile this.text = text; } - public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) + public MessageBoxResult Show(string message, string title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) { - var result = MessageBoxResult.None; + var result = default(MessageBoxResult); if (parent is Window window) { @@ -40,7 +40,7 @@ namespace SafeExamBrowser.UserInterface.Mobile return result; } - public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Confirm, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) + public MessageBoxResult Show(TextKey message, TextKey title, MessageBoxAction action = MessageBoxAction.Ok, MessageBoxIcon icon = MessageBoxIcon.Information, IWindow parent = null) { return Show(text.Get(message), text.Get(title), action, icon, parent); } diff --git a/SafeExamBrowser.UserInterface.Mobile/Windows/MessageBoxDialog.xaml b/SafeExamBrowser.UserInterface.Mobile/Windows/MessageBoxDialog.xaml index ecc292d5..fe03ac80 100644 --- a/SafeExamBrowser.UserInterface.Mobile/Windows/MessageBoxDialog.xaml +++ b/SafeExamBrowser.UserInterface.Mobile/Windows/MessageBoxDialog.xaml @@ -34,6 +34,7 @@