diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index e9d686b3a..22b12c722 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -278,7 +278,9 @@ define([ /** coauthoring end **/ '', '', - '', + '', + '
', + '
', '','', '', '', @@ -547,6 +549,16 @@ define([ dataHint: '2', dataHintDirection: 'bottom', dataHintOffset: 'big' + }).on('selected', function(combo, record) { + me.chDarkMode.setDisabled(record.themeType!=='dark'); + }); + + this.chDarkMode = new Common.UI.CheckBox({ + el: $markup.findById('#fms-chb-dark-mode'), + labelText: this.txtDarkMode, + dataHint: '2', + dataHintDirection: 'left', + dataHintOffset: 'small' }); this.cmbReviewHover = new Common.UI.ComboBox({ @@ -636,6 +648,7 @@ define([ if ( !Common.UI.Themes.available() ) { $('tr.themes, tr.themes + tr.divider', this.el).hide(); } + this.chDarkMode.setVisible(!/^pdf|djvu|xps|oxps$/.test(DE.getController('Main').document.fileType)); }, setApi: function(o) { @@ -700,7 +713,7 @@ define([ var data = []; for (var t in Common.UI.Themes.map()) { - data.push({value: t, displayValue: Common.UI.Themes.get(t).text}); + data.push({value: t, displayValue: Common.UI.Themes.get(t).text, themeType: Common.UI.Themes.get(t).type}); } if ( data.length ) { @@ -708,6 +721,8 @@ define([ item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.currentThemeId()}); this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.defaultThemeId()); } + this.chDarkMode.setValue(Common.UI.Themes.isContentThemeDark()); + this.chDarkMode.setDisabled(!Common.UI.Themes.isDarkTheme()); if (this.mode.canViewReview) { value = Common.Utils.InternalSettings.get("de-settings-review-hover-mode"); @@ -718,6 +733,8 @@ define([ applySettings: function() { Common.UI.Themes.setTheme(this.cmbTheme.getValue()); + if (!this.chDarkMode.isDisabled() && (this.chDarkMode.isChecked() !== Common.UI.Themes.isContentThemeDark())) + Common.UI.Themes.toggleContentTheme(); Common.localStorage.setItem("de-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0); Common.localStorage.setItem("de-settings-zoom", this.cmbZoom.getValue()); Common.Utils.InternalSettings.set("de-settings-zoom", Common.localStorage.getItem("de-settings-zoom")); @@ -852,7 +869,8 @@ define([ txtAutoCorrect: 'AutoCorrect options...', strReviewHover: 'Track Changes Display', txtChangesTip: 'Show by hover in tooltips', - txtChangesBalloons: 'Show by click in balloons' + txtChangesBalloons: 'Show by click in balloons', + txtDarkMode: 'Turn on document dark mode' }, 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 9a5790dd5..1a2547f54 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1723,6 +1723,7 @@ "DE.Views.FileMenuPanels.Settings.strSpellCheckMode": "Turn on spell checking option", "DE.Views.FileMenuPanels.Settings.strStrict": "Strict", "DE.Views.FileMenuPanels.Settings.strTheme": "Interface theme", + "DE.Views.FileMenuPanels.Settings.txtDarkMode": "Turn on document dark mode", "DE.Views.FileMenuPanels.Settings.strUnit": "Unit of Measurement", "DE.Views.FileMenuPanels.Settings.strZoom": "Default Zoom Value", "DE.Views.FileMenuPanels.Settings.text10Minutes": "Every 10 Minutes", diff --git a/apps/documenteditor/main/locale/ru.json b/apps/documenteditor/main/locale/ru.json index c06afc532..99bda7908 100644 --- a/apps/documenteditor/main/locale/ru.json +++ b/apps/documenteditor/main/locale/ru.json @@ -1723,6 +1723,7 @@ "DE.Views.FileMenuPanels.Settings.strSpellCheckMode": "Включить проверку орфографии", "DE.Views.FileMenuPanels.Settings.strStrict": "Строгий", "DE.Views.FileMenuPanels.Settings.strTheme": "Тема интерфейса", + "DE.Views.FileMenuPanels.Settings.txtDarkMode": "Включить темный режим", "DE.Views.FileMenuPanels.Settings.strUnit": "Единица измерения", "DE.Views.FileMenuPanels.Settings.strZoom": "Стандартное значение масштаба", "DE.Views.FileMenuPanels.Settings.text10Minutes": "Каждые 10 минут",