Merge pull request #1577 from ONLYOFFICE/feature/Update-advanced-settings

Update advanced settings
This commit is contained in:
maxkadushkin 2022-02-25 09:59:47 +03:00 committed by GitHub
commit 42164b4ea4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 783 additions and 760 deletions

View file

@ -231,100 +231,126 @@ define([
template: _.template([
'<div class="flex-settings">',
'<table style="margin: 30px 0 0;"><tbody>',
/** coauthoring begin **/
'<tr class="comments">',
'<td class="left"><label><%= scope.txtLiveComment %></label></td>',
'<td class="right"><div id="fms-chb-live-comment"></div></td>',
'</tr>','<tr class="divider comments"></tr>',
'<tr class="comments">',
'<td class="left"></td>',
'<td class="right"><div id="fms-chb-resolved-comment"></div></td>',
'</tr>','<tr class="divider comments"></tr>',
/** coauthoring end **/
'<tr class="view-review">',
'<td class="left"><label><%= scope.strReviewHover %></label></td>',
'<td class="right"><span id="fms-cmb-review-hover"></span></td>',
'</tr>','<tr class="divider view-review"></tr>',
'<tr class="edit spellcheck">',
'<td class="left"><label><%= scope.txtSpellCheck %></label></td>',
'<td class="right"><div id="fms-chb-spell-check"></div></td>',
'</tr>','<tr class="divider edit spellcheck"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.txtProofing %></label></td>',
'<td class="right"><button type="button" class="btn btn-text-default" id="fms-btn-auto-correct" style="width:auto; display: inline-block;padding-right: 10px;padding-left: 10px;" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.txtAutoCorrect %></button></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.txtInput %></label></td>',
'<td class="right"><div id="fms-chb-input-mode"></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.textAlignGuides %></label></td>',
'<td class="right"><span id="fms-chb-align-guides"></span></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.textCompatible %></label></td>',
'<td class="right"><span id="fms-chb-compatible"></span></td>',
'</tr>','<tr class="divider edit"></tr>',
'<table style="margin: 10px 14px 0;"><tbody>',
'<tr class="editsave">',
'<td colspan="2" class="group-name top"><label><%= scope.txtEditingSaving %></label></td>',
'</tr>',
'<tr class="autosave">',
'<td class="left"><label id="fms-lbl-autosave"><%= scope.textAutoSave %></label></td>',
'<td class="right"><span id="fms-chb-autosave"></span></td>',
'</tr>','<tr class="divider autosave"></tr>',
'<td colspan="2"><span id="fms-chb-autosave"></span></td>',
'</tr>',
'<tr class="forcesave">',
'<td class="left"><label id="fms-lbl-forcesave"><%= scope.textForceSave %></label></td>',
'<td class="right"><span id="fms-chb-forcesave"></span></td>',
'</tr>','<tr class="divider forcesave"></tr>',
/** coauthoring begin **/
'<td colspan="2"><span id="fms-chb-forcesave"></span></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><div id="fms-chb-paste-settings"></div></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><span id="fms-chb-compatible"></span></td>',
'</tr>',
'<tr class ="editsave divider-group"></tr>',
'<tr class="collaboration">',
'<td colspan="2" class="group-name"><label><%= scope.txtCollaboration %></label></td>',
'</tr>',
'<tr class="coauth changes-mode">',
'<td class="left"><label><%= scope.strCoAuthMode %></label></td>',
'<td class="right">',
'<div><div id="fms-cmb-coauth-mode" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-coauth-mode" style="vertical-align: middle;"><%= scope.strCoAuthModeDescFast %></label></div></td>',
'</tr>','<tr class="divider coauth changes-mode"></tr>',
'<td colspan="2" class="subgroup-name"><label><%= scope.strCoAuthMode %></label></td>',
'</tr>',
'<tr class="coauth changes-mode">',
'<td colspan="2"><div style="display: flex;"><div id="fms-rb-coauth-mode-fast"></div>',
'<span style ="display: flex; flex-direction: column;"><label><%= scope.strFast %></label>',
'<label class="comment-text"><%= scope.txtFastTip %></label></span></div>',
'</td>',
'</tr>',
'<tr class="coauth changes-mode">',
'<td colspan="2"><div style="display: flex;"><div id="fms-rb-coauth-mode-strict"></div>',
'<span style ="display: flex; flex-direction: column;"><label><%= scope.strStrict %></label>',
'<label class="comment-text"><%= scope.txtStrictTip %></label></span>',
'</div></td>',
'</tr>',
'<tr class ="divider-subgroup coauth changes-mode"></tr>',
'<tr class="view-review">',
'<td colspan="2" class="subgroup-name"><label><%= scope.txtShowTrackChanges %></label></td>',
'</tr>',
'<tr class="view-review">',
'<td colspan="2"><div id="fms-rb-show-track-ballons"></div></td>',
'</tr>',
'<tr class="view-review">',
'<td colspan="2"><div id="fms-rb-show-track-tooltips"></div></td>',
'</tr>',
'<tr class ="divider-subgroup view-review"></tr>',
'<tr class="comments">',
'<td colspan="2" class="subgroup-name"><label><%= scope.strShowChanges %></label></td>',
'</tr>',
'<tr class="coauth changes-show">',
'<td class="left"><label><%= scope.strShowChanges %></label></td>',
'<td class="right"><span id="fms-cmb-show-changes"></span></td>',
'<td colspan="2"><div id="fms-rb-show-changes-none"></div></td>',
'</tr>',
'<tr class="coauth changes-show">',
'<td colspan="2"><div id="fms-rb-show-changes-all"></div></td>',
'</tr>',
'<tr class="coauth changes-show">',
'<td colspan="2"><div id="fms-rb-show-changes-last"></div></td>',
'</tr>','<tr class="divider coauth changes-show"></tr>',
/** coauthoring end **/
'<tr class="comments">',
'<td colspan="2"><div id="fms-chb-live-comment"></div></td>',
'</tr>',
'<tr class="comments">',
'<td colspan="2"><div id="fms-chb-resolved-comment"></div></td>',
'</tr>',
'<tr class ="collaboration divider-group"></tr>',
'<tr class ="edit">',
'<td colspan="2" class="group-name proofing"><label><%= scope.txtProofing %></label></td>',
'</tr>',
'<tr class="edit spellcheck">',
'<td colspan="2"><div id="fms-chb-spell-check"></div></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><button type="button" class="btn btn-text-default" id="fms-btn-auto-correct" style="width:auto; display: inline-block;padding-right: 10px;padding-left: 10px;" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.txtAutoCorrect %></button></div></td>',
'</tr>',
'<tr class ="edit divider-group"></tr>',
'<tr>',
'<td colspan="2" class="group-name"><label><%= scope.txtWorkspace %></label></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><span id="fms-chb-align-guides"></span></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><div id="fms-chb-input-mode"></div></td>',
'</tr>',
'<tr class="themes">',
'<td class="left"><label><%= scope.strTheme %></label></td>',
'<td class="right">',
'<td><label><%= scope.strTheme %></label></td>',
'<td>',
'<div><div id="fms-cmb-theme" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<div id="fms-chb-dark-mode" style="display: inline-block; vertical-align: middle;margin-top: 2px;"></div></div></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strZoom %></label></td>',
'<td class="right"><div id="fms-cmb-zoom" class="input-group-nr"></div></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strFontRender %></label></td>',
'<td class="right"><span id="fms-cmb-font-render"></span></td>',
'</tr>','<tr class="divider"></tr>',
'</tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.strUnit %></label></td>',
'<td class="right"><span id="fms-cmb-unit"></span></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.strPaste %></label></td>',
'<td class="right"><div id="fms-chb-paste-settings"></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<td><label><%= scope.strUnit %></label></td>',
'<td><span id="fms-cmb-unit"></span></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strZoom %></label></td>',
'<td><div id="fms-cmb-zoom" class="input-group-nr"></div></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strFontRender %></label></td>',
'<td><span id="fms-cmb-font-render"></span></td>',
'</tr>',
'<tr class="macros">',
'<td class="left"><label><%= scope.strMacrosSettings %></label></td>',
'<td class="right">',
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-macros" style="vertical-align: middle;"><%= scope.txtWarnMacrosDesc %></label></div></td>',
'</tr>','<tr class="divider macros"></tr>',
'<td><label><%= scope.strMacrosSettings %></label></td>',
'<td>',
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px; vertical-align: middle;"></div>',
'</tr>',
'<tr class ="divider-group"></tr>',
'<tr class="fms-btn-apply">',
'<td class="left"></td>',
'<td class="right" style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.okButtonText %></button></td>',
'<td style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.okButtonText %></button></td>',
'<td></td>',
'</tr>',
'</tbody></table>',
'</div>',
'<div class="fms-flex-apply hidden">',
'<table style="margin: 10px 0;"><tbody>',
'<table style="margin: 10px 14px;"><tbody>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td></td>',
'</tr>',
'</tbody></table>',
'</div>'
@ -342,7 +368,7 @@ define([
this.chInputMode = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-input-mode'),
labelText: this.strInputMode,
labelText: this.txtHieroglyphs,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -351,7 +377,7 @@ define([
/** coauthoring begin **/
this.chLiveComment = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-live-comment'),
labelText: this.strLiveComment,
labelText: this.strShowComments,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -361,7 +387,7 @@ define([
this.chResolvedComment = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-resolved-comment'),
labelText: this.strResolvedComment,
labelText: this.strShowResolvedComments,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -370,7 +396,7 @@ define([
this.chSpell = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-spell-check'),
labelText: this.strSpellCheckMode,
labelText: this.txtSpellCheck,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -386,21 +412,20 @@ define([
this.chAutosave = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-autosave'),
labelText: this.strAutosave,
labelText: this.textAutoSave,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', function(field, newValue, oldValue, eOpts){
if (field.getValue()!=='checked' && me.cmbCoAuthMode.getValue()) {
me.cmbCoAuthMode.setValue(0);
me.onSelectCoAuthMode(me.cmbCoAuthMode.getSelectedRecord());
if (field.getValue()!=='checked' && me.rbCoAuthModeFast.getValue()) {
me.rbCoAuthModeStrict.setValue(true);
me.onChangeCoAuthMode(me.rbCoAuthModeFast.getValue()?1:0);
}
});
this.lblAutosave = $markup.findById('#fms-lbl-autosave');
this.chForcesave = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-forcesave'),
labelText: this.strForcesave,
labelText: this.textForceSave,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -408,7 +433,7 @@ define([
this.chAlignGuides = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-align-guides'),
labelText: this.strAlignGuides,
labelText: this.textAlignGuides,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -416,8 +441,9 @@ define([
this.cmbZoom = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-zoom'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
menuStyle : 'max-height: 157px;',
data : [
@ -443,41 +469,71 @@ define([
dataHintOffset: 'big'
});
/** coauthoring begin **/
this.cmbShowChanges = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-show-changes'),
style : 'width: 160px;',
editable : false,
cls : 'input-group-nr',
data : [
{ value: 'none', displayValue: this.txtNone },
{ value: 'all', displayValue: this.txtAll },
{ value: 'last', displayValue: this.txtLast }
],
this.rbCoAuthModeFast = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-coauth-mode-fast'),
name : 'coauth-mode',
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.rbCoAuthModeFast.on('change', function(){
me.chAutosave.setValue(1);
me.onChangeCoAuthMode(1);
});
this.rbCoAuthModeFast.$el.parent().on('click', function (){me.rbCoAuthModeFast.setValue(true);});
this.rbCoAuthModeStrict = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-coauth-mode-strict'),
name : 'coauth-mode',
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.rbCoAuthModeStrict.on('change', _.bind(this.onChangeCoAuthMode, this,0));
this.rbCoAuthModeStrict.$el.parent().on('click', function (){me.rbCoAuthModeStrict.setValue(true);});
this.rbChangesBallons = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-show-track-ballons'),
name : 'show-track-changes',
labelText : this.txtChangesBalloons,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.cmbCoAuthMode = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-coauth-mode'),
style : 'width: 160px;',
editable : false,
cls : 'input-group-nr',
data : [
{ value: 1, displayValue: this.strFast, descValue: this.strCoAuthModeDescFast},
{ value: 0, displayValue: this.strStrict, descValue: this.strCoAuthModeDescStrict }
],
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
}).on('selected', function(combo, record) {
if (record.value == 1 && (me.chAutosave.getValue()!=='checked'))
me.chAutosave.setValue(1);
me.onSelectCoAuthMode(record);
this.rbChangesTip = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-show-track-tooltips'),
name : 'show-track-changes',
labelText : this.txtChangesTip
});
this.rbShowChangesNone = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-show-changes-none'),
name : 'show-changes',
labelText : this.txtNone,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.rbShowChangesAll = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-show-changes-all'),
name : 'show-changes',
labelText : this.txtAll,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.rbShowChangesLast = new Common.UI.RadioBox({
el :$markup.findById('#fms-rb-show-changes-last'),
name : 'show-changes',
labelText : this.txtLast,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.lblCoAuthMode = $markup.findById('#fms-lbl-coauth-mode');
/** coauthoring end **/
var itemsTemplate =
@ -488,8 +544,9 @@ define([
].join(''));
this.cmbFontRender = new Common.UI.ComboBox({
el : $markup.find('#fms-cmb-font-render'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
itemsTemplate: itemsTemplate,
data : [
@ -506,7 +563,8 @@ define([
this.cmbUnit = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-unit'),
style : 'width: 160px;',
style : 'width: 128px;',
menuCls : 'menu-aligned',
editable : false,
cls : 'input-group-nr',
data : [
@ -521,7 +579,7 @@ define([
this.cmbMacros = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-macros'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
@ -530,13 +588,16 @@ define([
{ value: 0, displayValue: this.txtWarnMacros, descValue: this.txtWarnMacrosDesc },
{ value: 1, displayValue: this.txtRunMacros, descValue: this.txtRunMacrosDesc }
],
itemsTemplate: _.template([
'<% _.each(items, function(item) { %>',
'<li id="<%= item.id %>" data-value="<%- item.value %>"><a tabindex="-1" type="menuitem" style ="display: flex; flex-direction: column;">',
'<label><%= scope.getDisplayValue(item) %></label><label class="comment-text"><%= item.descValue %></label></a></li>',
'<% }); %>'
].join('')),
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
}).on('selected', function(combo, record) {
me.lblMacrosDesc.text(record.descValue);
});
this.lblMacrosDesc = $markup.findById('#fms-lbl-macros');
this.chPaste = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-paste-settings'),
@ -553,8 +614,9 @@ define([
this.cmbTheme = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-theme'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
dataHint: '2',
dataHintDirection: 'bottom',
@ -571,20 +633,6 @@ define([
dataHintOffset: 'small'
});
this.cmbReviewHover = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-review-hover'),
style : 'width: 160px;',
editable : false,
cls : 'input-group-nr',
data : [
{ value: false, displayValue: this.txtChangesBalloons },
{ value: true, displayValue: this.txtChangesTip }
],
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
$markup.find('.btn.primary').each(function(index, el){
(new Common.UI.Button({
el: $(el)
@ -625,7 +673,7 @@ define([
updateScroller: function() {
if (this.scroller) {
Common.UI.Menu.Manager.hideAll();
var scrolled = this.$el.height()< this.pnlTable.height() + 25 + this.pnlApply.height();
var scrolled = this.$el.height()< this.pnlTable.parent().height() + 25 + this.pnlApply.height();
this.pnlApply.toggleClass('hidden', !scrolled);
this.trApply.toggleClass('hidden', scrolled);
this.pnlSettings.css('overflow', scrolled ? 'hidden' : 'visible');
@ -642,17 +690,19 @@ define([
$('tr.edit', this.el)[mode.isEdit?'show':'hide']();
$('tr.autosave', this.el)[mode.isEdit && (mode.canChangeCoAuthoring || !fast_coauth) ? 'show' : 'hide']();
$('tr.forcesave', this.el)[mode.canForcesave ? 'show' : 'hide']();
$('tr.editsave',this.el)[mode.isEdit || mode.canForcesave ? 'show' : 'hide']();
if (this.mode.isDesktopApp && this.mode.isOffline) {
this.chAutosave.setCaption(this.strAutoRecover);
this.lblAutosave.text(this.textAutoRecover);
this.chAutosave.setCaption(this.textAutoRecover);
}
/** coauthoring begin **/
$('tr.collaboration', this.el)[mode.canCoAuthoring || mode.canViewReview ? 'show' : 'hide']();
$('tr.coauth', this.el)[mode.isEdit && mode.canCoAuthoring ? 'show' : 'hide']();
$('tr.coauth.changes-mode', this.el)[mode.isEdit && !mode.isOffline && mode.canCoAuthoring && mode.canChangeCoAuthoring ? 'show' : 'hide']();
$('tr.coauth.changes-show', this.el)[mode.isEdit && !mode.isOffline && mode.canCoAuthoring ? 'show' : 'hide']();
$('tr.view-review', this.el)[mode.canViewReview ? 'show' : 'hide']();
$('tr.spellcheck', this.el)[mode.isEdit && Common.UI.FeaturesManager.canChange('spellcheck') ? 'show' : 'hide']();
$('tr.comments', this.el)[mode.canCoAuthoring ? 'show' : 'hide']();
/** coauthoring end **/
$('tr.macros', this.el)[(mode.customization && mode.customization.macros===false) ? 'hide' : 'show']();
@ -679,15 +729,15 @@ define([
this.chResolvedComment.setValue(Common.Utils.InternalSettings.get("de-settings-resolvedcomment"));
var fast_coauth = Common.Utils.InternalSettings.get("de-settings-coauthmode");
item = this.cmbCoAuthMode.store.findWhere({value: fast_coauth ? 1 : 0});
this.cmbCoAuthMode.setValue(item ? item.get('value') : 1);
this.lblCoAuthMode.text(item ? item.get('descValue') : this.strCoAuthModeDescFast);
this.rbCoAuthModeFast.setValue(fast_coauth);
this.rbCoAuthModeStrict.setValue(!fast_coauth);
this.fillShowChanges(fast_coauth);
value = Common.Utils.InternalSettings.get((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
item = this.cmbShowChanges.store.findWhere({value: value});
this.cmbShowChanges.setValue(item ? item.get('value') : (fast_coauth) ? 'none' : 'last');
this.rbShowChangesNone.setValue(value=='none');
this.rbShowChangesLast.setValue(value=='last');
this.rbShowChangesAll.setValue(value=='all');
/** coauthoring end **/
value = Common.Utils.InternalSettings.get("de-settings-fontrender");
@ -718,7 +768,6 @@ define([
item = this.cmbMacros.store.findWhere({value: Common.Utils.InternalSettings.get("de-macros-mode")});
this.cmbMacros.setValue(item ? item.get('value') : 0);
this.lblMacrosDesc.text(item ? item.get('descValue') : this.txtWarnMacrosDesc);
this.chPaste.setValue(Common.Utils.InternalSettings.get("de-settings-paste-button"));
@ -737,8 +786,8 @@ define([
if (this.mode.canViewReview) {
value = Common.Utils.InternalSettings.get("de-settings-review-hover-mode");
item = this.cmbReviewHover.store.findWhere({value: value});
this.cmbReviewHover.setValue(item ? item.get('value') : false);
this.rbChangesTip.setValue(value);
this.rbChangesBallons.setValue(!value);
}
},
@ -754,8 +803,9 @@ define([
Common.localStorage.setItem("de-settings-livecomment", this.chLiveComment.isChecked() ? 1 : 0);
Common.localStorage.setItem("de-settings-resolvedcomment", this.chResolvedComment.isChecked() ? 1 : 0);
if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring) {
this.mode.canChangeCoAuthoring && Common.localStorage.setItem("de-settings-coauthmode", this.cmbCoAuthMode.getValue());
Common.localStorage.setItem(this.cmbCoAuthMode.getValue() ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict", this.cmbShowChanges.getValue());
this.mode.canChangeCoAuthoring && Common.localStorage.setItem("de-settings-coauthmode", this.rbCoAuthModeFast.getValue() ? 1 : 0 );
Common.localStorage.setItem(this.rbCoAuthModeFast.getValue() ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict",
this.rbShowChangesNone.getValue()?'none':this.rbShowChangesLast.getValue()?'last':'all');
}
/** coauthoring end **/
Common.localStorage.setItem("de-settings-fontrender", this.cmbFontRender.getValue());
@ -776,7 +826,7 @@ define([
Common.Utils.InternalSettings.set("de-macros-mode", this.cmbMacros.getValue());
if (this.mode.canViewReview) {
var val = this.cmbReviewHover.getValue();
var val = this.rbChangesTip.getValue();
Common.localStorage.setBool("de-settings-review-hover-mode", val);
Common.Utils.InternalSettings.set("de-settings-review-hover-mode", val);
this.mode.reviewHoverMode = val;
@ -795,17 +845,16 @@ define([
},
fillShowChanges: function(fastmode) {
if ( fastmode && this.cmbShowChanges.store.length==3 || !fastmode && this.cmbShowChanges.store.length==2) {
var arr = [{ value: 'none', displayValue: this.txtNone }, { value: 'all', displayValue: this.txtAll }];
if (!fastmode) arr.push({ value: 'last', displayValue: this.txtLast});
this.cmbShowChanges.store.reset(arr);
}
if(fastmode)
this.rbShowChangesLast.$el.parent().hide();
else
this.rbShowChangesLast.$el.parent().show();
},
onSelectCoAuthMode: function(record) {
this.lblCoAuthMode.text(record.descValue);
this.fillShowChanges(record.value == 1);
this.cmbShowChanges.setValue((record.value == 1) ? 'none' : 'last');
onChangeCoAuthMode: function (val){
this.fillShowChanges(val == 1);
this.rbShowChangesNone.setValue(val == 1);
this.rbShowChangesLast.setValue(val == 0);
},
onFontRenderSelected: function(combo, record) {
@ -826,8 +875,6 @@ define([
this.dlgAutoCorrect.show();
},
strLiveComment: 'Turn on option',
strInputMode: 'Turn on hieroglyphs',
strZoom: 'Default Zoom Value',
/** coauthoring begin **/
strShowChanges: 'Realtime Collaboration Changes',
@ -846,24 +893,19 @@ define([
txtCm: 'Centimeter',
txtPt: 'Point',
textAutoSave: 'Autosave',
strAutosave: 'Turn on autosave',
txtSpellCheck: 'Spell Checking',
strSpellCheckMode: 'Turn on spell checking option',
textAlignGuides: 'Alignment Guides',
strAlignGuides: 'Turn on alignment guides',
strCoAuthMode: 'Co-editing mode',
strCoAuthModeDescFast: 'Other users will see your changes at once',
strCoAuthModeDescStrict: 'You will need to accept changes before you can see them',
strFast: 'Fast',
strStrict: 'Strict',
textAutoRecover: 'Autorecover',
strAutoRecover: 'Turn on autorecover',
txtInch: 'Inch',
txtFitPage: 'Fit to Page',
txtFitWidth: 'Fit to Width',
textForceSave: 'Save to Server',
strForcesave: 'Always save to server (otherwise save to server on document close)',
strResolvedComment: 'Turn on display of the resolved comments',
textCompatible: 'Compatibility',
textOldVersions: 'Make the files compatible with older MS Word versions when saved as DOCX',
txtCacheMode: 'Default cache mode',
@ -879,10 +921,18 @@ define([
txtProofing: 'Proofing',
strTheme: 'Theme',
txtAutoCorrect: 'AutoCorrect options...',
strReviewHover: 'Track Changes Display',
txtChangesTip: 'Show by hover in tooltips',
txtChangesBalloons: 'Show by click in balloons',
txtDarkMode: 'Turn on document dark mode'
txtDarkMode: 'Turn on document dark mode',
txtEditingSaving: 'Editing and saving',
txtCollaboration: 'Collaboration',
txtShowTrackChanges: 'Show track changes',
txtWorkspace: 'Workspace',
txtHieroglyphs: 'Hieroglyphs',
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'
}, DE.Views.FileMenuPanels.Settings || {}));
DE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({

View file

@ -1737,22 +1737,24 @@
"DE.Views.FileMenuPanels.ProtectDoc.txtView": "View signatures",
"DE.Views.FileMenuPanels.Settings.okButtonText": "Apply",
"DE.Views.FileMenuPanels.Settings.strAlignGuides": "Turn on alignment guides",
"DE.Views.FileMenuPanels.Settings.strAutoRecover": "Turn on autorecover",
"DE.Views.FileMenuPanels.Settings.strAutosave": "Turn on autosave",
"del_DE.Views.FileMenuPanels.Settings.strAutoRecover": "Turn on autorecover",
"del_DE.Views.FileMenuPanels.Settings.strAutosave": "Turn on autosave",
"DE.Views.FileMenuPanels.Settings.strCoAuthMode": "Co-editing Mode",
"DE.Views.FileMenuPanels.Settings.strCoAuthModeDescFast": "Other users will see your changes at once",
"DE.Views.FileMenuPanels.Settings.strCoAuthModeDescStrict": "You will need to accept changes before you can see them",
"del_DE.Views.FileMenuPanels.Settings.strCoAuthModeDescFast": "Other users will see your changes at once",
"del_DE.Views.FileMenuPanels.Settings.strCoAuthModeDescStrict": "You will need to accept changes before you can see them",
"DE.Views.FileMenuPanels.Settings.strFast": "Fast",
"DE.Views.FileMenuPanels.Settings.strFontRender": "Font Hinting",
"DE.Views.FileMenuPanels.Settings.strForcesave": "Add version to storage after clicking Save or Ctrl+S",
"DE.Views.FileMenuPanels.Settings.strInputMode": "Turn on hieroglyphs",
"DE.Views.FileMenuPanels.Settings.strLiveComment": "Turn on display of the comments",
"del_DE.Views.FileMenuPanels.Settings.strInputMode": "Turn on hieroglyphs",
"del_DE.Views.FileMenuPanels.Settings.strLiveComment": "Turn on display of the comments",
"DE.Views.FileMenuPanels.Settings.strMacrosSettings": "Macros Settings",
"DE.Views.FileMenuPanels.Settings.strPaste": "Cut, copy and paste",
"del_DE.Views.FileMenuPanels.Settings.strPaste": "Cut, copy and paste",
"DE.Views.FileMenuPanels.Settings.strPasteButton": "Show the Paste Options button when the content is pasted",
"DE.Views.FileMenuPanels.Settings.strResolvedComment": "Turn on display of the resolved comments",
"DE.Views.FileMenuPanels.Settings.strReviewHover": "Track Changes Display",
"del_DE.Views.FileMenuPanels.Settings.strResolvedComment": "Turn on display of the resolved comments",
"del_DE.Views.FileMenuPanels.Settings.strReviewHover": "Track Changes Display",
"DE.Views.FileMenuPanels.Settings.strShowChanges": "Real-time Collaboration Changes",
"DE.Views.FileMenuPanels.Settings.strShowResolvedComments": "Show resolved comments",
"DE.Views.FileMenuPanels.Settings.strShowComments": "Show comments in text",
"DE.Views.FileMenuPanels.Settings.strSpellCheckMode": "Turn on spell checking option",
"DE.Views.FileMenuPanels.Settings.strStrict": "Strict",
"DE.Views.FileMenuPanels.Settings.strTheme": "Interface theme",
@ -1776,9 +1778,13 @@
"DE.Views.FileMenuPanels.Settings.txtChangesBalloons": "Show by click in balloons",
"DE.Views.FileMenuPanels.Settings.txtChangesTip": "Show by hover in tooltips",
"DE.Views.FileMenuPanels.Settings.txtCm": "Centimeter",
"DE.Views.FileMenuPanels.Settings.txtCollaboration": "Collaboration",
"DE.Views.FileMenuPanels.Settings.txtDarkMode": "Turn on document dark mode",
"DE.Views.FileMenuPanels.Settings.txtEditingSaving": "Editing and saving",
"DE.Views.FileMenuPanels.Settings.txtFastTip": "Real-time co-editing. All changes are saved automatically",
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Fit to Page",
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Fit to Width",
"DE.Views.FileMenuPanels.Settings.txtHieroglyphs": "Hieroglyphs",
"DE.Views.FileMenuPanels.Settings.txtInch": "Inch",
"DE.Views.FileMenuPanels.Settings.txtInput": "Alternate Input",
"DE.Views.FileMenuPanels.Settings.txtLast": "View Last",
@ -1790,12 +1796,15 @@
"DE.Views.FileMenuPanels.Settings.txtPt": "Point",
"DE.Views.FileMenuPanels.Settings.txtRunMacros": "Enable All",
"DE.Views.FileMenuPanels.Settings.txtRunMacrosDesc": "Enable all macros without a notification",
"DE.Views.FileMenuPanels.Settings.txtShowTrackChanges": "Show track changes",
"DE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spell Checking",
"DE.Views.FileMenuPanels.Settings.txtStopMacros": "Disable All",
"DE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Disable all macros without a notification",
"DE.Views.FileMenuPanels.Settings.txtStrictTip": "Use the \"Save\" button to sync the changes you and others make",
"DE.Views.FileMenuPanels.Settings.txtWarnMacros": "Show Notification",
"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.FormSettings.textAlways": "Always",
"DE.Views.FormSettings.textAspect": "Lock aspect ratio",
"DE.Views.FormSettings.textAutofit": "AutoFit",

View file

@ -123,30 +123,47 @@
#panel-settings {
table {
width: 100%;
width: auto !important;
tr {
td {
padding: 5px 10px;
&.left {
text-align: right;
width: 30%;
label {
.font-weight-bold();
font-size: 12px;
}
padding: 6px 10px;
&.group-name label {
font-size: 14px;
.font-weight-bold();
}
&.right {
width: 70%;
&.subgroup-name label{
font-size: 11px;
.font-weight-bold();
}
.comment-text{
opacity: 0.45;
}
}
&.left {
text-align: right;
width: 30%;
label {
.font-weight-bold();
font-size: 12px;
}
}
&.right {
width: 70%;
}
&.divider {
height: 10px;
}
&.divider-group {
height: 12px;
}
&.divider-subgroup{
height: 4px;
}
}
}
}

View file

@ -199,76 +199,93 @@ define([
template: _.template([
'<div class="flex-settings">',
'<table style="margin: 30px 0 0;"><tbody>',
'<tr class="edit spellcheck">',
'<td class="left"><label><%= scope.txtSpellCheck %></label></td>',
'<td class="right"><div id="fms-chb-spell-check"></div></td>',
'</tr>','<tr class="divider edit spellcheck"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.txtProofing %></label></td>',
'<td class="right"><button type="button" class="btn btn-text-default" id="fms-btn-auto-correct" style="width:auto; display: inline-block;padding-right: 10px;padding-left: 10px;" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.txtAutoCorrect %></button></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.txtInput %></label></td>',
'<td class="right"><div id="fms-chb-input-mode"></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.textAlignGuides %></label></td>',
'<td class="right"><span id="fms-chb-align-guides"></span></td>',
'</tr>','<tr class="divider edit"></tr>',
'<table style="margin: 10px 14px auto;"><tbody>',
'<tr class="editsave">',
'<td colspan="2" class="group-name top"><label><%= scope.txtEditingSaving %></label></td>',
'</tr>',
'<tr class="autosave">',
'<td class="left"><label id="fms-lbl-autosave"><%= scope.textAutoSave %></label></td>',
'<td class="right"><span id="fms-chb-autosave"></span></td>',
'</tr>','<tr class="divider autosave"></tr>',
'<td colspan="2"><span id="fms-chb-autosave"></span></td>',
'</tr>',
'<tr class="forcesave">',
'<td class="left"><label id="fms-lbl-forcesave"><%= scope.textForceSave %></label></td>',
'<td class="right"><span id="fms-chb-forcesave"></span></td>',
'</tr>','<tr class="divider forcesave"></tr>',
/** coauthoring begin **/
'<td colspan="2" class="right"><span id="fms-chb-forcesave"></span></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><div id="fms-chb-paste-settings"></div></td>',
'</tr>',
'<tr class ="editsave divider-group"></tr>',
'<tr class="coauth changes">',
'<td class="left"><label><%= scope.strCoAuthMode %></label></td>',
'<td class="right">',
'<div><div id="fms-cmb-coauth-mode" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-coauth-mode" style="vertical-align: middle;"><%= scope.strCoAuthModeDescFast %></label></div></td>',
'</tr>','<tr class="divider coauth changes"></tr>',
/** coauthoring end **/
'<td colspan="2" class="group-name"><label><%= scope.txtCollaboration %></label></td>',
'</tr>',
'<tr class="coauth changes">',
'<td colspan="2" class="subgroup-name"><label><%= scope.strCoAuthMode %></label></td>',
'</tr>',
'<tr class="coauth changes">',
'<td colspan="2"><div style="display: flex;">',
'<div id="fms-rb-coauth-mode-fast"></div>',
'<span style ="display: flex; flex-direction: column;"><label><%= scope.strFast %></label>',
'<label class="comment-text"><%= scope.txtFastTip %></label></span>',
'</div></td>',
'</tr>',
'<tr class="coauth changes">',
'<td colspan="2"><div style="display: flex;">',
'<div id="fms-rb-coauth-mode-strict"></div>',
'<span style ="display: flex; flex-direction: column;"><label><%= scope.strStrict %></label>',
'<label class="comment-text"><%= scope.txtStrictTip %></label></span>',
'</div></td>',
'</tr>',
'<tr class ="coauth changes divider-group"></tr>',
'<tr class="edit">',
'<td colspan="2" class="group-name"><label><%= scope.txtProofing %></label></td>',
'</tr>',
'<tr class="edit spellcheck">',
'<td colspan="2"><div id="fms-chb-spell-check"></div></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><button type="button" class="btn btn-text-default" id="fms-btn-auto-correct" style="width:auto; display: inline-block;padding-right: 10px;padding-left: 10px;" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.txtAutoCorrect %></button></div></td>',
'</tr>',
'<tr class ="edit divider-group"></tr>',
'<tr>',
'<td colspan="2" class="group-name"><label><%= scope.txtWorkspace %></label></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><span id="fms-chb-align-guides"></span></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><div id="fms-chb-input-mode"></div></td>',
'</tr>',
'<tr class="themes">',
'<td class="left"><label><%= scope.strTheme %></label></td>',
'<td class="right"><span id="fms-cmb-theme"></span></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strZoom %></label></td>',
'<td class="right"><div id="fms-cmb-zoom" class="input-group-nr"></div></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strFontRender %></label></td>',
'<td class="right"><span id="fms-cmb-font-render"></span></td>',
'</tr>','<tr class="divider"></tr>',
'<td><label><%= scope.strTheme %></label></td>',
'<td><span id="fms-cmb-theme"></span></td>',
'</tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.strUnit %></label></td>',
'<td class="right"><span id="fms-cmb-unit"></span></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.strPaste %></label></td>',
'<td class="right"><div id="fms-chb-paste-settings"></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<td><label><%= scope.strUnit %></label></td>',
'<td><span id="fms-cmb-unit"></span></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strZoom %></label></td>',
'<td><div id="fms-cmb-zoom" class="input-group-nr"></div></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strFontRender %></label></td>',
'<td><span id="fms-cmb-font-render"></span></td>',
'</tr>',
'<tr class="macros">',
'<td class="left"><label><%= scope.strMacrosSettings %></label></td>',
'<td class="right">',
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-macros" style="vertical-align: middle;"><%= scope.txtWarnMacrosDesc %></label></div></td>',
'</tr>','<tr class="divider macros"></tr>',
'<td><label><%= scope.strMacrosSettings %></label></td>',
'<td><div><div id="fms-cmb-macros"></div></div></td>',
'</tr>',
'<tr class ="divider-group"></tr>',
'<tr class="fms-btn-apply">',
'<td class="left"></td>',
'<td class="right" style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.okButtonText %></button></td>',
'<td style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="medium"><%= scope.okButtonText %></button></td>',
'<td></td>',
'</tr>',
'</tbody></table>',
'</div>',
'<div class="fms-flex-apply hidden">',
'<table style="margin: 10px 0;"><tbody>',
'<table style="margin: 10px 14px;"><tbody>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td><button class="btn normal dlg-btn primary" data-hint="2" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td></td>',
'</tr>',
'</tbody></table>',
'</div>'
@ -286,7 +303,7 @@ define([
this.chSpell = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-spell-check'),
labelText: this.strSpellCheckMode,
labelText: this.txtSpellCheck,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -294,7 +311,7 @@ define([
this.chInputMode = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-input-mode'),
labelText: this.strInputMode,
labelText: this.txtHieroglyphs,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -302,7 +319,7 @@ define([
this.cmbZoom = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-zoom'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
cls : 'input-group-nr',
menuStyle : 'max-height: 157px;',
@ -329,45 +346,41 @@ define([
dataHintOffset: 'big'
});
/** coauthoring begin **/
this.cmbCoAuthMode = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-coauth-mode'),
style : 'width: 160px;',
editable : false,
cls : 'input-group-nr',
data : [
{ value: 1, displayValue: this.strFast, descValue: this.strCoAuthModeDescFast},
{ value: 0, displayValue: this.strStrict, descValue: this.strCoAuthModeDescStrict }
],
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
}).on('selected', function(combo, record) {
if (record.value == 1 && (me.chAutosave.getValue()!=='checked'))
me.chAutosave.setValue(1);
me.lblCoAuthMode.text(record.descValue);
this.rbCoAuthModeFast = new Common.UI.RadioBox({
el : $markup.findById('#fms-rb-coauth-mode-fast'),
name : 'coauth-mode',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', function () {
me.chAutosave.setValue(1);
});
this.rbCoAuthModeFast.$el.parent().on('click', function (){me.rbCoAuthModeFast.setValue(true);});
this.lblCoAuthMode = $markup.findById('#fms-lbl-coauth-mode');
/** coauthoring end **/
this.rbCoAuthModeStrict = new Common.UI.RadioBox({
el : $markup.findById('#fms-rb-coauth-mode-strict'),
name : 'coauth-mode',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.rbCoAuthModeStrict.$el.parent().on('click', function (){me.rbCoAuthModeStrict.setValue(true);});
this.chAutosave = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-autosave'),
labelText: this.strAutosave,
labelText: this.textAutoSave,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', function(field, newValue, oldValue, eOpts){
if (field.getValue()!=='checked' && me.cmbCoAuthMode.getValue()) {
me.cmbCoAuthMode.setValue(0);
me.lblCoAuthMode.text(me.strCoAuthModeDescStrict);
if (field.getValue()!=='checked' && me.rbCoAuthModeFast.getValue()) {
me.rbCoAuthModeStrict.setValue(1);
}
});
this.lblAutosave = $markup.findById('#fms-lbl-autosave');
this.chForcesave = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-forcesave'),
labelText: this.strForcesave,
labelText: this.textForceSave,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -375,7 +388,7 @@ define([
this.chAlignGuides = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-align-guides'),
labelText: this.strAlignGuides,
labelText: this.textAlignGuides,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
@ -389,7 +402,7 @@ define([
].join(''));
this.cmbFontRender = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-font-render'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
cls : 'input-group-nr',
itemsTemplate: itemsTemplate,
@ -407,7 +420,7 @@ define([
this.cmbUnit = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-unit'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
cls : 'input-group-nr',
data : [
@ -422,7 +435,7 @@ define([
this.cmbMacros = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-macros'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
@ -431,6 +444,12 @@ define([
{ value: 0, displayValue: this.txtWarnMacros, descValue: this.txtWarnMacrosDesc },
{ value: 1, displayValue: this.txtRunMacros, descValue: this.txtRunMacrosDesc }
],
itemsTemplate: _.template([
'<% _.each(items, function(item) { %>',
'<li id="<%= item.id %>" data-value="<%- item.value %>"><a tabindex="-1" type="menuitem" style ="display: flex; flex-direction: column;">',
'<label><%= scope.getDisplayValue(item) %></label><label class="comment-text"><%= item.descValue %></label></a></li>',
'<% }); %>'
].join('')),
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
@ -454,7 +473,7 @@ define([
this.cmbTheme = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-theme'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
cls : 'input-group-nr',
dataHint : '2',
@ -516,11 +535,11 @@ define([
var fast_coauth = Common.Utils.InternalSettings.get("pe-settings-coauthmode");
$('tr.editsave', this.el)[mode.isEdit || mode.canForcesave ?'show':'hide']();
$('tr.edit', this.el)[mode.isEdit?'show':'hide']();
$('tr.autosave', this.el)[mode.isEdit && (mode.canChangeCoAuthoring || !fast_coauth) ? 'show' : 'hide']();
if (this.mode.isDesktopApp && this.mode.isOffline) {
this.chAutosave.setCaption(this.strAutoRecover);
this.lblAutosave.text(this.textAutoRecover);
this.chAutosave.setCaption(this.textAutoRecover);
}
$('tr.forcesave', this.el)[mode.canForcesave ? 'show' : 'hide']();
/** coauthoring begin **/
@ -552,9 +571,8 @@ define([
/** coauthoring begin **/
var fast_coauth = Common.Utils.InternalSettings.get("pe-settings-coauthmode");
item = this.cmbCoAuthMode.store.findWhere({value: fast_coauth ? 1 : 0});
this.cmbCoAuthMode.setValue(item ? item.get('value') : 1);
this.lblCoAuthMode.text(item ? item.get('descValue') : this.strCoAuthModeDescFast);
this.rbCoAuthModeFast.setValue(fast_coauth);
this.rbCoAuthModeStrict.setValue(!fast_coauth);
/** coauthoring end **/
value = Common.Utils.InternalSettings.get("pe-settings-fontrender");
@ -608,7 +626,7 @@ define([
Common.Utils.InternalSettings.set("pe-settings-zoom", Common.localStorage.getItem("pe-settings-zoom"));
/** coauthoring begin **/
if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring && this.mode.canChangeCoAuthoring) {
Common.localStorage.setItem("pe-settings-coauthmode", this.cmbCoAuthMode.getValue());
Common.localStorage.setItem("pe-settings-coauthmode", this.rbCoAuthModeFast.getValue());
}
/** coauthoring end **/
Common.localStorage.setItem("pe-settings-fontrender", this.cmbFontRender.getValue());
@ -654,7 +672,6 @@ define([
this.dlgAutoCorrect.show();
},
strInputMode: 'Turn on hieroglyphs',
strZoom: 'Default Zoom Value',
okButtonText: 'Apply',
txtFitSlide: 'Fit to Slide',
@ -667,27 +684,18 @@ define([
txtCm: 'Centimeter',
txtPt: 'Point',
textAutoSave: 'Autosave',
strAutosave: 'Turn on autosave',
/** coauthoring begin **/
strShowChanges: 'Realtime Collaboration Changes',
/** coauthoring end **/
txtAll: 'View All',
txtLast: 'View Last',
textAlignGuides: 'Alignment Guides',
strAlignGuides: 'Turn on alignment guides',
strCoAuthMode: 'Co-editing mode',
strCoAuthModeDescFast: 'Other users will see your changes at once',
strCoAuthModeDescStrict: 'You will need to accept changes before you can see them',
strFast: 'Fast',
strStrict: 'Strict',
textAutoRecover: 'Autorecover',
strAutoRecover: 'Turn on autorecover',
txtInch: 'Inch',
txtFitWidth: 'Fit to Width',
textForceSave: 'Save to Server',
strForcesave: 'Always save to server (otherwise save to server on document close)',
txtSpellCheck: 'Spell Checking',
strSpellCheckMode: 'Turn on spell checking option',
txtCacheMode: 'Default cache mode',
strMacrosSettings: 'Macros Settings',
txtWarnMacros: 'Show Notification',
@ -702,7 +710,13 @@ define([
strTheme: 'Theme',
txtThemeLight: 'Light',
txtThemeDark: 'Dark',
txtAutoCorrect: 'AutoCorrect options...'
txtAutoCorrect: 'AutoCorrect options...',
txtEditingSaving: 'Editing and saving',
txtCollaboration: 'Collaboration',
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'
}, PE.Views.FileMenuPanels.Settings || {}));
PE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({

View file

@ -1585,21 +1585,21 @@
"PE.Views.FileMenuPanels.ProtectDoc.txtSignedInvalid": "Some of the digital signatures in presentation are invalid or could not be verified. The presentation is protected from editing.",
"PE.Views.FileMenuPanels.ProtectDoc.txtView": "View signatures",
"PE.Views.FileMenuPanels.Settings.okButtonText": "Apply",
"PE.Views.FileMenuPanels.Settings.strAlignGuides": "Turn on alignment guides",
"PE.Views.FileMenuPanels.Settings.strAutoRecover": "Turn on autorecover",
"PE.Views.FileMenuPanels.Settings.strAutosave": "Turn on autosave",
"del_PE.Views.FileMenuPanels.Settings.strAlignGuides": "Turn on alignment guides",
"dwl_PE.Views.FileMenuPanels.Settings.strAutoRecover": "Turn on autorecover",
"del_PE.Views.FileMenuPanels.Settings.strAutosave": "Turn on autosave",
"PE.Views.FileMenuPanels.Settings.strCoAuthMode": "Co-editing Mode",
"PE.Views.FileMenuPanels.Settings.strCoAuthModeDescFast": "Other users will see your changes at once",
"PE.Views.FileMenuPanels.Settings.strCoAuthModeDescStrict": "You will need to accept changes before you can see them",
"del_PE.Views.FileMenuPanels.Settings.strCoAuthModeDescFast": "Other users will see your changes at once",
"del_PE.Views.FileMenuPanels.Settings.strCoAuthModeDescStrict": "You will need to accept changes before you can see them",
"PE.Views.FileMenuPanels.Settings.strFast": "Fast",
"PE.Views.FileMenuPanels.Settings.strFontRender": "Font Hinting",
"PE.Views.FileMenuPanels.Settings.strForcesave": "Add version to storage after clicking Save or Ctrl+S",
"PE.Views.FileMenuPanels.Settings.strInputMode": "Turn on hieroglyphs",
"del_PE.Views.FileMenuPanels.Settings.strInputMode": "Turn on hieroglyphs",
"PE.Views.FileMenuPanels.Settings.strMacrosSettings": "Macros Settings",
"PE.Views.FileMenuPanels.Settings.strPaste": "Cut, copy and paste",
"PE.Views.FileMenuPanels.Settings.strPasteButton": "Show the Paste Options button when the content is pasted",
"PE.Views.FileMenuPanels.Settings.strShowChanges": "Real-time Collaboration Changes",
"PE.Views.FileMenuPanels.Settings.strSpellCheckMode": "Turn on spell checking option",
"del_PE.Views.FileMenuPanels.Settings.strShowChanges": "Real-time Collaboration Changes",
"del_PE.Views.FileMenuPanels.Settings.strSpellCheckMode": "Turn on spell checking option",
"PE.Views.FileMenuPanels.Settings.strStrict": "Strict",
"PE.Views.FileMenuPanels.Settings.strTheme": "Interface theme",
"PE.Views.FileMenuPanels.Settings.strUnit": "Unit of Measurement",
@ -1618,8 +1618,12 @@
"PE.Views.FileMenuPanels.Settings.txtAutoCorrect": "AutoCorrect options...",
"PE.Views.FileMenuPanels.Settings.txtCacheMode": "Default cache mode",
"PE.Views.FileMenuPanels.Settings.txtCm": "Centimeter",
"PE.Views.FileMenuPanels.Settings.txtCollaboration": "Collaboration",
"PE.Views.FileMenuPanels.Settings.txtEditingSaving": "Editing and saving",
"PE.Views.FileMenuPanels.Settings.txtFastTip": "Real-time co-editing. All changes are saved automatically",
"PE.Views.FileMenuPanels.Settings.txtFitSlide": "Fit to Slide",
"PE.Views.FileMenuPanels.Settings.txtFitWidth": "Fit to Width",
"PE.Views.FileMenuPanels.Settings.txtHieroglyphs": "Hieroglyphs",
"PE.Views.FileMenuPanels.Settings.txtInch": "Inch",
"PE.Views.FileMenuPanels.Settings.txtInput": "Alternate Input",
"PE.Views.FileMenuPanels.Settings.txtLast": "View Last",
@ -1632,9 +1636,11 @@
"PE.Views.FileMenuPanels.Settings.txtSpellCheck": "Spell Checking",
"PE.Views.FileMenuPanels.Settings.txtStopMacros": "Disable All",
"PE.Views.FileMenuPanels.Settings.txtStopMacrosDesc": "Disable all macros without a notification",
"PE.Views.FileMenuPanels.Settings.txtStrictTip": "Use the \"Save\" button to sync the changes you and others make",
"PE.Views.FileMenuPanels.Settings.txtWarnMacros": "Show Notification",
"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.HeaderFooterDialog.applyAllText": "Apply to all",
"PE.Views.HeaderFooterDialog.applyText": "Apply",
"PE.Views.HeaderFooterDialog.diffLanguage": "You cant use a date format in a different language than the slide master.<br>To change the master, click 'Apply to all' instead of 'Apply'",

View file

@ -160,12 +160,25 @@
#panel-settings {
table {
width: 100%;
width: auto !important;
tr {
td {
padding: 5px 10px;
padding: 6px 10px;
width: auto !important;
&.group-name label {
font-size: 14px;
.font-weight-bold();
}
&.subgroup-name label{
font-size: 11px;
.font-weight-bold();
}
.comment-text{
opacity: 0.45;
}
&.left {
text-align: right;
width: 30%;
@ -184,6 +197,9 @@
&.divider {
height: 10px;
}
&.divider-group {
height: 12px;
}
}
}
}

View file

@ -31,7 +31,7 @@
<div id="panel-createnew" class="content-box"></div>
<div id="panel-info" class="content-box"></div>
<div id="panel-rights" class="content-box"></div>
<div id="panel-settings" class="content-box"></div>
<div id="panel-settings-general" class="content-box"></div>
<div id="panel-help" class="content-box"></div>
<div id="panel-protect" class="content-box"></div>
<div id="panel-print" class="content-box"></div>

View file

@ -336,7 +336,7 @@ define([
if (!this.panels) {
this.panels = {
'opts' : (new SSE.Views.FileMenuPanels.Settings({menu:this})).render(this.$el.find('#panel-settings')),
'opts' : (new SSE.Views.FileMenuPanels.MainSettingsGeneral({menu:this})).render(this.$el.find('#panel-settings-general')),
'info' : (new SSE.Views.FileMenuPanels.DocumentInfo({menu:this})).render(this.$el.find('#panel-info')),
'rights' : (new SSE.Views.FileMenuPanels.DocumentRights({menu:this})).render(this.$el.find('#panel-rights'))
};

View file

@ -182,101 +182,6 @@ define([
}
});
SSE.Views.FileMenuPanels.Settings = Common.UI.BaseView.extend(_.extend({
el: '#panel-settings',
menu: undefined,
template: _.template([
'<div style="width:100%; height:100%; position: relative;">',
'<div id="id-settings-menu" style="position: absolute; width:200px; top: 0; bottom: 0;" class="no-padding"></div>',
'<div id="id-settings-content" style="position: absolute; left: 200px; top: 0; right: 0; bottom: 0;" class="no-padding">',
'<div id="panel-settings-general" style="width:100%; height:100%;position:relative;" class="no-padding main-settings-panel active"></div>',
'<div id="panel-settings-spellcheck" style="width:100%; height:100%;position:relative;" class="no-padding main-settings-panel"></div>',
'</div>',
'</div>'
].join('')),
initialize: function(options) {
Common.UI.BaseView.prototype.initialize.call(this,arguments);
this.menu = options.menu;
},
render: function(node) {
var $markup = $(this.template({scope: this}));
this.generalSettings = new SSE.Views.FileMenuPanels.MainSettingsGeneral({menu: this.menu});
this.generalSettings.options = {alias:'MainSettingsGeneral'};
this.generalSettings.render($markup.findById('#panel-settings-general'));
this.spellcheckSettings = new SSE.Views.FileMenuPanels.MainSpellCheckSettings({menu: this.menu});
this.spellcheckSettings.render($markup.findById('#panel-settings-spellcheck'));
this.viewSettingsPicker = new Common.UI.DataView({
el: $markup.findById('#id-settings-menu'),
store: new Common.UI.DataViewStore([
{name: this.txtGeneral, panel: this.generalSettings, iconCls:'toolbar__icon btn-settings', contentTarget: 'panel-settings-general', selected: true},
{name: this.txtSpellChecking, panel: this.spellcheckSettings, iconCls:'toolbar__icon btn-ic-docspell', contentTarget: 'panel-settings-spellcheck'}
]),
itemTemplate: _.template([
'<div id="<%= id %>" class="settings-item-wrap">',
'<div class="settings-icon <%= iconCls %>" style="display: inline-block;" >',
'</div><%= name %>',
'</div>'
].join('')),
itemDataHint: '2',
itemDataHintDirection: 'left',
itemDataHintOffset: [-2, 20]
});
this.viewSettingsPicker.on('item:select', _.bind(function(dataview, itemview, record) {
var panel = record.get('panel');
$('#id-settings-content > div').removeClass('active');
panel.$el.addClass('active');
panel.show();
}, this));
this.$el = $(node).html($markup);
return this;
},
show: function() {
Common.UI.BaseView.prototype.show.call(this,arguments);
var item = this.viewSettingsPicker.getSelectedRec();
item && item.get('panel').show();
},
setMode: function(mode) {
this.mode = mode;
this.generalSettings && this.generalSettings.setMode(this.mode);
this.spellcheckSettings && this.spellcheckSettings.setMode(this.mode);
if (!this.mode.isEdit) {
$(this.viewSettingsPicker.dataViewItems[1].el).hide();
if (this.spellcheckSettings && this.spellcheckSettings.$el && this.spellcheckSettings.$el.hasClass('active'))
this.viewSettingsPicker.selectByIndex(0);
}
},
setApi: function(api) {
this.generalSettings && this.generalSettings.setApi(api);
this.spellcheckSettings && this.spellcheckSettings.setApi(api);
},
SetDisabled: function(disabled) {
if ( disabled ) {
$(this.viewSettingsPicker.dataViewItems[1].el).hide();
this.viewSettingsPicker.selectByIndex(0, true);
} else {
if ( this.mode.isEdit ) {
$(this.viewSettingsPicker.dataViewItems[1].el).show();
}
}
},
txtGeneral: 'General',
txtPageSettings: 'Page Settings',
txtSpellChecking: 'Spell checking'
}, SSE.Views.FileMenuPanels.Settings || {}));
SSE.Views.FileMenuPanels.MainSettingsGeneral = Common.UI.BaseView.extend(_.extend({
el: '#panel-settings-general',
menu: undefined,
@ -284,96 +189,134 @@ define([
template: _.template([
'<div>',
'<div class="flex-settings">',
'<table class="main" style="margin: 30px 0 0;"><tbody>',
/** coauthoring begin **/
'<tr class="comments">',
'<td class="left"><label><%= scope.txtLiveComment %></label></td>',
'<td class="right"><div id="fms-chb-live-comment"></div></td>',
'</tr>','<tr class="divider comments"></tr>',
'<tr class="comments">',
'<td class="left"></td>',
'<td class="right"><div id="fms-chb-resolved-comment"></div></td>',
'</tr>','<tr class="divider comments"></tr>',
'<table class="main" style="margin: 10px 18px auto;"><tbody>',
'<tr class="editsave">',
'<td class="group-name top" colspan="2"><label><%= scope.txtEditingSaving %></label></td>',
'</tr>',
'<tr class="autosave">',
'<td class="left"><label id="fms-lbl-autosave"><%= scope.textAutoSave %></label></td>',
'<td class="right"><span id="fms-chb-autosave"></span></td>',
'</tr>','<tr class="divider autosave"></tr>',
'<td colspan = "2"><span id="fms-chb-autosave"></span></td>',
'</tr>',
'<tr class="forcesave">',
'<td class="left"><label id="fms-lbl-forcesave"><%= scope.textForceSave %></label></td>',
'<td class="right"><span id="fms-chb-forcesave"></span></td>',
'</tr>','<tr class="divider forcesave"></tr>',
'<tr>',
'<td class="left"><label><%= scope.textRefStyle %></label></td>',
'<td class="right"><div id="fms-chb-r1c1-style"></div></td>',
'</tr>','<tr class="divider"></tr>',
'<tr class="coauth changes">',
'<td class="left"><label><%= scope.strCoAuthMode %></label></td>',
'<td class="right">',
'<div><div id="fms-cmb-coauth-mode" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-coauth-mode" style="vertical-align: middle;"><%= scope.strCoAuthModeDescFast %></label></div></td>',
'</tr>','<tr class="divider coauth changes"></tr>',
/** coauthoring end **/
'<tr class="themes">',
'<td class="left"><label><%= scope.strTheme %></label></td>',
'<td class="right"><span id="fms-cmb-theme"></span></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strZoom %></label></td>',
'<td class="right"><div id="fms-cmb-zoom" class="input-group-nr"></div></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strFontRender %></label></td>',
'<td class="right"><span id="fms-cmb-font-render"></span></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"><label><%= scope.strUnit %></label></td>',
'<td class="right"><span id="fms-cmb-unit"></span></td>',
'</tr>','<tr class="divider"></tr>',
'<td colspan="2"><span id="fms-chb-forcesave"></span></td>',
'</tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.strFuncLocale %></label></td>',
'<td class="right">',
'<td colspan = "2"><div id="fms-chb-paste-settings"></div></td>',
'</tr>',
'<tr class ="editsave divider-group"></tr>',
'<tr class="collaboration" >',
'<td class="group-name" colspan="2"><label><%= scope.txtCollaboration %></label></td>',
'</tr>',
'<tr class="collaboration">',
'<td class="subgroup-name" colspan="2"><label><%= scope.strCoAuthMode %></label></td>',
'</tr>',
'<tr class="coauth changes">',
'<td colspan="2"><div style="display: flex;">',
'<div id="fms-rb-coauth-mode-fast"></div>',
'<span style ="display: flex; flex-direction: column;"><label><%= scope.strFast %></label>',
'<label class="comment-text"><%= scope.txtFastTip %></label></span>',
'</div></td>',
'</tr>',
'<tr class="coauth changes">',
'<td colspan="2"><div style="display: flex; ">',
'<div id="fms-rb-coauth-mode-strict"></div>',
'<span style ="display: flex; flex-direction: column;"><label><%= scope.strStrict %></label>',
'<label class="comment-text"><%= scope.txtStrictTip %></label></span>',
'</div></td>',
'</div></tr>',
'<tr class ="divider coauth changes"></tr>',
'<tr class="comments">',
'<td colspan="2"><div id="fms-chb-live-comment"></div></td>',
'</tr>',
'<tr class="comments">',
'<td colspan="2"><div id="fms-chb-resolved-comment"></div></td>',
'</tr>',
'<tr class ="collaboration divider-group"></tr>',
'<tr >',
'<td class="group-name" colspan="2"><label><%= scope.txtWorkspace %></label></td>',
'</tr>',
'<tr>',
//'<td class="left"><label><%= scope.textRefStyle %></label></td>',
'<td colspan="2"><div id="fms-chb-r1c1-style"></div></td>',
'</tr>',
'<tr class="themes">',
'<td><label><%= scope.strTheme %></label></td>',
'<td><span id="fms-cmb-theme"></span></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strUnit %></label></td>',
'<td><span id="fms-cmb-unit"></span></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strZoom %></label></td>',
'<td><div id="fms-cmb-zoom" class="input-group-nr"></div></td>',
'</tr>',
'<tr>',
'<td><label><%= scope.strFontRender %></label></td>',
'<td><span id="fms-cmb-font-render"></span></td>',
'</tr>',
'<tr class="macros">',
'<td><label><%= scope.strMacrosSettings %></label></td>',
'<td>',
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'</td>',
'</tr>',
'<tr class ="divider-group"></tr>',
'<tr>',
'<td class="group-name" colspan="2"><label><%= scope.strRegSettings %></label></td>',
'</tr>',
'<tr class="edit">',
'<td><label><%= scope.strFuncLocale %></label></td>',
'<td>',
'<div><div id="fms-cmb-func-locale" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-func-locale" style="vertical-align: middle;"><%= scope.strFuncLocaleEx %></label></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="">',
'<td class="left"><label><%= scope.strRegSettings %></label></td>',
'<td class="right">',
'</tr>',
'<tr>',
'<td><label><%= scope.txtRegion %></label></td>',
'<td>',
'<div><div id="fms-cmb-reg-settings" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-reg-settings" style="vertical-align: middle;"></label></div></td>',
'</tr>','<tr class="divider "></tr>',
'<tr class="">',
'<td class="left"><label><%= scope.strSeparator %></label></td>',
'<td class="right"><div id="fms-chb-separator-settings"></div></td>',
'</tr>',
'<tr class="">',
'<td class="left"></td>',
'<td class="right"><div id="fms-decimal-separator"></div><label class="label-separator" style="margin-left: 10px; padding-top: 4px;"><%= scope.strDecimalSeparator %></label></td>',
'<tr>',
'<td colspan="2"><div id="fms-chb-separator-settings"></div></td>',
'</tr>',
'<tr class="">',
'<td class="left"></td>',
'<td class="right"><div id="fms-thousands-separator"></div><label class="label-separator" style="margin-left: 10px; padding-top: 4px;"><%= scope.strThousandsSeparator %></label></td>',
'</tr>','<tr class="divider "></tr>',
'<tr>',
'<td><label class = "label-separator"><%= scope.strDecimalSeparator %></label></td>',
'<td><div id="fms-decimal-separator"></div></td>',
'</tr>',
'<tr>',
'<td><label class = "label-separator"><%= scope.strThousandsSeparator %></label></td>',
'<td><div id="fms-thousands-separator"></div></td>',
'</tr>',
'<tr class ="divider-group"></tr>',
'<tr class="edit">',
'<td class="left"><label><%= scope.strPaste %></label></td>',
'<td class="right"><div id="fms-chb-paste-settings"></div></td>',
'</tr>','<tr class="divider edit"></tr>',
'<tr class="macros">',
'<td class="left"><label><%= scope.strMacrosSettings %></label></td>',
'<td class="right">',
'<div><div id="fms-cmb-macros" style="display: inline-block; margin-right: 15px;vertical-align: middle;"></div>',
'<label id="fms-lbl-macros" style="vertical-align: middle;"><%= scope.txtWarnMacrosDesc %></label></div></td>',
'</tr>','<tr class="divider macros"></tr>',
'<tr class="fms-btn-apply">',
'<td class="left"></td>',
'<td class="right" style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td colspan="2" class="group-name"><label><%= scope.txtProofing %></label></td>',
'</tr>',
'<tr class="spellcheck">',
'<td><label><%= scope.strDictionaryLanguage %></label></td>',
'<td><span id="fms-cmb-dictionary-language"></span></td>',
'</tr>',
'<tr class="spellcheck">',
'<td colspan="2"><span id="fms-chb-ignore-uppercase-words"></span></td>',
'</tr>',
'<tr class="spellcheck">',
'<td colspan="2"><span id="fms-chb-ignore-numbers-words"></span></td>',
'</tr>',
'<tr class="edit">',
'<td colspan="2"><button type="button" class="btn btn-text-default" id="fms-btn-auto-correct" style="width:auto; display: inline-block;padding-right: 10px;padding-left: 10px;" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.txtAutoCorrect %></button></div></td>',
'</tr>',
'<tr class ="divider-group"></tr>',
'<tr class="fms-btn-apply">',
'<td style="padding-top:15px; padding-bottom: 15px;"><button class="btn normal dlg-btn primary" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td></td>',
'</tr>',
'</tbody></table>',
'</div>',
'<div class="fms-flex-apply hidden">',
'<table class="main" style="margin: 10px 0;"><tbody>',
'<table class="main" style="margin: 10px 18px; width: 100%"><tbody>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button class="btn normal dlg-btn primary" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td><button class="btn normal dlg-btn primary" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'<td></td>',
'</tr>',
'</tbody></table>',
'</div>',
@ -390,11 +333,11 @@ define([
var me = this;
var $markup = $(this.template({scope: this}));
/** coauthoring begin **/
this.chLiveComment = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-live-comment'),
labelText: this.strLiveComment,
dataHint: '3',
labelText: this.strShowComments,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', function(field, newValue, oldValue, eOpts){
@ -403,45 +346,46 @@ define([
this.chResolvedComment = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-resolved-comment'),
labelText: this.strResolvedComment,
dataHint: '3',
labelText: this.strShowResolvedComments,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.chR1C1Style = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-r1c1-style'),
labelText: this.strR1C1,
dataHint: '3',
labelText: this.strReferenceStyle,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.cmbCoAuthMode = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-coauth-mode'),
style : 'width: 160px;',
editable : false,
cls : 'input-group-nr',
data : [
{ value: 1, displayValue: this.strFast, descValue: this.strCoAuthModeDescFast},
{ value: 0, displayValue: this.strStrict, descValue: this.strCoAuthModeDescStrict }
],
dataHint : '3',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
}).on('selected', function(combo, record) {
if (record.value == 1 && (me.chAutosave.getValue()!=='checked'))
me.chAutosave.setValue(1);
me.lblCoAuthMode.text(record.descValue);
this.rbCoAuthModeFast = new Common.UI.RadioBox({
el : $markup.findById('#fms-rb-coauth-mode-fast'),
name : 'coauth-mode',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', function () {
me.chAutosave.setValue(1);
});
this.rbCoAuthModeFast.$el.parent().on('click', function (){me.rbCoAuthModeFast.setValue(true);});
this.lblCoAuthMode = $markup.findById('#fms-lbl-coauth-mode');
this.rbCoAuthModeStrict = new Common.UI.RadioBox({
el : $markup.findById('#fms-rb-coauth-mode-strict'),
name : 'coauth-mode',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.rbCoAuthModeStrict.$el.parent().on('click', function (){me.rbCoAuthModeStrict.setValue(true);});
/** coauthoring end **/
this.cmbZoom = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-zoom'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
menuStyle : 'max-height: 157px;',
data : [
@ -460,7 +404,7 @@ define([
{ value: 400, displayValue: "400%" },
{ value: 500, displayValue: "500%" }
],
dataHint : '3',
dataHint : '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
@ -473,8 +417,9 @@ define([
].join(''));
this.cmbFontRender = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-font-render'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
itemsTemplate: itemsTemplate,
data : [
@ -483,7 +428,7 @@ define([
{ value: Asc.c_oAscFontRenderingModeType.hinting, displayValue: this.txtNative },
{ value: 'custom', displayValue: this.txtCacheMode }
],
dataHint : '3',
dataHint : '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
@ -491,37 +436,36 @@ define([
this.chAutosave = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-autosave'),
labelText: this.strAutosave,
dataHint : '3',
labelText: this.textAutoSave,
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', function(field, newValue, oldValue, eOpts){
if (field.getValue()!=='checked' && me.cmbCoAuthMode.getValue()) {
me.cmbCoAuthMode.setValue(0);
me.lblCoAuthMode.text(me.strCoAuthModeDescStrict);
if (field.getValue()!=='checked' && me.rbCoAuthModeFast.getValue()) {
me.rbCoAuthModeStrict.setValue(true);
}
});
this.lblAutosave = $markup.findById('#fms-lbl-autosave');
this.chForcesave = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-forcesave'),
labelText: this.strForcesave,
dataHint: '3',
labelText: this.textForceSave,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.cmbUnit = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-unit'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
data : [
{ value: Common.Utils.Metric.c_MetricUnits['cm'], displayValue: this.txtCm },
{ value: Common.Utils.Metric.c_MetricUnits['pt'], displayValue: this.txtPt },
{ value: Common.Utils.Metric.c_MetricUnits['inch'], displayValue: this.txtInch }
],
dataHint : '3',
dataHint : '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
@ -540,12 +484,12 @@ define([
this.cmbFuncLocale = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-func-locale'),
style : 'width: 160px;',
style : 'width: 200px;',
menuStyle: 'max-height: 185px;',
editable : false,
cls : 'input-group-nr',
data : formula_arr,
dataHint : '3',
dataHint : '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
}).on('selected', function(combo, record) {
@ -563,7 +507,7 @@ define([
this.cmbRegSettings = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-reg-settings'),
style : 'width: 160px;',
style : 'width: 200px;',
menuStyle: 'max-height: 185px;',
editable : false,
cls : 'input-group-nr',
@ -599,7 +543,7 @@ define([
this.chSeparator = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-separator-settings'),
labelText: this.strUseSeparatorsBasedOnRegionalSettings,
dataHint : '3',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
}).on('change', _.bind(function(field, newValue, oldValue, eOpts){
@ -634,7 +578,7 @@ define([
el: $markup.findById('#fms-decimal-separator'),
style: 'width: 35px;',
validateOnBlur: false,
dataHint : '3',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
@ -645,7 +589,7 @@ define([
el: $markup.findById('#fms-thousands-separator'),
style: 'width: 35px;',
validateOnBlur: false,
dataHint : '3',
dataHint : '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
@ -654,7 +598,7 @@ define([
this.cmbMacros = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-macros'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
menuCls : 'menu-aligned',
cls : 'input-group-nr',
@ -663,32 +607,69 @@ define([
{ value: 0, displayValue: this.txtWarnMacros, descValue: this.txtWarnMacrosDesc },
{ value: 1, displayValue: this.txtRunMacros, descValue: this.txtRunMacrosDesc }
],
dataHint : '3',
itemsTemplate: _.template([
'<% _.each(items, function(item) { %>',
'<li id="<%= item.id %>" data-value="<%- item.value %>"><a tabindex="-1" type="menuitem" style ="display: flex; flex-direction: column;">',
'<label><%= scope.getDisplayValue(item) %></label><label class="comment-text"><%= item.descValue %></label></a></li>',
'<% }); %>'
].join('')),
dataHint : '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
}).on('selected', function(combo, record) {
me.lblMacrosDesc.text(record.descValue);
});
this.lblMacrosDesc = $markup.findById('#fms-lbl-macros');
this.chPaste = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-paste-settings'),
labelText: this.strPasteButton,
dataHint: '3',
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.cmbTheme = new Common.UI.ComboBox({
el : $markup.findById('#fms-cmb-theme'),
style : 'width: 160px;',
style : 'width: 128px;',
editable : false,
cls : 'input-group-nr',
dataHint : '3',
dataHint : '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
this.cmbDictionaryLanguage = new Common.UI.ComboBox({
el: $markup.findById('#fms-cmb-dictionary-language'),
cls: 'input-group-nr',
style: 'width: 200px;',
editable: false,
menuCls : 'menu-aligned',
menuStyle: 'min-width: 267px; max-height: 209px;',
dataHint: '2',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
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.btnAutoCorrect = new Common.UI.Button({
el: $markup.findById('#fms-btn-auto-correct')
});
this.btnAutoCorrect.on('click', _.bind(this.autoCorrect, this));
$markup.find('.btn.primary').each(function(index, el){
(new Common.UI.Button({
el: $(el)
@ -745,13 +726,14 @@ define([
setMode: function(mode) {
this.mode = mode;
var fast_coauth = Common.Utils.InternalSettings.get("sse-settings-coauthmode");
var fast_coauth = Common.Utils.InternalSettings.get("sse-settings-coauthmode");
$('tr.editsave', this.el)[mode.isEdit || mode.canForcesave ? 'show' : 'hide']();
$('tr.collaboration', this.el)[mode.canCoAuthoring ? 'show' : 'hide']();
$('tr.edit', this.el)[mode.isEdit ? 'show' : 'hide']();
$('tr.autosave', this.el)[mode.isEdit && (mode.canChangeCoAuthoring || !fast_coauth) ? 'show' : 'hide']();
if (this.mode.isDesktopApp && this.mode.isOffline) {
this.chAutosave.setCaption(this.strAutoRecover);
this.lblAutosave.text(this.textAutoRecover);
this.chAutosave.setCaption(this.textAutoRecover);
}
$('tr.forcesave', this.el)[mode.canForcesave ? 'show' : 'hide']();
$('tr.comments', this.el)[mode.canCoAuthoring ? 'show' : 'hide']();
@ -761,6 +743,7 @@ define([
if ( !Common.UI.Themes.available() ) {
$('tr.themes, tr.themes + tr.divider', this.el).hide();
}
$('tr.spellcheck', this.el)[Common.UI.FeaturesManager.canChange('spellcheck') && mode.isEdit ? 'show' : 'hide']();
},
setApi: function(api) {
@ -779,9 +762,8 @@ define([
this.chR1C1Style.setValue(Common.Utils.InternalSettings.get("sse-settings-r1c1"));
var fast_coauth = Common.Utils.InternalSettings.get("sse-settings-coauthmode");
item = this.cmbCoAuthMode.store.findWhere({value: fast_coauth ? 1 : 0});
this.cmbCoAuthMode.setValue(item ? item.get('value') : 1);
this.lblCoAuthMode.text(item ? item.get('descValue') : this.strCoAuthModeDescFast);
this.rbCoAuthModeFast.setValue(fast_coauth);
this.rbCoAuthModeStrict.setValue(!fast_coauth);
/** coauthoring end **/
value = Common.Utils.InternalSettings.get("sse-settings-fontrender");
@ -848,7 +830,6 @@ define([
item = this.cmbMacros.store.findWhere({value: Common.Utils.InternalSettings.get("sse-macros-mode")});
this.cmbMacros.setValue(item ? item.get('value') : 0);
this.lblMacrosDesc.text(item ? item.get('descValue') : this.txtWarnMacrosDesc);
this.chPaste.setValue(Common.Utils.InternalSettings.get("sse-settings-paste-button"));
@ -862,6 +843,43 @@ define([
item = this.cmbTheme.store.findWhere({value: Common.UI.Themes.currentThemeId()});
this.cmbTheme.setValue(item ? item.get('value') : Common.UI.Themes.defaultThemeId());
}
if (Common.UI.FeaturesManager.canChange('spellcheck') && this.mode.isEdit) {
var arrLang = SSE.getController('Spellcheck').loadLanguages(),
allLangs = arrLang[0],
langs = arrLang[1],
change = arrLang[2];
var sessionValue = Common.Utils.InternalSettings.get("sse-spellcheck-locale"),
value;
if (sessionValue)
value = parseInt(sessionValue);
else
value = this.mode.lang ? parseInt(Common.util.LanguageInfo.getLocalLanguageCode(this.mode.lang)) : 0x0409;
if (langs && langs.length > 0) {
if (this.cmbDictionaryLanguage.store.length === 0 || change) {
this.cmbDictionaryLanguage.setData(langs);
}
var item = this.cmbDictionaryLanguage.store.findWhere({value: value});
if (!item && allLangs[value]) {
value = allLangs[value][0].split(/[\-\_]/)[0];
item = this.cmbDictionaryLanguage.store.find(function (model) {
return model.get('shortName').indexOf(value) == 0;
});
}
this.cmbDictionaryLanguage.setValue(item ? item.get('value') : langs[0].value);
value = this.cmbDictionaryLanguage.getValue();
if (value !== parseInt(sessionValue)) {
Common.Utils.InternalSettings.set("sse-spellcheck-locale", value);
}
} else {
this.cmbDictionaryLanguage.setValue(Common.util.LanguageInfo.getLocalLanguageName(value)[1]);
this.cmbDictionaryLanguage.setDisabled(true);
}
this.chIgnoreUppercase.setValue(Common.Utils.InternalSettings.get("sse-spellcheck-ignore-uppercase-words"));
this.chIgnoreNumbers.setValue(Common.Utils.InternalSettings.get("sse-spellcheck-ignore-numbers-words"));
}
},
applySettings: function() {
@ -872,7 +890,7 @@ define([
Common.localStorage.setItem("sse-settings-livecomment", this.chLiveComment.isChecked() ? 1 : 0);
Common.localStorage.setItem("sse-settings-resolvedcomment", this.chResolvedComment.isChecked() ? 1 : 0);
if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring && this.mode.canChangeCoAuthoring)
Common.localStorage.setItem("sse-settings-coauthmode", this.cmbCoAuthMode.getValue());
Common.localStorage.setItem("sse-settings-coauthmode", this.rbCoAuthModeFast.getValue()? 1 : 0);
/** coauthoring end **/
Common.localStorage.setItem("sse-settings-r1c1", this.chR1C1Style.isChecked() ? 1 : 0);
Common.localStorage.setItem("sse-settings-fontrender", this.cmbFontRender.getValue());
@ -916,6 +934,27 @@ define([
if (this._oldUnits !== this.cmbUnit.getValue())
Common.NotificationCenter.trigger('settings:unitschanged', this);
}
if (Common.UI.FeaturesManager.canChange('spellcheck') && this.mode.isEdit) {
var value = this.chIgnoreUppercase.isChecked();
Common.localStorage.setBool("sse-spellcheck-ignore-uppercase-words", value);
Common.Utils.InternalSettings.set("sse-spellcheck-ignore-uppercase-words", value);
value = this.chIgnoreNumbers.isChecked();
Common.localStorage.setBool("sse-spellcheck-ignore-numbers-words", value);
Common.Utils.InternalSettings.set("sse-spellcheck-ignore-numbers-words", value);
if (!this.cmbDictionaryLanguage.isDisabled()) {
value = this.cmbDictionaryLanguage.getValue();
Common.localStorage.setItem("sse-spellcheck-locale", value);
Common.Utils.InternalSettings.set("sse-spellcheck-locale", value);
}
Common.localStorage.save();
if (this.menu) {
this.menu.fireEvent('spellcheck:apply', [this.menu]);
}
}
},
updateRegionalExample: function(landId) {
@ -953,12 +992,26 @@ define([
this._fontRender = combo.getValue();
},
strLiveComment: 'Turn on option',
autoCorrect: function() {
if (this.dlgAutoCorrect && this.dlgAutoCorrect.isVisible()) return;
this.dlgAutoCorrect = new Common.Views.AutoCorrectDialog({
api: this.api
});
this.dlgAutoCorrect.show();
},
SetDisabled: function(disabled) {
if ( disabled ) {
this.$el.hide();
} else {
if ( this.mode.isEdit ) {
this.$el.show();
}
}
},
strZoom: 'Default Zoom Value',
okButtonText: 'Apply',
/** coauthoring begin **/
txtLiveComment: 'Live Commenting',
/** coauthoring end **/
txtWin: 'as Windows',
txtMac: 'as OS X',
txtNative: 'Native',
@ -987,19 +1040,13 @@ define([
strRegSettings: 'Regional Settings',
strRegSettingsEx: 'Example: ',
strCoAuthMode: 'Co-editing mode',
strCoAuthModeDescFast: 'Other users will see your changes at once',
strCoAuthModeDescStrict: 'You will need to accept changes before you can see them',
strFast: 'Fast',
strStrict: 'Strict',
textAutoRecover: 'Autorecover',
strAutoRecover: 'Turn on autorecover',
txtInch: 'Inch',
textForceSave: 'Save to Server',
strForcesave: 'Always save to server (otherwise save to server on document close)',
strResolvedComment: 'Turn on display of the resolved comments',
textRefStyle: 'Reference Style',
strR1C1: 'Turn on R1C1 style',
strSeparator: 'Separator',
strUseSeparatorsBasedOnRegionalSettings: 'Use separators based on regional settings',
strDecimalSeparator: 'Decimal separator',
strThousandsSeparator: 'Thousands separator',
@ -1052,191 +1099,23 @@ define([
txtExamplePt: 'SOMA; MÍNIMO; MÁXIMO; CONTAR',
txtExamplePtbr: 'SOMA; MÍNIMO; MÁXIMO; CONT.NÚM',
txtExampleSv: 'SUMMA; MIN; MAX; ANTAL',
txtExampleTr: 'TOPLA; MİN; MAK; BAĞ_DEĞ_SAY'
}, SSE.Views.FileMenuPanels.MainSettingsGeneral || {}));
SSE.Views.FileMenuPanels.MainSpellCheckSettings = Common.UI.BaseView.extend(_.extend({
el: '#panel-settings-spellcheck',
menu: undefined,
template: _.template([
'<table class="main" style="margin: 30px 0;"><tbody>',
'<tr class="spellcheck">',
'<td class="left" style="padding-bottom: 8px;"><label><%= scope.strDictionaryLanguage %></label></td>',
'<td class="right" style="padding-bottom: 8px;"><span id="fms-cmb-dictionary-language"></span></td>',
'</tr>',
'<tr class="spellcheck">',
'<td class="left" style="padding-bottom: 8px;"></td>',
'<td class="right" style="padding-bottom: 8px;"><span id="fms-chb-ignore-uppercase-words"></span></td>',
'</tr>',
'<tr class="spellcheck">',
'<td class="left"></td>',
'<td class="right"><span id="fms-chb-ignore-numbers-words"></span></td>',
'</tr>','<tr class="divider spellcheck"></tr>',
'<tr>',
'<td class="left"><label><%= scope.txtProofing %></label></td>',
'<td class="right"><button type="button" class="btn btn-text-default" id="fms-btn-auto-correct" style="width:auto; display: inline-block;padding-right: 10px;padding-left: 10px;" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.txtAutoCorrect %></button></div></td>',
'</tr>','<tr class="divider"></tr>',
'<tr>',
'<td class="left"></td>',
'<td class="right"><button id="fms-spellcheck-btn-apply" class="btn normal dlg-btn primary" data-hint="3" data-hint-direction="bottom" data-hint-offset="big"><%= scope.okButtonText %></button></td>',
'</tr>',
'</tbody></table>'
].join('')),
initialize: function(options) {
Common.UI.BaseView.prototype.initialize.call(this,arguments);
this.menu = options.menu;
},
render: function(node) {
var me = this;
var $markup = $(this.template({scope: this}));
this.chIgnoreUppercase = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-ignore-uppercase-words'),
labelText: this.strIgnoreWordsInUPPERCASE,
dataHint: '3',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.chIgnoreNumbers = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-ignore-numbers-words'),
labelText: this.strIgnoreWordsWithNumbers,
dataHint: '3',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.cmbDictionaryLanguage = new Common.UI.ComboBox({
el: $markup.findById('#fms-cmb-dictionary-language'),
cls: 'input-group-nr',
style: 'width: 267px;',
editable: false,
menuStyle: 'min-width: 267px; max-height: 209px;',
dataHint: '3',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
this.btnAutoCorrect = new Common.UI.Button({
el: $markup.findById('#fms-btn-auto-correct')
});
this.btnAutoCorrect.on('click', _.bind(this.autoCorrect, this));
this.btnApply = new Common.UI.Button({
el: $markup.findById('#fms-spellcheck-btn-apply')
});
this.btnApply.on('click', _.bind(this.applySettings, this));
this.$el = $(node).html($markup);
if (_.isUndefined(this.scroller)) {
this.scroller = new Common.UI.Scroller({
el: this.$el,
suppressScrollX: true,
alwaysVisibleY: true
});
}
return this;
},
show: function() {
Common.UI.BaseView.prototype.show.call(this,arguments);
this.updateSettings();
this.scroller && this.scroller.update();
},
setMode: function(mode) {
this.mode = mode;
$('tr.spellcheck', this.el)[Common.UI.FeaturesManager.canChange('spellcheck') ? 'show' : 'hide']();
},
setApi: function(api) {
this.api = api;
},
updateSettings: function() {
if (!Common.UI.FeaturesManager.canChange('spellcheck')) return;
var arrLang = SSE.getController('Spellcheck').loadLanguages(),
allLangs = arrLang[0],
langs = arrLang[1],
change = arrLang[2];
var sessionValue = Common.Utils.InternalSettings.get("sse-spellcheck-locale"),
value;
if (sessionValue)
value = parseInt(sessionValue);
else
value = this.mode.lang ? parseInt(Common.util.LanguageInfo.getLocalLanguageCode(this.mode.lang)) : 0x0409;
if (langs && langs.length > 0) {
if (this.cmbDictionaryLanguage.store.length === 0 || change) {
this.cmbDictionaryLanguage.setData(langs);
}
var item = this.cmbDictionaryLanguage.store.findWhere({value: value});
if (!item && allLangs[value]) {
value = allLangs[value][0].split(/[\-\_]/)[0];
item = this.cmbDictionaryLanguage.store.find(function(model){
return model.get('shortName').indexOf(value)==0;
});
}
this.cmbDictionaryLanguage.setValue(item ? item.get('value') : langs[0].value);
value = this.cmbDictionaryLanguage.getValue();
if (value !== parseInt(sessionValue)) {
Common.Utils.InternalSettings.set("sse-spellcheck-locale", value);
}
} else {
this.cmbDictionaryLanguage.setValue(Common.util.LanguageInfo.getLocalLanguageName(value)[1]);
this.cmbDictionaryLanguage.setDisabled(true);
}
this.chIgnoreUppercase.setValue(Common.Utils.InternalSettings.get("sse-spellcheck-ignore-uppercase-words"));
this.chIgnoreNumbers.setValue(Common.Utils.InternalSettings.get("sse-spellcheck-ignore-numbers-words"));
},
applySettings: function() {
if (!Common.UI.FeaturesManager.canChange('spellcheck')) return;
var value = this.chIgnoreUppercase.isChecked();
Common.localStorage.setBool("sse-spellcheck-ignore-uppercase-words", value);
Common.Utils.InternalSettings.set("sse-spellcheck-ignore-uppercase-words", value);
value = this.chIgnoreNumbers.isChecked();
Common.localStorage.setBool("sse-spellcheck-ignore-numbers-words", value);
Common.Utils.InternalSettings.set("sse-spellcheck-ignore-numbers-words", value);
if (!this.cmbDictionaryLanguage.isDisabled()) {
value = this.cmbDictionaryLanguage.getValue();
Common.localStorage.setItem("sse-spellcheck-locale", value);
Common.Utils.InternalSettings.set("sse-spellcheck-locale", value);
}
Common.localStorage.save();
if (this.menu) {
this.menu.fireEvent('spellcheck:apply', [this.menu]);
}
},
autoCorrect: function() {
if (this.dlgAutoCorrect && this.dlgAutoCorrect.isVisible()) return;
this.dlgAutoCorrect = new Common.Views.AutoCorrectDialog({
api: this.api
});
this.dlgAutoCorrect.show();
},
txtExampleTr: 'TOPLA; MİN; MAK; BAĞ_DEĞ_SAY',
txtEditingSaving: 'Editing and saving',
txtCollaboration: 'Collaboration',
strShowComments: 'Show comments in sheet',
strShowResolvedComments: 'Show resolved comments',
txtWorkspace: 'Workspace',
strReferenceStyle: 'R1C1 reference style',
txtRegion: 'Region',
txtProofing: 'Proofing',
strDictionaryLanguage: 'Dictionary language',
strIgnoreWordsInUPPERCASE: 'Ignore words in UPPERCASE',
strIgnoreWordsWithNumbers: 'Ignore words with numbers',
strDictionaryLanguage: 'Dictionary language',
okButtonText: 'Apply',
txtProofing: 'Proofing',
txtAutoCorrect: 'AutoCorrect options...'
}, SSE.Views.FileMenuPanels.MainSpellCheckSettings || {}));
txtAutoCorrect: 'AutoCorrect options...',
txtFastTip: 'Real-time co-editing. All changes are saved automatically',
txtStrictTip: 'Use the \'Save\' button to sync the changes you and others make'
}, SSE.Views.FileMenuPanels.MainSettingsGeneral || {}));
SSE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({
el: '#panel-recentfiles',

View file

@ -2059,26 +2059,32 @@
"SSE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Change access rights",
"SSE.Views.FileMenuPanels.DocumentRights.txtRights": "Persons who have rights",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.okButtonText": "Apply",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strAutoRecover": "Turn on autorecover",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strAutosave": "Turn on autosave",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strAutoRecover": "Turn on autorecover",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strAutosave": "Turn on autosave",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strCoAuthMode": "Co-editing Mode",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strCoAuthModeDescFast": "Other users will see your changes at once",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strCoAuthModeDescStrict": "You will need to accept changes before you can see them",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strCoAuthModeDescFast": "Other users will see your changes at once",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strCoAuthModeDescStrict": "You will need to accept changes before you can see them",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strDecimalSeparator": "Decimal separator",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strDictionaryLanguage": "Dictionary language",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strFast": "Fast",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strFontRender": "Font Hinting",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strForcesave": "Add version to storage after clicking Save or Ctrl+S",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strFuncLocale": "Formula Language",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strFuncLocaleEx": "Example: SUM; MIN; MAX; COUNT",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strLiveComment": "Turn on display of the comments",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strIgnoreWordsInUPPERCASE": "Ignore words in UPPERCASE",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strIgnoreWordsWithNumbers": "Ignore words with numbers",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strLiveComment": "Turn on display of the comments",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strMacrosSettings": "Macros Settings",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strPaste": "Cut, copy and paste",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strPasteButton": "Show the Paste Options button when the content is pasted",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strR1C1": "Turn on R1C1 style",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strR1C1": "Turn on R1C1 style",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strReferenceStyle": "R1C1 reference style",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strRegSettings": "Regional Settings",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strRegSettingsEx": "Example: ",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strResolvedComment": "Turn on display of the resolved comments",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strSeparator": "Separator",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strResolvedComment": "Turn on display of the resolved comments",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.strSeparator": "Separator",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strShowComments": "Show comments in sheet",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strShowResolvedComments": "Show resolved comments",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strStrict": "Strict",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strTheme": "Interface theme",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.strThousandsSeparator": "Thousands separator",
@ -2095,17 +2101,21 @@
"SSE.Views.FileMenuPanels.MainSettingsGeneral.textForceSave": "Saving intermediate versions",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.textMinute": "Every Minute",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.textRefStyle": "Reference Style",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtAutoCorrect": "AutoCorrect options...",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtBe": "Belarusian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtBg": "Bulgarian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCa": "Catalan",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCacheMode": "Default cache mode",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCm": "Centimeter",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCollaboration": "Collaboration",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCs": "Czech",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtDa": "Danish",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtEditingSaving": "Editing and saving",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtDe": "German",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtEl": "Greek",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtEn": "English",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtEs": "Spanish",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtFastTip": "Real-time co-editing. All changes are saved automatically",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtFi": "Finnish",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtFr": "French",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtHu": "Hungarian",
@ -2114,7 +2124,7 @@
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtIt": "Italian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtJa": "Japanese",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtKo": "Korean",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtLiveComment": "Commenting Display",
"del_SSE.Views.FileMenuPanels.MainSettingsGeneral.txtLiveComment": "Commenting Display",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtLo": "Lao",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtLv": "Latvian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtMac": "as OS X",
@ -2122,9 +2132,11 @@
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtNb": "Norwegian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtNl": "Dutch",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPl": "Polish",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtProofing": "Proofing",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPt": "Point",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPtbr": "Portuguese (Brazil)",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtPtlang": "Portuguese (Portugal)",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRegion": "Region",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRo": "Romanian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRu": "Russian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtRunMacros": "Enable All",
@ -2133,6 +2145,7 @@
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSl": "Slovenian",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacros": "Disable All",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStopMacrosDesc": "Disable all macros without a notification",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtStrictTip": "Use the \"Save\" button to sync the changes you and others make",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtSv": "Swedish",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtTr": "Turkish",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtUk": "Ukrainian",
@ -2140,13 +2153,14 @@
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacros": "Show Notification",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWarnMacrosDesc": "Disable all macros with a notification",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWin": "as Windows",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtWorkspace": "Workspace",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtZh": "Chinese",
"SSE.Views.FileMenuPanels.MainSpellCheckSettings.okButtonText": "Apply",
"SSE.Views.FileMenuPanels.MainSpellCheckSettings.strDictionaryLanguage": "Dictionary language",
"SSE.Views.FileMenuPanels.MainSpellCheckSettings.strIgnoreWordsInUPPERCASE": "Ignore words in UPPERCASE",
"SSE.Views.FileMenuPanels.MainSpellCheckSettings.strIgnoreWordsWithNumbers": "Ignore words with numbers",
"SSE.Views.FileMenuPanels.MainSpellCheckSettings.txtAutoCorrect": "AutoCorrect options...",
"SSE.Views.FileMenuPanels.MainSpellCheckSettings.txtProofing": "Proofing",
"del_SSE.Views.FileMenuPanels.MainSpellCheckSettings.okButtonText": "Apply",
"del_SSE.Views.FileMenuPanels.MainSpellCheckSettings.strDictionaryLanguage": "Dictionary language",
"del_SSE.Views.FileMenuPanels.MainSpellCheckSettings.strIgnoreWordsInUPPERCASE": "Ignore words in UPPERCASE",
"del_SSE.Views.FileMenuPanels.MainSpellCheckSettings.strIgnoreWordsWithNumbers": "Ignore words with numbers",
"del_SSE.Views.FileMenuPanels.MainSpellCheckSettings.txtAutoCorrect": "AutoCorrect options...",
"del_SSE.Views.FileMenuPanels.MainSpellCheckSettings.txtProofing": "Proofing",
"SSE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Warning",
"SSE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "With password",
"SSE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Spreadsheet",
@ -2158,9 +2172,9 @@
"SSE.Views.FileMenuPanels.ProtectDoc.txtSigned": "Valid signatures have been added to the spreadsheet. The spreadsheet is protected from editing.",
"SSE.Views.FileMenuPanels.ProtectDoc.txtSignedInvalid": "Some of the digital signatures in spreadsheet are invalid or could not be verified. The spreadsheet is protected from editing.",
"SSE.Views.FileMenuPanels.ProtectDoc.txtView": "View signatures",
"SSE.Views.FileMenuPanels.Settings.txtGeneral": "General",
"SSE.Views.FileMenuPanels.Settings.txtPageSettings": "Page Settings",
"SSE.Views.FileMenuPanels.Settings.txtSpellChecking": "Spell checking",
"del_SSE.Views.FileMenuPanels.Settings.txtGeneral": "General",
"del_SSE.Views.FileMenuPanels.Settings.txtPageSettings": "Page Settings",
"del_SSE.Views.FileMenuPanels.Settings.txtSpellChecking": "Spell checking",
"SSE.Views.FormatRulesEditDlg.fillColor": "Fill color",
"SSE.Views.FormatRulesEditDlg.notcriticalErrorTitle": "Warning",
"SSE.Views.FormatRulesEditDlg.text2Scales": "2 Color scale",

View file

@ -159,7 +159,7 @@
flex-direction: column;
}
#panel-settings {
#panel-settings-general {
padding: 0;
#id-settings-menu {
@ -206,9 +206,24 @@
}
table {
width: auto !important;
tr {
td {
padding: 5px 10px;
//padding: 5px 10px;
padding: 6px 10px;
&.group-name label {
font-size: 14px;
.font-weight-bold();
}
&.subgroup-name label{
font-size: 11px;
.font-weight-bold();
}
.comment-text{
opacity: 0.45;
}
&.left {
text-align: right;
@ -228,6 +243,9 @@
&.divider {
height: 10px;
}
&.divider-group {
height: 12px;
}
}
&.main {