SEBWIN-378: Implemented basic support for default spell checking.

This commit is contained in:
Damian Büchel 2020-03-05 09:38:26 +01:00
parent 6efd075ed5
commit b465d498d0
6 changed files with 881 additions and 860 deletions

View file

@ -218,7 +218,12 @@ namespace SafeExamBrowser.Browser
if (!settings.AllowPdfReader) if (!settings.AllowPdfReader)
{ {
cefSettings.CefCommandLineArgs.Add("disable-pdf-extension", ""); cefSettings.CefCommandLineArgs.Add("disable-pdf-extension");
}
if (!settings.AllowSpellChecking)
{
cefSettings.CefCommandLineArgs.Add("disable-spell-checking");
} }
InitializeProxySettings(cefSettings); InitializeProxySettings(cefSettings);

View file

@ -39,6 +39,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
case Keys.Browser.AllowPdfReaderToolbar: case Keys.Browser.AllowPdfReaderToolbar:
MapAllowPdfReaderToolbar(settings, value); MapAllowPdfReaderToolbar(settings, value);
break; break;
case Keys.Browser.AllowSpellChecking:
MapAllowSpellChecking(settings, value);
break;
case Keys.Browser.AdditionalWindow.AllowAddressBar: case Keys.Browser.AdditionalWindow.AllowAddressBar:
MapAllowAddressBarAdditionalWindow(settings, value); MapAllowAddressBarAdditionalWindow(settings, value);
break; break;
@ -226,6 +229,14 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
} }
} }
private void MapAllowSpellChecking(AppSettings settings, object value)
{
if (value is bool allow)
{
settings.Browser.AllowSpellChecking = allow;
}
}
private void MapAllowReload(AppSettings settings, object value) private void MapAllowReload(AppSettings settings, object value)
{ {
if (value is bool allow) if (value is bool allow)

View file

@ -47,6 +47,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
internal const string AllowDownloadsAndUploads = "allowDownUploads"; internal const string AllowDownloadsAndUploads = "allowDownUploads";
internal const string AllowPageZoom = "enableZoomPage"; internal const string AllowPageZoom = "enableZoomPage";
internal const string AllowPdfReaderToolbar = "allowPDFReaderToolbar"; internal const string AllowPdfReaderToolbar = "allowPDFReaderToolbar";
internal const string AllowSpellChecking = "allowSpellCheck";
internal const string CustomUserAgentDesktop = "browserUserAgentWinDesktopModeCustom"; internal const string CustomUserAgentDesktop = "browserUserAgentWinDesktopModeCustom";
internal const string CustomUserAgentMobile = "browserUserAgentWinTouchModeCustom"; internal const string CustomUserAgentMobile = "browserUserAgentWinTouchModeCustom";
internal const string DeleteCacheOnShutdown = "removeBrowserProfile"; internal const string DeleteCacheOnShutdown = "removeBrowserProfile";

View file

@ -51,6 +51,11 @@ namespace SafeExamBrowser.Settings.Browser
/// </summary> /// </summary>
public bool AllowPdfReaderToolbar { get; set; } public bool AllowPdfReaderToolbar { get; set; }
/// <summary>
/// Determines whether spell checking is enabled for input fields.
/// </summary>
public bool AllowSpellChecking { get; set; }
/// <summary> /// <summary>
/// Determines whether the user will be allowed to upload files. /// Determines whether the user will be allowed to upload files.
/// </summary> /// </summary>

View file

@ -30,8 +30,8 @@ namespace SebWindowsConfig
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SebWindowsConfigForm)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SebWindowsConfigForm));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
this.openFileDialogSebConfigFile = new System.Windows.Forms.OpenFileDialog(); this.openFileDialogSebConfigFile = new System.Windows.Forms.OpenFileDialog();
this.saveFileDialogSebConfigFile = new System.Windows.Forms.SaveFileDialog(); this.saveFileDialogSebConfigFile = new System.Windows.Forms.SaveFileDialog();
this.imageListTabIcons = new System.Windows.Forms.ImageList(this.components); this.imageListTabIcons = new System.Windows.Forms.ImageList(this.components);
@ -330,6 +330,7 @@ namespace SebWindowsConfig
this.checkBoxSetVolumeLevel = new System.Windows.Forms.CheckBox(); this.checkBoxSetVolumeLevel = new System.Windows.Forms.CheckBox();
this.checkBoxMuteAudio = new System.Windows.Forms.CheckBox(); this.checkBoxMuteAudio = new System.Windows.Forms.CheckBox();
this.groupBox6 = new System.Windows.Forms.GroupBox(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.checkBoxAllowDeveloperConsole = new System.Windows.Forms.CheckBox();
this.checkBoxAllowAdditionalWindowAddressBar = new System.Windows.Forms.CheckBox(); this.checkBoxAllowAdditionalWindowAddressBar = new System.Windows.Forms.CheckBox();
this.checkBoxAllowMainWindowAddressBar = new System.Windows.Forms.CheckBox(); this.checkBoxAllowMainWindowAddressBar = new System.Windows.Forms.CheckBox();
this.checkBoxEnableBrowserWindowToolbar = new System.Windows.Forms.CheckBox(); this.checkBoxEnableBrowserWindowToolbar = new System.Windows.Forms.CheckBox();
@ -433,7 +434,6 @@ namespace SebWindowsConfig
this.editDuplicateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editDuplicateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.configureClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.configureClientToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.applyAndStartSEBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.applyAndStartSEBToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.checkBoxAllowDeveloperConsole = new System.Windows.Forms.CheckBox();
this.tabPageHookedKeys.SuspendLayout(); this.tabPageHookedKeys.SuspendLayout();
this.groupBoxFunctionKeys.SuspendLayout(); this.groupBoxFunctionKeys.SuspendLayout();
this.groupBoxSpecialKeys.SuspendLayout(); this.groupBoxSpecialKeys.SuspendLayout();
@ -1753,8 +1753,8 @@ namespace SebWindowsConfig
// //
// Type // Type
// //
dataGridViewCellStyle5.BackColor = System.Drawing.Color.Silver; dataGridViewCellStyle3.BackColor = System.Drawing.Color.Silver;
this.Type.DefaultCellStyle = dataGridViewCellStyle5; this.Type.DefaultCellStyle = dataGridViewCellStyle3;
this.Type.HeaderText = "Type"; this.Type.HeaderText = "Type";
this.Type.Name = "Type"; this.Type.Name = "Type";
this.Type.ReadOnly = true; this.Type.ReadOnly = true;
@ -4116,15 +4116,14 @@ namespace SebWindowsConfig
this.spellCheckerGroupBox.Controls.Add(this.checkBoxAllowSpellCheck); this.spellCheckerGroupBox.Controls.Add(this.checkBoxAllowSpellCheck);
this.spellCheckerGroupBox.Location = new System.Drawing.Point(790, 182); this.spellCheckerGroupBox.Location = new System.Drawing.Point(790, 182);
this.spellCheckerGroupBox.Name = "spellCheckerGroupBox"; this.spellCheckerGroupBox.Name = "spellCheckerGroupBox";
this.spellCheckerGroupBox.Size = new System.Drawing.Size(1036, 628); this.spellCheckerGroupBox.Size = new System.Drawing.Size(1036, 72);
this.spellCheckerGroupBox.TabIndex = 87; this.spellCheckerGroupBox.TabIndex = 87;
this.spellCheckerGroupBox.TabStop = false; this.spellCheckerGroupBox.TabStop = false;
this.spellCheckerGroupBox.Text = "Spell Checker"; this.spellCheckerGroupBox.Text = "Spell Checker";
this.spellCheckerGroupBox.Visible = false;
// //
// dictionariesDescriptionLabel // dictionariesDescriptionLabel
// //
this.dictionariesDescriptionLabel.Location = new System.Drawing.Point(12, 515); this.dictionariesDescriptionLabel.Location = new System.Drawing.Point(12, 548);
this.dictionariesDescriptionLabel.Name = "dictionariesDescriptionLabel"; this.dictionariesDescriptionLabel.Name = "dictionariesDescriptionLabel";
this.dictionariesDescriptionLabel.Size = new System.Drawing.Size(1012, 45); this.dictionariesDescriptionLabel.Size = new System.Drawing.Size(1012, 45);
this.dictionariesDescriptionLabel.TabIndex = 3; this.dictionariesDescriptionLabel.TabIndex = 3;
@ -4134,7 +4133,7 @@ namespace SebWindowsConfig
// //
// spellCheckerDescriptionLabel // spellCheckerDescriptionLabel
// //
this.spellCheckerDescriptionLabel.Location = new System.Drawing.Point(12, 65); this.spellCheckerDescriptionLabel.Location = new System.Drawing.Point(12, 98);
this.spellCheckerDescriptionLabel.Name = "spellCheckerDescriptionLabel"; this.spellCheckerDescriptionLabel.Name = "spellCheckerDescriptionLabel";
this.spellCheckerDescriptionLabel.Size = new System.Drawing.Size(1012, 42); this.spellCheckerDescriptionLabel.Size = new System.Drawing.Size(1012, 42);
this.spellCheckerDescriptionLabel.TabIndex = 2; this.spellCheckerDescriptionLabel.TabIndex = 2;
@ -4145,7 +4144,7 @@ namespace SebWindowsConfig
// checkBoxAllowDictionaryLookup // checkBoxAllowDictionaryLookup
// //
this.checkBoxAllowDictionaryLookup.AutoSize = true; this.checkBoxAllowDictionaryLookup.AutoSize = true;
this.checkBoxAllowDictionaryLookup.Location = new System.Drawing.Point(208, 31); this.checkBoxAllowDictionaryLookup.Location = new System.Drawing.Point(421, 31);
this.checkBoxAllowDictionaryLookup.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.checkBoxAllowDictionaryLookup.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.checkBoxAllowDictionaryLookup.Name = "checkBoxAllowDictionaryLookup"; this.checkBoxAllowDictionaryLookup.Name = "checkBoxAllowDictionaryLookup";
this.checkBoxAllowDictionaryLookup.Size = new System.Drawing.Size(238, 24); this.checkBoxAllowDictionaryLookup.Size = new System.Drawing.Size(238, 24);
@ -4157,7 +4156,7 @@ namespace SebWindowsConfig
// //
// removeDictionaryButton // removeDictionaryButton
// //
this.removeDictionaryButton.Location = new System.Drawing.Point(176, 571); this.removeDictionaryButton.Location = new System.Drawing.Point(176, 604);
this.removeDictionaryButton.Name = "removeDictionaryButton"; this.removeDictionaryButton.Name = "removeDictionaryButton";
this.removeDictionaryButton.Size = new System.Drawing.Size(170, 35); this.removeDictionaryButton.Size = new System.Drawing.Size(170, 35);
this.removeDictionaryButton.TabIndex = 1; this.removeDictionaryButton.TabIndex = 1;
@ -4167,7 +4166,7 @@ namespace SebWindowsConfig
// //
// addDictionaryButton // addDictionaryButton
// //
this.addDictionaryButton.Location = new System.Drawing.Point(12, 571); this.addDictionaryButton.Location = new System.Drawing.Point(12, 604);
this.addDictionaryButton.Name = "addDictionaryButton"; this.addDictionaryButton.Name = "addDictionaryButton";
this.addDictionaryButton.Size = new System.Drawing.Size(158, 35); this.addDictionaryButton.Size = new System.Drawing.Size(158, 35);
this.addDictionaryButton.TabIndex = 1; this.addDictionaryButton.TabIndex = 1;
@ -4188,7 +4187,7 @@ namespace SebWindowsConfig
this.spellCheckerDictionaryEnabledColumn, this.spellCheckerDictionaryEnabledColumn,
this.spellCheckerDictionaryLocaleColumn, this.spellCheckerDictionaryLocaleColumn,
this.spellCheckerDictionaryFilesColumn}); this.spellCheckerDictionaryFilesColumn});
this.spellCheckerDataGridView.Location = new System.Drawing.Point(16, 120); this.spellCheckerDataGridView.Location = new System.Drawing.Point(16, 153);
this.spellCheckerDataGridView.Name = "spellCheckerDataGridView"; this.spellCheckerDataGridView.Name = "spellCheckerDataGridView";
this.spellCheckerDataGridView.RowTemplate.Height = 28; this.spellCheckerDataGridView.RowTemplate.Height = 28;
this.spellCheckerDataGridView.Size = new System.Drawing.Size(1002, 380); this.spellCheckerDataGridView.Size = new System.Drawing.Size(1002, 380);
@ -4218,8 +4217,8 @@ namespace SebWindowsConfig
// spellCheckerDictionaryFilesColumn // spellCheckerDictionaryFilesColumn
// //
this.spellCheckerDictionaryFilesColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.spellCheckerDictionaryFilesColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle6; this.spellCheckerDictionaryFilesColumn.DefaultCellStyle = dataGridViewCellStyle4;
this.spellCheckerDictionaryFilesColumn.HeaderText = "Files"; this.spellCheckerDictionaryFilesColumn.HeaderText = "Files";
this.spellCheckerDictionaryFilesColumn.Name = "spellCheckerDictionaryFilesColumn"; this.spellCheckerDictionaryFilesColumn.Name = "spellCheckerDictionaryFilesColumn";
this.spellCheckerDictionaryFilesColumn.ReadOnly = true; this.spellCheckerDictionaryFilesColumn.ReadOnly = true;
@ -4233,9 +4232,9 @@ namespace SebWindowsConfig
this.checkBoxAllowSpellCheck.Location = new System.Drawing.Point(16, 31); this.checkBoxAllowSpellCheck.Location = new System.Drawing.Point(16, 31);
this.checkBoxAllowSpellCheck.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); this.checkBoxAllowSpellCheck.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2);
this.checkBoxAllowSpellCheck.Name = "checkBoxAllowSpellCheck"; this.checkBoxAllowSpellCheck.Name = "checkBoxAllowSpellCheck";
this.checkBoxAllowSpellCheck.Size = new System.Drawing.Size(175, 24); this.checkBoxAllowSpellCheck.Size = new System.Drawing.Size(370, 24);
this.checkBoxAllowSpellCheck.TabIndex = 67; this.checkBoxAllowSpellCheck.TabIndex = 67;
this.checkBoxAllowSpellCheck.Text = "Allow spell checking"; this.checkBoxAllowSpellCheck.Text = "Allow spell checking (Win supports English only)";
this.toolTip1.SetToolTip(this.checkBoxAllowSpellCheck, "Spell checking in the SEB browser underlines incorrectly spelled words and displa" + this.toolTip1.SetToolTip(this.checkBoxAllowSpellCheck, "Spell checking in the SEB browser underlines incorrectly spelled words and displa" +
"ys word suggestions (right mouse button needs to be enabled in Hooked Keys tab)." + "ys word suggestions (right mouse button needs to be enabled in Hooked Keys tab)." +
""); "");
@ -4323,6 +4322,17 @@ namespace SebWindowsConfig
this.groupBox6.TabStop = false; this.groupBox6.TabStop = false;
this.groupBox6.Text = "Browser Window Toolbar"; this.groupBox6.Text = "Browser Window Toolbar";
// //
// checkBoxAllowDeveloperConsole
//
this.checkBoxAllowDeveloperConsole.AutoSize = true;
this.checkBoxAllowDeveloperConsole.Location = new System.Drawing.Point(44, 119);
this.checkBoxAllowDeveloperConsole.Name = "checkBoxAllowDeveloperConsole";
this.checkBoxAllowDeveloperConsole.Size = new System.Drawing.Size(343, 24);
this.checkBoxAllowDeveloperConsole.TabIndex = 7;
this.checkBoxAllowDeveloperConsole.Text = "Show developer tools in window menu (Win)";
this.checkBoxAllowDeveloperConsole.UseVisualStyleBackColor = true;
this.checkBoxAllowDeveloperConsole.CheckedChanged += new System.EventHandler(this.checkBoxDeveloperConsole_CheckedChanged);
//
// checkBoxAllowAdditionalWindowAddressBar // checkBoxAllowAdditionalWindowAddressBar
// //
this.checkBoxAllowAdditionalWindowAddressBar.AutoSize = true; this.checkBoxAllowAdditionalWindowAddressBar.AutoSize = true;
@ -5594,17 +5604,6 @@ namespace SebWindowsConfig
this.applyAndStartSEBToolStripMenuItem.Visible = false; this.applyAndStartSEBToolStripMenuItem.Visible = false;
this.applyAndStartSEBToolStripMenuItem.Click += new System.EventHandler(this.applyAndStartSEBToolStripMenuItem_Click); this.applyAndStartSEBToolStripMenuItem.Click += new System.EventHandler(this.applyAndStartSEBToolStripMenuItem_Click);
// //
// checkBoxAllowDeveloperConsole
//
this.checkBoxAllowDeveloperConsole.AutoSize = true;
this.checkBoxAllowDeveloperConsole.Location = new System.Drawing.Point(44, 119);
this.checkBoxAllowDeveloperConsole.Name = "checkBoxAllowDeveloperConsole";
this.checkBoxAllowDeveloperConsole.Size = new System.Drawing.Size(343, 24);
this.checkBoxAllowDeveloperConsole.TabIndex = 7;
this.checkBoxAllowDeveloperConsole.Text = "Show developer tools in window menu (Win)";
this.checkBoxAllowDeveloperConsole.UseVisualStyleBackColor = true;
this.checkBoxAllowDeveloperConsole.CheckedChanged += new System.EventHandler(this.checkBoxDeveloperConsole_CheckedChanged);
//
// SebWindowsConfigForm // SebWindowsConfigForm
// //
this.AllowDrop = true; this.AllowDrop = true;

File diff suppressed because it is too large Load diff