diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js
index d6e4cb81a..79efd4733 100644
--- a/apps/documenteditor/main/app/controller/LeftMenu.js
+++ b/apps/documenteditor/main/app/controller/LeftMenu.js
@@ -493,6 +493,14 @@ define([
value = Common.localStorage.getBool("de-settings-spellcheck", true);
Common.Utils.InternalSettings.set("de-settings-spellcheck", value);
this.api.asc_setSpellCheck(value);
+ var spprops = new AscCommon.CSpellCheckSettings();
+ value = Common.localStorage.getBool("de-spellcheck-ignore-uppercase-words", true);
+ Common.Utils.InternalSettings.set("de-spellcheck-ignore-uppercase-words", value);
+ spprops.put_IgnoreWordsInUppercase(value);
+ value = Common.localStorage.getBool("de-spellcheck-ignore-numbers-words", true);
+ Common.Utils.InternalSettings.set("de-spellcheck-ignore-numbers-words", value);
+ spprops.put_IgnoreWordsWithNumbers(value);
+ this.api.asc_setSpellCheckSettings(spprops);
}
value = parseInt(Common.localStorage.getItem("de-settings-paste-button"));
diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js
index f49214895..2040262e7 100644
--- a/apps/documenteditor/main/app/controller/Main.js
+++ b/apps/documenteditor/main/app/controller/Main.js
@@ -1167,6 +1167,17 @@ define([
me.api.asc_setSpellCheck(value);
Common.NotificationCenter.trigger('spelling:turn', value ? 'on' : 'off', true); // only toggle buttons
+ if (Common.UI.FeaturesManager.canChange('spellcheck')) { // get settings for spellcheck from local storage
+ value = Common.localStorage.getBool("de-spellcheck-ignore-uppercase-words", true);
+ Common.Utils.InternalSettings.set("de-spellcheck-ignore-uppercase-words", value);
+ value = Common.localStorage.getBool("de-spellcheck-ignore-numbers-words", true);
+ Common.Utils.InternalSettings.set("de-spellcheck-ignore-numbers-words", value);
+ value = new AscCommon.CSpellCheckSettings();
+ value.put_IgnoreWordsInUppercase(Common.Utils.InternalSettings.get("de-spellcheck-ignore-uppercase-words"));
+ value.put_IgnoreWordsWithNumbers(Common.Utils.InternalSettings.get("de-spellcheck-ignore-numbers-words"));
+ this.api.asc_setSpellCheckSettings(value);
+ }
+
value = Common.localStorage.getBool("de-settings-compatible", false);
Common.Utils.InternalSettings.set("de-settings-compatible", value);
diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js
index 9d7e9f768..f12ea2fb0 100644
--- a/apps/documenteditor/main/app/view/FileMenuPanels.js
+++ b/apps/documenteditor/main/app/view/FileMenuPanels.js
@@ -318,6 +318,12 @@ define([
'
',
' | ',
'
',
+ '',
+ ' | ',
+ '
',
+ '',
+ ' | ',
+ '
',
'',
' | ',
'
',
@@ -416,6 +422,25 @@ define([
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
+ }).on('change', function(field, newValue, oldValue, eOpts){
+ me.chIgnoreUppercase.setDisabled(field.getValue()!=='checked');
+ me.chIgnoreNumbers.setDisabled(field.getValue()!=='checked');
+ });
+
+ this.chIgnoreUppercase = new Common.UI.CheckBox({
+ el: $markup.findById('#fms-chb-ignore-uppercase-words'),
+ labelText: this.strIgnoreWordsInUPPERCASE,
+ dataHint: '2',
+ dataHintDirection: 'left',
+ dataHintOffset: 'small'
+ });
+
+ this.chIgnoreNumbers = new Common.UI.CheckBox({
+ el: $markup.findById('#fms-chb-ignore-numbers-words'),
+ labelText: this.strIgnoreWordsWithNumbers,
+ dataHint: '2',
+ dataHintDirection: 'left',
+ dataHintOffset: 'small'
});
this.chCompatible = new Common.UI.CheckBox({
@@ -780,8 +805,11 @@ define([
if (this.mode.canForcesave)
this.chForcesave.setValue(Common.Utils.InternalSettings.get("de-settings-forcesave"));
- if (Common.UI.FeaturesManager.canChange('spellcheck'))
+ if (Common.UI.FeaturesManager.canChange('spellcheck')) {
this.chSpell.setValue(Common.Utils.InternalSettings.get("de-settings-spellcheck"));
+ this.chIgnoreUppercase.setValue(Common.Utils.InternalSettings.get("de-spellcheck-ignore-uppercase-words"));
+ this.chIgnoreNumbers.setValue(Common.Utils.InternalSettings.get("de-spellcheck-ignore-numbers-words"));
+ }
this.chAlignGuides.setValue(Common.Utils.InternalSettings.get("de-settings-showsnaplines"));
this.chCompatible.setValue(Common.Utils.InternalSettings.get("de-settings-compatible"));
@@ -835,8 +863,11 @@ define([
Common.localStorage.setItem("de-settings-autosave", this.chAutosave.isChecked() ? 1 : 0);
if (this.mode.canForcesave)
Common.localStorage.setItem("de-settings-forcesave", this.chForcesave.isChecked() ? 1 : 0);
- if (Common.UI.FeaturesManager.canChange('spellcheck'))
+ if (Common.UI.FeaturesManager.canChange('spellcheck') && this.mode.isEdit) {
Common.localStorage.setItem("de-settings-spellcheck", this.chSpell.isChecked() ? 1 : 0);
+ Common.localStorage.setBool("de-spellcheck-ignore-uppercase-words", this.chIgnoreUppercase.isChecked());
+ Common.localStorage.setBool("de-spellcheck-ignore-numbers-words", this.chIgnoreNumbers.isChecked());
+ }
Common.localStorage.setItem("de-settings-compatible", this.chCompatible.isChecked() ? 1 : 0);
Common.Utils.InternalSettings.set("de-settings-compatible", this.chCompatible.isChecked() ? 1 : 0);
Common.Utils.InternalSettings.set("de-settings-showsnaplines", this.chAlignGuides.isChecked());
@@ -951,7 +982,9 @@ define([
strShowComments: 'Show comments in text',
strShowResolvedComments: 'Show resolved comments',
txtFastTip: 'Real-time co-editing. All changes are saved automatically',
- txtStrictTip: 'Use the \'Save\' button to sync the changes you and others make'
+ txtStrictTip: 'Use the \'Save\' button to sync the changes you and others make',
+ strIgnoreWordsInUPPERCASE: 'Ignore words in UPPERCASE',
+ strIgnoreWordsWithNumbers: 'Ignore words with numbers'
}, DE.Views.FileMenuPanels.Settings || {}));
DE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({
diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json
index 63c6292e5..4516042ec 100644
--- a/apps/documenteditor/main/locale/en.json
+++ b/apps/documenteditor/main/locale/en.json
@@ -1799,6 +1799,8 @@
"DE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Disable all macros with a notification",
"DE.Views.FileMenuPanels.Settings.txtWin": "as Windows",
"DE.Views.FileMenuPanels.Settings.txtWorkspace": "Workspace",
+ "DE.Views.FileMenuPanels.Settings.strIgnoreWordsInUPPERCASE": "Ignore words in UPPERCASE",
+ "DE.Views.FileMenuPanels.Settings.strIgnoreWordsWithNumbers": "Ignore words with numbers",
"DE.Views.FormSettings.textAlways": "Always",
"DE.Views.FormSettings.textAspect": "Lock aspect ratio",
"DE.Views.FormSettings.textAutofit": "AutoFit",
diff --git a/apps/presentationeditor/main/app/controller/LeftMenu.js b/apps/presentationeditor/main/app/controller/LeftMenu.js
index 14ce12c89..9a9837ba7 100644
--- a/apps/presentationeditor/main/app/controller/LeftMenu.js
+++ b/apps/presentationeditor/main/app/controller/LeftMenu.js
@@ -371,6 +371,14 @@ define([
value = Common.localStorage.getBool("pe-settings-spellcheck", true);
Common.Utils.InternalSettings.set("pe-settings-spellcheck", value);
this.api.asc_setSpellCheck(value);
+ var spprops = new AscCommon.CSpellCheckSettings();
+ value = Common.localStorage.getBool("pe-spellcheck-ignore-uppercase-words", true);
+ Common.Utils.InternalSettings.set("pe-spellcheck-ignore-uppercase-words", value);
+ spprops.put_IgnoreWordsInUppercase(value);
+ value = Common.localStorage.getBool("pe-spellcheck-ignore-numbers-words", true);
+ Common.Utils.InternalSettings.set("pe-spellcheck-ignore-numbers-words", value);
+ spprops.put_IgnoreWordsWithNumbers(value);
+ this.api.asc_setSpellCheckSettings(spprops);
}
value = parseInt(Common.localStorage.getItem("pe-settings-paste-button"));
diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js
index f6acea3e2..679b38131 100644
--- a/apps/presentationeditor/main/app/controller/Main.js
+++ b/apps/presentationeditor/main/app/controller/Main.js
@@ -802,6 +802,17 @@ define([
me.api.asc_setSpellCheck(value);
Common.NotificationCenter.trigger('spelling:turn', value ? 'on' : 'off', true); // only toggle buttons
+ if (Common.UI.FeaturesManager.canChange('spellcheck')) { // get settings for spellcheck from local storage
+ value = Common.localStorage.getBool("pe-spellcheck-ignore-uppercase-words", true);
+ Common.Utils.InternalSettings.set("pe-spellcheck-ignore-uppercase-words", value);
+ value = Common.localStorage.getBool("pe-spellcheck-ignore-numbers-words", true);
+ Common.Utils.InternalSettings.set("pe-spellcheck-ignore-numbers-words", value);
+ value = new AscCommon.CSpellCheckSettings();
+ value.put_IgnoreWordsInUppercase(Common.Utils.InternalSettings.get("pe-spellcheck-ignore-uppercase-words"));
+ value.put_IgnoreWordsWithNumbers(Common.Utils.InternalSettings.get("pe-spellcheck-ignore-numbers-words"));
+ this.api.asc_setSpellCheckSettings(value);
+ }
+
value = Common.localStorage.getBool('pe-hidden-notes', this.appOptions.customization && this.appOptions.customization.hideNotes===true);
me.api.asc_ShowNotes(!value);
diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js
index a566631be..6f716a269 100644
--- a/apps/presentationeditor/main/app/view/FileMenuPanels.js
+++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js
@@ -240,6 +240,12 @@ define([
'',
' | ',
'
',
+ '',
+ ' | ',
+ '
',
+ '',
+ ' | ',
+ '
',
'',
' | ',
'
',
@@ -307,6 +313,25 @@ define([
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
+ }).on('change', function(field, newValue, oldValue, eOpts){
+ me.chIgnoreUppercase.setDisabled(field.getValue()!=='checked');
+ me.chIgnoreNumbers.setDisabled(field.getValue()!=='checked');
+ });
+
+ this.chIgnoreUppercase = new Common.UI.CheckBox({
+ el: $markup.findById('#fms-chb-ignore-uppercase-words'),
+ labelText: this.strIgnoreWordsInUPPERCASE,
+ dataHint: '2',
+ dataHintDirection: 'left',
+ dataHintOffset: 'small'
+ });
+
+ this.chIgnoreNumbers = new Common.UI.CheckBox({
+ el: $markup.findById('#fms-chb-ignore-numbers-words'),
+ labelText: this.strIgnoreWordsWithNumbers,
+ dataHint: '2',
+ dataHintDirection: 'left',
+ dataHintOffset: 'small'
});
this.chInputMode = new Common.UI.CheckBox({
@@ -567,8 +592,11 @@ define([
},
updateSettings: function() {
- if (Common.UI.FeaturesManager.canChange('spellcheck'))
+ if (Common.UI.FeaturesManager.canChange('spellcheck')) {
this.chSpell.setValue(Common.Utils.InternalSettings.get("pe-settings-spellcheck"));
+ this.chIgnoreUppercase.setValue(Common.Utils.InternalSettings.get("pe-spellcheck-ignore-uppercase-words"));
+ this.chIgnoreNumbers.setValue(Common.Utils.InternalSettings.get("pe-spellcheck-ignore-numbers-words"));
+ }
this.chInputMode.setValue(Common.Utils.InternalSettings.get("pe-settings-inputmode"));
@@ -627,8 +655,11 @@ define([
applySettings: function() {
Common.UI.Themes.setTheme(this.cmbTheme.getValue());
- if (Common.UI.FeaturesManager.canChange('spellcheck'))
+ if (Common.UI.FeaturesManager.canChange('spellcheck') && this.mode.isEdit) {
Common.localStorage.setItem("pe-settings-spellcheck", this.chSpell.isChecked() ? 1 : 0);
+ Common.localStorage.setBool("pe-spellcheck-ignore-uppercase-words", this.chIgnoreUppercase.isChecked());
+ Common.localStorage.setBool("pe-spellcheck-ignore-numbers-words", this.chIgnoreNumbers.isChecked());
+ }
Common.localStorage.setItem("pe-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0);
Common.localStorage.setItem("pe-settings-zoom", this.cmbZoom.getValue());
Common.Utils.InternalSettings.set("pe-settings-zoom", Common.localStorage.getItem("pe-settings-zoom"));
@@ -724,7 +755,9 @@ define([
txtWorkspace: 'Workspace',
txtHieroglyphs: 'Hieroglyphs',
txtFastTip: 'Real-time co-editing. All changes are saved automatically',
- txtStrictTip: 'Use the \'Save\' button to sync the changes you and others make'
+ txtStrictTip: 'Use the \'Save\' button to sync the changes you and others make',
+ strIgnoreWordsInUPPERCASE: 'Ignore words in UPPERCASE',
+ strIgnoreWordsWithNumbers: 'Ignore words with numbers'
}, PE.Views.FileMenuPanels.Settings || {}));
PE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({
diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json
index 036dce8cd..56efcdd45 100644
--- a/apps/presentationeditor/main/locale/en.json
+++ b/apps/presentationeditor/main/locale/en.json
@@ -1656,6 +1656,8 @@
"PE.Views.FileMenuPanels.Settings.txtWarnMacrosDesc": "Disable all macros with a notification",
"PE.Views.FileMenuPanels.Settings.txtWin": "as Windows",
"PE.Views.FileMenuPanels.Settings.txtWorkspace": "Workspace",
+ "PE.Views.FileMenuPanels.Settings.strIgnoreWordsInUPPERCASE": "Ignore words in UPPERCASE",
+ "PE.Views.FileMenuPanels.Settings.strIgnoreWordsWithNumbers": "Ignore words with numbers",
"PE.Views.HeaderFooterDialog.applyAllText": "Apply to all",
"PE.Views.HeaderFooterDialog.applyText": "Apply",
"PE.Views.HeaderFooterDialog.diffLanguage": "You can’t use a date format in a different language than the slide master.
To change the master, click 'Apply to all' instead of 'Apply'",
diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
index eb5b6b202..31fbeeb3f 100644
--- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
+++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js
@@ -296,7 +296,6 @@ define([
' | ',
'',
'',
-
' | ',
'
',
'',