Merge branch 'develop' into feature/desktop-new

# Conflicts:
#	apps/common/main/lib/util/utils.js
This commit is contained in:
Maxim Kadushkin 2018-02-02 16:18:07 +03:00
commit c8e9fe9a63
1373 changed files with 53808 additions and 1551 deletions

View file

@ -43,7 +43,8 @@
print: <can print>, // default = true print: <can print>, // default = true
rename: <can rename>, // default = false rename: <can rename>, // default = false
changeHistory: <can change history>, // default = false changeHistory: <can change history>, // default = false
comment: <can comment in view mode> // default = edit comment: <can comment in view mode> // default = edit,
modifyFilter: <can add, remove and save filter in the spreadsheet> // default = true
} }
}, },
editorConfig: { editorConfig: {
@ -170,7 +171,8 @@
'onAppReady': <application ready callback>, 'onAppReady': <application ready callback>,
'onBack': <back to folder callback>, 'onBack': <back to folder callback>,
'onError': <error callback>, 'onError': <error callback>,
'onDocumentReady': <document ready callback> 'onDocumentReady': <document ready callback>,
'onWarning': <warning callback>
} }
} }
*/ */
@ -506,9 +508,10 @@
}); });
}; };
var _downloadAs = function() { var _downloadAs = function(data) {
_sendCommand({ _sendCommand({
command: 'downloadAs' command: 'downloadAs',
data: data
}); });
}; };

View file

@ -80,8 +80,8 @@ if (Common === undefined) {
$me.trigger('processmailmerge', data); $me.trigger('processmailmerge', data);
}, },
'downloadAs': function() { 'downloadAs': function(data) {
$me.trigger('downloadas'); $me.trigger('downloadas', data);
}, },
'processMouse': function(data) { 'processMouse': function(data) {
@ -189,6 +189,16 @@ if (Common === undefined) {
}); });
}, },
reportWarning: function(code, description) {
_postMessage({
event: 'onWarning',
data: {
warningCode: code,
warningDescription: description
}
});
},
sendInfo: function(info) { sendInfo: function(info) {
_postMessage({ _postMessage({
event: 'onInfo', event: 'onInfo',

View file

@ -100,13 +100,20 @@ Common.Locale = new(function() {
var langParam = _getUrlParameterByName('lang'); var langParam = _getUrlParameterByName('lang');
var xhrObj = _createXMLHTTPObject(); var xhrObj = _createXMLHTTPObject();
if (xhrObj && langParam) { if (xhrObj && langParam) {
var lang = langParam.split("-")[0]; var lang = langParam.split(/[\-\_]/)[0];
xhrObj.open('GET', 'locale/' + lang + '.json', false); xhrObj.open('GET', 'locale/' + lang + '.json', false);
xhrObj.send(''); xhrObj.send('');
l10n = eval("(" + xhrObj.responseText + ")"); l10n = eval("(" + xhrObj.responseText + ")");
} }
} }
catch (e) { catch (e) {
try {
xhrObj.open('GET', 'locale/en.json', false);
xhrObj.send('');
l10n = eval("(" + xhrObj.responseText + ")");
}
catch (e) {
}
} }
return { return {

View file

@ -160,8 +160,8 @@ define([
'</span>' + '</span>' +
'</button>' + '</button>' +
'<button type="button" class="btn <%= cls %> inner-box-caption dropdown-toggle" data-toggle="dropdown">' + '<button type="button" class="btn <%= cls %> inner-box-caption dropdown-toggle" data-toggle="dropdown">' +
'<span class="caption"><%= caption %></span>' +
'<span class="btn-fixflex-vcenter">' + '<span class="btn-fixflex-vcenter">' +
'<span class="caption"><%= caption %></span>' +
'<i class="caret img-commonctrl"></i>' + '<i class="caret img-commonctrl"></i>' +
'</span>' + '</span>' +
'</button>' + '</button>' +

View file

@ -99,10 +99,32 @@ define([
initialize : function(options) { initialize : function(options) {
Common.UI.BaseView.prototype.initialize.call(this, options); Common.UI.BaseView.prototype.initialize.call(this, options);
if (this.options.el)
this.render();
},
render: function (parentEl) {
var me = this, var me = this,
el = $(this.el); el = $(this.el);
if (!me.rendered) {
if (parentEl) {
this.setElement(parentEl, false);
parentEl.html(this.template({
labelText: this.options.labelText
}));
el = $(this.el);
} else {
el.html(this.template({
labelText: this.options.labelText
}));
}
this.render(); this.$chk = el.find('input[type=button]');
this.$label = el.find('label');
this.$chk.on('click', _.bind(this.onItemCheck, this));
}
this.rendered = true;
if (this.options.disabled) if (this.options.disabled)
this.setDisabled(this.options.disabled); this.setDisabled(this.options.disabled);
@ -111,20 +133,6 @@ define([
this.setValue(this.options.value, true); this.setValue(this.options.value, true);
// handle events // handle events
this.$chk.on('click', _.bind(this.onItemCheck, this));
},
render: function () {
var el = $(this.el);
el.html(this.template({
labelText: this.options.labelText
}));
this.$chk = el.find('input[type=button]');
this.$label = el.find('label');
this.rendered = true;
return this; return this;
}, },

View file

@ -141,7 +141,7 @@ define([
me.onAfterHideMenu(e); me.onAfterHideMenu(e);
}, 10); }, 10);
return false; return false;
} else if ((e.keyCode == Common.UI.Keys.HOME || e.keyCode == Common.UI.Keys.END || e.keyCode == Common.UI.Keys.BACKSPACE) && this.isMenuOpen()) { } else if ((e.keyCode == Common.UI.Keys.HOME && !e.shiftKey || e.keyCode == Common.UI.Keys.END && !e.shiftKey || e.keyCode == Common.UI.Keys.BACKSPACE && !me._input.is(':focus')) && this.isMenuOpen()) {
me._input.focus(); me._input.focus();
setTimeout(function() { setTimeout(function() {
me._input[0].selectionStart = me._input[0].selectionEnd = (e.keyCode == Common.UI.Keys.HOME) ? 0 : me._input[0].value.length; me._input[0].selectionStart = me._input[0].selectionEnd = (e.keyCode == Common.UI.Keys.HOME) ? 0 : me._input[0].value.length;

View file

@ -143,11 +143,17 @@ define([
el.off('click').on('click', _.bind(this.onClick, this)); el.off('click').on('click', _.bind(this.onClick, this));
el.off('dblclick').on('dblclick', _.bind(this.onDblClick, this)); el.off('dblclick').on('dblclick', _.bind(this.onDblClick, this));
el.off('contextmenu').on('contextmenu', _.bind(this.onContextMenu, this)); el.off('contextmenu').on('contextmenu', _.bind(this.onContextMenu, this));
el.toggleClass('disabled', this.model.get('disabled')); el.toggleClass('disabled', !!this.model.get('disabled'));
if (!_.isUndefined(this.model.get('cls'))) if (!_.isUndefined(this.model.get('cls')))
el.addClass(this.model.get('cls')); el.addClass(this.model.get('cls'));
var tip = el.data('bs.tooltip');
if (tip) {
if (tip.dontShow===undefined)
tip.dontShow = true;
}
this.trigger('change', this, this.model); this.trigger('change', this, this.model);
return this; return this;
@ -233,6 +239,8 @@ define([
me.emptyText = me.options.emptyText || ''; me.emptyText = me.options.emptyText || '';
me.listenStoreEvents= (me.options.listenStoreEvents!==undefined) ? me.options.listenStoreEvents : true; me.listenStoreEvents= (me.options.listenStoreEvents!==undefined) ? me.options.listenStoreEvents : true;
me.allowScrollbar = (me.options.allowScrollbar!==undefined) ? me.options.allowScrollbar : true; me.allowScrollbar = (me.options.allowScrollbar!==undefined) ? me.options.allowScrollbar : true;
if (me.parentMenu)
me.parentMenu.options.restoreHeight = (me.options.restoreHeight>0);
me.rendered = false; me.rendered = false;
me.dataViewItems = []; me.dataViewItems = [];
if (me.options.keyMoveDirection=='vertical') if (me.options.keyMoveDirection=='vertical')
@ -387,7 +395,7 @@ define([
return this.store.where({selected: true}); return this.store.where({selected: true});
}, },
onAddItem: function(record, index, opts) { onAddItem: function(record, store, opts) {
var view = new Common.UI.DataViewItem({ var view = new Common.UI.DataViewItem({
template: this.itemTemplate, template: this.itemTemplate,
model: record model: record
@ -410,7 +418,8 @@ define([
innerEl.append(view.render().el); innerEl.append(view.render().el);
innerEl.find('.empty-text').remove(); innerEl.find('.empty-text').remove();
this.dataViewItems.push(view); var idx = _.indexOf(this.store.models, record);
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
if (record.get('tip')) { if (record.get('tip')) {
var view_el = $(view.el); var view_el = $(view.el);
@ -438,7 +447,11 @@ define([
onResetItems: function() { onResetItems: function() {
_.each(this.dataViewItems, function(item) { _.each(this.dataViewItems, function(item) {
var tip = item.$el.data('bs.tooltip'); var tip = item.$el.data('bs.tooltip');
if (tip) (tip.tip()).remove(); if (tip) {
if (tip.dontShow===undefined)
tip.dontShow = true;
(tip.tip()).remove();
}
}, this); }, this);
$(this.el).html(this.template({ $(this.el).html(this.template({
@ -471,6 +484,9 @@ define([
}); });
} }
if (this.disabled)
this.setDisabled(this.disabled);
this.attachKeyEvents(); this.attachKeyEvents();
this.lastSelectedRec = null; this.lastSelectedRec = null;
this._layoutParams = undefined; this._layoutParams = undefined;
@ -483,6 +499,12 @@ define([
}, },
onRemoveItem: function(view, record) { onRemoveItem: function(view, record) {
var tip = view.$el.data('bs.tooltip');
if (tip) {
if (tip.dontShow===undefined)
tip.dontShow = true;
(tip.tip()).remove();
}
this.stopListening(view); this.stopListening(view);
view.stopListening(); view.stopListening();
@ -688,20 +710,19 @@ define([
var menuRoot = (this.parentMenu.cmpEl.attr('role') === 'menu') var menuRoot = (this.parentMenu.cmpEl.attr('role') === 'menu')
? this.parentMenu.cmpEl ? this.parentMenu.cmpEl
: this.parentMenu.cmpEl.find('[role=menu]'), : this.parentMenu.cmpEl.find('[role=menu]'),
docH = Common.Utils.innerHeight()-10,
innerEl = $(this.el).find('.inner').addBack().filter('.inner'), innerEl = $(this.el).find('.inner').addBack().filter('.inner'),
docH = Common.Utils.innerHeight(), parent = innerEl.parent(),
margins = parseInt(parent.css('margin-top')) + parseInt(parent.css('margin-bottom')) + parseInt(menuRoot.css('margin-top')),
paddings = parseInt(menuRoot.css('padding-top')) + parseInt(menuRoot.css('padding-bottom')),
menuH = menuRoot.outerHeight(), menuH = menuRoot.outerHeight(),
top = parseInt(menuRoot.css('top')); top = parseInt(menuRoot.css('top'));
if (menuH > docH) { if (top + menuH > docH ) {
innerEl.css('max-height', (docH - parseInt(menuRoot.css('padding-top')) - parseInt(menuRoot.css('padding-bottom'))-5) + 'px'); innerEl.css('max-height', (docH - top - paddings - margins) + 'px');
if (this.allowScrollbar) this.scroller.update({minScrollbarLength : 40}); if (this.allowScrollbar) this.scroller.update({minScrollbarLength : 40});
} else if ( innerEl.height() < this.options.restoreHeight ) { } else if ( top + menuH < docH && innerEl.height() < this.options.restoreHeight ) {
innerEl.css('max-height', (Math.min(docH - parseInt(menuRoot.css('padding-top')) - parseInt(menuRoot.css('padding-bottom'))-5, this.options.restoreHeight)) + 'px'); innerEl.css('max-height', (Math.min(docH - top - paddings - margins, this.options.restoreHeight)) + 'px');
menuH = menuRoot.outerHeight();
if (top+menuH > docH) {
menuRoot.css('top', 0);
}
if (this.allowScrollbar) this.scroller.update({minScrollbarLength : 40}); if (this.allowScrollbar) this.scroller.update({minScrollbarLength : 40});
} }
}, },

View file

@ -168,6 +168,7 @@ define([
this.splitters.push({resizer:resizer}); this.splitters.push({resizer:resizer});
panel.resize.hidden && resizer.el.hide(); panel.resize.hidden && resizer.el.hide();
Common.Gateway.on('processmouse', this.resize.eventStop);
} }
}, this); }, this);
@ -305,6 +306,11 @@ define([
if (!this.resize.$el) return; if (!this.resize.$el) return;
var zoom = (e instanceof jQuery.Event) ? Common.Utils.zoom() : 1; var zoom = (e instanceof jQuery.Event) ? Common.Utils.zoom() : 1;
if (!(e instanceof jQuery.Event) && (e.pageY === undefined || e.pageX === undefined)) {
e.pageY = e.y;
e.pageX = e.x;
}
if (this.resize.type == 'vertical') { if (this.resize.type == 'vertical') {
var prop = 'height'; var prop = 'height';
var value = e.pageY*zoom - this.resize.inity; var value = e.pageY*zoom - this.resize.inity;

View file

@ -64,9 +64,10 @@ define([
onResetItems : function() { onResetItems : function() {
this.innerEl = null; this.innerEl = null;
Common.UI.DataView.prototype.onResetItems.call(this); Common.UI.DataView.prototype.onResetItems.call(this);
this.trigger('items:reset', this);
}, },
onAddItem: function(record, index) { onAddItem: function(record, store, opts) {
var view = new Common.UI.DataViewItem({ var view = new Common.UI.DataViewItem({
template: this.itemTemplate, template: this.itemTemplate,
model: record model: record
@ -78,7 +79,8 @@ define([
if (view && this.innerEl) { if (view && this.innerEl) {
this.innerEl.find('.empty-text').remove(); this.innerEl.find('.empty-text').remove();
if (this.options.simpleAddMode) { if (this.options.simpleAddMode) {
this.innerEl.append(view.render().el) this.innerEl.append(view.render().el);
this.dataViewItems.push(view);
} else { } else {
var idx = _.indexOf(this.store.models, record); var idx = _.indexOf(this.store.models, record);
var innerDivs = this.innerEl.find('> div'); var innerDivs = this.innerEl.find('> div');
@ -88,15 +90,24 @@ define([
else { else {
(innerDivs.length > 0) ? $(innerDivs[idx]).before(view.render().el) : this.innerEl.append(view.render().el); (innerDivs.length > 0) ? $(innerDivs[idx]).before(view.render().el) : this.innerEl.append(view.render().el);
} }
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
} }
this.dataViewItems.push(view);
this.listenTo(view, 'change', this.onChangeItem); this.listenTo(view, 'change', this.onChangeItem);
this.listenTo(view, 'remove', this.onRemoveItem); this.listenTo(view, 'remove', this.onRemoveItem);
this.listenTo(view, 'click', this.onClickItem); this.listenTo(view, 'click', this.onClickItem);
this.listenTo(view, 'dblclick',this.onDblClickItem); this.listenTo(view, 'dblclick',this.onDblClickItem);
this.listenTo(view, 'select', this.onSelectItem); this.listenTo(view, 'select', this.onSelectItem);
if (record.get('tip')) {
var view_el = $(view.el);
view_el.attr('data-toggle', 'tooltip');
view_el.tooltip({
title : record.get('tip'),
placement : 'cursor',
zIndex : this.tipZIndex
});
}
if (!this.isSuspendEvents) if (!this.isSuspendEvents)
this.trigger('item:add', this, view, record); this.trigger('item:add', this, view, record);
} }

View file

@ -424,6 +424,9 @@ define([
onAfterShowMenu: function(e) { onAfterShowMenu: function(e) {
this.trigger('show:after', this, e); this.trigger('show:after', this, e);
if (this.options.restoreHeight && this.scroller)
this.scroller.update({minScrollbarLength : 40});
if (this.$el.find('> ul > .menu-scroll').length) { if (this.$el.find('> ul > .menu-scroll').length) {
var el = this.$el.find('li .checked')[0]; var el = this.$el.find('li .checked')[0];
if (el) { if (el) {
@ -465,14 +468,20 @@ define([
}, },
onScroll: function(item, e) { onScroll: function(item, e) {
if (this.fromKeyDown) { if (this.scroller) return;
var menuRoot = (this.cmpEl.attr('role') === 'menu')
? this.cmpEl
: this.cmpEl.find('[role=menu]');
menuRoot.find('.menu-scroll.top').css('top', menuRoot.scrollTop() + 'px'); var menuRoot = (this.cmpEl.attr('role') === 'menu')
menuRoot.find('.menu-scroll.bottom').css('bottom', (-menuRoot.scrollTop()) + 'px'); ? this.cmpEl
: this.cmpEl.find('[role=menu]'),
scrollTop = menuRoot.scrollTop(),
top = menuRoot.find('.menu-scroll.top'),
bottom = menuRoot.find('.menu-scroll.bottom');
if (this.fromKeyDown) {
top.css('top', scrollTop + 'px');
bottom.css('bottom', (-scrollTop) + 'px');
} }
top.toggleClass('disabled', scrollTop<1);
bottom.toggleClass('disabled', scrollTop + this.options.maxHeight > menuRoot[0].scrollHeight-1);
}, },
onItemClick: function(item, e) { onItemClick: function(item, e) {
@ -493,6 +502,8 @@ define([
}, },
onScrollClick: function(e) { onScrollClick: function(e) {
if (/disabled/.test(e.currentTarget.className)) return false;
this.scrollMenu(/top/.test(e.currentTarget.className)); this.scrollMenu(/top/.test(e.currentTarget.className));
return false; return false;
}, },
@ -562,17 +573,37 @@ define([
left = docW - menuW; left = docW - menuW;
} }
if (top + menuH > docH) if (this.options.restoreHeight) {
top = docH - menuH; if (typeof (this.options.restoreHeight) == "number") {
if (top + menuH > docH) {
menuRoot.css('max-height', (docH - top) + 'px');
menuH = menuRoot.outerHeight();
} else if ( top + menuH < docH && menuRoot.height() < this.options.restoreHeight ) {
menuRoot.css('max-height', (Math.min(docH - top, this.options.restoreHeight)) + 'px');
menuH = menuRoot.outerHeight();
}
}
} else {
if (top + menuH > docH)
top = docH - menuH;
if (top < 0) if (top < 0)
top = 0; top = 0;
}
if (this.options.additionalAlign) if (this.options.additionalAlign)
this.options.additionalAlign.call(this, menuRoot, left, top); this.options.additionalAlign.call(this, menuRoot, left, top);
else else
menuRoot.css({left: left, top: top}); menuRoot.css({left: left, top: top});
},
clearAll: function() {
_.each(this.items, function(item){
if (item.setChecked)
item.setChecked(false, true);
});
} }
}), { }), {
Manager: (function() { Manager: (function() {
return manager; return manager;

View file

@ -262,6 +262,7 @@ define([
return false; return false;
} }
e.stopPropagation();
}, },
onItemClick: function(e) { onItemClick: function(e) {

View file

@ -92,6 +92,10 @@ define([
config.tabs = options.tabs; config.tabs = options.tabs;
$(document.body).on('click', onClickDocument.bind(this)); $(document.body).on('click', onClickDocument.bind(this));
Common.NotificationCenter.on('tab:visible', _.bind(function(action, visible){
this.setVisible(action, visible)
}, this));
}, },
afterRender: function() { afterRender: function() {
@ -108,6 +112,7 @@ define([
$scrollR.on('click', onScrollTabs.bind(this, 'right')); $scrollR.on('click', onScrollTabs.bind(this, 'right'));
$boxTabs.on('dblclick', '> .ribtab', onTabDblclick.bind(this)); $boxTabs.on('dblclick', '> .ribtab', onTabDblclick.bind(this));
$boxTabs.on('click', '> .ribtab', me.onTabClick.bind(this));
}, },
isTabActive: function(tag) { isTabActive: function(tag) {
@ -164,6 +169,12 @@ define([
// clearTimeout(optsFold.timer); // clearTimeout(optsFold.timer);
optsFold.$bar.removeClass('folded'); optsFold.$bar.removeClass('folded');
optsFold.$box.off(); optsFold.$box.off();
var active_panel = optsFold.$box.find('.panel.active');
if ( active_panel.length ) {
var tab = active_panel.data('tab');
me.$tabs.find('> a[data-tab=' + tab + ']').parent().toggleClass('active', true);
}
} }
}, },
@ -194,6 +205,18 @@ define([
} }
}, },
onTabClick: function (e) {
var _is_active = $(e.currentTarget).hasClass('active');
if ( _is_active ) {
if ( this.isFolded ) {
// this.collapse();
}
} else {
var tab = $(e.target).data('tab');
this.setTab(tab);
}
},
setTab: function (tab) { setTab: function (tab) {
if ( !tab ) { if ( !tab ) {
onShowFullviewPanel.call(this, false); onShowFullviewPanel.call(this, false);
@ -234,7 +257,7 @@ define([
return config.tabs[index].action; return config.tabs[index].action;
} }
var _tabTemplate = _.template('<li class="ribtab"><div class="tab-bg" /><a href="#" data-tab="<%= action %>" data-title="<%= caption %>"><%= caption %></a></li>'); var _tabTemplate = _.template('<li class="ribtab" style="display: none;"><div class="tab-bg" /><a href="#" data-tab="<%= action %>" data-title="<%= caption %>"><%= caption %></a></li>');
config.tabs[after + 1] = tab; config.tabs[after + 1] = tab;
var _after_action = _get_tab_action(after); var _after_action = _get_tab_action(after);
@ -269,13 +292,13 @@ define([
var _left_bound_ = Math.round($boxTabs.offset().left), var _left_bound_ = Math.round($boxTabs.offset().left),
_right_bound_ = Math.round(_left_bound_ + $boxTabs.width()); _right_bound_ = Math.round(_left_bound_ + $boxTabs.width());
var tab = this.$tabs.filter(':first:visible').get(0); var tab = this.$tabs.filter(':visible:first').get(0);
if ( !tab ) return false; if ( !tab ) return false;
var rect = tab.getBoundingClientRect(); var rect = tab.getBoundingClientRect();
if ( !(Math.round(rect.left) < _left_bound_) ) { if ( !(Math.round(rect.left) < _left_bound_) ) {
tab = this.$tabs.filter(':last:visible').get(0); tab = this.$tabs.filter(':visible:last').get(0);
rect = tab.getBoundingClientRect(); rect = tab.getBoundingClientRect();
if (!(Math.round(rect.right) > _right_bound_)) if (!(Math.round(rect.right) > _right_bound_))
@ -296,6 +319,11 @@ define([
} }
} }
} }
},
setVisible: function (tab, visible) {
if ( tab && this.$tabs )
this.$tabs.find('> a[data-tab=' + tab + ']').parent().css('display', visible ? '' : 'none');
} }
}; };
}())); }()));

View file

@ -207,7 +207,7 @@ define([
function dragComplete() { function dragComplete() {
if (!_.isUndefined(me.drag)) { if (!_.isUndefined(me.drag)) {
me.drag.tab.$el.css('z-index', ''); me.drag.tab.$el.css('z-index', '');
me.bar.dragging = false;
var tab = null; var tab = null;
for (var i = me.bar.tabs.length - 1; i >= 0; --i) { for (var i = me.bar.tabs.length - 1; i >= 0; --i) {
tab = me.bar.tabs[i].$el; tab = me.bar.tabs[i].$el;
@ -254,6 +254,7 @@ define([
_clientX = e.clientX*Common.Utils.zoom(); _clientX = e.clientX*Common.Utils.zoom();
me.bar = bar; me.bar = bar;
me.drag = {tab: tab, index: index}; me.drag = {tab: tab, index: index};
bar.dragging = true;
this.calculateBounds(); this.calculateBounds();
this.setAbsTabs(); this.setAbsTabs();
@ -343,6 +344,8 @@ define([
this.insert(-1, this.saved); this.insert(-1, this.saved);
delete this.saved; delete this.saved;
Common.Gateway.on('processmouse', _.bind(this.onProcessMouse, this));
this.rendered = true; this.rendered = true;
return this; return this;
}, },
@ -362,6 +365,14 @@ define([
} }
}, },
onProcessMouse: function(data) {
if (data.type == 'mouseup' && this.dragging) {
var tab = this.getActive(true);
if (tab)
tab.mouseup();
}
},
add: function(tabs) { add: function(tabs) {
return this.insert(-1, tabs) > 0; return this.insert(-1, tabs) > 0;
}, },

View file

@ -146,6 +146,13 @@ define([
updateCustomColors: function() { updateCustomColors: function() {
var el = $(this.el); var el = $(this.el);
if (el) { if (el) {
var selected = el.find('a.' + this.selectedCls),
color = (selected.length>0 && /color-dynamic/.test(selected[0].className)) ? selected.attr('color') : undefined;
if (color) { // custom color was selected
color = color.toUpperCase();
selected.removeClass(this.selectedCls);
}
var colors = Common.localStorage.getItem('asc.'+Common.localStorage.getId()+'.colors.custom'); var colors = Common.localStorage.getItem('asc.'+Common.localStorage.getId()+'.colors.custom');
colors = colors ? colors.split(',') : []; colors = colors ? colors.split(',') : [];
@ -156,6 +163,10 @@ define([
colorEl.find('span').css({ colorEl.find('span').css({
'background-color': '#'+colors[i] 'background-color': '#'+colors[i]
}); });
if (colors[i] == color) {
colorEl.addClass(this.selectedCls);
color = undefined; //select only first found color
}
} }
} }
}, },

View file

@ -0,0 +1,269 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* TreeView.js
*
* Created by Julia Radzhabova on 12/14/17
*
*/
if (Common === undefined)
var Common = {};
define([
'common/main/lib/component/DataView'
], function () {
'use strict';
Common.UI.TreeViewModel = Common.UI.DataViewModel.extend({
defaults: function() {
return {
id: Common.UI.getId(),
name: '',
isNotHeader: false,
hasSubItems: false,
hasParent: false,
isEmptyItem: false,
isExpanded: true,
isVisible: true,
selected: false,
allowSelected: true,
disabled: false,
level: 0,
index: 0
}
}
});
Common.UI.TreeViewStore = Backbone.Collection.extend({
model: Common.UI.TreeViewModel,
expandSubItems: function(record) {
var me = this;
var _expand_sub_items = function(idx, expanded, level) {
for (var i=idx+1; i<me.length; i++) {
var item = me.at(i);
var item_level = item.get('level');
if (item_level>level) {
if (expanded)
item.set('isVisible', true);
if (item.get('hasSubItems'))
i = _expand_sub_items(i, item.get('isExpanded'), item_level );
} else {
return (i-1);
}
}
};
record.set('isExpanded', true);
_expand_sub_items(record.get('index'), true, record.get('level'));
},
collapseSubItems: function(record) {
var start_level = record.get('level'),
index = record.get('index');
for (var i=index+1; i<this.length; i++) {
var item = this.at(i);
var item_level = item.get('level');
if (item_level>start_level) {
item.set('isVisible', false);
} else {
break;
}
}
return i-1;
},
expandAll: function() {
this.each(function(item) {
item.set('isExpanded', true);
item.set('isVisible', true);
});
},
collapseAll: function() {
for (var i=0; i<this.length; i++) {
var item = this.at(i);
if (!item.get('isNotHeader')) {
item.set('isExpanded', false);
i = this.collapseSubItems(item);
}
}
},
expandToLevel: function(expandLevel) {
var me = this;
var _expand_sub_items = function(idx, level) {
var parent = me.at(idx);
parent.set('isExpanded', false);
for (var i=idx+1; i<me.length; i++) {
var item = me.at(i);
var item_level = item.get('level');
if (item_level>level) {
if (item_level<=expandLevel)
parent.set('isExpanded', true);
item.set('isVisible', item_level<=expandLevel);
if (item.get('hasSubItems'))
i = _expand_sub_items(i, item_level );
} else {
return (i-1);
}
}
};
for (var j=0; j<this.length; j++) {
var item = this.at(j);
if (item.get('level')<=expandLevel || !item.get('hasParent')) {
item.set('isVisible', true);
if (!item.get('isNotHeader'))
j = _expand_sub_items(j, item.get('level'));
}
}
}
});
Common.UI.TreeView = Common.UI.DataView.extend((function() {
return {
options: {
handleSelect: true,
showLast: true,
allowScrollbar: true,
emptyItemText: ''
},
template: _.template([
'<div class="treeview inner"></div>'
].join('')),
initialize : function(options) {
options.store = options.store || new Common.UI.TreeViewStore();
options.emptyItemText = options.emptyItemText || '';
options.itemTemplate = options.itemTemplate || _.template([
'<div id="<%= id %>" class="tree-item <% if (!isVisible) { %>' + 'hidden' + '<% } %>" style="display: block;padding-left: <%= level*16 + 24 %>px;">',
'<% if (hasSubItems) { %>',
'<div class="tree-caret img-commonctrl ' + '<% if (!isExpanded) { %>' + 'up' + '<% } %>' + '" style="margin-left: <%= level*16 %>px;"></div>',
'<% } %>',
'<% if (isNotHeader) { %>',
'<div class="name not-header"><%= name %></div>',
'<% } else if (isEmptyItem) { %>',
'<div class="name empty">' + options.emptyItemText + '</div>',
'<% } else { %>',
'<div class="name"><%= name %></div>',
'<% } %>',
'</div>'
].join(''));
Common.UI.DataView.prototype.initialize.call(this, options);
},
onAddItem: function(record, store, opts) {
var view = new Common.UI.DataViewItem({
template: this.itemTemplate,
model: record
});
if (view) {
var innerEl = $(this.el).find('.inner').addBack().filter('.inner');
if (innerEl) {
innerEl.find('.empty-text').remove();
if (opts && opts.at!==undefined) {
var idx = opts.at;
var innerDivs = innerEl.find('> div');
if (idx > 0)
$(innerDivs.get(idx - 1)).after(view.render().el);
else {
(innerDivs.length > 0) ? $(innerDivs[idx]).before(view.render().el) : innerEl.append(view.render().el);
}
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
} else {
innerEl.append(view.render().el);
this.dataViewItems.push(view);
}
var name = record.get('name');
if (name.length > 37 - record.get('level')*2)
record.set('tip', name);
if (record.get('tip')) {
var view_el = $(view.el);
view_el.attr('data-toggle', 'tooltip');
view_el.tooltip({
title : record.get('tip'),
placement : 'cursor',
zIndex : this.tipZIndex
});
}
this.listenTo(view, 'change', this.onChangeItem);
this.listenTo(view, 'remove', this.onRemoveItem);
this.listenTo(view, 'click', this.onClickItem);
this.listenTo(view, 'dblclick', this.onDblClickItem);
this.listenTo(view, 'select', this.onSelectItem);
this.listenTo(view, 'contextmenu', this.onContextMenuItem);
if (!this.isSuspendEvents)
this.trigger('item:add', this, view, record);
}
}
},
onClickItem: function(view, record, e) {
var btn = $(e.target);
if (btn && btn.hasClass('tree-caret')) {
var tip = view.$el.data('bs.tooltip');
if (tip) (tip.tip()).remove();
var isExpanded = !record.get('isExpanded');
record.set('isExpanded', isExpanded);
this.store[(isExpanded) ? 'expandSubItems' : 'collapseSubItems'](record);
this.scroller.update({minScrollbarLength: 40});
} else
Common.UI.DataView.prototype.onClickItem.call(this, view, record, e);
},
expandAll: function() {
this.store.expandAll();
this.scroller.update({minScrollbarLength: 40});
},
collapseAll: function() {
this.store.collapseAll();
this.scroller.update({minScrollbarLength: 40});
},
expandToLevel: function(expandLevel) {
this.store.expandToLevel(expandLevel);
this.scroller.update({minScrollbarLength: 40});
}
}
})());
});

View file

@ -294,6 +294,13 @@ define([
} }
} }
function _onProcessMouse(data) {
if (data.type == 'mouseup' && this.dragging.enabled) {
_mouseup.call(this);
}
}
/* window resize functions */ /* window resize functions */
function _resizestart(event) { function _resizestart(event) {
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
@ -580,6 +587,9 @@ define([
}; };
this.$window.find('.header').on('mousedown', this.binding.dragStart); this.$window.find('.header').on('mousedown', this.binding.dragStart);
this.$window.find('.tool.close').on('click', _.bind(doclose, this)); this.$window.find('.tool.close').on('click', _.bind(doclose, this));
if (!this.initConfig.modal)
Common.Gateway.on('processmouse', _.bind(_onProcessMouse, this));
} else { } else {
this.$window.find('.body').css({ this.$window.find('.body').css({
top:0, top:0,

View file

@ -112,7 +112,7 @@ define([
return this; return this;
}, },
onUsersChanged: function(users){ onUsersChanged: function(users, currentUserId){
if (!this.mode.canLicense || !this.mode.canCoAuthoring) { if (!this.mode.canLicense || !this.mode.canCoAuthoring) {
var len = 0; var len = 0;
for (name in users) { for (name in users) {
@ -146,13 +146,14 @@ define([
if (undefined !== name) { if (undefined !== name) {
user = users[name]; user = users[name];
if (user) { if (user) {
arrUsers.push(new Common.Models.User({ var usermodel = new Common.Models.User({
id : user.asc_getId(), id : user.asc_getId(),
username : user.asc_getUserName(), username : user.asc_getUserName(),
online : true, online : true,
color : user.asc_getColor(), color : user.asc_getColor(),
view : user.asc_getView() view : user.asc_getView()
})); });
arrUsers[(user.asc_getId() == currentUserId ) ? 'unshift' : 'push'](usermodel);
} }
} }
} }

View file

@ -173,6 +173,8 @@ define([
arr.push(plugin); arr.push(plugin);
}); });
this.api.asc_pluginsRegister('', arr); this.api.asc_pluginsRegister('', arr);
if (storePlugins.length>0)
Common.NotificationCenter.trigger('tab:visible', 'plugins', true);
}, },
onAddPlugin: function (model) { onAddPlugin: function (model) {

View file

@ -76,7 +76,8 @@ define([
'reviewchange:delete': _.bind(this.onDeleteClick, this), 'reviewchange:delete': _.bind(this.onDeleteClick, this),
'reviewchange:preview': _.bind(this.onBtnPreviewClick, this), 'reviewchange:preview': _.bind(this.onBtnPreviewClick, this),
'reviewchanges:view': _.bind(this.onReviewViewClick, this), 'reviewchanges:view': _.bind(this.onReviewViewClick, this),
'lang:document': _.bind(this.onDocLanguage, this) 'lang:document': _.bind(this.onDocLanguage, this),
'collaboration:coauthmode': _.bind(this.onCoAuthMode, this)
}, },
'Common.Views.ReviewChangesDialog': { 'Common.Views.ReviewChangesDialog': {
'reviewchange:accept': _.bind(this.onAcceptClick, this), 'reviewchange:accept': _.bind(this.onAcceptClick, this),
@ -94,7 +95,7 @@ define([
Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this)); Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this));
Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this)); Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this));
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiServerDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this));
}, },
setConfig: function (data, api) { setConfig: function (data, api) {
this.setApi(api); this.setApi(api);
@ -111,7 +112,7 @@ define([
this.api.asc_registerCallback('asc_onShowRevisionsChange', _.bind(this.onApiShowChange, this)); this.api.asc_registerCallback('asc_onShowRevisionsChange', _.bind(this.onApiShowChange, this));
this.api.asc_registerCallback('asc_onUpdateRevisionsChangesPosition', _.bind(this.onApiUpdateChangePosition, this)); this.api.asc_registerCallback('asc_onUpdateRevisionsChangesPosition', _.bind(this.onApiUpdateChangePosition, this));
} }
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiServerDisconnect, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onCoAuthoringDisconnect, this));
} }
}, },
@ -131,7 +132,7 @@ define([
SetDisabled: function(state) { SetDisabled: function(state) {
if (this.dlgChanges) if (this.dlgChanges)
this.dlgChanges.close(); this.dlgChanges.close();
this.view && this.view.SetDisabled(state); this.view && this.view.SetDisabled(state, this.langs);
}, },
onApiShowChange: function (sdkchange) { onApiShowChange: function (sdkchange) {
@ -487,7 +488,7 @@ define([
state = (state == 'on'); state = (state == 'on');
this.api.asc_SetTrackRevisions(state); this.api.asc_SetTrackRevisions(state);
Common.localStorage.setItem("de-track-changes", state ? 1 : 0); Common.localStorage.setItem(this.view.appPrefix + "track-changes", state ? 1 : 0);
this.view.turnChanges(state); this.view.turnChanges(state);
} }
@ -497,8 +498,9 @@ define([
state = (state == 'on'); state = (state == 'on');
this.view.turnSpelling(state); this.view.turnSpelling(state);
Common.localStorage.setItem("de-settings-spellcheck", state ? 1 : 0); Common.localStorage.setItem(this.view.appPrefix + "settings-spellcheck", state ? 1 : 0);
this.api.asc_setSpellCheck(state); this.api.asc_setSpellCheck(state);
Common.Utils.InternalSettings.set("de-settings-spellcheck", state);
}, },
onReviewViewClick: function(menu, item, e) { onReviewViewClick: function(menu, item, e) {
@ -519,6 +521,35 @@ define([
return this._state.previewMode; return this._state.previewMode;
}, },
onCoAuthMode: function(menu, item, e) {
Common.localStorage.setItem(this.view.appPrefix + "settings-coauthmode", item.value);
Common.Utils.InternalSettings.set(this.view.appPrefix + "settings-coauthmode", item.value);
if (this.api) {
this.api.asc_SetFastCollaborative(item.value==1);
if (this.api.SetCollaborativeMarksShowType) {
var value = Common.localStorage.getItem(item.value ? this.view.appPrefix + "settings-showchanges-fast" : this.view.appPrefix + "settings-showchanges-strict");
if (value !== null)
this.api.SetCollaborativeMarksShowType(value == 'all' ? Asc.c_oAscCollaborativeMarksShowType.All :
value == 'none' ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
else
this.api.SetCollaborativeMarksShowType(item.value ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
}
value = Common.localStorage.getItem(this.view.appPrefix + "settings-autosave");
if (value===null && this.appConfig.customization && this.appConfig.customization.autosave===false)
value = 0;
value = (!item.value && value!==null) ? parseInt(value) : 1;
Common.localStorage.setItem(this.view.appPrefix + "settings-autosave", value);
Common.Utils.InternalSettings.set(this.view.appPrefix + "settings-autosave", value);
this.api.asc_setAutoSaveGap(value);
}
Common.NotificationCenter.trigger('edit:complete', this.view);
this.view.fireEvent('settings:apply', [this]);
},
disableEditing: function(disable) { disableEditing: function(disable) {
var app = this.getApplication(); var app = this.getApplication();
app.getController('RightMenu').getView('RightMenu').clearSelection(); app.getController('RightMenu').getView('RightMenu').clearSelection();
@ -539,6 +570,12 @@ define([
if (this.view) { if (this.view) {
this.view.$el.find('.no-group-mask').css('opacity', 1); this.view.$el.find('.no-group-mask').css('opacity', 1);
this.view.btnsDocLang && this.view.btnsDocLang.forEach(function(button) {
if ( button ) {
button.setDisabled(disable || this.langs.length<1);
}
}, this);
} }
}, },
@ -553,7 +590,7 @@ define([
onAppReady: function (config) { onAppReady: function (config) {
var me = this; var me = this;
if ( me.view && Common.localStorage.getBool("de-settings-spellcheck", true) ) if ( me.view && Common.localStorage.getBool(me.view.appPrefix + "settings-spellcheck", true) )
me.view.turnSpelling(true); me.view.turnSpelling(true);
if ( config.canReview ) { if ( config.canReview ) {
@ -574,7 +611,7 @@ define([
_setReviewStatus(false); _setReviewStatus(false);
} else { } else {
me.api.asc_HaveRevisionsChanges() && me.view.markChanges(true); me.api.asc_HaveRevisionsChanges() && me.view.markChanges(true);
_setReviewStatus(Common.localStorage.getBool("de-track-changes")); _setReviewStatus(Common.localStorage.getBool(me.view.appPrefix + "track-changes"));
} }
if ( typeof (me.appConfig.customization) == 'object' && (me.appConfig.customization.showReviewChanges==true) ) { if ( typeof (me.appConfig.customization) == 'object' && (me.appConfig.customization.showReviewChanges==true) ) {
@ -588,10 +625,19 @@ define([
} }
}); });
} }
if (me.view && me.view.btnChat) {
me.getApplication().getController('LeftMenu').leftMenu.btnChat.on('toggle', function(btn, state){
if (state !== me.view.btnChat.pressed)
me.view.turnChat(state);
});
}
}, },
applySettings: function(menu) { applySettings: function(menu) {
this.view && this.view.turnSpelling( Common.localStorage.getBool("de-settings-spellcheck", true) ); this.view && this.view.turnSpelling( Common.localStorage.getBool(this.view.appPrefix + "settings-spellcheck", true) );
this.view && this.view.turnCoAuthMode( Common.localStorage.getBool(this.view.appPrefix + "settings-coauthmode", true) );
}, },
synchronizeChanges: function() { synchronizeChanges: function() {
@ -602,7 +648,11 @@ define([
setLanguages: function (array) { setLanguages: function (array) {
this.langs = array; this.langs = array;
this.view.btnDocLang.setDisabled(this.langs.length<1); this.view && this.view.btnsDocLang && this.view.btnsDocLang.forEach(function(button) {
if ( button ) {
button.setDisabled(this.langs.length<1);
}
}, this);
}, },
onDocLanguage: function() { onDocLanguage: function() {
@ -627,7 +677,11 @@ define([
})).show(); })).show();
}, },
onApiServerDisconnect: function() { onLostEditRights: function() {
this.view && this.view.onLostEditRights();
},
onCoAuthoringDisconnect: function() {
this.SetDisabled(true); this.SetDisabled(true);
}, },

View file

@ -317,7 +317,7 @@
var deltaX = e.deltaX * e.deltaFactor || deprecatedDeltaX, var deltaX = e.deltaX * e.deltaFactor || deprecatedDeltaX,
deltaY = e.deltaY * e.deltaFactor || deprecatedDeltaY; deltaY = e.deltaY * e.deltaFactor || deprecatedDeltaY;
if (e && e.target && (e.target.type === 'textarea' || e.target.type === 'input')) { if (e && e.target && (e.target.type === 'textarea' && !e.target.hasAttribute('readonly') || e.target.type === 'input')) {
e.stopImmediatePropagation(); e.stopImmediatePropagation();
e.preventDefault(); e.preventDefault();

View file

@ -5,7 +5,7 @@
<div class="user-name"><%=scope.getUserName(username)%></div> <div class="user-name"><%=scope.getUserName(username)%></div>
<div class="user-date"><%=date%></div> <div class="user-date"><%=date%></div>
<% if (!editTextInPopover || hint) { %> <% if (!editTextInPopover || hint) { %>
<div class="user-message"><%=scope.pickLink(comment)%></div> <textarea readonly class="user-message user-select"><%=scope.pickLink(comment)%></textarea>
<% } else { %> <% } else { %>
<div class="inner-edit-ct"> <div class="inner-edit-ct">
<textarea class="msg-reply user-select" maxlength="maxCommLength"><%=comment%></textarea> <textarea class="msg-reply user-select" maxlength="maxCommLength"><%=comment%></textarea>
@ -27,7 +27,7 @@
<div class="user-name"><%=scope.getUserName(item.get("username"))%></div> <div class="user-name"><%=scope.getUserName(item.get("username"))%></div>
<div class="user-date"><%=item.get("date")%></div> <div class="user-date"><%=item.get("date")%></div>
<% if (!item.get("editTextInPopover")) { %> <% if (!item.get("editTextInPopover")) { %>
<div class="user-message"><%=scope.pickLink(item.get("reply"))%></div> <textarea readonly class="user-message user-select"><%=scope.pickLink(item.get("reply"))%></textarea>
<% if (!hint) { %> <% if (!hint) { %>
<div class="btns-reply-ct"> <div class="btns-reply-ct">
<% if (item.get("editable")) { %> <% if (item.get("editable")) { %>

View file

@ -154,11 +154,15 @@
if (typeof at == 'object') { if (typeof at == 'object') {
var tp = {top: at[1] + 15, left: at[0] + 18}, var tp = {top: at[1] + 15, left: at[0] + 18},
innerWidth = Common.Utils.innerWidth(); innerWidth = Common.Utils.innerWidth(),
innerHeight = Common.Utils.innerHeight();
if (tp.left + $tip.width() > innerWidth) { if (tp.left + $tip.width() > innerWidth) {
tp.left = innerWidth - $tip.width() - 30; tp.left = innerWidth - $tip.width() - 30;
} }
if (tp.top + $tip.height() > innerHeight) {
tp.top = innerHeight - $tip.height() - 30;
}
$tip.offset(tp).addClass('in'); $tip.offset(tp).addClass('in');
} else { } else {

View file

@ -102,7 +102,8 @@ Common.Utils = _.extend(new(function() {
Slide : 6, Slide : 6,
Chart : 7, Chart : 7,
MailMerge : 8, MailMerge : 8,
Signature : 9 Signature : 9,
Pivot : 10
}, },
isMobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera), isMobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera),
me = this, me = this,
@ -701,7 +702,23 @@ Common.Utils.createXhr = function () {
} }
return xmlhttp; return xmlhttp;
} };
Common.Utils.getConfigJson = function (url) {
if ( url ) {
try {
var xhrObj = Common.Utils.createXhr();
if ( xhrObj ) {
xhrObj.open('GET', url, false);
xhrObj.send('');
return JSON.parse(xhrObj.responseText);
}
} catch (e) {}
}
return null;
};
Common.Utils.getConfigJson = function (url) { Common.Utils.getConfigJson = function (url) {
if ( url ) { if ( url ) {
@ -725,7 +742,7 @@ Common.Utils.asyncCall = function (callback, scope, args) {
})).then(function () { })).then(function () {
callback.call(scope, args); callback.call(scope, args);
}); });
} };
// Extend javascript String type // Extend javascript String type
String.prototype.strongMatch = function(regExp){ String.prototype.strongMatch = function(regExp){

View file

@ -152,11 +152,11 @@ define([
}, },
getTextBox: function () { getTextBox: function () {
var text = $(this.el).find('textarea'); var text = $(this.el).find('textarea:not(.user-message)');
return (text && text.length) ? text : undefined; return (text && text.length) ? text : undefined;
}, },
setFocusToTextBox: function (blur) { setFocusToTextBox: function (blur) {
var text = $(this.el).find('textarea'); var text = $(this.el).find('textarea:not(.user-message)');
if (blur) { if (blur) {
text.blur(); text.blur();
} else { } else {
@ -169,15 +169,16 @@ define([
} }
}, },
getActiveTextBoxVal: function () { getActiveTextBoxVal: function () {
var text = $(this.el).find('textarea'); var text = $(this.el).find('textarea:not(.user-message)');
return (text && text.length) ? text.val().trim() : ''; return (text && text.length) ? text.val().trim() : '';
}, },
autoHeightTextBox: function () { autoHeightTextBox: function () {
var view = this, var view = this,
textBox = this.$el.find('textarea'), textBox = this.$el.find('textarea'),
domTextBox = null, domTextBox = null,
minHeight = 50, $domTextBox = null,
lineHeight = 0, lineHeight = 0,
minHeight = 50,
scrollPos = 0, scrollPos = 0,
oldHeight = 0, oldHeight = 0,
newHeight = 0; newHeight = 0;
@ -186,17 +187,17 @@ define([
scrollPos = $(view.scroller.el).scrollTop(); scrollPos = $(view.scroller.el).scrollTop();
if (domTextBox.scrollHeight > domTextBox.clientHeight) { if (domTextBox.scrollHeight > domTextBox.clientHeight) {
textBox.css({height: (domTextBox.scrollHeight + lineHeight) + 'px'}); $domTextBox.css({height: (domTextBox.scrollHeight + lineHeight) + 'px'});
parentView.calculateSizeOfContent(); parentView.calculateSizeOfContent();
} else { } else {
oldHeight = domTextBox.clientHeight; oldHeight = domTextBox.clientHeight;
if (oldHeight >= minHeight) { if (oldHeight >= minHeight) {
textBox.css({height: minHeight + 'px'}); $domTextBox.css({height: minHeight + 'px'});
if (domTextBox.scrollHeight > domTextBox.clientHeight) { if (domTextBox.scrollHeight > domTextBox.clientHeight) {
newHeight = Math.max(domTextBox.scrollHeight + lineHeight, minHeight); newHeight = Math.max(domTextBox.scrollHeight + lineHeight, minHeight);
textBox.css({height: newHeight + 'px'}); $domTextBox.css({height: newHeight + 'px'});
} }
parentView.calculateSizeOfContent(); parentView.calculateSizeOfContent();
@ -209,17 +210,23 @@ define([
view.autoScrollToEditButtons(); view.autoScrollToEditButtons();
} }
this.textBox = undefined;
if (textBox && textBox.length) { if (textBox && textBox.length) {
domTextBox = textBox.get(0); textBox.each(function(idx, item){
if (item) {
if (domTextBox) { domTextBox = item;
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25; $domTextBox = $(item);
updateTextBoxHeight(); var isEdited = !$domTextBox.hasClass('user-message');
textBox.bind('input propertychange', updateTextBoxHeight) lineHeight = isEdited ? parseInt($domTextBox.css('lineHeight'), 10) * 0.25 : 0;
} minHeight = isEdited ? 50 : 24;
updateTextBoxHeight();
if (isEdited) {
$domTextBox.bind('input propertychange', updateTextBoxHeight);
view.textBox = $domTextBox;
}
}
});
} }
this.textBox = textBox;
}, },
clearTextBoxBind: function () { clearTextBoxBind: function () {
if (this.textBox) { if (this.textBox) {
@ -375,6 +382,7 @@ define([
t.fireEvent('comment:closeEditing'); t.fireEvent('comment:closeEditing');
readdresolves(); readdresolves();
this.autoHeightTextBox();
} else if (btn.hasClass('user-reply')) { } else if (btn.hasClass('user-reply')) {
t.fireEvent('comment:closeEditing'); t.fireEvent('comment:closeEditing');
@ -399,6 +407,7 @@ define([
t.fireEvent('comment:closeEditing'); t.fireEvent('comment:closeEditing');
readdresolves(); readdresolves();
this.autoHeightTextBox();
} }
} else if (btn.hasClass('btn-close', false)) { } else if (btn.hasClass('btn-close', false)) {
t.fireEvent('comment:closeEditing', [commentId]); t.fireEvent('comment:closeEditing', [commentId]);
@ -406,11 +415,21 @@ define([
t.fireEvent('comment:show', [commentId]); t.fireEvent('comment:show', [commentId]);
readdresolves(); readdresolves();
this.autoHeightTextBox();
} else if (btn.hasClass('btn-inner-edit', false)) { } else if (btn.hasClass('btn-inner-edit', false)) {
if (record.get('dummy')) { if (record.get('dummy')) {
t.fireEvent('comment:addDummyComment', [this.getActiveTextBoxVal()]); var commentVal = this.getActiveTextBoxVal();
if (commentVal.length>0)
t.fireEvent('comment:addDummyComment', [commentVal]);
else {
var text = me.$window.find('textarea:not(.user-message)');
if (text && text.length)
setTimeout(function(){
text.focus();
}, 10);
}
return; return;
} }
@ -427,6 +446,7 @@ define([
} }
readdresolves(); readdresolves();
this.autoHeightTextBox();
} else if (btn.hasClass('btn-inner-close', false)) { } else if (btn.hasClass('btn-inner-close', false)) {
if (record.get('dummy')) { if (record.get('dummy')) {
@ -438,11 +458,8 @@ define([
me.saveText(); me.saveText();
record.set('hideAddReply', false); record.set('hideAddReply', false);
this.getTextBox().val(me.textVal); this.getTextBox().val(me.textVal);
this.autoHeightTextBox();
} else { } else {
this.clearTextBoxBind(); this.clearTextBoxBind();
t.fireEvent('comment:closeEditing', [commentId]); t.fireEvent('comment:closeEditing', [commentId]);
} }
@ -453,6 +470,7 @@ define([
me.calculateSizeOfContent(); me.calculateSizeOfContent();
readdresolves(); readdresolves();
this.autoHeightTextBox();
} else if (btn.hasClass('btn-resolve', false)) { } else if (btn.hasClass('btn-resolve', false)) {
var tip = btn.data('bs.tooltip'); var tip = btn.data('bs.tooltip');
@ -461,6 +479,7 @@ define([
t.fireEvent('comment:resolve', [commentId]); t.fireEvent('comment:resolve', [commentId]);
readdresolves(); readdresolves();
this.autoHeightTextBox();
} else if (btn.hasClass('btn-resolve-check', false)) { } else if (btn.hasClass('btn-resolve-check', false)) {
var tip = btn.data('bs.tooltip'); var tip = btn.data('bs.tooltip');
if (tip) tip.dontShow = true; if (tip) tip.dontShow = true;
@ -468,20 +487,21 @@ define([
t.fireEvent('comment:resolve', [commentId]); t.fireEvent('comment:resolve', [commentId]);
readdresolves(); readdresolves();
this.autoHeightTextBox();
} }
} }
}); });
me.on({ me.on({
'show': function () { 'show': function () {
me.commentsView.autoHeightTextBox(); me.$window.find('textarea:not(.user-message)').keydown(function (event) {
me.$window.find('textarea').keydown(function (event) {
if (event.keyCode == Common.UI.Keys.ESC) { if (event.keyCode == Common.UI.Keys.ESC) {
me.hide(); me.hide();
} }
}); });
}, },
'animate:before': function () { 'animate:before': function () {
var text = me.$window.find('textarea'); me.commentsView.autoHeightTextBox();
var text = me.$window.find('textarea:not(.user-message)');
if (text && text.length) if (text && text.length)
text.focus(); text.focus();
} }
@ -889,11 +909,11 @@ define([
}, },
getTextBox: function () { getTextBox: function () {
var text = $(this.el).find('textarea'); var text = $(this.el).find('textarea:not(.user-message)');
return (text && text.length) ? text : undefined; return (text && text.length) ? text : undefined;
}, },
setFocusToTextBox: function () { setFocusToTextBox: function () {
var text = $(this.el).find('textarea'); var text = $(this.el).find('textarea:not(.user-message)');
if (text && text.length) { if (text && text.length) {
var val = text.val(); var val = text.val();
text.focus(); text.focus();
@ -902,7 +922,7 @@ define([
} }
}, },
getActiveTextBoxVal: function () { getActiveTextBoxVal: function () {
var text = $(this.el).find('textarea'); var text = $(this.el).find('textarea:not(.user-message)');
return (text && text.length) ? text.val().trim() : ''; return (text && text.length) ? text.val().trim() : '';
}, },
autoHeightTextBox: function () { autoHeightTextBox: function () {

View file

@ -70,7 +70,9 @@ define([
'</ul>'); '</ul>');
var templateRightBox = '<section>' + var templateRightBox = '<section>' +
'<section id="box-doc-name"><input type="text" id="rib-doc-name" spellcheck="false" data-can-copy="false"></input></section>' + '<section id="box-doc-name">' +
'<input type="text" id="rib-doc-name" spellcheck="false" data-can-copy="false"></input>' +
'</section>' +
'<a id="rib-save-status" class="status-label locked"><%= textSaveEnd %></a>' + '<a id="rib-save-status" class="status-label locked"><%= textSaveEnd %></a>' +
'<div class="hedset">' + '<div class="hedset">' +
'<div class="btn-slot" id="slot-hbtn-edit"></div>' + '<div class="btn-slot" id="slot-hbtn-edit"></div>' +
@ -417,12 +419,13 @@ define([
if ( this.labelDocName ) this.labelDocName.off(); if ( this.labelDocName ) this.labelDocName.off();
this.labelDocName = $html.find('#rib-doc-name'); this.labelDocName = $html.find('#rib-doc-name');
this.labelDocName.on({ // this.labelDocName.attr('maxlength', 50);
'keydown': onDocNameKeyDown.bind(this) this.labelDocName.text = function (text) {
}); this.val(text).attr('size', text.length);
}
if ( this.documentCaption ) { if ( this.documentCaption ) {
this.labelDocName.val( this.documentCaption ); this.labelDocName.text( this.documentCaption );
} }
if ( !_.isUndefined(this.options.canRename) ) { if ( !_.isUndefined(this.options.canRename) ) {
@ -559,8 +562,8 @@ define([
this.documentCaption = value; this.documentCaption = value;
this.isModified && (value += '*'); this.isModified && (value += '*');
if ( this.labelDocName ) { if ( this.labelDocName ) {
this.labelDocName.val( value ); this.labelDocName.text( value );
this.labelDocName.attr('size', value.length); // this.labelDocName.attr('size', value.length);
this.setCanRename(true); this.setCanRename(true);
} }
@ -578,7 +581,7 @@ define([
var _name = this.documentCaption; var _name = this.documentCaption;
changed && (_name += '*'); changed && (_name += '*');
this.labelDocName.val(_name); this.labelDocName.text(_name);
}, },
setCanBack: function (value) { setCanBack: function (value) {
@ -603,7 +606,16 @@ define([
title: me.txtRename, title: me.txtRename,
placement: 'cursor'} placement: 'cursor'}
); );
label.on({
'keydown': onDocNameKeyDown.bind(this),
'blur': function (e) {
}
});
} else { } else {
label.off();
label.attr('disabled', true); label.attr('disabled', true);
var tip = label.data('bs.tooltip'); var tip = label.data('bs.tooltip');
if ( tip ) { if ( tip ) {

View file

@ -54,7 +54,6 @@ define([
_options = {}; _options = {};
_.extend(_options, { _.extend(_options, {
closable: false,
width : 350, width : 350,
height : 220, height : 220,
header : true, header : true,
@ -97,7 +96,6 @@ define([
if (this.$window) { if (this.$window) {
var me = this; var me = this;
this.$window.find('.tool').hide();
this.$window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this)); this.$window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this));
this.inputPwd = new Common.UI.InputField({ this.inputPwd = new Common.UI.InputField({
el: $('#id-password-txt'), el: $('#id-password-txt'),

View file

@ -412,35 +412,41 @@ define([
Common.Views.ReviewChanges = Common.UI.BaseView.extend(_.extend((function(){ Common.Views.ReviewChanges = Common.UI.BaseView.extend(_.extend((function(){
var template = var template =
'<section id="review-changes-panel" class="panel" data-tab="review">' + '<section id="review-changes-panel" class="panel" data-tab="review">' +
'<div class="group">' + '<div class="group no-group-mask">' +
'<span id="slot-set-lang" class="btn-slot text x-huge"></span>' + '<span id="slot-btn-sharing" class="btn-slot text x-huge"></span>' +
'<span id="slot-btn-coauthmode" class="btn-slot text x-huge"></span>' +
'</div>' + '</div>' +
'<div class="group no-group-mask" style="padding-left: 0;">' + '<div class="separator long sharing"/>' +
'<span id="slot-btn-spelling" class="btn-slot text x-huge"></span>' +
'</div>' +
'<div class="separator long comments"/>' +
'<div class="group">' + '<div class="group">' +
'<span class="btn-slot text x-huge slot-comment"></span>' + '<span class="btn-slot text x-huge slot-comment"></span>' +
'</div>' + '</div>' +
'<div class="separator long review"/>' + '<div class="separator long comments"/>' +
'<div class="group">' + '<div class="group">' +
'<span id="btn-review-on" class="btn-slot text x-huge"></span>' + '<span id="btn-review-on" class="btn-slot text x-huge"></span>' +
'</div>' + '</div>' +
'<div class="group no-group-mask" style="padding-left: 0;">' + '<div class="group no-group-mask" style="padding-left: 0;">' +
'<span id="btn-review-view" class="btn-slot text x-huge"></span>' + '<span id="btn-review-view" class="btn-slot text x-huge"></span>' +
'</div>' + '</div>' +
'<div class="separator long review"/>' + '<div class="group move-changes" style="padding-left: 0;">' +
'<div class="group move-changes">' +
'<span id="btn-change-prev" class="btn-slot text x-huge"></span>' + '<span id="btn-change-prev" class="btn-slot text x-huge"></span>' +
'<span id="btn-change-next" class="btn-slot text x-huge"></span>' + '<span id="btn-change-next" class="btn-slot text x-huge"></span>' +
'<span id="btn-change-accept" class="btn-slot text x-huge"></span>' + '<span id="btn-change-accept" class="btn-slot text x-huge"></span>' +
'<span id="btn-change-reject" class="btn-slot text x-huge"></span>' + '<span id="btn-change-reject" class="btn-slot text x-huge"></span>' +
'</div>' + '</div>' +
'<div class="separator long review"/>' +
'<div class="group no-group-mask">' +
'<span id="slot-btn-chat" class="btn-slot text x-huge"></span>' +
'</div>' +
'<div class="separator long chat"/>' +
'<div class="group no-group-mask">' +
'<span id="slot-btn-history" class="btn-slot text x-huge"></span>' +
'</div>' +
'</section>'; '</section>';
function _click_turnpreview(btn, e) { function _click_turnpreview(btn, e) {
if (this.appConfig.canReview) { if (this.appConfig.canReview) {
Common.NotificationCenter.trigger('reviewchanges:turn', btn.pressed ? 'on' : 'off'); Common.NotificationCenter.trigger('reviewchanges:turn', btn.pressed ? 'on' : 'off');
Common.NotificationCenter.trigger('edit:complete');
} }
}; };
@ -474,7 +480,6 @@ define([
this.btnsTurnReview.forEach(function (button) { this.btnsTurnReview.forEach(function (button) {
button.on('click', _click_turnpreview.bind(me)); button.on('click', _click_turnpreview.bind(me));
Common.NotificationCenter.trigger('edit:complete', me);
}); });
this.btnReviewView.menu.on('item:click', function (menu, item, e) { this.btnReviewView.menu.on('item:click', function (menu, item, e) {
@ -489,8 +494,26 @@ define([
}); });
}); });
this.btnDocLang.on('click', function (btn, e) { this.btnsDocLang.forEach(function(button) {
me.fireEvent('lang:document', this); button.on('click', function (b, e) {
me.fireEvent('lang:document', this);
});
});
this.btnSharing && this.btnSharing.on('click', function (btn, e) {
Common.NotificationCenter.trigger('collaboration:sharing');
});
this.btnCoAuthMode && this.btnCoAuthMode.menu.on('item:click', function (menu, item, e) {
me.fireEvent('collaboration:coauthmode', [menu, item]);
});
this.btnHistory && this.btnHistory.on('click', function (btn, e) {
Common.NotificationCenter.trigger('collaboration:history');
});
this.btnChat && this.btnChat.on('click', function (btn, e) {
me.fireEvent('collaboration:chat', [btn.pressed]);
}); });
} }
@ -549,20 +572,45 @@ define([
}); });
} }
this.btnSetSpelling = new Common.UI.Button({ if (!!this.appConfig.sharingSettingsUrl && this.appConfig.sharingSettingsUrl.length && this._readonlyRights!==true) {
cls: 'btn-toolbar x-huge icon-top', this.btnSharing = new Common.UI.Button({
iconCls: 'btn-ic-docspell', cls: 'btn-toolbar x-huge icon-top',
caption: this.txtSpelling, iconCls: 'btn-ic-sharing',
enableToggle: true caption: this.txtSharing
}); });
this.btnsSpelling = [this.btnSetSpelling]; }
this.btnDocLang = new Common.UI.Button({ if (!this.appConfig.isOffline && this.appConfig.canCoAuthoring) {
cls: 'btn-toolbar x-huge icon-top', this.btnCoAuthMode = new Common.UI.Button({
iconCls: 'btn-ic-doclang', cls: 'btn-toolbar x-huge icon-top',
caption: this.txtDocLang, iconCls: 'btn-ic-coedit',
disabled: true caption: this.txtCoAuthMode,
}); menu: true
});
}
this.btnsSpelling = [];
this.btnsDocLang = [];
if (this.appConfig.canUseHistory && !this.appConfig.isDisconnected) {
this.btnHistory = new Common.UI.Button({
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-ic-history',
caption: this.txtHistory
});
}
if (this.appConfig.canCoAuthoring && this.appConfig.canChat) {
this.btnChat = new Common.UI.Button({
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-ic-chat',
caption: this.txtChat,
enableToggle: true
});
}
var filter = Common.localStorage.getKeysFilter();
this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : '';
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
}, },
@ -579,6 +627,10 @@ define([
(new Promise(function (accept, reject) { (new Promise(function (accept, reject) {
accept(); accept();
})).then(function(){ })).then(function(){
var menuTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem"><div><%= caption %></div>' +
'<% if (options.description !== null) { %><label style="display: block;color: #a5a5a5;cursor: pointer;white-space: normal;"><%= options.description %></label>' +
'<% } %></a>');
if ( config.canReview ) { if ( config.canReview ) {
me.btnPrev.updateHint(me.hintPrev); me.btnPrev.updateHint(me.hintPrev);
me.btnNext.updateHint(me.hintNext); me.btnNext.updateHint(me.hintNext);
@ -621,24 +673,30 @@ define([
cls: 'ppm-toolbar', cls: 'ppm-toolbar',
items: [ items: [
{ {
caption: me.txtMarkup, caption: me.txtMarkupCap,
checkable: true, checkable: true,
toggleGroup: 'menuReviewView', toggleGroup: 'menuReviewView',
checked: true, checked: true,
value: 'markup' value: 'markup',
template: menuTemplate,
description: me.txtMarkup
}, },
{ {
caption: me.txtFinal, caption: me.txtFinalCap,
checkable: true, checkable: true,
toggleGroup: 'menuReviewView', toggleGroup: 'menuReviewView',
checked: false, checked: false,
template: menuTemplate,
description: me.txtFinal,
value: 'final' value: 'final'
}, },
{ {
caption: me.txtOriginal, caption: me.txtOriginalCap,
checkable: true, checkable: true,
toggleGroup: 'menuReviewView', toggleGroup: 'menuReviewView',
checked: false, checked: false,
template: menuTemplate,
description: me.txtOriginal,
value: 'original' value: 'original'
} }
] ]
@ -647,20 +705,78 @@ define([
me.btnAccept.setDisabled(config.isReviewOnly); me.btnAccept.setDisabled(config.isReviewOnly);
me.btnReject.setDisabled(config.isReviewOnly); me.btnReject.setDisabled(config.isReviewOnly);
} else {
me.$el.find('.separator.review')
.hide()
.next('.group').hide();
} }
if ( !config.canComments || !config.canCoAuthoring) { me.btnSharing && me.btnSharing.updateHint(me.tipSharing);
$('.separator.comments', me.$el) me.btnHistory && me.btnHistory.updateHint(me.tipHistory);
.hide() me.btnChat && me.btnChat.updateHint(me.txtChat + Common.Utils.String.platformKey('Alt+Q'));
.next('.group').hide();
if (me.btnCoAuthMode) {
me.btnCoAuthMode.setMenu(
new Common.UI.Menu({
cls: 'ppm-toolbar',
style: 'max-width: 220px;',
items: [
{
caption: me.strFast,
checkable: true,
toggleGroup: 'menuCoauthMode',
checked: true,
template: menuTemplate,
description: me.strFastDesc,
value: 1
},
{
caption: me.strStrict,
checkable: true,
toggleGroup: 'menuCoauthMode',
checked: false,
template: menuTemplate,
description: me.strStrictDesc,
value: 0
}
]
}));
me.btnCoAuthMode.updateHint(me.tipCoAuthMode);
var value = Common.localStorage.getItem(me.appPrefix + "settings-coauthmode");
if (value===null && !Common.localStorage.itemExists(me.appPrefix + "settings-autosave") &&
config.customization && config.customization.autosave===false) {
value = 0; // use customization.autosave only when de-settings-coauthmode and de-settings-autosave are null
}
me.turnCoAuthMode((value===null || parseInt(value) == 1) && !(config.isDesktopApp && config.isOffline) && config.canCoAuthoring);
} }
me.btnDocLang.updateHint(me.tipSetDocLang); var separator_sharing = !(me.btnSharing || me.btnCoAuthMode) ? me.$el.find('.separator.sharing') : '.separator.sharing',
me.btnSetSpelling.updateHint(me.tipSetSpelling); separator_comments = !(config.canComments && config.canCoAuthoring) ? me.$el.find('.separator.comments') : '.separator.comments',
separator_review = !config.canReview ? me.$el.find('.separator.review') : '.separator.review',
separator_chat = !me.btnChat ? me.$el.find('.separator.chat') : '.separator.chat',
separator_last;
if (typeof separator_sharing == 'object')
separator_sharing.hide().prev('.group').hide();
else
separator_last = separator_sharing;
if (typeof separator_comments == 'object')
separator_comments.hide().prev('.group').hide();
else
separator_last = separator_comments;
if (typeof separator_review == 'object')
separator_review.hide().prevUntil('.separator.comments').hide();
else
separator_last = separator_review;
if (typeof separator_chat == 'object')
separator_chat.hide().prev('.group').hide();
else
separator_last = separator_chat;
if (!me.btnHistory && separator_last)
me.$el.find(separator_last).hide();
Common.NotificationCenter.trigger('tab:visible', 'review', true);
setEvents.call(me); setEvents.call(me);
}); });
@ -678,8 +794,10 @@ define([
this.btnReviewView.render(this.$el.find('#btn-review-view')); this.btnReviewView.render(this.$el.find('#btn-review-view'));
} }
this.btnSetSpelling.render(this.$el.find('#slot-btn-spelling')); this.btnSharing && this.btnSharing.render(this.$el.find('#slot-btn-sharing'));
this.btnDocLang.render(this.$el.find('#slot-set-lang')); this.btnCoAuthMode && this.btnCoAuthMode.render(this.$el.find('#slot-btn-coauthmode'));
this.btnHistory && this.btnHistory.render(this.$el.find('#slot-btn-history'));
this.btnChat && this.btnChat.render(this.$el.find('#slot-btn-chat'));
return this.$el; return this.$el;
}, },
@ -725,6 +843,17 @@ define([
}); });
this.btnsSpelling.push(button); this.btnsSpelling.push(button);
return button;
} else if (type == 'doclang' && parent == 'statusbar' ) {
button = new Common.UI.Button({
cls: 'btn-toolbar',
iconCls: 'btn-ic-doclang',
hintAnchor : 'top',
hint: this.tipSetDocLang,
disabled: true
});
this.btnsDocLang.push(button);
return button; return button;
} }
}, },
@ -758,17 +887,42 @@ define([
}, this); }, this);
}, },
SetDisabled: function (state) { turnCoAuthMode: function (fast) {
if (this.btnCoAuthMode) {
this.btnCoAuthMode.menu.items[0].setChecked(fast, true);
this.btnCoAuthMode.menu.items[1].setChecked(!fast, true);
}
},
turnChat: function (state) {
this.btnChat && this.btnChat.toggle(state, true);
},
SetDisabled: function (state, langs) {
this.btnsSpelling && this.btnsSpelling.forEach(function(button) { this.btnsSpelling && this.btnsSpelling.forEach(function(button) {
if ( button ) { if ( button ) {
button.setDisabled(state); button.setDisabled(state);
} }
}, this); }, this);
this.btnsDocLang && this.btnsDocLang.forEach(function(button) {
if ( button ) {
button.setDisabled(state || langs && langs.length<1);
}
}, this);
this.btnsTurnReview && this.btnsTurnReview.forEach(function(button) { this.btnsTurnReview && this.btnsTurnReview.forEach(function(button) {
if ( button ) { if ( button ) {
button.setDisabled(state); button.setDisabled(state);
} }
}, this); }, this);
this.btnChat && this.btnChat.setDisabled(state);
},
onLostEditRights: function() {
this._readonlyRights = true;
if (!this.rendered)
return;
this.btnSharing && this.btnSharing.setDisabled(true);
}, },
txtAccept: 'Accept', txtAccept: 'Accept',
@ -790,12 +944,26 @@ define([
txtAcceptChanges: 'Accept Changes', txtAcceptChanges: 'Accept Changes',
txtRejectChanges: 'Reject Changes', txtRejectChanges: 'Reject Changes',
txtView: 'Display Mode', txtView: 'Display Mode',
txtMarkup: 'All changes (Editing)', txtMarkup: 'Text with changes (Editing)',
txtFinal: 'All changes accepted (Preview)', txtFinal: 'All changes like accept (Preview)',
txtOriginal: 'All changes rejected (Preview)', txtOriginal: 'Text without changes (Preview)',
tipReviewView: 'Select the way you want the changes to be displayed', tipReviewView: 'Select the way you want the changes to be displayed',
tipAcceptCurrent: 'Accept current changes', tipAcceptCurrent: 'Accept current changes',
tipRejectCurrent: 'Reject current changes' tipRejectCurrent: 'Reject current changes',
txtSharing: 'Sharing',
tipSharing: 'Manage document access rights',
txtCoAuthMode: 'Co-editing Mode',
tipCoAuthMode: 'Set co-editing mode',
strFast: 'Fast',
strStrict: 'Strict',
txtHistory: 'Version History',
tipHistory: 'Show version history',
txtChat: 'Chat',
txtMarkupCap: 'Markup',
txtFinalCap: 'Final',
txtOriginalCap: 'Original',
strFastDesc: 'Real-time co-editing. All changes are saved automatically.',
strStrictDesc: 'Use the \'Save\' button to sync the changes you and others make.'
} }
}()), Common.Views.ReviewChanges || {})); }()), Common.Views.ReviewChanges || {}));

View file

@ -11,10 +11,10 @@
<polygon points="13,31 10,28 10,30 6,30 6,32 10,32 10,34 "/> <polygon points="13,31 10,28 10,30 6,30 6,32 10,32 10,34 "/>
</symbol> </symbol>
<symbol id="svg-btn-users" viewBox="0 0 20 20"> <symbol id="svg-btn-users" viewBox="0 0 20 20">
<path d="M16.469,14.184l-0.161-1.113c0.658-0.479,1.118-1.524,1.118-2.319c0-1.092-0.863-2.013-1.926-2.013c-1.063,0-1.925,0.868-1.925,1.961c0,0.795,0.46,1.766,1.118,2.242l-0.162,1.247c-0.461,0.039-0.863,0.108-1.214,0.215 <path d="M7,3.999c1.103,0,2,0.897,2,2C9,7.103,8.103,8,7,8C5.897,8,5,7.103,5,5.999C5,4.896,5.897,3.999,7,3.999 M7,2.999c-1.657,0-3,1.344-3,3S5.343,9,7,9c1.657,0,3-1.345,3-3.001S8.657,2.999,7,2.999L7,2.999z"/>
c-0.886-1.419-2.496-2.061-3.997-2.226l-0.129-0.844c0.903-0.804,1.559-2.239,1.559-3.48c0-1.85-1.458-3.354-3.25-3.354S4.25,5.985,4.25,7.811c0,1.23,0.644,2.616,1.562,3.419l-0.135,0.952C3.459,12.427,1,13.705,1,17h18 <path d="M7,11.666c4.185,0,4.909,2.268,5,2.642V16H2v-1.688C2.1,13.905,2.841,11.666,7,11.666 M7,10.666 c-5.477,0-6,3.545-6,3.545V17h12v-2.789C13,14.211,12.477,10.666,7,10.666L7,10.666z"/>
C19,16,18.387,14.345,16.469,14.184z M2.517,16c0.136-1.908,1.116-2.647,3.642-2.86l0.397-0.033l0.328-2.317L6.64,10.612C5.86,10.048,5.25,8.816,5.25,7.811C5.25,6.536,6.26,5.5,7.5,5.5s2.25,1.056,2.25,2.354c0,1.024-0.624,2.312-1.391,2.868L8.113,10.9 <circle cx="14.5" cy="8.001" r="2.5"/>
l0.337,2.202l0.393,0.033c2.525,0.213,3.505,0.952,3.641,2.864H2.517z"/> <path d="M14.5,11.863c-0.566,0-1.056,0.059-1.49,0.152c0.599,0.726,0.895,1.481,0.979,2.049L14,14.138V17h5v-2.263 C19,14.737,18.607,11.863,14.5,11.863z"/>
</symbol> </symbol>
<symbol id="svg-btn-download" viewBox="0 0 20 20"> <symbol id="svg-btn-download" viewBox="0 0 20 20">
<rect x="4" y="16" width="12" height="1"/> <rect x="4" y="16" width="12" height="1"/>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -146,7 +146,7 @@
@common-controls-width: 100px; @common-controls-width: 100px;
.img-commonctrl, .img-commonctrl,
.theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before, .theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before,
.btn-toolbar .icon.img-commonctrl { .btn-toolbar .icon.img-commonctrl, .list-item div.checked:before {
background-image: data-uri(%("%s",'@{common-image-path}/@{common-controls}')); background-image: data-uri(%("%s",'@{common-image-path}/@{common-controls}'));
background-repeat: no-repeat; background-repeat: no-repeat;

View file

@ -155,6 +155,9 @@
} }
.btn-fixflex-vcenter { .btn-fixflex-vcenter {
display: flex;
align-items: center;
.caret { .caret {
vertical-align: inherit; vertical-align: inherit;
} }

View file

@ -275,4 +275,15 @@
} }
} }
} }
}
.combo-pivot-template {
.combo-template(60px);
margin-top: -6px;
margin-bottom: -6px;
.view .dataview {
padding: 1px;
}
} }

View file

@ -78,7 +78,7 @@
overflow: hidden; overflow: hidden;
color: @gray-darker; color: @gray-darker;
textarea { textarea:not(.user-message) {
width: 100%; width: 100%;
height: 50px; height: 50px;
resize: none; resize: none;
@ -172,6 +172,14 @@
} }
} }
textarea.user-message {
border: none;
resize: none;
width: 100%;
line-height: 15px;
cursor: text;
}
.user-reply { .user-reply {
color: @black; color: @black;
margin-top: 10px; margin-top: 10px;
@ -184,7 +192,7 @@
.msg-reply { .msg-reply {
max-height:150px; max-height:150px;
word-break: break-word; word-break: break-word !important;
} }
.edit-ct { .edit-ct {

View file

@ -66,6 +66,7 @@
background-color: @dropdown-bg; background-color: @dropdown-bg;
height: 16px; height: 16px;
width: 100%; width: 100%;
cursor: pointer;
&.top { &.top {
top: 0; top: 0;
@ -96,5 +97,10 @@
border-left: 3px solid transparent; border-left: 3px solid transparent;
} }
} }
&.disabled {
opacity: 0.3;
cursor: default;
}
} }
} }

View file

@ -100,8 +100,16 @@
border: 0 none; border: 0 none;
cursor: default; cursor: default;
&:focus { &:hover:not(:disabled) {
border: 1px solid @gray-dark;
background-color: rgba(255,255,255,0.2);
}
&:focus:not(:active) {
border: 1px solid @gray-dark;
cursor: text; cursor: text;
background-color: white;
color: @gray-deep;
} }
width: 100%; width: 100%;
} }
@ -217,7 +225,7 @@
.name { .name {
display: block; display: block;
padding-left: 16px; padding-left: 16px;
margin-top: -3px; margin-top: -5px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
vertical-align: middle; vertical-align: middle;

View file

@ -28,24 +28,33 @@
border-style: solid; border-style: solid;
border-width: 1px 0; border-width: 1px 0;
border-top-color: #fafafa; border-top-color: #fafafa;
}
&:not(.disabled) > .item {
&:hover { &:hover {
background-color: @secondary; background-color: @secondary;
border-color: @secondary; border-color: @secondary;
border-style: solid; border-style: solid;
border-width: 1px 0; border-width: 1px 0;
} }
&.selected { &.selected {
background-color: @primary; background-color: @primary;
color: #fff; color: #fff;
border-color: @primary; border-color: @primary;
border-style: solid; border-style: solid;
border-width: 1px 0; border-width: 1px 0;
} }
} }
&.ps-container { &.ps-container {
overflow: hidden; overflow: hidden;
} }
&.disabled {
> .item {
cursor: default;
opacity: 0.5;
}
}
} }

View file

@ -224,6 +224,10 @@
width: 22px; width: 22px;
height: 22px; height: 22px;
} }
.checkbox-indeterminate {
margin-top: 3px;
}
} }
} }
@ -274,9 +278,6 @@
.button-normal-icon(btn-addslide, 11, @toolbar-big-icon-size); .button-normal-icon(btn-addslide, 11, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-docspell', 12, @toolbar-big-icon-size); .button-normal-icon(~'x-huge .btn-ic-docspell', 12, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-review', 13, @toolbar-big-icon-size); .button-normal-icon(~'x-huge .btn-ic-review', 13, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-reviewview', 30, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-protect', 35, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-signature', 36, @toolbar-big-icon-size);
.button-normal-icon(review-save, 14, @toolbar-big-icon-size); .button-normal-icon(review-save, 14, @toolbar-big-icon-size);
.button-normal-icon(review-deny, 15, @toolbar-big-icon-size); .button-normal-icon(review-deny, 15, @toolbar-big-icon-size);
.button-normal-icon(review-next, 16, @toolbar-big-icon-size); .button-normal-icon(review-next, 16, @toolbar-big-icon-size);
@ -293,4 +294,19 @@
.button-normal-icon(btn-img-bkwd, 27, @toolbar-big-icon-size); .button-normal-icon(btn-img-bkwd, 27, @toolbar-big-icon-size);
.button-normal-icon(btn-img-frwd, 28, @toolbar-big-icon-size); .button-normal-icon(btn-img-frwd, 28, @toolbar-big-icon-size);
.button-normal-icon(btn-img-wrap, 29, @toolbar-big-icon-size); .button-normal-icon(btn-img-wrap, 29, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-reviewview', 30, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-sharing', 31, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-coedit', 32, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-chat', 33, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-history', 34, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-protect', 35, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-ic-signature', 36, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-add-pivot', 37, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-update-pivot', 38, @toolbar-big-icon-size);
.button-normal-icon(btn-contents-update, 38, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-pivot-layout', 39, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-blank-rows', 43, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-subtotals', 46, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-grand-totals', 52, @toolbar-big-icon-size);
.button-normal-icon(~'x-huge .btn-contents', 53, @toolbar-big-icon-size);
.button-normal-icon(btn-controls, 54, @toolbar-big-icon-size); .button-normal-icon(btn-controls, 54, @toolbar-big-icon-size);

View file

@ -0,0 +1,69 @@
.treeview {
&.inner {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
.empty-text {
text-align: center;
height: 100%;
width: 100%;
color: #b2b2b2;
}
}
> .item {
display: block;
width: 100%;
.box-shadow(none);
margin: 0;
&:hover,
&.over {
background-color: @secondary;
}
&.selected {
background-color: #cbcdcf;
}
&.selected .empty {
display: none;
}
}
.tree-item {
width: 100%;
min-height: 28px;
padding: 0px 0 0 24px;
}
.name {
width: 100%;
padding: 5px 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
&.empty {
color: #999;
font-style: italic;
}
}
.tree-caret {
width: 24px;
height: 24px;
background-position: 3px -270px;
display: inline-block;
position: absolute;
left: 0;
cursor: pointer;
&.up {
transform: rotate(270deg);
}
}
}

View file

@ -233,7 +233,7 @@
} }
var params = getUrlParams(), var params = getUrlParams(),
lang = (params["lang"] || 'en').split("-")[0], lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '', customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
margin = (customer !== '') ? 50 : 20, margin = (customer !== '') ? 50 : 20,
loading = 'Loading...', loading = 'Loading...',

View file

@ -225,7 +225,7 @@
} }
var params = getUrlParams(), var params = getUrlParams(),
lang = (params["lang"] || 'en').split("-")[0], lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '', customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
margin = (customer !== '') ? 50 : 20, margin = (customer !== '') ? 50 : 20,
loading = 'Loading...', loading = 'Loading...',

View file

@ -398,6 +398,8 @@ var ApplicationController = new(function(){
}); });
} }
else { else {
Common.Gateway.reportWarning(id, message);
$('#id-critical-error-title').text(me.notcriticalErrorTitle); $('#id-critical-error-title').text(me.notcriticalErrorTitle);
$('#id-critical-error-message').text(message); $('#id-critical-error-message').text(message);
$('#id-critical-error-close').off(); $('#id-critical-error-close').off();

View file

@ -150,6 +150,8 @@ require([
'DocumentHolder', 'DocumentHolder',
'Toolbar', 'Toolbar',
'Statusbar', 'Statusbar',
'Links',
'Navigation',
'RightMenu', 'RightMenu',
'LeftMenu', 'LeftMenu',
'Main', 'Main',
@ -174,6 +176,8 @@ require([
'documenteditor/main/app/controller/DocumentHolder', 'documenteditor/main/app/controller/DocumentHolder',
'documenteditor/main/app/controller/Toolbar', 'documenteditor/main/app/controller/Toolbar',
'documenteditor/main/app/controller/Statusbar', 'documenteditor/main/app/controller/Statusbar',
'documenteditor/main/app/controller/Links',
'documenteditor/main/app/controller/Navigation',
'documenteditor/main/app/controller/RightMenu', 'documenteditor/main/app/controller/RightMenu',
'documenteditor/main/app/controller/LeftMenu', 'documenteditor/main/app/controller/LeftMenu',
'documenteditor/main/app/controller/Main', 'documenteditor/main/app/controller/Main',

View file

@ -42,10 +42,7 @@ define([
'backbone', 'backbone',
'documenteditor/main/app/model/EquationGroup' 'documenteditor/main/app/model/EquationGroup'
], function(Backbone){ 'use strict'; ], function(Backbone){ 'use strict';
if (Common === undefined) DE.Collections = DE.Collections || {};
var Common = {};
Common.Collections = Common.Collections || {};
DE.Collections.EquationGroups = Backbone.Collection.extend({ DE.Collections.EquationGroups = Backbone.Collection.extend({
model: DE.Models.EquationGroup model: DE.Models.EquationGroup

View file

@ -0,0 +1,50 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* User: Julia.Radzhabova
* Date: 14.12.17
*/
define([
'underscore',
'backbone',
'common/main/lib/component/TreeView'
], function(_, Backbone){
'use strict';
DE.Collections = DE.Collections || {};
DE.Collections.Navigation = Common.UI.TreeViewStore.extend({
model: Common.UI.TreeViewModel
});
});

View file

@ -100,11 +100,18 @@ define([
'search:replace': _.bind(this.onQueryReplace, this), 'search:replace': _.bind(this.onQueryReplace, this),
'search:replaceall': _.bind(this.onQueryReplaceAll, this), 'search:replaceall': _.bind(this.onQueryReplaceAll, this),
'search:highlight': _.bind(this.onSearchHighlight, this) 'search:highlight': _.bind(this.onSearchHighlight, this)
},
'Common.Views.ReviewChanges': {
'collaboration:chat': _.bind(this.onShowHideChat, this)
} }
}); });
Common.NotificationCenter.on('leftmenu:change', _.bind(this.onMenuChange, this)); Common.NotificationCenter.on('leftmenu:change', _.bind(this.onMenuChange, this));
Common.NotificationCenter.on('app:comment:add', _.bind(this.onAppAddComment, this)); Common.NotificationCenter.on('app:comment:add', _.bind(this.onAppAddComment, this));
Common.NotificationCenter.on('collaboration:history', _.bind(function () {
if ( !this.leftMenu.panelHistory.isVisible() )
this.clickMenuFileItem(null, 'history');
}, this));
}, },
onLaunch: function() { onLaunch: function() {
@ -192,6 +199,8 @@ define([
if (this.mode.canUseHistory) if (this.mode.canUseHistory)
this.leftMenu.setOptionsPanel('history', this.getApplication().getController('Common.Controllers.History').getView('Common.Views.History')); this.leftMenu.setOptionsPanel('history', this.getApplication().getController('Common.Controllers.History').getView('Common.Views.History'));
this.leftMenu.setOptionsPanel('navigation', this.getApplication().getController('Navigation').getView('Navigation'));
this.mode.trialMode && this.leftMenu.setDeveloperMode(this.mode.trialMode); this.mode.trialMode && this.leftMenu.setDeveloperMode(this.mode.trialMode);
Common.util.Shortcuts.resumeEvents(); Common.util.Shortcuts.resumeEvents();
@ -268,7 +277,7 @@ define([
default: close_menu = false; default: close_menu = false;
} }
if (close_menu) { if (close_menu && menu) {
menu.hide(); menu.hide();
} }
}, },
@ -298,16 +307,21 @@ define([
applySettings: function(menu) { applySettings: function(menu) {
var value; var value;
this.api.SetTextBoxInputMode(Common.localStorage.getBool("de-settings-inputmode"));
value = Common.localStorage.getBool("de-settings-inputmode");
Common.Utils.InternalSettings.set("de-settings-inputmode", value);
this.api.SetTextBoxInputMode(value);
if (Common.Utils.isChrome) { if (Common.Utils.isChrome) {
value = Common.localStorage.getBool("de-settings-inputsogou"); value = Common.localStorage.getBool("de-settings-inputsogou");
Common.Utils.InternalSettings.set("de-settings-inputsogou", value);
this.api.setInputParams({"SogouPinyin" : value}); this.api.setInputParams({"SogouPinyin" : value});
} }
/** coauthoring begin **/ /** coauthoring begin **/
if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring) { if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring) {
var fast_coauth = Common.localStorage.getBool("de-settings-coauthmode", true); var fast_coauth = Common.localStorage.getBool("de-settings-coauthmode", true);
Common.Utils.InternalSettings.set("de-settings-coauthmode", fast_coauth);
this.api.asc_SetFastCollaborative(fast_coauth); this.api.asc_SetFastCollaborative(fast_coauth);
value = Common.localStorage.getItem((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict"); value = Common.localStorage.getItem((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
@ -317,13 +331,21 @@ define([
case 'last': value = Asc.c_oAscCollaborativeMarksShowType.LastChanges; break; case 'last': value = Asc.c_oAscCollaborativeMarksShowType.LastChanges; break;
default: value = (fast_coauth) ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges; default: value = (fast_coauth) ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges;
} }
Common.Utils.InternalSettings.set((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict", value);
this.api.SetCollaborativeMarksShowType(value); this.api.SetCollaborativeMarksShowType(value);
} }
(Common.localStorage.getBool("de-settings-livecomment", true)) ? this.api.asc_showComments(Common.localStorage.getBool("de-settings-resolvedcomment", true)) : this.api.asc_hideComments(); value = Common.localStorage.getBool("de-settings-livecomment", true);
Common.Utils.InternalSettings.set("de-settings-livecomment", value);
var resolved = Common.localStorage.getBool("de-settings-resolvedcomment", true);
Common.Utils.InternalSettings.set("de-settings-resolvedcomment", resolved);
if (this.mode.canComments && this.leftMenu.panelComments.isVisible())
value = resolved = true;
(value) ? this.api.asc_showComments(resolved) : this.api.asc_hideComments();
/** coauthoring end **/ /** coauthoring end **/
value = Common.localStorage.getItem("de-settings-fontrender"); value = Common.localStorage.getItem("de-settings-fontrender");
Common.Utils.InternalSettings.set("de-settings-fontrender", value);
switch (value) { switch (value) {
case '1': this.api.SetFontRenderingMode(1); break; case '1': this.api.SetFontRenderingMode(1); break;
case '2': this.api.SetFontRenderingMode(2); break; case '2': this.api.SetFontRenderingMode(2); break;
@ -331,13 +353,16 @@ define([
} }
if (this.mode.isEdit) { if (this.mode.isEdit) {
value = Common.localStorage.getItem("de-settings-autosave"); value = parseInt(Common.localStorage.getItem("de-settings-autosave"));
this.api.asc_setAutoSaveGap(parseInt(value)); Common.Utils.InternalSettings.set("de-settings-autosave", value);
this.api.asc_setAutoSaveGap(value);
this.api.asc_setSpellCheck(Common.localStorage.getBool("de-settings-spellcheck", true)); value = Common.localStorage.getBool("de-settings-spellcheck", true);
Common.Utils.InternalSettings.set("de-settings-spellcheck", value);
this.api.asc_setSpellCheck(value);
} }
this.api.put_ShowSnapLines(Common.localStorage.getBool("de-settings-showsnaplines", true)); this.api.put_ShowSnapLines(Common.Utils.InternalSettings.get("de-settings-showsnaplines"));
menu.hide(); menu.hide();
}, },
@ -476,6 +501,7 @@ define([
this.leftMenu.btnChat.setDisabled(true); this.leftMenu.btnChat.setDisabled(true);
/** coauthoring end **/ /** coauthoring end **/
this.leftMenu.btnPlugins.setDisabled(true); this.leftMenu.btnPlugins.setDisabled(true);
this.leftMenu.btnNavigation.setDisabled(true);
this.leftMenu.getMenu('file').setMode({isDisconnected: true, disableDownload: !!disableDownload}); this.leftMenu.getMenu('file').setMode({isDisconnected: true, disableDownload: !!disableDownload});
if ( this.dlgSearch ) { if ( this.dlgSearch ) {
@ -493,6 +519,7 @@ define([
this.leftMenu.btnChat.setDisabled(disable); this.leftMenu.btnChat.setDisabled(disable);
/** coauthoring end **/ /** coauthoring end **/
this.leftMenu.btnPlugins.setDisabled(disable); this.leftMenu.btnPlugins.setDisabled(disable);
this.leftMenu.btnNavigation.setDisabled(disable);
if (disableFileMenu) this.leftMenu.getMenu('file').SetDisabled(disable); if (disableFileMenu) this.leftMenu.getMenu('file').SetDisabled(disable);
}, },
@ -532,8 +559,9 @@ define([
}, },
commentsShowHide: function(mode) { commentsShowHide: function(mode) {
var value = Common.localStorage.getBool("de-settings-livecomment", true), var value = Common.Utils.InternalSettings.get("de-settings-livecomment"),
resolved = Common.localStorage.getBool("de-settings-resolvedcomment", true); resolved = Common.Utils.InternalSettings.get("de-settings-resolvedcomment");
if (!value || !resolved) { if (!value || !resolved) {
(mode === 'show') ? this.api.asc_showComments(true) : ((value) ? this.api.asc_showComments(resolved) : this.api.asc_hideComments()); (mode === 'show') ? this.api.asc_showComments(true) : ((value) ? this.api.asc_showComments(resolved) : this.api.asc_hideComments());
} }
@ -681,6 +709,18 @@ define([
Common.Gateway.requestHistory(); Common.Gateway.requestHistory();
}, },
onShowHideChat: function(state) {
if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) {
if (state) {
Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('chat');
} else {
this.leftMenu.btnChat.toggle(false, true);
this.leftMenu.onBtnMenuClick(this.leftMenu.btnChat);
}
}
},
textNoTextFound : 'Text not found', textNoTextFound : 'Text not found',
newDocumentTitle : 'Unnamed document', newDocumentTitle : 'Unnamed document',
requestEditRightsText : 'Requesting editing rights...', requestEditRightsText : 'Requesting editing rights...',

View file

@ -0,0 +1,305 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* Links.js
*
* Created by Julia Radzhabova on 22.12.2017
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
*
*/
define([
'core',
'documenteditor/main/app/view/Links',
'documenteditor/main/app/view/NoteSettingsDialog',
'documenteditor/main/app/view/HyperlinkSettingsDialog',
'documenteditor/main/app/view/TableOfContentsSettings'
], function () {
'use strict';
DE.Controllers.Links = Backbone.Controller.extend(_.extend({
models : [],
collections : [
],
views : [
'Links'
],
sdkViewName : '#id_main',
initialize: function () {
this.addListeners({
'Links': {
'links:contents': this.onTableContents,
'links:update': this.onTableContentsUpdate,
'links:notes': this.onNotesClick,
'links:hyperlink': this.onHyperlinkClick
}
});
},
onLaunch: function () {
this._state = {
prcontrolsdisable:undefined
};
},
setApi: function (api) {
if (api) {
this.api = api;
this.api.asc_registerCallback('asc_onFocusObject', this.onApiFocusObject.bind(this));
this.api.asc_registerCallback('asc_onCanAddHyperlink', _.bind(this.onApiCanAddHyperlink, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onCoAuthoringDisconnect, this));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this));
}
return this;
},
setConfig: function(config) {
this.toolbar = config.toolbar;
this.view = this.createView('Links', {
toolbar: this.toolbar.toolbar
});
},
SetDisabled: function(state) {
this.view && this.view.SetDisabled(state);
},
getView: function(name) {
return !name && this.view ?
this.view : Backbone.Controller.prototype.getView.call(this, name);
},
onCoAuthoringDisconnect: function() {
this.SetDisabled(true);
},
onApiFocusObject: function(selectedObjects) {
if (!this.toolbar.editMode) return;
var pr, i = -1, type,
paragraph_locked = false,
header_locked = false,
in_header = false,
in_equation = false,
in_image = false;
while (++i < selectedObjects.length) {
type = selectedObjects[i].get_ObjectType();
pr = selectedObjects[i].get_ObjectValue();
if (type === Asc.c_oAscTypeSelectElement.Paragraph) {
paragraph_locked = pr.get_Locked();
} else if (type === Asc.c_oAscTypeSelectElement.Header) {
header_locked = pr.get_Locked();
in_header = true;
} else if (type === Asc.c_oAscTypeSelectElement.Image) {
in_image = true;
} else if (type === Asc.c_oAscTypeSelectElement.Math) {
in_equation = true;
}
}
this._state.prcontrolsdisable = paragraph_locked || header_locked;
var need_disable = paragraph_locked || in_equation || in_image || in_header;
_.each (this.view.btnsNotes, function(item){
item.setDisabled(need_disable);
}, this);
},
onApiCanAddHyperlink: function(value) {
var need_disable = !value || this._state.prcontrolsdisable;
if ( this.toolbar.editMode ) {
_.each (this.view.btnsHyperlink, function(item){
item.setDisabled(need_disable);
}, this);
}
},
onHyperlinkClick: function(btn) {
var me = this,
win, props, text;
if (me.api){
var handlerDlg = function(dlg, result) {
if (result == 'ok') {
props = dlg.getSettings();
(text!==false)
? me.api.add_Hyperlink(props)
: me.api.change_Hyperlink(props);
}
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
};
text = me.api.can_AddHyperlink();
if (text !== false) {
win = new DE.Views.HyperlinkSettingsDialog({
api: me.api,
handler: handlerDlg
});
props = new Asc.CHyperlinkProperty();
props.put_Text(text);
win.show();
win.setSettings(props);
} else {
var selectedElements = me.api.getSelectedElements();
if (selectedElements && _.isArray(selectedElements)){
_.each(selectedElements, function(el, i) {
if (selectedElements[i].get_ObjectType() == Asc.c_oAscTypeSelectElement.Hyperlink)
props = selectedElements[i].get_ObjectValue();
});
}
if (props) {
win = new DE.Views.HyperlinkSettingsDialog({
api: me.api,
handler: handlerDlg
});
win.show();
win.setSettings(props);
}
}
}
Common.component.Analytics.trackEvent('ToolBar', 'Add Hyperlink');
},
onTableContents: function(type){
switch (type) {
case 0:
var props = this.api.asc_GetTableOfContentsPr(),
hasTable = !!props;
if (!props) {
props = new Asc.CTableOfContentsPr();
props.put_OutlineRange(1, 9);
}
props.put_Hyperlink(true);
props.put_ShowPageNumbers(true);
props.put_RightAlignTab(true);
props.put_TabLeader( Asc.c_oAscTabLeader.Dot);
this.api.asc_AddTableOfContents(null, props);
break;
case 1:
var props = this.api.asc_GetTableOfContentsPr(),
hasTable = !!props;
if (!props) {
props = new Asc.CTableOfContentsPr();
props.put_OutlineRange(1, 9);
}
props.put_Hyperlink(true);
props.put_ShowPageNumbers(false);
props.put_TabLeader( Asc.c_oAscTabLeader.None);
this.api.asc_AddTableOfContents(null, props);
break;
case 'settings':
var props = this.api.asc_GetTableOfContentsPr(),
me = this;
var win = new DE.Views.TableOfContentsSettings({
api: this.api,
props: props,
handler: function(result, value) {
if (result == 'ok') {
(props) ? me.api.asc_SetTableOfContentsPr(value) : me.api.asc_AddTableOfContents(null, value);
}
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
win.show();
break;
case 'remove':
this.api.asc_RemoveTableOfContents();
break;
}
},
onTableContentsUpdate: function(type){
this.api.asc_UpdateTableOfContents(type == 'pages');
},
onNotesClick: function(type) {
var me = this;
switch (type) {
case 'ins_footnote':
this.api.asc_AddFootnote();
break;
case 'delele':
Common.UI.warning({
msg: this.view.confirmDeleteFootnotes,
buttons: ['yes', 'no'],
primary: 'yes',
callback: _.bind(function (btn) {
if (btn == 'yes') {
this.api.asc_RemoveAllFootnotes();
}
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
}, this)
});
break;
case 'settings':
(new DE.Views.NoteSettingsDialog({
api: me.api,
handler: function (result, settings) {
if (settings) {
me.api.asc_SetFootnoteProps(settings.props, settings.applyToAll);
if (result == 'insert')
me.api.asc_AddFootnote(settings.custom);
}
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
},
props: me.api.asc_GetFootnoteProps()
})).show();
break;
case 'prev':
this.api.asc_GotoFootnote(false);
setTimeout(function() {
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}, 50);
break;
case 'next':
this.api.asc_GotoFootnote(true);
setTimeout(function() {
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}, 50);
break;
}
}
}, DE.Controllers.Links || {}));
});

View file

@ -93,6 +93,9 @@ define([
this.addListeners({ this.addListeners({
'FileMenu': { 'FileMenu': {
'settings:apply': _.bind(this.applySettings, this) 'settings:apply': _.bind(this.applySettings, this)
},
'Common.Views.ReviewChanges': {
'settings:apply': _.bind(this.applySettings, this)
} }
}); });
}, },
@ -119,6 +122,7 @@ define([
var value = Common.localStorage.getItem("de-settings-fontrender"); var value = Common.localStorage.getItem("de-settings-fontrender");
if (value === null) if (value === null)
window.devicePixelRatio > 1 ? value = '1' : '0'; window.devicePixelRatio > 1 ? value = '1' : '0';
Common.Utils.InternalSettings.set("de-settings-fontrender", value);
// Initialize api // Initialize api
@ -131,7 +135,20 @@ define([
'Diagram Title': this.txtDiagramTitle, 'Diagram Title': this.txtDiagramTitle,
'X Axis': this.txtXAxis, 'X Axis': this.txtXAxis,
'Y Axis': this.txtYAxis, 'Y Axis': this.txtYAxis,
'Your text here': this.txtArt 'Your text here': this.txtArt,
"Error! Bookmark not defined.": this.txtBookmarkError,
"above": this.txtAbove,
"below": this.txtBelow,
"on page ": this.txtOnPage,
"Header": this.txtHeader,
"Footer": this.txtFooter,
" -Section ": this.txtSection,
"First Page ": this.txtFirstPage,
"Even Page ": this.txtEvenPage,
"Odd Page ": this.txtOddPage,
"Same as Previous": this.txtSameAsPrev,
"Current Document": this.txtCurrentDocument,
"No table of contents entries found.": this.txtNoTableOfContents
}; };
styleNames.forEach(function(item){ styleNames.forEach(function(item){
translate[item] = me.translationTable[item] = me['txtStyle_' + item.replace(/ /g, '_')] || item; translate[item] = me.translationTable[item] = me['txtStyle_' + item.replace(/ /g, '_')] || item;
@ -374,10 +391,25 @@ define([
} }
}, },
onDownloadAs: function() { onDownloadAs: function(format) {
this._state.isFromGatewayDownloadAs = true; this._state.isFromGatewayDownloadAs = true;
var type = /^(?:(pdf|djvu|xps))$/.exec(this.document.fileType); var type = /^(?:(pdf|djvu|xps))$/.exec(this.document.fileType);
(type && typeof type[1] === 'string') ? this.api.asc_DownloadOrigin(true) : this.api.asc_DownloadAs(Asc.c_oAscFileType.DOCX, true); if (type && typeof type[1] === 'string')
this.api.asc_DownloadOrigin(true);
else {
var _format = (format && (typeof format == 'string')) ? Asc.c_oAscFileType[ format.toUpperCase() ] : null,
_supported = [
Asc.c_oAscFileType.TXT,
Asc.c_oAscFileType.ODT,
Asc.c_oAscFileType.DOCX,
Asc.c_oAscFileType.HTML,
Asc.c_oAscFileType.PDF
];
if ( !_format || _supported.indexOf(_format) < 0 )
_format = Asc.c_oAscFileType.DOCX;
this.api.asc_DownloadAs(_format, true);
}
}, },
onProcessMouse: function(data) { onProcessMouse: function(data) {
@ -770,10 +802,14 @@ define([
/** coauthoring begin **/ /** coauthoring begin **/
this.isLiveCommenting = Common.localStorage.getBool("de-settings-livecomment", true); this.isLiveCommenting = Common.localStorage.getBool("de-settings-livecomment", true);
this.isLiveCommenting ? this.api.asc_showComments(Common.localStorage.getBool("de-settings-resolvedcomment", true)) : this.api.asc_hideComments(); Common.Utils.InternalSettings.set("de-settings-livecomment", this.isLiveCommenting);
value = Common.localStorage.getBool("de-settings-resolvedcomment", true);
Common.Utils.InternalSettings.set("de-settings-resolvedcomment", value);
this.isLiveCommenting ? this.api.asc_showComments(value) : this.api.asc_hideComments();
/** coauthoring end **/ /** coauthoring end **/
value = Common.localStorage.getItem("de-settings-zoom"); value = Common.localStorage.getItem("de-settings-zoom");
Common.Utils.InternalSettings.set("de-settings-zoom", value);
var zf = (value!==null) ? parseInt(value) : (this.appOptions.customization && this.appOptions.customization.zoom ? parseInt(this.appOptions.customization.zoom) : 100); var zf = (value!==null) ? parseInt(value) : (this.appOptions.customization && this.appOptions.customization.zoom ? parseInt(this.appOptions.customization.zoom) : 100);
(zf == -1) ? this.api.zoomFitToPage() : ((zf == -2) ? this.api.zoomFitToWidth() : this.api.zoom(zf>0 ? zf : 100)); (zf == -1) ? this.api.zoomFitToPage() : ((zf == -2) ? this.api.zoomFitToWidth() : this.api.zoom(zf>0 ? zf : 100));
@ -783,9 +819,11 @@ define([
value = Common.localStorage.getItem("de-show-tableline"); value = Common.localStorage.getItem("de-show-tableline");
me.api.put_ShowTableEmptyLine((value!==null) ? eval(value) : true); me.api.put_ShowTableEmptyLine((value!==null) ? eval(value) : true);
me.api.asc_setSpellCheck(Common.localStorage.getBool("de-settings-spellcheck", true)); value = Common.localStorage.getBool("de-settings-spellcheck", true);
Common.Utils.InternalSettings.set("de-settings-spellcheck", value);
me.api.asc_setSpellCheck(value);
Common.localStorage.setBool("de-settings-showsnaplines", me.api.get_ShowSnapLines()); Common.Utils.InternalSettings.set("de-settings-showsnaplines", me.api.get_ShowSnapLines());
function checkWarns() { function checkWarns() {
if (!window['AscDesktopEditor']) { if (!window['AscDesktopEditor']) {
@ -809,11 +847,14 @@ define([
appHeader.setDocumentCaption(me.api.asc_getDocumentName()); appHeader.setDocumentCaption(me.api.asc_getDocumentName());
me.updateWindowTitle(true); me.updateWindowTitle(true);
me.api.SetTextBoxInputMode(Common.localStorage.getBool("de-settings-inputmode")); value = Common.localStorage.getBool("de-settings-inputmode");
Common.Utils.InternalSettings.set("de-settings-inputmode", value);
me.api.SetTextBoxInputMode(value);
if (Common.Utils.isChrome) { if (Common.Utils.isChrome) {
value = Common.localStorage.getBool("de-settings-inputsogou"); value = Common.localStorage.getBool("de-settings-inputsogou");
me.api.setInputParams({"SogouPinyin" : value}); me.api.setInputParams({"SogouPinyin" : value});
Common.Utils.InternalSettings.set("de-settings-inputsogou", value);
} }
/** coauthoring begin **/ /** coauthoring begin **/
@ -827,21 +868,23 @@ define([
me.api.asc_SetFastCollaborative(me._state.fastCoauth); me.api.asc_SetFastCollaborative(me._state.fastCoauth);
value = Common.localStorage.getItem((me._state.fastCoauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict"); value = Common.localStorage.getItem((me._state.fastCoauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
if (value !== null) if (value == null) value = me._state.fastCoauth ? 'none' : 'last';
me.api.SetCollaborativeMarksShowType(value == 'all' ? Asc.c_oAscCollaborativeMarksShowType.All : me.api.SetCollaborativeMarksShowType(value == 'all' ? Asc.c_oAscCollaborativeMarksShowType.All :
value == 'none' ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges); (value == 'none' ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges));
else Common.Utils.InternalSettings.set((me._state.fastCoauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict", value);
me.api.SetCollaborativeMarksShowType(me._state.fastCoauth ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
} else if (!me.appOptions.isEdit && me.appOptions.canComments) { } else if (!me.appOptions.isEdit && me.appOptions.canComments) {
me._state.fastCoauth = true; me._state.fastCoauth = true;
me.api.asc_SetFastCollaborative(me._state.fastCoauth); me.api.asc_SetFastCollaborative(me._state.fastCoauth);
me.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None); me.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None);
me.api.asc_setAutoSaveGap(1); me.api.asc_setAutoSaveGap(1);
Common.Utils.InternalSettings.set("de-settings-autosave", 1);
} else { } else {
me._state.fastCoauth = false; me._state.fastCoauth = false;
me.api.asc_SetFastCollaborative(me._state.fastCoauth); me.api.asc_SetFastCollaborative(me._state.fastCoauth);
me.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None); me.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None);
} }
Common.Utils.InternalSettings.set("de-settings-coauthmode", me._state.fastCoauth);
/** coauthoring end **/ /** coauthoring end **/
var application = me.getApplication(); var application = me.getApplication();
@ -852,7 +895,8 @@ define([
rightmenuController = application.getController('RightMenu'), rightmenuController = application.getController('RightMenu'),
leftmenuController = application.getController('LeftMenu'), leftmenuController = application.getController('LeftMenu'),
chatController = application.getController('Common.Controllers.Chat'), chatController = application.getController('Common.Controllers.Chat'),
pluginsController = application.getController('Common.Controllers.Plugins'); pluginsController = application.getController('Common.Controllers.Plugins'),
navigationController = application.getController('Navigation');
leftmenuController.getView('LeftMenu').getMenu('file').loadDocument({doc:me.document}); leftmenuController.getView('LeftMenu').getMenu('file').loadDocument({doc:me.document});
leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api); leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api);
@ -866,6 +910,8 @@ define([
me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me)); me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
me.api.asc_registerCallback('asc_onPluginsReset', _.bind(me.resetPluginsList, me)); me.api.asc_registerCallback('asc_onPluginsReset', _.bind(me.resetPluginsList, me));
navigationController.setApi(me.api);
documentHolderController.setApi(me.api); documentHolderController.setApi(me.api);
documentHolderController.createDelayedElements(); documentHolderController.createDelayedElements();
statusbarController.createDelayedElements(); statusbarController.createDelayedElements();
@ -882,11 +928,12 @@ define([
if (value===null && me.appOptions.customization && me.appOptions.customization.autosave===false) if (value===null && me.appOptions.customization && me.appOptions.customization.autosave===false)
value = 0; value = 0;
value = (!me._state.fastCoauth && value!==null) ? parseInt(value) : (me.appOptions.canCoAuthoring ? 1 : 0); value = (!me._state.fastCoauth && value!==null) ? parseInt(value) : (me.appOptions.canCoAuthoring ? 1 : 0);
Common.Utils.InternalSettings.set("de-settings-autosave", value);
me.api.asc_setAutoSaveGap(value); me.api.asc_setAutoSaveGap(value);
if (me.appOptions.canForcesave) {// use asc_setIsForceSaveOnUserSave only when customization->forcesave = true if (me.appOptions.canForcesave) {// use asc_setIsForceSaveOnUserSave only when customization->forcesave = true
me.appOptions.forcesave = Common.localStorage.getBool("de-settings-forcesave", me.appOptions.canForcesave); me.appOptions.forcesave = Common.localStorage.getBool("de-settings-forcesave", me.appOptions.canForcesave);
Common.Utils.InternalSettings.set("de-settings-forcesave", me.appOptions.forcesave);
me.api.asc_setIsForceSaveOnUserSave(me.appOptions.forcesave); me.api.asc_setIsForceSaveOnUserSave(me.appOptions.forcesave);
} }
@ -1156,6 +1203,7 @@ define([
var value = Common.localStorage.getItem('de-settings-unit'); var value = Common.localStorage.getItem('de-settings-unit');
value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric(); value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric();
Common.Utils.Metric.setCurrentMetric(value); Common.Utils.Metric.setCurrentMetric(value);
Common.Utils.InternalSettings.set("de-settings-unit", value);
me.api.asc_SetDocumentUnits((value==Common.Utils.Metric.c_MetricUnits.inch) ? Asc.c_oAscDocumentUnits.Inch : ((value==Common.Utils.Metric.c_MetricUnits.pt) ? Asc.c_oAscDocumentUnits.Point : Asc.c_oAscDocumentUnits.Millimeter)); me.api.asc_SetDocumentUnits((value==Common.Utils.Metric.c_MetricUnits.inch) ? Asc.c_oAscDocumentUnits.Inch : ((value==Common.Utils.Metric.c_MetricUnits.pt) ? Asc.c_oAscDocumentUnits.Point : Asc.c_oAscDocumentUnits.Millimeter));
me.api.asc_SetViewRulers(!Common.localStorage.getBool('de-hidden-rulers')); me.api.asc_SetViewRulers(!Common.localStorage.getBool('de-hidden-rulers'));
@ -1318,6 +1366,15 @@ define([
config.msg = this.errorBadImageUrl; config.msg = this.errorBadImageUrl;
break; break;
case Asc.c_oAscError.ID.ForceSaveButton:
config.msg = this.errorForceSave;
break;
case Asc.c_oAscError.ID.ForceSaveTimeout:
config.msg = this.errorForceSave;
console.warn(config.msg);
break;
default: default:
config.msg = this.errorDefaultMessage.replace('%1', id); config.msg = this.errorDefaultMessage.replace('%1', id);
break; break;
@ -1341,6 +1398,8 @@ define([
} }
} }
else { else {
Common.Gateway.reportWarning(id, config.msg);
config.title = this.notcriticalErrorTitle; config.title = this.notcriticalErrorTitle;
config.iconCls = 'warn'; config.iconCls = 'warn';
config.buttons = ['ok']; config.buttons = ['ok'];
@ -1351,13 +1410,28 @@ define([
this.api.asc_DownloadAs(); this.api.asc_DownloadAs();
else else
(this.appOptions.canDownload) ? this.getApplication().getController('LeftMenu').leftMenu.showMenu('file:saveas') : this.api.asc_DownloadOrigin(); (this.appOptions.canDownload) ? this.getApplication().getController('LeftMenu').leftMenu.showMenu('file:saveas') : this.api.asc_DownloadOrigin();
} else if (id == Asc.c_oAscError.ID.SplitCellMaxRows || id == Asc.c_oAscError.ID.SplitCellMaxCols || id == Asc.c_oAscError.ID.SplitCellRowsDivider) {
var me = this;
setTimeout(function(){
(new Common.Views.InsertTableDialog({
split: true,
handler: function(result, value) {
if (result == 'ok') {
if (me.api)
me.api.SplitCell(value.columns, value.rows);
}
me.onEditComplete();
}
})).show();
},10);
} }
this._state.lostEditingRights = false; this._state.lostEditingRights = false;
this.onEditComplete(); this.onEditComplete();
}, this); }, this);
} }
Common.UI.alert(config); if (id !== Asc.c_oAscError.ID.ForceSaveTimeout)
Common.UI.alert(config);
Common.component.Analytics.trackEvent('Internal Error', id.toString()); Common.component.Analytics.trackEvent('Internal Error', id.toString());
}, },
@ -1755,6 +1829,7 @@ define([
var value = Common.localStorage.getItem("de-settings-unit"); var value = Common.localStorage.getItem("de-settings-unit");
value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric(); value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric();
Common.Utils.Metric.setCurrentMetric(value); Common.Utils.Metric.setCurrentMetric(value);
Common.Utils.InternalSettings.set("de-settings-unit", value);
this.api.asc_SetDocumentUnits((value==Common.Utils.Metric.c_MetricUnits.inch) ? Asc.c_oAscDocumentUnits.Inch : ((value==Common.Utils.Metric.c_MetricUnits.pt) ? Asc.c_oAscDocumentUnits.Point : Asc.c_oAscDocumentUnits.Millimeter)); this.api.asc_SetDocumentUnits((value==Common.Utils.Metric.c_MetricUnits.inch) ? Asc.c_oAscDocumentUnits.Inch : ((value==Common.Utils.Metric.c_MetricUnits.pt) ? Asc.c_oAscDocumentUnits.Point : Asc.c_oAscDocumentUnits.Millimeter));
this.getApplication().getController('RightMenu').updateMetricUnit(); this.getApplication().getController('RightMenu').updateMetricUnit();
this.getApplication().getController('Toolbar').getView().updateMetricUnit(); this.getApplication().getController('Toolbar').getView().updateMetricUnit();
@ -1816,12 +1891,13 @@ define([
if (dontshow) window.localStorage.setItem("de-hide-try-undoredo", 1); if (dontshow) window.localStorage.setItem("de-hide-try-undoredo", 1);
if (btn == 'custom') { if (btn == 'custom') {
Common.localStorage.setItem("de-settings-coauthmode", 0); Common.localStorage.setItem("de-settings-coauthmode", 0);
Common.Utils.InternalSettings.set("de-settings-coauthmode", false);
this.api.asc_SetFastCollaborative(false); this.api.asc_SetFastCollaborative(false);
this._state.fastCoauth = false; this._state.fastCoauth = false;
Common.localStorage.setItem("de-settings-showchanges-strict", 'last'); Common.localStorage.setItem("de-settings-showchanges-strict", 'last');
this.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.LastChanges); this.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.LastChanges);
} }
this.fireEvent('editcomplete', this); this.onEditComplete();
}, this) }, this)
}); });
}, },
@ -1844,6 +1920,7 @@ define([
} }
if (this.appOptions.canForcesave) { if (this.appOptions.canForcesave) {
this.appOptions.forcesave = Common.localStorage.getBool("de-settings-forcesave", this.appOptions.canForcesave); this.appOptions.forcesave = Common.localStorage.getBool("de-settings-forcesave", this.appOptions.canForcesave);
Common.Utils.InternalSettings.set("de-settings-forcesave", this.appOptions.forcesave);
this.api.asc_setIsForceSaveOnUserSave(this.appOptions.forcesave); this.api.asc_setIsForceSaveOnUserSave(this.appOptions.forcesave);
} }
}, },
@ -1915,18 +1992,11 @@ define([
var pluginsData = (uiCustomize) ? plugins.UIpluginsData : plugins.pluginsData; var pluginsData = (uiCustomize) ? plugins.UIpluginsData : plugins.pluginsData;
if (!pluginsData || pluginsData.length<1) return; if (!pluginsData || pluginsData.length<1) return;
var arr = [], var arr = [];
baseUrl = _.isEmpty(plugins.url) ? "" : plugins.url;
if (baseUrl !== "")
console.warn("Obsolete: The url parameter is deprecated. Please check the documentation for new plugin connection configuration.");
pluginsData.forEach(function(item){ pluginsData.forEach(function(item){
item = baseUrl + item; // for compatibility with previous version of server, where plugins.url is used.
var value = Common.Utils.getConfigJson(item); var value = Common.Utils.getConfigJson(item);
if (value) { if (value) {
value.baseUrl = item.substring(0, item.lastIndexOf("config.json")); value.baseUrl = item.substring(0, item.lastIndexOf("config.json"));
value.oldVersion = (baseUrl !== "");
arr.push(value); arr.push(value);
} }
}); });
@ -1966,14 +2036,6 @@ define([
var visible = (isEdit || itemVar.isViewer) && _.contains(itemVar.EditorsSupport, 'word'); var visible = (isEdit || itemVar.isViewer) && _.contains(itemVar.EditorsSupport, 'word');
if ( visible ) pluginVisible = true; if ( visible ) pluginVisible = true;
var icons = itemVar.icons;
if (item.oldVersion) { // for compatibility with previouse version of server, where plugins.url is used.
icons = [];
itemVar.icons.forEach(function(icon){
icons.push(icon.substring(icon.lastIndexOf("\/")+1));
});
}
if (item.isUICustomizer ) { if (item.isUICustomizer ) {
visible && arrUI.push(item.baseUrl + itemVar.url); visible && arrUI.push(item.baseUrl + itemVar.url);
} else { } else {
@ -1981,8 +2043,8 @@ define([
model.set({ model.set({
index: variationsArr.length, index: variationsArr.length,
url: (item.oldVersion) ? (itemVar.url.substring(itemVar.url.lastIndexOf("\/") + 1) ) : itemVar.url, url: itemVar.url,
icons: icons, icons: itemVar.icons,
visible: visible visible: visible
}); });
@ -2159,7 +2221,21 @@ define([
txtStyle_List_Paragraph: 'List Paragraph', txtStyle_List_Paragraph: 'List Paragraph',
saveTextText: 'Saving document...', saveTextText: 'Saving document...',
saveTitleText: 'Saving Document', saveTitleText: 'Saving Document',
warnNoLicenseUsers: 'This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.' txtBookmarkError: "Error! Bookmark not defined.",
txtAbove: "above",
txtBelow: "below",
txtOnPage: "on page ",
txtHeader: "Header",
txtFooter: "Footer",
txtSection: " -Section ",
txtFirstPage: "First Page ",
txtEvenPage: "Even Page ",
txtOddPage: "Odd Page ",
txtSameAsPrev: "Same as Previous",
txtCurrentDocument: "Current Document",
warnNoLicenseUsers: 'This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.',
txtNoTableOfContents: "No table of contents entries found.",
errorForceSave: "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later."
} }
})(), DE.Controllers.Main || {})) })(), DE.Controllers.Main || {}))
}); });

View file

@ -0,0 +1,231 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* User: Julia.Radzhabova
* Date: 14.12.17
*/
define([
'core',
'documenteditor/main/app/collection/Navigation',
'documenteditor/main/app/view/Navigation'
], function () {
'use strict';
DE.Controllers.Navigation = Backbone.Controller.extend(_.extend({
models: [],
collections: [
'Navigation'
],
views: [
'Navigation'
],
initialize: function() {
var me = this;
this.addListeners({
'Navigation': {
'show': function() {
var obj = me.api.asc_ShowDocumentOutline();
if (!me._navigationObject)
me._navigationObject = obj;
me.updateNavigation();
},
'hide': function() {
me.api.asc_HideDocumentOutline();
}
}
});
},
events: function() {
},
onLaunch: function() {
this.panelNavigation= this.createView('Navigation', {
storeNavigation: this.getApplication().getCollection('Navigation')
});
this.panelNavigation.on('render:after', _.bind(this.onAfterRender, this));
this._navigationObject = null;
},
setApi: function(api) {
this.api = api;
this.api.asc_registerCallback('asc_onDocumentOutlineUpdate', _.bind(this.updateNavigation, this));
this.api.asc_registerCallback('asc_onDocumentOutlineCurrentPosition', _.bind(this.onChangeOutlinePosition, this));
this.api.asc_registerCallback('asc_onDocumentOutlineUpdateAdd', _.bind(this.updateNavigation, this));
this.api.asc_registerCallback('asc_onDocumentOutlineUpdateChange', _.bind(this.updateChangeNavigation, this));
this.api.asc_registerCallback('asc_onDocumentOutlineUpdateRemove', _.bind(this.updateNavigation, this));
return this;
},
setMode: function(mode) {
},
onAfterRender: function(panelNavigation) {
panelNavigation.viewNavigationList.on('item:click', _.bind(this.onSelectItem, this));
panelNavigation.viewNavigationList.on('item:contextmenu', _.bind(this.onItemContextMenu, this));
panelNavigation.navigationMenu.on('item:click', _.bind(this.onMenuItemClick, this));
panelNavigation.navigationMenu.items[11].menu.on('item:click', _.bind(this.onMenuLevelsItemClick, this));
},
updateNavigation: function() {
if (!this._navigationObject) return;
var count = this._navigationObject.get_ElementsCount(),
prev_level = -1,
header_level = -1,
first_header = !this._navigationObject.isFirstItemNotHeader(),
arr = [];
for (var i=0; i<count; i++) {
var level = this._navigationObject.get_Level(i),
hasParent = true;
if (level>prev_level && i>0)
arr[i-1].set('hasSubItems', true);
if (header_level<0 || level<=header_level) {
if (i>0 || first_header)
header_level = level;
hasParent = false;
}
arr.push(new Common.UI.TreeViewModel({
name : this._navigationObject.get_Text(i),
level: level,
index: i,
hasParent: hasParent,
isEmptyItem: this._navigationObject.isEmptyItem(i)
}));
prev_level = level;
}
if (count>0 && !first_header) {
arr[0].set('hasSubItems', false);
arr[0].set('isNotHeader', true);
arr[0].set('name', this.txtBeginning);
arr[0].set('tip', this.txtGotoBeginning);
}
this.getApplication().getCollection('Navigation').reset(arr);
},
updateChangeNavigation: function(index) {
if (!this._navigationObject) return;
var item = this.getApplication().getCollection('Navigation').at(index);
if (item.get('level') !== this._navigationObject.get_Level(index) ||
index==0 && item.get('isNotHeader') !== this._navigationObject.isFirstItemNotHeader()) {
this.updateNavigation();
} else {
item.set('name', this._navigationObject.get_Text(index));
item.set('isEmptyItem', this._navigationObject.isEmptyItem(index));
}
},
onChangeOutlinePosition: function(index) {
this.panelNavigation.viewNavigationList.selectByIndex(index);
},
onItemContextMenu: function(picker, item, record, e){
var showPoint;
var menu = this.panelNavigation.navigationMenu;
if (menu.isVisible()) {
menu.hide();
}
var parentOffset = this.panelNavigation.$el.offset(),
top = e.clientY*Common.Utils.zoom();
showPoint = [e.clientX*Common.Utils.zoom() + 5, top - parentOffset.top + 5];
var isNotHeader = record.get('isNotHeader');
menu.items[0].setDisabled(isNotHeader);
menu.items[1].setDisabled(isNotHeader);
menu.items[3].setDisabled(isNotHeader);
menu.items[7].setDisabled(isNotHeader);
if (showPoint != undefined) {
var menuContainer = this.panelNavigation.$el.find('#menu-navigation-container');
if (!menu.rendered) {
if (menuContainer.length < 1) {
menuContainer = $('<div id="menu-navigation-container" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>', menu.id);
$(this.panelNavigation.$el).append(menuContainer);
}
menu.render(menuContainer);
menu.cmpEl.attr({tabindex: "-1"});
}
menu.cmpEl.attr('data-value', record.get('index'));
menuContainer.css({
left: showPoint[0],
top: showPoint[1]
});
menu.show();
_.delay(function() {
menu.cmpEl.focus();
}, 10);
}
},
onSelectItem: function(picker, item, record, e){
if (!this._navigationObject) return;
this._navigationObject.goto(record.get('index'));
},
onMenuItemClick: function (menu, item) {
if (!this._navigationObject) return;
var index = parseInt(menu.cmpEl.attr('data-value'));
if (item.value == 'promote') {
this._navigationObject.promote(index);
} else if (item.value == 'demote') {
this._navigationObject.demote(index);
} else if (item.value == 'before') {
this._navigationObject.insertHeader(index, true);
} else if (item.value == 'after') {
this._navigationObject.insertHeader(index, false);
} else if (item.value == 'new') {
this._navigationObject.insertSubHeader(index);
} else if (item.value == 'select') {
this._navigationObject.selectContent(index);
} else if (item.value == 'expand') {
this.panelNavigation.viewNavigationList.expandAll();
} else if (item.value == 'collapse') {
this.panelNavigation.viewNavigationList.collapseAll();
}
},
onMenuLevelsItemClick: function (menu, item) {
this.panelNavigation.viewNavigationList.expandToLevel(item.value-1);
},
txtBeginning: 'Beginning of document',
txtGotoBeginning: 'Go to the beginning of the document'
}, DE.Controllers.Navigation || {}));
});

View file

@ -86,7 +86,7 @@ define([
me.statusbar.render(cfg); me.statusbar.render(cfg);
me.statusbar.$el.css('z-index', 1); me.statusbar.$el.css('z-index', 1);
$('.statusbar #label-zoom').css('min-width', 70); $('.statusbar #label-zoom').css('min-width', 80);
if ( cfg.isEdit ) { if ( cfg.isEdit ) {
var review = DE.getController('Common.Controllers.ReviewChanges').getView(); var review = DE.getController('Common.Controllers.ReviewChanges').getView();
@ -99,6 +99,8 @@ define([
me.btnSpelling = review.getButton('spelling', 'statusbar'); me.btnSpelling = review.getButton('spelling', 'statusbar');
me.btnSpelling.render( me.statusbar.$layout.find('#btn-doc-spell') ); me.btnSpelling.render( me.statusbar.$layout.find('#btn-doc-spell') );
me.btnDocLang = review.getButton('doclang', 'statusbar');
me.btnDocLang.render( me.statusbar.$layout.find('#btn-doc-lang') );
} else { } else {
me.statusbar.$el.find('.el-edit, .el-review').hide(); me.statusbar.$el.find('.el-edit, .el-review').hide();
} }

View file

@ -48,13 +48,11 @@ define([
'common/main/lib/view/InsertTableDialog', 'common/main/lib/view/InsertTableDialog',
'common/main/lib/util/define', 'common/main/lib/util/define',
'documenteditor/main/app/view/Toolbar', 'documenteditor/main/app/view/Toolbar',
'documenteditor/main/app/view/HyperlinkSettingsDialog',
'documenteditor/main/app/view/DropcapSettingsAdvanced', 'documenteditor/main/app/view/DropcapSettingsAdvanced',
'documenteditor/main/app/view/MailMergeRecepients', 'documenteditor/main/app/view/MailMergeRecepients',
'documenteditor/main/app/view/StyleTitleDialog', 'documenteditor/main/app/view/StyleTitleDialog',
'documenteditor/main/app/view/PageMarginsDialog', 'documenteditor/main/app/view/PageMarginsDialog',
'documenteditor/main/app/view/PageSizeDialog', 'documenteditor/main/app/view/PageSizeDialog',
'documenteditor/main/app/view/NoteSettingsDialog',
'documenteditor/main/app/controller/PageLayout', 'documenteditor/main/app/controller/PageLayout',
'documenteditor/main/app/view/CustomColumnsDialog', 'documenteditor/main/app/view/CustomColumnsDialog',
'documenteditor/main/app/view/ControlSettingsDialog' 'documenteditor/main/app/view/ControlSettingsDialog'
@ -282,7 +280,6 @@ define([
toolbar.mnuLineSpace.on('item:toggle', _.bind(this.onLineSpaceToggle, this)); toolbar.mnuLineSpace.on('item:toggle', _.bind(this.onLineSpaceToggle, this));
toolbar.mnuNonPrinting.on('item:toggle', _.bind(this.onMenuNonPrintingToggle, this)); toolbar.mnuNonPrinting.on('item:toggle', _.bind(this.onMenuNonPrintingToggle, this));
toolbar.btnShowHidenChars.on('toggle', _.bind(this.onNonPrintingToggle, this)); toolbar.btnShowHidenChars.on('toggle', _.bind(this.onNonPrintingToggle, this));
toolbar.btnInsertHyperlink.on('click', _.bind(this.onHyperlinkClick, this));
toolbar.mnuTablePicker.on('select', _.bind(this.onTablePickerSelect, this)); toolbar.mnuTablePicker.on('select', _.bind(this.onTablePickerSelect, this));
toolbar.mnuInsertTable.on('item:click', _.bind(this.onInsertTableClick, this)); toolbar.mnuInsertTable.on('item:click', _.bind(this.onInsertTableClick, this));
toolbar.mnuInsertImage.on('item:click', _.bind(this.onInsertImageClick, this)); toolbar.mnuInsertImage.on('item:click', _.bind(this.onInsertImageClick, this));
@ -316,10 +313,6 @@ define([
toolbar.mnuZoomIn.on('click', _.bind(this.onZoomInClick, this)); toolbar.mnuZoomIn.on('click', _.bind(this.onZoomInClick, this));
toolbar.mnuZoomOut.on('click', _.bind(this.onZoomOutClick, this)); toolbar.mnuZoomOut.on('click', _.bind(this.onZoomOutClick, this));
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this)); toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
toolbar.btnNotes.on('click', _.bind(this.onNotesClick, this));
toolbar.btnNotes.menu.on('item:click', _.bind(this.onNotesMenuClick, this));
toolbar.mnuGotoFootPrev.on('click', _.bind(this.onFootnotePrevClick, this));
toolbar.mnuGotoFootNext.on('click', _.bind(this.onFootnoteNextClick, this));
$('#id-save-style-plus, #id-save-style-link', toolbar.$el).on('click', this.onMenuSaveStyle.bind(this)); $('#id-save-style-plus, #id-save-style-link', toolbar.$el).on('click', this.onMenuSaveStyle.bind(this));
@ -343,7 +336,6 @@ define([
this.api.asc_registerCallback('asc_onPrAlign', _.bind(this.onApiParagraphAlign, this)); this.api.asc_registerCallback('asc_onPrAlign', _.bind(this.onApiParagraphAlign, this));
this.api.asc_registerCallback('asc_onTextColor', _.bind(this.onApiTextColor, this)); this.api.asc_registerCallback('asc_onTextColor', _.bind(this.onApiTextColor, this));
this.api.asc_registerCallback('asc_onParaSpacingLine', _.bind(this.onApiLineSpacing, this)); this.api.asc_registerCallback('asc_onParaSpacingLine', _.bind(this.onApiLineSpacing, this));
this.api.asc_registerCallback('asc_onCanAddHyperlink', _.bind(this.onApiCanAddHyperlink, this));
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this)); this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this));
this.api.asc_registerCallback('asc_onDocSize', _.bind(this.onApiPageSize, this)); this.api.asc_registerCallback('asc_onDocSize', _.bind(this.onApiPageSize, this));
this.api.asc_registerCallback('asc_onPaintFormatChanged', _.bind(this.onApiStyleChange, this)); this.api.asc_registerCallback('asc_onPaintFormatChanged', _.bind(this.onApiStyleChange, this));
@ -524,7 +516,7 @@ define([
if (!(index < 0)) { if (!(index < 0)) {
this.toolbar.btnHorizontalAlign.menu.items[index].setChecked(true); this.toolbar.btnHorizontalAlign.menu.items[index].setChecked(true);
} else if (index == -255) { } else if (index == -255) {
this._clearChecked(this.toolbar.btnHorizontalAlign.menu); this.toolbar.btnHorizontalAlign.menu.clearAll();
} }
var btnHorizontalAlign = this.toolbar.btnHorizontalAlign; var btnHorizontalAlign = this.toolbar.btnHorizontalAlign;
@ -579,23 +571,17 @@ define([
} }
}, },
onApiCanAddHyperlink: function(value) {
var need_disable = !value || this._state.prcontrolsdisable;
if ( this.editMode ) {
this.toolbar.btnInsertHyperlink.setDisabled(need_disable);
}
},
onApiPageSize: function(w, h) { onApiPageSize: function(w, h) {
var width = this._state.pgorient ? w : h,
height = this._state.pgorient ? h : w;
if (Math.abs(this._state.pgsize[0] - w) > 0.01 || if (Math.abs(this._state.pgsize[0] - w) > 0.01 ||
Math.abs(this._state.pgsize[1] - h) > 0.01) { Math.abs(this._state.pgsize[1] - h) > 0.01) {
this._state.pgsize = [w, h]; this._state.pgsize = [w, h];
if (this.toolbar.mnuPageSize) { if (this.toolbar.mnuPageSize) {
this._clearChecked(this.toolbar.mnuPageSize); this.toolbar.mnuPageSize.clearAll();
_.each(this.toolbar.mnuPageSize.items, function(item){ _.each(this.toolbar.mnuPageSize.items, function(item){
if (item.value && typeof(item.value) == 'object' && if (item.value && typeof(item.value) == 'object' &&
Math.abs(item.value[0] - w) < 0.01 && Math.abs(item.value[1] - h) < 0.01) { Math.abs(item.value[0] - width) < 0.01 && Math.abs(item.value[1] - height) < 0.01) {
item.setChecked(true); item.setChecked(true);
return false; return false;
} }
@ -616,7 +602,7 @@ define([
Math.abs(this._state.pgmargins[3] - right) > 0.01) { Math.abs(this._state.pgmargins[3] - right) > 0.01) {
this._state.pgmargins = [top, left, bottom, right]; this._state.pgmargins = [top, left, bottom, right];
if (this.toolbar.btnPageMargins.menu) { if (this.toolbar.btnPageMargins.menu) {
this._clearChecked(this.toolbar.btnPageMargins.menu); this.toolbar.btnPageMargins.menu.clearAll();
_.each(this.toolbar.btnPageMargins.menu.items, function(item){ _.each(this.toolbar.btnPageMargins.menu.items, function(item){
if (item.value && typeof(item.value) == 'object' && if (item.value && typeof(item.value) == 'object' &&
Math.abs(item.value[0] - top) < 0.01 && Math.abs(item.value[1] - left) < 0.01 && Math.abs(item.value[0] - top) < 0.01 && Math.abs(item.value[1] - left) < 0.01 &&
@ -664,7 +650,7 @@ define([
header_locked = pr.get_Locked(); header_locked = pr.get_Locked();
in_header = true; in_header = true;
} else if (type === Asc.c_oAscTypeSelectElement.Image) { } else if (type === Asc.c_oAscTypeSelectElement.Image) {
in_image = in_header = true; in_image = true;
image_locked = pr.get_Locked(); image_locked = pr.get_Locked();
if (pr && pr.get_ChartProperties()) if (pr && pr.get_ChartProperties())
in_chart = true; in_chart = true;
@ -747,7 +733,7 @@ define([
need_disable = toolbar.mnuPageNumCurrentPos.isDisabled() && toolbar.mnuPageNumberPosPicker.isDisabled() || control_plain; need_disable = toolbar.mnuPageNumCurrentPos.isDisabled() && toolbar.mnuPageNumberPosPicker.isDisabled() || control_plain;
toolbar.mnuInsertPageNum.setDisabled(need_disable); toolbar.mnuInsertPageNum.setDisabled(need_disable);
need_disable = paragraph_locked || header_locked || in_header || in_equation && !btn_eq_state || this.api.asc_IsCursorInFootnote() || in_control; need_disable = paragraph_locked || header_locked || in_header || in_image || in_equation && !btn_eq_state || this.api.asc_IsCursorInFootnote() || in_control;
toolbar.btnsPageBreak.disable(need_disable); toolbar.btnsPageBreak.disable(need_disable);
need_disable = paragraph_locked || header_locked || !can_add_image || in_equation || control_plain; need_disable = paragraph_locked || header_locked || !can_add_image || in_equation || control_plain;
@ -773,10 +759,6 @@ define([
toolbar.btnEditHeader.setDisabled(in_equation); toolbar.btnEditHeader.setDisabled(in_equation);
need_disable = paragraph_locked || in_equation || in_image || in_header || control_plain;
if (need_disable !== toolbar.btnNotes.isDisabled())
toolbar.btnNotes.setDisabled(need_disable);
need_disable = paragraph_locked || header_locked || in_image || control_plain; need_disable = paragraph_locked || header_locked || in_image || control_plain;
if (need_disable != toolbar.btnColumns.isDisabled()) if (need_disable != toolbar.btnColumns.isDisabled())
toolbar.btnColumns.setDisabled(need_disable); toolbar.btnColumns.setDisabled(need_disable);
@ -1317,58 +1299,6 @@ define([
Common.NotificationCenter.trigger('edit:complete', this.toolbar); Common.NotificationCenter.trigger('edit:complete', this.toolbar);
}, },
onHyperlinkClick: function(btn) {
var me = this,
win, props, text;
if (me.api){
var handlerDlg = function(dlg, result) {
if (result == 'ok') {
props = dlg.getSettings();
(text!==false)
? me.api.add_Hyperlink(props)
: me.api.change_Hyperlink(props);
}
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
};
text = me.api.can_AddHyperlink();
if (text !== false) {
win = new DE.Views.HyperlinkSettingsDialog({
api: me.api,
handler: handlerDlg
});
props = new Asc.CHyperlinkProperty();
props.put_Text(text);
win.show();
win.setSettings(props);
} else {
var selectedElements = me.api.getSelectedElements();
if (selectedElements && _.isArray(selectedElements)){
_.each(selectedElements, function(el, i) {
if (selectedElements[i].get_ObjectType() == Asc.c_oAscTypeSelectElement.Hyperlink)
props = selectedElements[i].get_ObjectValue();
});
}
if (props) {
win = new DE.Views.HyperlinkSettingsDialog({
api: me.api,
handler: handlerDlg
});
win.show();
win.setSettings(props);
}
}
}
Common.component.Analytics.trackEvent('ToolBar', 'Add Hyperlink');
},
onTablePickerSelect: function(picker, columns, rows, e) { onTablePickerSelect: function(picker, columns, rows, e) {
if (this.api) { if (this.api) {
this.toolbar.fireEvent('inserttable', this.toolbar); this.toolbar.fireEvent('inserttable', this.toolbar);
@ -1392,9 +1322,9 @@ define([
me.api.put_Table(value.columns, value.rows); me.api.put_Table(value.columns, value.rows);
} }
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
Common.component.Analytics.trackEvent('ToolBar', 'Table'); Common.component.Analytics.trackEvent('ToolBar', 'Table');
} }
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
} }
})).show(); })).show();
} }
@ -1626,7 +1556,7 @@ define([
case Asc.c_oAscDropCap.Margin: index = 2; break; case Asc.c_oAscDropCap.Margin: index = 2; break;
} }
if (index < 0) if (index < 0)
this._clearChecked(this.toolbar.btnDropCap.menu); this.toolbar.btnDropCap.menu.clearAll();
else else
this.toolbar.btnDropCap.menu.items[index].setChecked(true); this.toolbar.btnDropCap.menu.items[index].setChecked(true);
@ -1792,7 +1722,7 @@ define([
return; return;
if (index < 0) if (index < 0)
this._clearChecked(this.toolbar.btnColumns.menu); this.toolbar.btnColumns.menu.clearAll();
else else
this.toolbar.btnColumns.menu.items[index].setChecked(true); this.toolbar.btnColumns.menu.items[index].setChecked(true);
this._state.columns = index; this._state.columns = index;
@ -2112,68 +2042,6 @@ define([
Common.NotificationCenter.trigger('edit:complete', this.toolbar); Common.NotificationCenter.trigger('edit:complete', this.toolbar);
}, },
onNotesClick: function() {
if (this.api)
this.api.asc_AddFootnote();
},
onNotesMenuClick: function(menu, item) {
if (this.api) {
if (item.value == 'ins_footnote')
this.api.asc_AddFootnote();
else if (item.value == 'delele')
Common.UI.warning({
msg: this.confirmDeleteFootnotes,
buttons: ['yes', 'no'],
primary: 'yes',
callback: _.bind(function(btn) {
if (btn == 'yes') {
this.api.asc_RemoveAllFootnotes();
}
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
}, this)
});
else if (item.value == 'settings') {
var me = this;
(new DE.Views.NoteSettingsDialog({
api: me.api,
handler: function(result, settings) {
if (settings) {
me.api.asc_SetFootnoteProps(settings.props, settings.applyToAll);
if (result == 'insert')
me.api.asc_AddFootnote(settings.custom);
}
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
},
props : me.api.asc_GetFootnoteProps()
})).show();
} else
return;
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
}
},
onFootnotePrevClick: function(btn) {
if (this.api)
this.api.asc_GotoFootnote(false);
var me = this;
setTimeout(function() {
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}, 50);
},
onFootnoteNextClick: function(btn) {
if (this.api)
this.api.asc_GotoFootnote(true);
var me = this;
setTimeout(function() {
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}, 50);
},
_clearBullets: function() { _clearBullets: function() {
this.toolbar.btnMarkers.toggle(false, true); this.toolbar.btnMarkers.toggle(false, true);
this.toolbar.btnNumbers.toggle(false, true); this.toolbar.btnNumbers.toggle(false, true);
@ -2710,13 +2578,6 @@ define([
this._state.clrshd_asccolor = undefined; this._state.clrshd_asccolor = undefined;
}, },
_clearChecked: function(menu) {
_.each(menu.items, function(item){
if (item.setChecked)
item.setChecked(false, true);
});
},
_onInitEditorStyles: function(styles) { _onInitEditorStyles: function(styles) {
window.styles_loaded = false; window.styles_loaded = false;
@ -2901,19 +2762,23 @@ define([
me.toolbar.render(_.extend({isCompactView: compactview}, config)); me.toolbar.render(_.extend({isCompactView: compactview}, config));
if ( config.isEdit ) { if ( config.isEdit ) {
var tab = {action: 'review', caption: me.toolbar.textTabReview}; var tab = {action: 'review', caption: me.toolbar.textTabCollaboration};
var $panel = DE.getController('Common.Controllers.ReviewChanges').createToolbarPanel(); var $panel = this.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel();
if ( $panel ) if ( $panel )
me.toolbar.addTab(tab, $panel, 3); me.toolbar.addTab(tab, $panel, 4);
if (config.isDesktopApp && config.isOffline) { if (config.isDesktopApp && config.isOffline) {
tab = {action: 'protect', caption: me.toolbar.textTabProtect}; tab = {action: 'protect', caption: me.toolbar.textTabProtect};
$panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel(); $panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
if ( $panel ) if ( $panel )
me.toolbar.addTab(tab, $panel, 4); me.toolbar.addTab(tab, $panel, 5);
} }
var links = me.getApplication().getController('Links');
links.setApi(me.api).setConfig({toolbar: me});
Array.prototype.push.apply(me.toolbar.toolbarControls, links.getView('Links').getButtons());
} }
}, },
@ -3319,8 +3184,7 @@ define([
confirmAddFontName: 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?', confirmAddFontName: 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?',
notcriticalErrorTitle: 'Warning', notcriticalErrorTitle: 'Warning',
txtMarginsW: 'Left and right margins are too high for a given page wight', txtMarginsW: 'Left and right margins are too high for a given page wight',
txtMarginsH: 'Top and bottom margins are too high for a given page height', txtMarginsH: 'Top and bottom margins are too high for a given page height'
confirmDeleteFootnotes: 'Do you want to delete all footnotes?'
}, DE.Controllers.Toolbar || {})); }, DE.Controllers.Toolbar || {}));
}); });

View file

@ -1,28 +1,4 @@
<table cols="1"> <table cols="1">
<tr>
<td>
<label class="header"><%= scope.textPageNum %></label>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="headerfooter-button-top-left" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-top-center" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-top-right" style="display: inline-block; margin-right:5px;"></div>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="headerfooter-button-bottom-left" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-bottom-center" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-bottom-right" style="display: inline-block; margin-right:5px;"></div>
</td>
</tr>
<tr>
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr> <tr>
<td> <td>
<label class="header"><%= scope.textPosition %></label> <label class="header"><%= scope.textPosition %></label>
@ -40,7 +16,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td class="padding-small">
<label class="header"><%= scope.textOptions %></label> <label class="header"><%= scope.textOptions %></label>
</td> </td>
</tr> </tr>
@ -55,9 +31,65 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td> <td class="padding-small">
<div id="headerfooter-check-same-as"></div> <div id="headerfooter-check-same-as"></div>
</td> </td>
</tr> </tr>
<tr>
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td class="padding-small">
<label class="header"><%= scope.textPageNum %></label>
</td>
</tr>
<tr>
<td>
<label><%= scope.textTopPage %></label>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="headerfooter-button-top-left" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-top-center" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-top-right" style="display: inline-block; margin-right:5px;"></div>
</td>
</tr>
<tr>
<td>
<label><%= scope.textBottomPage %></label>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="headerfooter-button-bottom-left" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-bottom-center" style="display: inline-block; margin-right:5px;"></div>
<div id="headerfooter-button-bottom-right" style="display: inline-block; margin-right:5px;"></div>
</td>
</tr>
<tr>
<td class="padding-small">
<button type="button" class="btn btn-text-default" id="headerfooter-button-current" style="width:100%;"><%= scope.textInsertCurrent %></button>
</td>
</tr>
<tr>
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td class="padding-small">
<label class="header"><%= scope.textPageNumbering %></label>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="headerfooter-radio-prev" style="margin-bottom: 5px;"></div>
<div id="headerfooter-radio-from" style="display: inline-block;vertical-align: middle; margin-right: 2px;"></div>
<div id="headerfooter-spin-from" style="display: inline-block;vertical-align: middle;"></div>
</td>
</tr>
<tr class="finish-cell"></tr> <tr class="finish-cell"></tr>
</table> </table>

View file

@ -6,6 +6,7 @@
<button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><i class="icon img-toolbarmenu btn-menu-chat">&nbsp;</i></button> <button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><i class="icon img-toolbarmenu btn-menu-chat">&nbsp;</i></button>
<!-- /** coauthoring end **/ --> <!-- /** coauthoring end **/ -->
<button id="left-btn-plugins" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-plugin">&nbsp;</i></button> <button id="left-btn-plugins" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-plugin">&nbsp;</i></button>
<button id="left-btn-navigation" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-navigation">&nbsp;</i></button>
<button id="left-btn-support" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-support">&nbsp;</i></button> <button id="left-btn-support" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-support">&nbsp;</i></button>
<button id="left-btn-about" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-about">&nbsp;</i></button> <button id="left-btn-about" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-about">&nbsp;</i></button>
</div> </div>
@ -15,5 +16,6 @@
<div id="left-panel-chat" class="" style="display: none;" /> <div id="left-panel-chat" class="" style="display: none;" />
<!-- /** coauthoring end **/ --> <!-- /** coauthoring end **/ -->
<div id="left-panel-plugins" class="" style="display: none; height: 100%;" /> <div id="left-panel-plugins" class="" style="display: none; height: 100%;" />
<div id="left-panel-navigation" class="" style="display: none; height: 100%;" />
</div> </div>
</div> </div>

View file

@ -139,12 +139,15 @@
<div class="padding-large"> <div class="padding-large">
<div id="paraadv-list-tabs" style="width:180px; height: 94px;"></div> <div id="paraadv-list-tabs" style="width:180px; height: 94px;"></div>
</div> </div>
<div class="padding-large" > <div class="padding-large" style="display: inline-block;margin-right: 7px;">
<label class="input-label padding-small" style="display: block;"><%= scope.textAlign %></label> <label class="input-label"><%= scope.textAlign %></label>
<div id="paragraphadv-radio-left" class="padding-small" style="display: block;"></div> <div id="paraadv-cmb-align"></div>
<div id="paragraphadv-radio-center" class="padding-small" style="display: block;"></div>
<div id="paragraphadv-radio-right" style="display: block;"></div>
</div> </div>
<div class="padding-large" style="display: inline-block;">
<label class="input-label"><%= scope.textLeader %></label>
<div id="paraadv-cmb-leader"></div>
</div>
<div style="margin-bottom: 45px;"></div>
<div> <div>
<button type="button" class="btn btn-text-default" id="paraadv-button-add-tab" style="width:90px;margin-right: 4px;"><%= scope.textSet %></button> <button type="button" class="btn btn-text-default" id="paraadv-button-add-tab" style="width:90px;margin-right: 4px;"><%= scope.textSet %></button>
<button type="button" class="btn btn-text-default" id="paraadv-button-remove-tab" style="width:90px;margin-right: 4px;"><%= scope.textRemove %></button> <button type="button" class="btn btn-text-default" id="paraadv-button-remove-tab" style="width:90px;margin-right: 4px;"><%= scope.textRemove %></button>

View file

@ -19,6 +19,7 @@
<div class="caret up img-commonctrl" /> <div class="caret up img-commonctrl" />
</div> </div>
</div> </div>
<span id="btn-doc-lang" class="el-edit"></span>
<span id="btn-doc-spell" class="el-edit"></span> <span id="btn-doc-spell" class="el-edit"></span>
<div class="separator short el-edit"></div> <div class="separator short el-edit"></div>
<div id="btn-doc-review" class="el-edit el-review" style="display: inline-block;"></div> <div id="btn-doc-review" class="el-edit el-review" style="display: inline-block;"></div>

View file

@ -108,6 +108,7 @@
<div class="group"> <div class="group">
<span class="btn-slot text x-huge btn-pagebreak"></span> <span class="btn-slot text x-huge btn-pagebreak"></span>
<span class="btn-slot text x-huge" id="slot-btn-editheader"></span> <span class="btn-slot text x-huge" id="slot-btn-editheader"></span>
<span class="btn-slot text x-huge btn-contents"></span>
</div> </div>
<div class="separator long"></div> <div class="separator long"></div>
<div class="group"> <div class="group">
@ -121,8 +122,8 @@
</div> </div>
<div class="separator long"></div> <div class="separator long"></div>
<div class="group"> <div class="group">
<span class="btn-slot text x-huge" id="slot-btn-inshyperlink"></span> <span class="btn-slot text x-huge slot-inshyperlink"></span>
<span class="btn-slot text x-huge" id="slot-btn-notes"></span> <span class="btn-slot text x-huge slot-notes"></span>
<span class="btn-slot text x-huge slot-comment"></span> <span class="btn-slot text x-huge slot-comment"></span>
</div> </div>
<div class="separator long"></div> <div class="separator long"></div>
@ -160,6 +161,20 @@
<span class="btn-slot text x-huge" id="slot-img-wrapping"></span> <span class="btn-slot text x-huge" id="slot-img-wrapping"></span>
</div> </div>
</section> </section>
<section class="panel" data-tab="links">
<div class="group">
<span class="btn-slot text x-huge btn-contents"></span>
<span class="btn-slot text x-huge" id="slot-btn-contents-update"></span>
</div>
<div class="separator long"></div>
<div class="group">
<span class="btn-slot text x-huge slot-notes"></span>
</div>
<div class="separator long"></div>
<div class="group">
<span class="btn-slot text x-huge slot-inshyperlink"></span>
</div>
</section>
</section> </section>
</section> </section>
</div> </div>

View file

@ -613,6 +613,8 @@ define([
me._arrSpecialPaste = []; me._arrSpecialPaste = [];
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.paste] = me.textPaste; me._arrSpecialPaste[Asc.c_oSpecialPasteProps.paste] = me.textPaste;
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.keepTextOnly] = me.txtKeepTextOnly; me._arrSpecialPaste[Asc.c_oSpecialPasteProps.keepTextOnly] = me.txtKeepTextOnly;
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.insertAsNestedTable] = me.textNest;
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.overwriteCells] = me.txtOverwriteCells;
pasteContainer = $('<div id="special-paste-container" style="position: absolute;"><div id="id-document-holder-btn-special-paste"></div></div>'); pasteContainer = $('<div id="special-paste-container" style="position: absolute;"><div id="id-document-holder-btn-special-paste"></div></div>');
me.cmpEl.append(pasteContainer); me.cmpEl.append(pasteContainer);
@ -2388,10 +2390,9 @@ define([
if (me.api) { if (me.api) {
me.api.SplitCell(value.columns, value.rows); me.api.SplitCell(value.columns, value.rows);
} }
me.fireEvent('editcomplete', me);
Common.component.Analytics.trackEvent('DocumentHolder', 'Table'); Common.component.Analytics.trackEvent('DocumentHolder', 'Table');
} }
me.fireEvent('editcomplete', me);
} }
})).show(); })).show();
} }
@ -2492,7 +2493,7 @@ define([
var menuRemoveHyperlinkTable = new Common.UI.MenuItem({ var menuRemoveHyperlinkTable = new Common.UI.MenuItem({
caption : me.removeHyperlinkText caption : me.removeHyperlinkText
}).on('click', function(item, e){ }).on('click', function(item, e){
me.api && me.api.remove_Hyperlink(); me.api && me.api.remove_Hyperlink(item.hyperProps.value);
me.fireEvent('editcomplete', me); me.fireEvent('editcomplete', me);
}); });
@ -2743,6 +2744,7 @@ define([
menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible()); menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible());
menuEditHyperlinkTable.hyperProps = value.hyperProps; menuEditHyperlinkTable.hyperProps = value.hyperProps;
menuRemoveHyperlinkTable.hyperProps = value.hyperProps;
if (text!==false) { if (text!==false) {
menuAddHyperlinkTable.hyperProps = {}; menuAddHyperlinkTable.hyperProps = {};
@ -3056,7 +3058,7 @@ define([
var menuRemoveHyperlinkPara = new Common.UI.MenuItem({ var menuRemoveHyperlinkPara = new Common.UI.MenuItem({
caption : me.removeHyperlinkText caption : me.removeHyperlinkText
}).on('click', function(item, e) { }).on('click', function(item, e) {
me.api.remove_Hyperlink(); me.api.remove_Hyperlink(item.hyperProps.value);
me.fireEvent('editcomplete', me); me.fireEvent('editcomplete', me);
}); });
@ -3226,6 +3228,7 @@ define([
menuHyperlinkPara.setVisible(value.hyperProps!==undefined); menuHyperlinkPara.setVisible(value.hyperProps!==undefined);
menuHyperlinkParaSeparator.setVisible(menuAddHyperlinkPara.isVisible() || menuHyperlinkPara.isVisible()); menuHyperlinkParaSeparator.setVisible(menuAddHyperlinkPara.isVisible() || menuHyperlinkPara.isVisible());
menuEditHyperlinkPara.hyperProps = value.hyperProps; menuEditHyperlinkPara.hyperProps = value.hyperProps;
menuRemoveHyperlinkPara.hyperProps = value.hyperProps;
if (text!==false) { if (text!==false) {
menuAddHyperlinkPara.hyperProps = {}; menuAddHyperlinkPara.hyperProps = {};
menuAddHyperlinkPara.hyperProps.value = new Asc.CHyperlinkProperty(); menuAddHyperlinkPara.hyperProps.value = new Asc.CHyperlinkProperty();
@ -3628,6 +3631,8 @@ define([
strDetails: 'Signature Details', strDetails: 'Signature Details',
strSetup: 'Signature Setup', strSetup: 'Signature Setup',
strDelete: 'Remove Signature', strDelete: 'Remove Signature',
txtOverwriteCells: 'Overwrite cells',
textNest: 'Nest table',
textContentControls: 'Content control', textContentControls: 'Content control',
textRemove: 'Remove', textRemove: 'Remove',
textSettings: 'Settings', textSettings: 'Settings',

View file

@ -52,9 +52,9 @@ define([
menu: undefined, menu: undefined,
formats: [[ formats: [[
{name: 'DOCX', imgCls: 'docx', type: Asc.c_oAscFileType.DOCX},
{name: 'PDF', imgCls: 'pdf', type: Asc.c_oAscFileType.PDF}, {name: 'PDF', imgCls: 'pdf', type: Asc.c_oAscFileType.PDF},
{name: 'TXT', imgCls: 'txt', type: Asc.c_oAscFileType.TXT}, {name: 'TXT', imgCls: 'txt', type: Asc.c_oAscFileType.TXT}
{name: 'DOCX', imgCls: 'docx', type: Asc.c_oAscFileType.DOCX}
],[ ],[
// {name: 'DOC', imgCls: 'doc-format btn-doc', type: Asc.c_oAscFileType.DOC}, // {name: 'DOC', imgCls: 'doc-format btn-doc', type: Asc.c_oAscFileType.DOC},
{name: 'ODT', imgCls: 'odt', type: Asc.c_oAscFileType.ODT}, {name: 'ODT', imgCls: 'odt', type: Asc.c_oAscFileType.ODT},
@ -353,60 +353,55 @@ define([
}, },
updateSettings: function() { updateSettings: function() {
this.chInputMode.setValue(Common.localStorage.getBool("de-settings-inputmode")); this.chInputMode.setValue(Common.Utils.InternalSettings.get("de-settings-inputmode"));
Common.Utils.isChrome && this.chInputSogou.setValue(Common.localStorage.getBool("de-settings-inputsogou")); Common.Utils.isChrome && this.chInputSogou.setValue(Common.Utils.InternalSettings.get("de-settings-inputsogou"));
var value = Common.localStorage.getItem("de-settings-zoom"); var value = Common.Utils.InternalSettings.get("de-settings-zoom");
value = (value!==null) ? parseInt(value) : (this.mode.customization && this.mode.customization.zoom ? parseInt(this.mode.customization.zoom) : 100); value = (value!==null) ? parseInt(value) : (this.mode.customization && this.mode.customization.zoom ? parseInt(this.mode.customization.zoom) : 100);
var item = this.cmbZoom.store.findWhere({value: value}); var item = this.cmbZoom.store.findWhere({value: value});
this.cmbZoom.setValue(item ? parseInt(item.get('value')) : (value>0 ? value+'%' : 100)); this.cmbZoom.setValue(item ? parseInt(item.get('value')) : (value>0 ? value+'%' : 100));
/** coauthoring begin **/ /** coauthoring begin **/
this.chLiveComment.setValue(Common.localStorage.getBool("de-settings-livecomment", true)); this.chLiveComment.setValue(Common.Utils.InternalSettings.get("de-settings-livecomment"));
this.chResolvedComment.setValue(Common.localStorage.getBool("de-settings-resolvedcomment", true)); this.chResolvedComment.setValue(Common.Utils.InternalSettings.get("de-settings-resolvedcomment"));
value = Common.localStorage.getItem("de-settings-coauthmode"); var fast_coauth = Common.Utils.InternalSettings.get("de-settings-coauthmode");
if (value===null && !Common.localStorage.itemExists("de-settings-autosave") && item = this.cmbCoAuthMode.store.findWhere({value: fast_coauth ? 1 : 0});
this.mode.customization && this.mode.customization.autosave===false)
value = 0; // use customization.autosave only when de-settings-coauthmode and de-settings-autosave are null
var fast_coauth = (value===null || parseInt(value) == 1) && !(this.mode.isDesktopApp && this.mode.isOffline) && this.mode.canCoAuthoring;
item = this.cmbCoAuthMode.store.findWhere({value: parseInt(value)});
this.cmbCoAuthMode.setValue(item ? item.get('value') : 1); this.cmbCoAuthMode.setValue(item ? item.get('value') : 1);
this.lblCoAuthMode.text(item ? item.get('descValue') : this.strCoAuthModeDescFast); this.lblCoAuthMode.text(item ? item.get('descValue') : this.strCoAuthModeDescFast);
this.fillShowChanges(fast_coauth); this.fillShowChanges(fast_coauth);
value = Common.localStorage.getItem((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict"); value = Common.Utils.InternalSettings.get((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
item = this.cmbShowChanges.store.findWhere({value: value}); item = this.cmbShowChanges.store.findWhere({value: value});
this.cmbShowChanges.setValue(item ? item.get('value') : (fast_coauth) ? 'none' : 'last'); this.cmbShowChanges.setValue(item ? item.get('value') : (fast_coauth) ? 'none' : 'last');
/** coauthoring end **/ /** coauthoring end **/
value = Common.localStorage.getItem("de-settings-fontrender"); value = Common.Utils.InternalSettings.get("de-settings-fontrender");
item = this.cmbFontRender.store.findWhere({value: parseInt(value)}); item = this.cmbFontRender.store.findWhere({value: parseInt(value)});
this.cmbFontRender.setValue(item ? item.get('value') : (window.devicePixelRatio > 1 ? 1 : 0)); this.cmbFontRender.setValue(item ? item.get('value') : (window.devicePixelRatio > 1 ? 1 : 0));
value = Common.localStorage.getItem("de-settings-unit"); value = Common.Utils.InternalSettings.get("de-settings-unit");
item = this.cmbUnit.store.findWhere({value: parseInt(value)}); item = this.cmbUnit.store.findWhere({value: value});
this.cmbUnit.setValue(item ? parseInt(item.get('value')) : Common.Utils.Metric.getDefaultMetric()); this.cmbUnit.setValue(item ? parseInt(item.get('value')) : Common.Utils.Metric.getDefaultMetric());
this._oldUnits = this.cmbUnit.getValue(); this._oldUnits = this.cmbUnit.getValue();
value = Common.localStorage.getItem("de-settings-autosave"); value = Common.Utils.InternalSettings.get("de-settings-autosave");
if (value===null && this.mode.customization && this.mode.customization.autosave===false) this.chAutosave.setValue(value == 1);
value = 0;
this.chAutosave.setValue(fast_coauth || (value===null ? this.mode.canCoAuthoring : parseInt(value) == 1));
if (this.mode.canForcesave) if (this.mode.canForcesave)
this.chForcesave.setValue(Common.localStorage.getBool("de-settings-forcesave", this.mode.canForcesave)); this.chForcesave.setValue(Common.Utils.InternalSettings.get("de-settings-forcesave"));
this.chSpell.setValue(Common.localStorage.getBool("de-settings-spellcheck", true)); this.chSpell.setValue(Common.Utils.InternalSettings.get("de-settings-spellcheck"));
this.chAlignGuides.setValue(Common.localStorage.getBool("de-settings-showsnaplines", true)); this.chAlignGuides.setValue(Common.Utils.InternalSettings.get("de-settings-showsnaplines"));
}, },
applySettings: function() { applySettings: function() {
Common.localStorage.setItem("de-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0); Common.localStorage.setItem("de-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0);
Common.Utils.isChrome && Common.localStorage.setItem("de-settings-inputsogou", this.chInputSogou.isChecked() ? 1 : 0); Common.Utils.isChrome && Common.localStorage.setItem("de-settings-inputsogou", this.chInputSogou.isChecked() ? 1 : 0);
Common.localStorage.setItem("de-settings-zoom", this.cmbZoom.getValue()); Common.localStorage.setItem("de-settings-zoom", this.cmbZoom.getValue());
Common.Utils.InternalSettings.set("de-settings-zoom", Common.localStorage.getItem("de-settings-zoom"));
/** coauthoring begin **/ /** coauthoring begin **/
Common.localStorage.setItem("de-settings-livecomment", this.chLiveComment.isChecked() ? 1 : 0); Common.localStorage.setItem("de-settings-livecomment", this.chLiveComment.isChecked() ? 1 : 0);
Common.localStorage.setItem("de-settings-resolvedcomment", this.chResolvedComment.isChecked() ? 1 : 0); Common.localStorage.setItem("de-settings-resolvedcomment", this.chResolvedComment.isChecked() ? 1 : 0);
@ -421,7 +416,7 @@ define([
if (this.mode.canForcesave) if (this.mode.canForcesave)
Common.localStorage.setItem("de-settings-forcesave", this.chForcesave.isChecked() ? 1 : 0); Common.localStorage.setItem("de-settings-forcesave", this.chForcesave.isChecked() ? 1 : 0);
Common.localStorage.setItem("de-settings-spellcheck", this.chSpell.isChecked() ? 1 : 0); Common.localStorage.setItem("de-settings-spellcheck", this.chSpell.isChecked() ? 1 : 0);
Common.localStorage.setItem("de-settings-showsnaplines", this.chAlignGuides.isChecked() ? 1 : 0); Common.Utils.InternalSettings.set("de-settings-showsnaplines", this.chAlignGuides.isChecked());
Common.localStorage.save(); Common.localStorage.save();
if (this.menu) { if (this.menu) {
@ -875,6 +870,8 @@ define([
}); });
} }
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
return this; return this;
}, },
@ -956,8 +953,8 @@ define([
template: _.template([ template: _.template([
'<div style="width:100%; height:100%; position: relative;">', '<div style="width:100%; height:100%; position: relative;">',
'<div id="id-help-contents" style="position: absolute; width:200px; top: 0; bottom: 0;" class="no-padding"></div>', '<div id="id-help-contents" style="position: absolute; width:220px; top: 0; bottom: 0;" class="no-padding"></div>',
'<div id="id-help-frame" style="position: absolute; left: 200px; top: 0; right: 0; bottom: 0;" class="no-padding"></div>', '<div id="id-help-frame" style="position: absolute; left: 220px; top: 0; right: 0; bottom: 0;" class="no-padding"></div>',
'</div>' '</div>'
].join('')), ].join('')),
@ -968,33 +965,56 @@ define([
this.urlPref = 'resources/help/en/'; this.urlPref = 'resources/help/en/';
this.en_data = [ this.en_data = [
{src: "UsageInstructions/SetPageParameters.htm", name: "Set page parameters", headername: "Usage Instructions", selected: true}, {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"},
{src: "UsageInstructions/CopyPasteUndoRedo.htm", name: "Copy/paste text passages, undo/redo your actions"}, {"src": "ProgramInterface/FileTab.htm", "name": "File tab"},
{src: "UsageInstructions/NonprintingCharacters.htm", name: "Show/hide nonprinting characters"}, {"src": "ProgramInterface/HomeTab.htm", "name": "Home Tab"},
{src: "UsageInstructions/AlignText.htm", name: "Align your text in a line or paragraph"}, {"src": "ProgramInterface/InsertTab.htm", "name": "Insert tab"},
{src: "UsageInstructions/FormattingPresets.htm", name: "Apply formatting presets"}, {"src": "ProgramInterface/LayoutTab.htm", "name": "Layout tab"},
{src: "UsageInstructions/BackgroundColor.htm", name: "Select background color for a paragraph"}, {"src": "ProgramInterface/ReviewTab.htm", "name": "Review tab"},
{src: "UsageInstructions/ParagraphIndents.htm", name: "Change paragraph indents"}, {"src": "ProgramInterface/PluginsTab.htm", "name": "Plugins tab"},
{src: "UsageInstructions/LineSpacing.htm", name: "Set paragraph line spacing"}, {"src": "UsageInstructions/ChangeColorScheme.htm", "name": "Change color scheme", "headername": "Basic operations"},
{src: "UsageInstructions/PageBreaks.htm", name: "Insert page breaks"}, {"src": "UsageInstructions/CopyPasteUndoRedo.htm", "name": "Copy/paste text passages, undo/redo your actions"},
{src: "UsageInstructions/AddBorders.htm", name: "Add Borders"}, {"src": "UsageInstructions/OpenCreateNew.htm", "name": "Create a new document or open an existing one"},
{src: "UsageInstructions/FontTypeSizeColor.htm", name: "Set font type, size, and color"}, {"src": "UsageInstructions/SetPageParameters.htm", "name": "Set page parameters", "headername": "Page formatting"},
{src: "UsageInstructions/DecorationStyles.htm", name: "Apply font decoration styles"}, {"src": "UsageInstructions/NonprintingCharacters.htm", "name": "Show/hide nonprinting characters" },
{src: "UsageInstructions/CopyClearFormatting.htm", name: "Copy/clear text formatting"}, {"src": "UsageInstructions/SectionBreaks.htm", "name": "Insert section breaks" },
{src: "UsageInstructions/CreateLists.htm", name: "Create lists"}, {"src": "UsageInstructions/InsertHeadersFooters.htm", "name": "Insert headers and footers"},
{src: "UsageInstructions/InsertTables.htm", name: "Insert tables"}, {"src": "UsageInstructions/InsertPageNumbers.htm", "name": "Insert page numbers"},
{src: "UsageInstructions/InsertImages.htm", name: "Insert images"}, {"src": "UsageInstructions/InsertFootnotes.htm", "name": "Insert footnotes"},
{src: "UsageInstructions/AddHyperlinks.htm", name: "Add hyperlinks"}, {"src": "UsageInstructions/AlignText.htm", "name": "Align your text in a paragraph", "headername": "Paragraph formatting"},
{src: "UsageInstructions/InsertHeadersFooters.htm", name: "Insert headers and footers"}, {"src": "UsageInstructions/BackgroundColor.htm", "name": "Select background color for a paragraph"},
{src: "UsageInstructions/InsertPageNumbers.htm", name: "Insert page numbers"}, {"src": "UsageInstructions/ParagraphIndents.htm", "name": "Change paragraph indents"},
{src: "UsageInstructions/ViewDocInfo.htm", name: "View document information"}, {"src": "UsageInstructions/LineSpacing.htm", "name": "Set paragraph line spacing"},
{src: "UsageInstructions/SavePrintDownload.htm", name: "Save/print/download your document"}, {"src": "UsageInstructions/PageBreaks.htm", "name": "Insert page breaks"},
{src: "UsageInstructions/OpenCreateNew.htm", name: "Create a new document or open an existing one"}, {"src": "UsageInstructions/AddBorders.htm", "name": "Add borders"},
{src: "HelpfulHints/About.htm", name: "About ONLYOFFICE Document Editor", headername: "Helpful Hints"}, {"src": "UsageInstructions/SetTabStops.htm", "name": "Set tab stops"},
{src: "HelpfulHints/SupportedFormats.htm", name: "Supported Formats of Electronic Documents"}, {"src": "UsageInstructions/CreateLists.htm", "name": "Create lists"},
{src: "HelpfulHints/Navigation.htm", name: "Navigation through Your Document"}, {"src": "UsageInstructions/FormattingPresets.htm", "name": "Apply formatting styles", "headername": "Text formatting"},
{src: "HelpfulHints/Search.htm", name: "Search Function"}, {"src": "UsageInstructions/FontTypeSizeColor.htm", "name": "Set font type, size, and color"},
{src: "HelpfulHints/KeyboardShortcuts.htm", name: "Keyboard Shortcuts"} {"src": "UsageInstructions/DecorationStyles.htm", "name": "Apply font decoration styles"},
{"src": "UsageInstructions/CopyClearFormatting.htm", "name": "Copy/clear text formatting" },
{"src": "UsageInstructions/AddHyperlinks.htm", "name": "Add hyperlinks"},
{"src": "UsageInstructions/InsertDropCap.htm", "name": "Insert a drop cap"},
{"src": "UsageInstructions/InsertTables.htm", "name": "Insert tables", "headername": "Operations on objects"},
{"src": "UsageInstructions/InsertImages.htm", "name": "Insert images"},
{"src": "UsageInstructions/InsertAutoshapes.htm", "name": "Insert autoshapes"},
{"src": "UsageInstructions/InsertCharts.htm", "name": "Insert charts" },
{"src": "UsageInstructions/InsertTextObjects.htm", "name": "Insert text objects" },
{"src": "UsageInstructions/AlignArrangeObjects.htm", "name": "Align and arrange objects on a page" },
{"src": "UsageInstructions/ChangeWrappingStyle.htm", "name": "Change wrapping style" },
{"src": "UsageInstructions/UseMailMerge.htm", "name": "Use mail merge", "headername": "Mail Merge"},
{"src": "UsageInstructions/InsertEquation.htm", "name": "Insert equations", "headername": "Math equations"},
{"src": "HelpfulHints/CollaborativeEditing.htm", "name": "Collaborative document editing", "headername": "Document co-editing"},
{"src": "HelpfulHints/Review.htm", "name": "Document Review"},
{"src": "UsageInstructions/ViewDocInfo.htm", "name": "View document information", "headername": "Tools and settings"},
{"src": "UsageInstructions/SavePrintDownload.htm", "name": "Save/download/print your document" },
{"src": "HelpfulHints/AdvancedSettings.htm", "name": "Advanced settings of Document Editor"},
{"src": "HelpfulHints/Navigation.htm", "name": "View settings and navigation tools"},
{"src": "HelpfulHints/Search.htm", "name": "Search and replace function"},
{"src": "HelpfulHints/SpellChecking.htm", "name": "Spell-checking"},
{"src": "HelpfulHints/About.htm", "name": "About Document Editor", "headername": "Helpful hints"},
{"src": "HelpfulHints/SupportedFormats.htm", "name": "Supported formats of electronic documents" },
{"src": "HelpfulHints/KeyboardShortcuts.htm", "name": "Keyboard shortcuts"}
]; ];
if (Common.Utils.isIE) { if (Common.Utils.isIE) {
@ -1055,7 +1075,7 @@ define([
var me = this; var me = this;
var store = this.viewHelpPicker.store; var store = this.viewHelpPicker.store;
if (lang) { if (lang) {
lang = lang.split("-")[0]; lang = lang.split(/[\-\_]/)[0];
var config = { var config = {
dataType: 'json', dataType: 'json',
error: function () { error: function () {
@ -1109,7 +1129,7 @@ define([
'<div id="fms-btn-add-pwd" style="width:190px;"></div>', '<div id="fms-btn-add-pwd" style="width:190px;"></div>',
'<table id="id-fms-view-pwd" cols="2" width="300">', '<table id="id-fms-view-pwd" cols="2" width="300">',
'<tr>', '<tr>',
'<td colspan="2"><span><%= scope.txtEncrypted %></span></td>', '<td colspan="2"><span style="cursor: default;"><%= scope.txtEncrypted %></span></td>',
'</tr>', '</tr>',
'<tr>', '<tr>',
'<td><div id="fms-btn-change-pwd" style="width:190px;"></div></td>', '<td><div id="fms-btn-change-pwd" style="width:190px;"></div></td>',
@ -1133,7 +1153,7 @@ define([
this.templateSignature = _.template([ this.templateSignature = _.template([
'<table cols="2" width="300" class="<% if (!hasRequested && !hasSigned) { %>hidden<% } %>"">', '<table cols="2" width="300" class="<% if (!hasRequested && !hasSigned) { %>hidden<% } %>"">',
'<tr>', '<tr>',
'<td colspan="2"><span><%= tipText %></span></td>', '<td colspan="2"><span style="cursor: default;"><%= tipText %></span></td>',
'</tr>', '</tr>',
'<tr>', '<tr>',
'<td><label class="link signature-view-link">' + me.txtView + '</label></td>', '<td><label class="link signature-view-link">' + me.txtView + '</label></td>',

View file

@ -45,7 +45,8 @@ define([
'backbone', 'backbone',
'common/main/lib/component/Button', 'common/main/lib/component/Button',
'common/main/lib/component/MetricSpinner', 'common/main/lib/component/MetricSpinner',
'common/main/lib/component/CheckBox' 'common/main/lib/component/CheckBox',
'common/main/lib/component/RadioBox'
], function (menuTemplate, $, _, Backbone) { ], function (menuTemplate, $, _, Backbone) {
'use strict'; 'use strict';
@ -72,7 +73,8 @@ define([
DiffFirst: false, DiffFirst: false,
DiffOdd: false, DiffOdd: false,
SameAs: false, SameAs: false,
DisabledControls: false DisabledControls: false,
Numbering: undefined
}; };
this.spinners = []; this.spinners = [];
this.lockedControls = []; this.lockedControls = [];
@ -129,10 +131,21 @@ define([
value = prop.get_LinkToPrevious(); value = prop.get_LinkToPrevious();
if ( this._state.SameAs!==value ) { if ( this._state.SameAs!==value ) {
this.chSameAs.setDisabled(value===null); this.chSameAs.setDisabled(value===null || this._locked);
this.chSameAs.setValue(value==true, true); this.chSameAs.setValue(value==true, true);
this._state.SameAs=value; this._state.SameAs=value;
} }
value = prop.get_StartPageNumber();
if ( this._state.Numbering!==value && value !== null) {
if (value<0)
this.radioPrev.setValue(true, true);
else {
this.radioFrom.setValue(true, true);
this.numFrom.setValue(value, true);
}
this._state.Numbering=value;
}
} }
}, },
@ -166,6 +179,36 @@ define([
this.fireEvent('editcomplete', this); this.fireEvent('editcomplete', this);
}, },
onInsertCurrentClick: function() {
if (this.api)
this.api.put_PageNum(-1);
this.fireEvent('editcomplete', this);
},
onRadioPrev: function(field, newValue, eOpts) {
if (newValue && this.api) {
this.api.asc_SetSectionStartPage(-1);
}
this.fireEvent('editcomplete', this);
},
onRadioFrom: function(field, newValue, eOpts) {
if (newValue && this.api) {
if (_.isEmpty(this.numFrom.getValue()))
this.numFrom.setValue(1, true);
this.api.asc_SetSectionStartPage(this.numFrom.getNumberValue());
}
this.fireEvent('editcomplete', this);
},
onNumFromChange: function(field, newValue, oldValue, eOpts){
if (this.api) {
this.radioFrom.setValue(true, true);
this.api.asc_SetSectionStartPage(field.getNumberValue());
}
this.fireEvent('editcomplete', this);
},
updateMetricUnit: function() { updateMetricUnit: function() {
if (this.spinners) { if (this.spinners) {
for (var i=0; i<this.spinners.length; i++) { for (var i=0; i<this.spinners.length; i++) {
@ -231,12 +274,45 @@ define([
el: $('#headerfooter-check-same-as'), el: $('#headerfooter-check-same-as'),
labelText: this.textSameAs labelText: this.textSameAs
}); });
this.lockedControls.push(this.chSameAs);
this.numPosition.on('change', _.bind(this.onNumPositionChange, this)); this.numPosition.on('change', _.bind(this.onNumPositionChange, this));
this.chDiffFirst.on('change', _.bind(this.onDiffFirstChange, this)); this.chDiffFirst.on('change', _.bind(this.onDiffFirstChange, this));
this.chDiffOdd.on('change', _.bind(this.onDiffOddChange, this)); this.chDiffOdd.on('change', _.bind(this.onDiffOddChange, this));
this.chSameAs.on('change', _.bind(this.onSameAsChange, this)); this.chSameAs.on('change', _.bind(this.onSameAsChange, this));
this.btnInsertCurrent = new Common.UI.Button({
el: $('#headerfooter-button-current')
});
this.lockedControls.push(this.btnInsertCurrent);
this.btnInsertCurrent.on('click', _.bind(this.onInsertCurrentClick, this));
this.radioPrev = new Common.UI.RadioBox({
el: $('#headerfooter-radio-prev'),
labelText: this.textPrev,
name: 'asc-radio-header-numbering',
checked: true
}).on('change', _.bind(this.onRadioPrev, this));
this.lockedControls.push(this.radioPrev);
this.radioFrom = new Common.UI.RadioBox({
el: $('#headerfooter-radio-from'),
labelText: this.textFrom,
name: 'asc-radio-header-numbering'
}).on('change', _.bind(this.onRadioFrom, this));
this.lockedControls.push(this.radioFrom);
this.numFrom = new Common.UI.MetricSpinner({
el: $('#headerfooter-spin-from'),
step: 1,
width: 85,
value: '1',
defaultUnit : "",
maxValue: 2147483646,
minValue: 0,
allowDecimal: false
});
this.lockedControls.push(this.numFrom);
this.numFrom.on('change', _.bind(this.onNumFromChange, this));
}, },
createDelayedElements: function() { createDelayedElements: function() {
@ -257,6 +333,7 @@ define([
_.each(this.lockedControls, function(item) { _.each(this.lockedControls, function(item) {
item.setDisabled(disable); item.setDisabled(disable);
}); });
this.chSameAs.setDisabled(disable || (this._state.SameAs===null));
} }
}, },
@ -273,6 +350,12 @@ define([
textBottomLeft: 'Bottom Left', textBottomLeft: 'Bottom Left',
textBottomRight: 'Bottom Right', textBottomRight: 'Bottom Right',
textBottomCenter: 'Bottom Center', textBottomCenter: 'Bottom Center',
textSameAs: 'Link to Previous' textSameAs: 'Link to Previous',
textInsertCurrent: 'Insert to Current Position',
textTopPage: 'Top of Page',
textBottomPage: 'Bottom of Page',
textPageNumbering: 'Page Numbering',
textPrev: 'Continue from previous section',
textFrom: 'Start at'
}, DE.Views.HeaderFooterSettings || {})); }, DE.Views.HeaderFooterSettings || {}));
}); });

View file

@ -83,6 +83,7 @@ define([
this.options.tpl = _.template(this.template)(this.options); this.options.tpl = _.template(this.template)(this.options);
this.api = this.options.api; this.api = this.options.api;
this._originalProps = null;
Common.UI.Window.prototype.initialize.call(this, this.options); Common.UI.Window.prototype.initialize.call(this, this.options);
}, },
@ -155,6 +156,7 @@ define([
this.isTextChanged = false; this.isTextChanged = false;
me.inputTip.setValue(props.get_ToolTip()); me.inputTip.setValue(props.get_ToolTip());
me._originalProps = props;
} }
}, },
@ -178,6 +180,7 @@ define([
} }
props.put_ToolTip(me.inputTip.getValue()); props.put_ToolTip(me.inputTip.getValue());
props.put_InternalHyperlink(me._originalProps.get_InternalHyperlink());
return props; return props;
}, },

View file

@ -173,8 +173,11 @@ define([
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this)); this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
this.btnInsertFromFile.on('click', _.bind(function(btn){ this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this._isFromFile) return;
this._isFromFile = true;
if (this.api) this.api.ChangeImageFromFile(); if (this.api) this.api.ChangeImageFromFile();
this.fireEvent('editcomplete', this); this.fireEvent('editcomplete', this);
this._isFromFile = false;
}, this)); }, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this)); this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this.btnEditObject.on('click', _.bind(function(btn){ this.btnEditObject.on('click', _.bind(function(btn){

View file

@ -53,7 +53,8 @@ define([
'common/main/lib/view/Plugins', 'common/main/lib/view/Plugins',
'common/main/lib/view/About', 'common/main/lib/view/About',
'common/main/lib/view/SearchDialog', 'common/main/lib/view/SearchDialog',
'documenteditor/main/app/view/FileMenu' 'documenteditor/main/app/view/FileMenu',
'documenteditor/main/app/view/Navigation'
], function (menuTemplate, $, _, Backbone) { ], function (menuTemplate, $, _, Backbone) {
'use strict'; 'use strict';
@ -73,6 +74,7 @@ define([
'click #left-btn-chat': _.bind(this.onCoauthOptions, this), 'click #left-btn-chat': _.bind(this.onCoauthOptions, this),
/** coauthoring end **/ /** coauthoring end **/
'click #left-btn-plugins': _.bind(this.onCoauthOptions, this), 'click #left-btn-plugins': _.bind(this.onCoauthOptions, this),
'click #left-btn-navigation': _.bind(this.onCoauthOptions, this),
'click #left-btn-support': function() { 'click #left-btn-support': function() {
var config = this.mode.customization; var config = this.mode.customization;
config && !!config.feedback && !!config.feedback.url ? config && !!config.feedback && !!config.feedback.url ?
@ -151,6 +153,15 @@ define([
this.btnPlugins.hide(); this.btnPlugins.hide();
this.btnPlugins.on('click', _.bind(this.onBtnMenuClick, this)); this.btnPlugins.on('click', _.bind(this.onBtnMenuClick, this));
this.btnNavigation = new Common.UI.Button({
el: $('#left-btn-navigation'),
hint: this.tipNavigation,
enableToggle: true,
disabled: true,
toggleGroup: 'leftMenuGroup'
});
this.btnNavigation.on('click', _.bind(this.onBtnMenuClick, this));
this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this)); this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this));
this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this)); this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this));
@ -222,6 +233,12 @@ define([
this.panelChat['hide'](); this.panelChat['hide']();
} }
} }
if (this.panelNavigation) {
if (this.btnNavigation.pressed) {
this.panelNavigation.show();
} else
this.panelNavigation['hide']();
}
/** coauthoring end **/ /** coauthoring end **/
// if (this.mode.canPlugins && this.panelPlugins) { // if (this.mode.canPlugins && this.panelPlugins) {
// if (this.btnPlugins.pressed) { // if (this.btnPlugins.pressed) {
@ -243,6 +260,9 @@ define([
} else } else
if (name == 'plugins' && !this.panelPlugins) { if (name == 'plugins' && !this.panelPlugins) {
this.panelPlugins = panel.render(/*'#left-panel-plugins'*/); this.panelPlugins = panel.render(/*'#left-panel-plugins'*/);
} else
if (name == 'navigation' && !this.panelNavigation) {
this.panelNavigation = panel.render('#left-panel-navigation');
} }
}, },
@ -276,7 +296,7 @@ define([
} }
if (this.mode.canChat) { if (this.mode.canChat) {
this.panelChat['hide'](); this.panelChat['hide']();
this.btnChat.toggle(false, true); this.btnChat.toggle(false);
} }
} }
/** coauthoring end **/ /** coauthoring end **/
@ -284,6 +304,10 @@ define([
this.panelPlugins['hide'](); this.panelPlugins['hide']();
this.btnPlugins.toggle(false, true); this.btnPlugins.toggle(false, true);
} }
if (this.panelNavigation) {
this.panelNavigation['hide']();
this.btnNavigation.toggle(false, true);
}
} }
}, },
@ -304,6 +328,7 @@ define([
this.btnChat.setDisabled(false); this.btnChat.setDisabled(false);
/** coauthoring end **/ /** coauthoring end **/
this.btnPlugins.setDisabled(false); this.btnPlugins.setDisabled(false);
this.btnNavigation.setDisabled(false);
}, },
showMenu: function(menu, opts) { showMenu: function(menu, opts) {
@ -385,6 +410,7 @@ define([
tipSearch : 'Search', tipSearch : 'Search',
tipPlugins : 'Plugins', tipPlugins : 'Plugins',
txtDeveloper: 'DEVELOPER MODE', txtDeveloper: 'DEVELOPER MODE',
txtTrial: 'TRIAL MODE' txtTrial: 'TRIAL MODE',
tipNavigation: 'Navigation'
}, DE.Views.LeftMenu || {})); }, DE.Views.LeftMenu || {}));
}); });

View file

@ -0,0 +1,273 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* Links.js
*
* Created by Julia Radzhabova on 22.12.2017
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
*
*/
define([
'common/main/lib/util/utils',
'common/main/lib/component/BaseView',
'common/main/lib/component/Layout'
], function () {
'use strict';
DE.Views.Links = Common.UI.BaseView.extend(_.extend((function(){
function setEvents() {
var me = this;
this.btnsContents.forEach(function(button) {
button.menu.on('item:click', function (menu, item, e) {
me.fireEvent('links:contents', [item.value]);
});
button.on('click', function (b, e) {
me.fireEvent('links:contents', [0]);
});
});
this.btnContentsUpdate.menu.on('item:click', function (menu, item, e) {
me.fireEvent('links:update', [item.value]);
});
this.btnContentsUpdate.on('click', function (b, e) {
me.fireEvent('links:update', ['all']);
});
this.btnsNotes.forEach(function(button) {
button.menu.on('item:click', function (menu, item, e) {
me.fireEvent('links:notes', [item.value]);
});
button.on('click', function (b, e) {
me.fireEvent('links:notes', ['ins_footnote']);
});
});
this.btnsPrevNote.forEach(function(button) {
button.on('click', function (b, e) {
me.fireEvent('links:notes', ['prev']);
});
});
this.btnsNextNote.forEach(function(button) {
button.on('click', function (b, e) {
me.fireEvent('links:notes', ['next']);
});
});
this.btnsHyperlink.forEach(function(button) {
button.on('click', function (b, e) {
me.fireEvent('links:hyperlink');
});
});
}
return {
options: {},
initialize: function (options) {
Common.UI.BaseView.prototype.initialize.call(this);
this.toolbar = options.toolbar;
this.btnsContents = [];
this.btnsNotes = [];
this.btnsPrevNote = [];
this.btnsNextNote = [];
this.btnsHyperlink = [];
this.paragraphControls = [];
var me = this,
$host = me.toolbar.$el;
var _injectComponent = function (id, cmp) {
var $slot = $host.find(id);
if ($slot.length)
cmp.rendered ? $slot.append(cmp.$el) : cmp.render($slot);
};
var _injectComponents = function ($slots, iconCls, split, menu, caption, btnsArr) {
$slots.each(function(index, el) {
var _cls = 'btn-toolbar';
/x-huge/.test(el.className) && (_cls += ' x-huge icon-top');
var button = new Common.UI.Button({
id: "id-toolbar-" + iconCls + index,
cls: _cls,
iconCls: iconCls,
caption: caption,
split: split,
menu: menu,
disabled: true
}).render( $slots.eq(index) );
btnsArr.push(button);
me.paragraphControls.push(button);
});
};
_injectComponents($host.find('.btn-slot.btn-contents'), 'btn-contents', true, true, me.capBtnInsContents, me.btnsContents);
_injectComponents($host.find('.btn-slot.slot-notes'), 'btn-notes', true, true, me.capBtnInsFootnote, me.btnsNotes);
_injectComponents($host.find('.btn-slot.slot-inshyperlink'), 'btn-inserthyperlink', false, false, me.capBtnInsLink, me.btnsHyperlink);
this.btnContentsUpdate = new Common.UI.Button({
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-contents-update',
caption: this.capBtnContentsUpdate,
split: true,
menu: true,
disabled: true
});
_injectComponent('#slot-btn-contents-update', this.btnContentsUpdate);
this.paragraphControls.push(this.btnContentsUpdate);
this._state = {disabled: false};
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
},
render: function (el) {
return this;
},
onAppReady: function (config) {
var me = this;
(new Promise(function (accept, reject) {
accept();
})).then(function(){
var contentsTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem" class="item-contents"><div style="background-position: 0 -<%= options.offsety %>px;" ></div></a>');
me.btnsContents.forEach( function(btn) {
btn.updateHint( me.tipContents );
var _menu = new Common.UI.Menu({
items: [
{template: contentsTemplate, offsety: 0, value: 0},
{template: contentsTemplate, offsety: 72, value: 1},
{caption: me.textContentsSettings, value: 'settings'},
{caption: me.textContentsRemove, value: 'remove'}
]
});
btn.setMenu(_menu);
});
me.btnContentsUpdate.updateHint(me.tipContentsUpdate);
me.btnContentsUpdate.setMenu(new Common.UI.Menu({
items: [
{caption: me.textUpdateAll, value: 'all'},
{caption: me.textUpdatePages, value: 'pages'}
]
}));
me.btnsNotes.forEach( function(btn, index) {
btn.updateHint( me.tipNotes );
var _menu = new Common.UI.Menu({
items: [
{caption: me.mniInsFootnote, value: 'ins_footnote'},
{caption: '--'},
new Common.UI.MenuItem({
template: _.template([
'<div class="menu-zoom" style="height: 25px;" ',
'<% if(!_.isUndefined(options.stopPropagation)) { %>',
'data-stopPropagation="true"',
'<% } %>', '>',
'<label class="title">' + me.textGotoFootnote + '</label>',
'<button id="id-menu-goto-footnote-next-' + index + '" type="button" style="float:right; margin: 2px 5px 0 0;" class="btn small btn-toolbar"><i class="icon mmerge-next">&nbsp;</i></button>',
'<button id="id-menu-goto-footnote-prev-' + index + '" type="button" style="float:right; margin-top: 2px;" class="btn small btn-toolbar"><i class="icon mmerge-prev">&nbsp;</i></button>',
'</div>'
].join('')),
stopPropagation: true
}),
{caption: '--'},
{caption: me.mniDelFootnote, value: 'delele'},
{caption: me.mniNoteSettings, value: 'settings'}
]
});
btn.setMenu(_menu);
me.btnsPrevNote.push(new Common.UI.Button({
el: $('#id-menu-goto-footnote-prev-'+index),
cls: 'btn-toolbar'
}));
me.btnsNextNote.push(me.mnuGotoFootNext = new Common.UI.Button({
el: $('#id-menu-goto-footnote-next-'+index),
cls: 'btn-toolbar'
}));
});
me.btnsHyperlink.forEach( function(btn) {
btn.updateHint(me.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
});
setEvents.call(me);
});
},
show: function () {
Common.UI.BaseView.prototype.show.call(this);
this.fireEvent('show', this);
},
getButtons: function() {
return this.paragraphControls;
},
SetDisabled: function (state) {
this._state.disabled = state;
this.paragraphControls.forEach(function(button) {
if ( button ) {
button.setDisabled(state);
}
}, this);
},
capBtnInsContents: 'Table of Contents',
tipContents: 'Insert table of contents',
textContentsSettings: 'Settings',
textContentsRemove: 'Remove table of contents',
capBtnContentsUpdate: 'Update',
tipContentsUpdate: 'Update table of contents',
textUpdateAll: 'Update entire table',
textUpdatePages: 'Update page numbers only',
tipNotes: 'Footnotes',
mniInsFootnote: 'Insert Footnote',
mniDelFootnote: 'Delete All Footnotes',
mniNoteSettings: 'Notes Settings',
textGotoFootnote: 'Go to Footnotes',
capBtnInsFootnote: 'Footnotes',
confirmDeleteFootnotes: 'Do you want to delete all footnotes?',
capBtnInsLink: 'Hyperlink',
tipInsertHyperlink: 'Add Hyperlink'
}
}()), DE.Views.Links || {}));
});

View file

@ -0,0 +1,163 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* User: Julia.Radzhabova
* Date: 14.12.17
*/
define([
'common/main/lib/util/utils',
'common/main/lib/component/BaseView',
'common/main/lib/component/Layout',
'common/main/lib/component/TreeView'
], function (template) {
'use strict';
DE.Views.Navigation = Common.UI.BaseView.extend(_.extend({
el: '#left-panel-navigation',
storeNavigation: undefined,
template: _.template([
'<div id="navigation-box" class="layout-ct vbox">',
// '<div id="navigation-header"><%= scope.strNavigate %></div>',
'<div id="navigation-list" class="">',
'</div>',
'</div>'
].join('')),
initialize: function(options) {
_.extend(this, options);
Common.UI.BaseView.prototype.initialize.call(this, arguments);
},
render: function(el) {
el = el || this.el;
$(el).html(this.template({scope: this}));
this.$el = $(el);
this.viewNavigationList = new Common.UI.TreeView({
el: $('#navigation-list'),
store: this.storeNavigation,
enableKeyEvents: false,
emptyText: this.txtEmpty,
emptyItemText: this.txtEmptyItem
});
this.viewNavigationList.cmpEl.off('click');
this.navigationMenu = new Common.UI.Menu({
items: [{
caption : this.txtPromote,
value: 'promote'
},
{
caption : this.txtDemote,
value: 'demote'
},
{
caption : '--'
},
{
caption : this.txtHeadingBefore,
value: 'before'
},
{
caption : this.txtHeadingAfter,
value: 'after'
},
{
caption : this.txtNewHeading,
value: 'new'
},
{
caption : '--'
},
{
caption : this.txtSelect,
value: 'select'
},
{
caption : '--'
},
{
caption : this.txtExpand,
value: 'expand'
},
{
caption : this.txtCollapse,
value: 'collapse'
},
{
caption : this.txtExpandToLevel,
menu: new Common.UI.Menu({
menuAlign: 'tl-tr',
style: 'min-width: 60px;',
items: [{ caption : '1', value: 1 }, { caption : '2', value: 2 }, { caption : '3', value: 3 },
{ caption : '4', value: 4 }, { caption : '5', value: 5 }, { caption : '6', value: 6 },
{ caption : '7', value: 7 }, { caption : '8', value: 8 }, { caption : '9', value: 9 }
]
})
}
]
});
this.trigger('render:after', this);
return this;
},
show: function () {
Common.UI.BaseView.prototype.show.call(this,arguments);
this.fireEvent('show', this );
},
hide: function () {
Common.UI.BaseView.prototype.hide.call(this,arguments);
this.fireEvent('hide', this );
},
ChangeSettings: function(props) {
},
strNavigate: 'Table of Contents',
txtPromote: 'Promote',
txtDemote: 'Demote',
txtHeadingBefore: 'New heading before',
txtHeadingAfter: 'New heading after',
txtNewHeading: 'New subheading',
txtSelect: 'Select content',
txtExpand: 'Expand all',
txtCollapse: 'Collapse all',
txtExpandToLevel: 'Expand to level...',
txtEmpty: 'This document doesn\'t contain headings',
txtEmptyItem: 'Empty Heading'
}, DE.Views.Navigation || {}));
});

View file

@ -108,7 +108,7 @@ define([
defaultUnit : "cm", defaultUnit : "cm",
value: '1 cm', value: '1 cm',
maxValue: 55.88, maxValue: 55.88,
minValue: 0 minValue: -55.87
}); });
this.spinners.push(this.spnTop); this.spinners.push(this.spnTop);
@ -119,7 +119,7 @@ define([
defaultUnit : "cm", defaultUnit : "cm",
value: '1 cm', value: '1 cm',
maxValue: 55.88, maxValue: 55.88,
minValue: 0 minValue: -55.87
}); });
this.spinners.push(this.spnBottom); this.spinners.push(this.spnBottom);
@ -158,7 +158,7 @@ define([
var errmsg = null; var errmsg = null;
if (this.spnLeft.getNumberValue() + this.spnRight.getNumberValue() > this.maxMarginsW ) if (this.spnLeft.getNumberValue() + this.spnRight.getNumberValue() > this.maxMarginsW )
errmsg = this.txtMarginsW; errmsg = this.txtMarginsW;
else if (this.spnTop.getNumberValue() + this.spnBottom.getNumberValue() > this.maxMarginsH ) else if (Math.abs(this.spnTop.getNumberValue() + this.spnBottom.getNumberValue()) > this.maxMarginsH )
errmsg = this.txtMarginsH; errmsg = this.txtMarginsH;
if (errmsg) { if (errmsg) {
Common.UI.warning({ Common.UI.warning({

View file

@ -42,7 +42,6 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
'common/main/lib/view/AdvancedSettingsWindow', 'common/main/lib/view/AdvancedSettingsWindow',
'common/main/lib/component/MetricSpinner', 'common/main/lib/component/MetricSpinner',
'common/main/lib/component/CheckBox', 'common/main/lib/component/CheckBox',
'common/main/lib/component/RadioBox',
'common/main/lib/component/ThemeColorPalette', 'common/main/lib/component/ThemeColorPalette',
'common/main/lib/component/ColorButton', 'common/main/lib/component/ColorButton',
'common/main/lib/component/ListView', 'common/main/lib/component/ListView',
@ -410,24 +409,35 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
this.listenTo(this.tabList.store, 'remove', storechanged); this.listenTo(this.tabList.store, 'remove', storechanged);
this.listenTo(this.tabList.store, 'reset', storechanged); this.listenTo(this.tabList.store, 'reset', storechanged);
this.radioLeft = new Common.UI.RadioBox({ this.cmbAlign = new Common.UI.ComboBox({
el: $('#paragraphadv-radio-left'), el : $('#paraadv-cmb-align'),
labelText: this.textTabLeft, style : 'width: 85px;',
name: 'asc-radio-tab', menuStyle : 'min-width: 85px;',
checked: true editable : false,
cls : 'input-group-nr',
data : [
{ value: 1, displayValue: this.textTabLeft },
{ value: 3, displayValue: this.textTabCenter },
{ value: 2, displayValue: this.textTabRight }
]
}); });
this.cmbAlign.setValue(1);
this.radioCenter = new Common.UI.RadioBox({ this.cmbLeader = new Common.UI.ComboBox({
el: $('#paragraphadv-radio-center'), el : $('#paraadv-cmb-leader'),
labelText: this.textTabCenter, style : 'width: 85px;',
name: 'asc-radio-tab' menuStyle : 'min-width: 85px;',
}); editable : false,
cls : 'input-group-nr',
this.radioRight = new Common.UI.RadioBox({ data : [
el: $('#paragraphadv-radio-right'), { value: Asc.c_oAscTabLeader.None, displayValue: this.textNone },
labelText: this.textTabRight, { value: Asc.c_oAscTabLeader.Dot, displayValue: '....................' },
name: 'asc-radio-tab' { value: Asc.c_oAscTabLeader.Hyphen, displayValue: '-----------------' },
{ value: Asc.c_oAscTabLeader.MiddleDot, displayValue: '·················' },
{ value: Asc.c_oAscTabLeader.Underscore,displayValue: '__________' }
]
}); });
this.cmbLeader.setValue(Asc.c_oAscTabLeader.None);
this.btnAddTab = new Common.UI.Button({ this.btnAddTab = new Common.UI.Button({
el: $('#paraadv-button-add-tab') el: $('#paraadv-button-add-tab')
@ -562,7 +572,7 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
if (this._changedProps.get_Tabs()===null || this._changedProps.get_Tabs()===undefined) if (this._changedProps.get_Tabs()===null || this._changedProps.get_Tabs()===undefined)
this._changedProps.put_Tabs(new Asc.asc_CParagraphTabs()); this._changedProps.put_Tabs(new Asc.asc_CParagraphTabs());
this.tabList.store.each(function (item, index) { this.tabList.store.each(function (item, index) {
var tab = new Asc.asc_CParagraphTab(Common.Utils.Metric.fnRecalcToMM(item.get('tabPos')), item.get('tabAlign')); var tab = new Asc.asc_CParagraphTab(Common.Utils.Metric.fnRecalcToMM(item.get('tabPos')), item.get('tabAlign'), item.get('tabLeader'));
this._changedProps.get_Tabs().add_Tab(tab); this._changedProps.get_Tabs().add_Tab(tab);
}, this); }, this);
} }
@ -663,7 +673,8 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
rec.set({ rec.set({
tabPos: pos, tabPos: pos,
value: parseFloat(pos.toFixed(3)) + ' ' + Common.Utils.Metric.getCurrentMetricName(), value: parseFloat(pos.toFixed(3)) + ' ' + Common.Utils.Metric.getCurrentMetricName(),
tabAlign: tab.get_Value() tabAlign: tab.get_Value(),
tabLeader: tab.asc_getLeader()
}); });
arr.push(rec); arr.push(rec);
} }
@ -1054,8 +1065,9 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
}, },
addTab: function(btn, eOpts){ addTab: function(btn, eOpts){
var val = this.numTab.getNumberValue(); var val = this.numTab.getNumberValue(),
var align = this.radioLeft.getValue() ? 1 : (this.radioCenter.getValue() ? 3 : 2); align = this.cmbAlign.getValue(),
leader = this.cmbLeader.getValue();
var store = this.tabList.store; var store = this.tabList.store;
var rec = store.find(function(record){ var rec = store.find(function(record){
@ -1063,13 +1075,15 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
}); });
if (rec) { if (rec) {
rec.set('tabAlign', align); rec.set('tabAlign', align);
rec.set('tabLeader', leader);
this._tabListChanged = true; this._tabListChanged = true;
} else { } else {
rec = new Common.UI.DataViewModel(); rec = new Common.UI.DataViewModel();
rec.set({ rec.set({
tabPos: val, tabPos: val,
value: val + ' ' + Common.Utils.Metric.getCurrentMetricName(), value: val + ' ' + Common.Utils.Metric.getCurrentMetricName(),
tabAlign: align tabAlign: align,
tabLeader: leader
}); });
store.add(rec); store.add(rec);
} }
@ -1110,8 +1124,8 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
rawData = record; rawData = record;
} }
this.numTab.setValue(rawData.tabPos); this.numTab.setValue(rawData.tabPos);
(rawData.tabAlign==1) ? this.radioLeft.setValue(true) : ((rawData.tabAlign==3) ? this.radioCenter.setValue(true) : this.radioRight.setValue(true)); this.cmbAlign.setValue(rawData.tabAlign);
this.cmbLeader.setValue(rawData.tabLeader);
}, },
hideTextOnlySettings: function(value) { hideTextOnlySettings: function(value) {
@ -1173,6 +1187,8 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
tipNone: 'Set No Borders', tipNone: 'Set No Borders',
tipInner: 'Set Horizontal Inner Lines Only', tipInner: 'Set Horizontal Inner Lines Only',
tipOuter: 'Set Outer Border Only', tipOuter: 'Set Outer Border Only',
noTabs: 'The specified tabs will appear in this field' noTabs: 'The specified tabs will appear in this field',
textLeader: 'Leader',
textNone: 'None'
}, DE.Views.ParagraphSettingsAdvanced || {})); }, DE.Views.ParagraphSettingsAdvanced || {}));
}); });

View file

@ -979,7 +979,8 @@ define([
// border colors // border colors
var stroke = shapeprops.get_stroke(), var stroke = shapeprops.get_stroke(),
strokeType = stroke.get_type(), strokeType = stroke.get_type(),
borderType; borderType,
update = (this._state.StrokeColor == 'transparent' && this.BorderColor.Color !== 'transparent'); // border color was changed for shape without line and then shape was reselected (or apply other settings)
if (stroke) { if (stroke) {
if ( strokeType == Asc.c_oAscStrokeType.STROKE_COLOR ) { if ( strokeType == Asc.c_oAscStrokeType.STROKE_COLOR ) {
@ -1005,7 +1006,7 @@ define([
type1 = typeof(this.BorderColor.Color); type1 = typeof(this.BorderColor.Color);
type2 = typeof(this._state.StrokeColor); type2 = typeof(this._state.StrokeColor);
if ( (type1 !== type2) || (type1=='object' && if ( update || (type1 !== type2) || (type1=='object' &&
(this.BorderColor.Color.effectValue!==this._state.StrokeColor.effectValue || this._state.StrokeColor.color.indexOf(this.BorderColor.Color.color)<0)) || (this.BorderColor.Color.effectValue!==this._state.StrokeColor.effectValue || this._state.StrokeColor.color.indexOf(this.BorderColor.Color.color)<0)) ||
(type1!='object' && (this._state.StrokeColor.indexOf(this.BorderColor.Color)<0 || typeof(this.btnBorderColor.color)=='object'))) { (type1!='object' && (this._state.StrokeColor.indexOf(this.BorderColor.Color)<0 || typeof(this.btnBorderColor.color)=='object'))) {
@ -1201,7 +1202,7 @@ define([
this.fillControls.push(this.btnInsertFromUrl); this.fillControls.push(this.btnInsertFromUrl);
this.btnInsertFromFile.on('click', _.bind(function(btn){ this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeShapeImageFromFile(); if (this.api) this.api.ChangeShapeImageFromFile(this.BlipFillType);
this.fireEvent('editcomplete', this); this.fireEvent('editcomplete', this);
}, this)); }, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this)); this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));

View file

@ -373,8 +373,11 @@ define([
$parent.find('#status-label-lang').text(info.title); $parent.find('#status-label-lang').text(info.title);
var index = $parent.find('ul li a:contains("'+info.title+'")').parent().index(); var index = $parent.find('ul li a:contains("'+info.title+'")').parent().index();
index < 0 ? this.langMenu.saved = info.title : if (index < 0) {
this.langMenu.items[index-1].setChecked(true); this.langMenu.saved = info.title;
this.langMenu.clearAll();
} else
this.langMenu.items[index-1].setChecked(true);
} }
}, },

View file

@ -0,0 +1,615 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2017
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* TableOfContentsSettings.js.js
*
* Created by Julia Radzhabova on 26.12.2017
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
*
*/
define([
'common/main/lib/util/utils',
'common/main/lib/component/MetricSpinner',
'common/main/lib/component/ComboBox',
'common/main/lib/view/AdvancedSettingsWindow'
], function () { 'use strict';
DE.Views.TableOfContentsSettings = Common.Views.AdvancedSettingsWindow.extend(_.extend({
options: {
contentWidth: 500,
height: 455
},
initialize : function(options) {
var me = this;
_.extend(this.options, {
title: this.textTitle,
template: [
'<div class="box" style="height:' + (me.options.height - 85) + 'px;">',
'<div class="content-panel" style="padding: 15px 10px;"><div class="inner-content">',
'<div class="settings-panel active">',
'<table cols="2" style="width: 100%;">',
'<tr>',
'<td class="padding-small">',
'<div id="tableofcontents-chb-pages"></div>',
'</td>',
'<td rowspan="5" class="padding-small" style="vertical-align: top;">',
'<div style="border: 1px solid #cbcbcb;width: 230px; height: 172px; float: right;">',
'<div id="tableofcontents-img" style="width: 100%; height: 100%;"></div>',
'</div>',
'</td>',
'</tr>',
'<tr>',
'<td class="padding-small">',
'<div id="tableofcontents-chb-align"></div>',
'</td>',
'</tr>',
'<tr>',
'<td class="padding-large">',
'<label class="input-label">' + me.textLeader + '</label>',
'<div id="tableofcontents-combo-leader" class="input-group-nr" style="display: inline-block; width:95px; margin-left: 10px;"></div>',
'</td>',
'</tr>',
'<tr>',
'<td class="padding-large">',
'<div id="tableofcontents-chb-links"></div>',
'</td>',
'</tr>',
'<tr>',
'<td class="padding-small">',
'<label class="input-label padding-small" style="display: block;">' + me.textBuildTable + '</label>',
'<div id="tableofcontents-radio-styles" class="padding-small" style="display: block;"></div>',
'<div id="tableofcontents-radio-levels" class="" style="display: block;"></div>',
'</td>',
'</tr>',
'<tr>',
'<td class="padding-small" style="vertical-align: top;">',
'<div id="tableofcontents-from-levels" style="width:220px;">',
'<label class="input-label">' + me.textLevels + '</label>',
'<div id="tableofcontents-spin-levels" style="display: inline-block; width:95px; margin-left: 10px;"></div>',
'</div>',
'<div id="tableofcontents-from-styles" class="hidden">',
'<table><tr><td style="height: 25px;">',
'<label class="input-label" style="width: 144px; margin-left: 23px;">' + me.textStyle + '</label>',
'<label class="input-label" style="">' + me.textLevel + '</label>',
'</td></tr>',
'<tr><td>',
'<div id="tableofcontents-styles-list" class="header-styles-tableview" style="width:100%; height: 122px;"></div>',
'</td></tr></table>',
'</div>',
'</td>',
'<td class="padding-small" style="vertical-align: top;">',
'<label class="input-label" style="margin-left: 15px;">' + me.textStyles + '</label>',
'<div id="tableofcontents-combo-styles" class="input-group-nr" style="display: inline-block; width:95px; margin-left: 10px;"></div>',
'</td>',
'</tr>',
'</table>',
'</div></div>',
'</div>',
'</div>',
'<div class="separator horizontal"/>',
'<div class="footer center">',
'<button class="btn normal dlg-btn primary" result="ok" style="margin-right: 10px; width: 86px;">' + me.okButtonText + '</button>',
'<button class="btn normal dlg-btn" result="cancel" style="width: 86px;">' + me.cancelButtonText + '</button>',
'</div>'
].join('')
}, options);
this.api = options.api;
this.handler = options.handler;
this.props = options.props;
this.startLevel = 1;
this.endLevel = 3;
this._noApply = true;
this._originalProps = null;
Common.Views.AdvancedSettingsWindow.prototype.initialize.call(this, this.options);
},
render: function() {
Common.Views.AdvancedSettingsWindow.prototype.render.call(this);
var me = this;
this.chPages = new Common.UI.CheckBox({
el: $('#tableofcontents-chb-pages'),
labelText: this.strShowPages,
value: 'checked'
});
this.chPages.on('change', _.bind(function(field, newValue, oldValue, eOpts){
var checked = (field.getValue()=='checked');
this.chAlign.setDisabled(!checked);
this.cmbLeader.setDisabled(!checked);
if (this.api && !this._noApply) {
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
properties.put_ShowPageNumbers(checked);
if (checked) {
properties.put_RightAlignTab(this.chAlign.getValue() == 'checked');
properties.put_TabLeader(this.cmbLeader.getValue());
}
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
}, this));
this.chAlign = new Common.UI.CheckBox({
el: $('#tableofcontents-chb-align'),
labelText: this.strAlign,
value: 'checked'
});
this.chAlign.on('change', _.bind(function(field, newValue, oldValue, eOpts){
var checked = (field.getValue()=='checked');
this.cmbLeader.setDisabled(!checked);
if (this.api && !this._noApply) {
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
properties.put_RightAlignTab(checked);
if (checked) {
properties.put_TabLeader(this.cmbLeader.getValue());
}
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
}, this));
this.cmbLeader = new Common.UI.ComboBox({
el : $('#tableofcontents-combo-leader'),
style : 'width: 85px;',
menuStyle : 'min-width: 85px;',
editable : false,
cls : 'input-group-nr',
data : [
{ value: Asc.c_oAscTabLeader.None, displayValue: this.textNone },
{ value: Asc.c_oAscTabLeader.Dot, displayValue: '....................' },
{ value: Asc.c_oAscTabLeader.Hyphen, displayValue: '-----------------' },
{ value: Asc.c_oAscTabLeader.Underscore,displayValue: '__________' }
]
});
this.cmbLeader.setValue(Asc.c_oAscTabLeader.Dot);
this.cmbLeader.on('selected', _.bind(function(combo, record) {
if (this.api && !this._noApply) {
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
properties.put_TabLeader(record.value);
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
}, this));
this.chLinks = new Common.UI.CheckBox({
el: $('#tableofcontents-chb-links'),
labelText: this.strLinks,
value: 'checked'
});
this.chLinks.on('change', _.bind(function(field, newValue, oldValue, eOpts){
if (this.api && !this._noApply) {
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
properties.put_Hyperlink(field.getValue()=='checked');
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
}, this));
this.radioLevels = new Common.UI.RadioBox({
el: $('#tableofcontents-radio-levels'),
labelText: this.textRadioLevels,
name: 'asc-radio-content-build',
checked: true
});
this.radioLevels.on('change', _.bind(function(field, newValue, eOpts) {
if (newValue) {
this.levelsContainer.toggleClass('hidden', !newValue);
this.stylesContainer.toggleClass('hidden', newValue);
if (this._needUpdateOutlineLevels)
this.synchronizeLevelsFromStyles();
}
}, this));
this.radioStyles = new Common.UI.RadioBox({
el: $('#tableofcontents-radio-styles'),
labelText: this.textRadioStyles,
name: 'asc-radio-content-build'
});
this.radioStyles.on('change', _.bind(function(field, newValue, eOpts) {
if (newValue) {
this.stylesContainer.toggleClass('hidden', !newValue);
this.levelsContainer.toggleClass('hidden', newValue);
if (this._needUpdateStyles)
this.synchronizeLevelsFromOutline();
this.stylesList.scroller.update({alwaysVisibleY: true});
setTimeout(function(){
var rec = me.stylesLevels.findWhere({checked: true});
if (rec)
me.stylesList.scrollToRecord(rec);
}, 10);
}
}, this));
this.cmbStyles = new Common.UI.ComboBox({
el: $('#tableofcontents-combo-styles'),
cls: 'input-group-nr',
menuStyle: 'min-width: 150px;',
editable: false,
data: [
{ displayValue: this.txtCurrent, value: Asc.c_oAscTOCStylesType.Current },
{ displayValue: this.txtSimple, value: Asc.c_oAscTOCStylesType.Simple },
{ displayValue: this.txtStandard, value: Asc.c_oAscTOCStylesType.Standard },
{ displayValue: this.txtModern, value: Asc.c_oAscTOCStylesType.Modern },
{ displayValue: this.txtClassic, value: Asc.c_oAscTOCStylesType.Classic }
]
});
this.cmbStyles.setValue(Asc.c_oAscTOCStylesType.Current);
this.cmbStyles.on('selected', _.bind(function(combo, record) {
if (this.api && !this._noApply) {
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
properties.put_StylesType(record.value);
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
}, this));
this.spnLevels = new Common.UI.CustomSpinner({
el: $('#tableofcontents-spin-levels'),
step: 1,
width: 85,
defaultUnit : "",
value: 3,
maxValue: 9,
minValue: 1,
allowDecimal: false,
maskExp: /[1-9]/
});
this.spnLevels.on('change', _.bind(function(field, newValue, oldValue, eOpts){
this._needUpdateStyles = true;
this.startLevel = 1;
this.endLevel = field.getNumberValue();
if (this.api && !this._noApply) {
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
properties.clear_Styles();
properties.put_OutlineRange(this.startLevel, this.endLevel);
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
}, this));
this.stylesLevels = new Common.UI.DataViewStore();
if (this.stylesLevels) {
this.stylesList = new Common.UI.ListView({
el: $('#tableofcontents-styles-list', this.$window),
store: this.stylesLevels,
simpleAddMode: true,
showLast: false,
template: _.template(['<div class="listview inner" style=""></div>'].join('')),
itemTemplate: _.template([
'<div id="<%= id %>" class="list-item">',
'<div class="<% if (checked) { %>checked<% } %>"><%= name %></div>',
'<div>',
'<div class="input-field" style="width:40px;"><input type="text" class="form-control" value="<%= value %>" style="text-align: right;">',
'</div>',
'</div>',
'</div>'
].join(''))
});
this.stylesList.on('item:change', _.bind(this.onItemChange, this));
this.stylesList.on('item:add', _.bind(this.addEvents, this));
}
this.levelsContainer = $('#tableofcontents-from-levels');
this.stylesContainer = $('#tableofcontents-from-styles');
this.afterRender();
},
afterRender: function() {
this._setDefaults(this.props);
},
show: function() {
Common.Views.AdvancedSettingsWindow.prototype.show.apply(this, arguments);
},
_setDefaults: function (props) {
this._noApply = true;
var me = this,
docStyles = this.api.asc_GetStylesArray(),
styles = [];
_.each(docStyles, function (style) {
var name = style.get_Name(),
level = me.api.asc_GetHeadingLevel(name);
if (style.get_QFormat() || level>=0) {
styles.push({
name: name,
allowSelected: false,
checked: false,
value: '',
headerLevel: (level>=0) ? level+1 : -1 // -1 if is not header
});
}
});
if (props) {
var value = props.get_Hyperlink();
this.chLinks.setValue((value !== null && value !== undefined) ? value : 'indeterminate', true);
value = props.get_StylesType();
this.cmbStyles.setValue((value!==null) ? value : Asc.c_oAscTOCStylesType.Current);
var start = props.get_OutlineStart(),
end = props.get_OutlineEnd(),
count = props.get_StylesCount();
this.startLevel = start;
this.endLevel = end;
if ((start<0 || end<0) && count<1) {
start = 1;
end = 9;
this.spnLevels.setValue(end, true);
}
var disable_outlines = false;
for (var i=0; i<count; i++) {
var style = props.get_StyleName(i),
level = props.get_StyleLevel(i),
rec = _.findWhere(styles, {name: style});
if (rec) {
rec.checked = true;
rec.value = level;
if (rec.headerLevel !== level)
disable_outlines = true;
} else {
styles.push({
name: style,
allowSelected: false,
checked: true,
value: level,
headerLevel: -1
});
disable_outlines = true;
}
}
if (start>0 && end>0) {
for (var i=start; i<=end; i++) {
var rec = _.findWhere(styles, {headerLevel: i});
if (rec) {
rec.checked = true;
rec.value = i;
}
}
}
var new_start = -1, new_end = -1, empty_index = -1;
for (var i=0; i<9; i++) {
var rec = _.findWhere(styles, {headerLevel: i+1});
if (rec) {
var headerLevel = rec.headerLevel,
level = rec.value;
if (headerLevel == level) {
if (empty_index<1) {
if (new_start<1)
new_start = level;
new_end = level;
} else {
new_start = new_end = -1;
disable_outlines = true;
break;
}
} else if (!rec.checked) {
(new_start>0) && (empty_index = i+1);
} else {
new_start = new_end = -1;
disable_outlines = true;
break;
}
}
}
this.spnLevels.setValue(new_end>0 ? new_end : '', true);
this.spnLevels.setDisabled(disable_outlines || new_start>1 );
}
this.stylesLevels.reset(styles);
if (this.spnLevels.isDisabled()) {
this.radioStyles.setValue(true);
this.stylesList.scroller.update({alwaysVisibleY: true});
var rec = this.stylesLevels.findWhere({checked: true});
if (rec)
this.stylesList.scrollToRecord(rec);
}
// Show Pages is always true when window is opened
this._originalProps = (props) ? props : new Asc.CTableOfContentsPr();
if (!props) {
this._originalProps.put_OutlineRange(this.startLevel, this.endLevel);
this._originalProps.put_Hyperlink(this.chLinks.getValue() == 'checked');
}
this._originalProps.put_ShowPageNumbers(this.chPages.getValue() == 'checked');
if (this.chPages.getValue() == 'checked') {
this._originalProps.put_RightAlignTab(this.chAlign.getValue() == 'checked');
this._originalProps.put_TabLeader(this.cmbLeader.getValue());
}
// this.api.SetDrawImagePlaceContents('tableofcontents-img', this._originalProps);
this._noApply = false;
},
synchronizeLevelsFromOutline: function() {
var start = 1, end = this.spnLevels.getNumberValue();
this.stylesLevels.each(function (style) {
var header = style.get('headerLevel');
if (header>=start && header<=end) {
style.set('checked', true);
style.set('value', header);
} else {
style.set('checked', false);
style.set('value', '');
}
});
this._needUpdateStyles = false;
},
synchronizeLevelsFromStyles: function() {
var new_start = -1, new_end = -1, empty_index = -1,
disable_outlines = false;
for (var i=0; i<9; i++) {
var rec = this.stylesLevels.findWhere({headerLevel: i+1});
if (rec) {
var headerLevel = rec.get('headerLevel'),
level = rec.get('value');
if (headerLevel == level) {
if (empty_index<1) {
if (new_start<1)
new_start = level;
new_end = level;
} else {
new_start = new_end = -1;
disable_outlines = true;
break;
}
} else if (!rec.get('checked')) {
(new_start>0) && (empty_index = i+1);
} else {
new_start = new_end = -1;
disable_outlines = true;
break;
}
}
}
if (new_start<0 && new_end<0) {
var rec = this.stylesLevels.findWhere({checked: true});
if (rec) { // has checked style
disable_outlines = true;
} else { // all levels are empty
new_start = 1;
new_end = 9;
}
}
this.startLevel = new_start;
this.endLevel = new_end;
this.spnLevels.setValue(new_end>0 ? new_end : '', true);
this.spnLevels.setDisabled(disable_outlines || new_start>1 );
this._needUpdateOutlineLevels = false;
},
getSettings: function () {
var props = new Asc.CTableOfContentsPr();
props.put_Hyperlink(this.chLinks.getValue() == 'checked');
props.put_ShowPageNumbers(this.chPages.getValue() == 'checked');
if (this.chPages.getValue() == 'checked') {
props.put_RightAlignTab(this.chAlign.getValue() == 'checked');
props.put_TabLeader(this.cmbLeader.getValue());
}
props.put_StylesType(this.cmbStyles.getValue());
props.clear_Styles();
if (this._needUpdateOutlineLevels) {
this.synchronizeLevelsFromStyles();
}
if (!this._needUpdateStyles) // if this._needUpdateStyles==true - fill only OutlineRange
this.stylesLevels.each(function (style) {
if (style.get('checked'))
props.add_Style(style.get('name'), style.get('value'));
});
props.put_OutlineRange(this.startLevel, this.endLevel);
return props;
},
addEvents: function(listView, itemView, record) {
var input = itemView.$el.find('input'),
me = this;
input.on('keypress', function(e) {
var charCode = String.fromCharCode(e.which);
if(!/[1-9]/.test(charCode) && !e.ctrlKey && e.keyCode !== Common.UI.Keys.DELETE && e.keyCode !== Common.UI.Keys.BACKSPACE &&
e.keyCode !== Common.UI.Keys.LEFT && e.keyCode !== Common.UI.Keys.RIGHT && e.keyCode !== Common.UI.Keys.HOME &&
e.keyCode !== Common.UI.Keys.END && e.keyCode !== Common.UI.Keys.ESC && e.keyCode !== Common.UI.Keys.INSERT &&
e.keyCode !== Common.UI.Keys.TAB || input.val().length>1){
e.preventDefault();
e.stopPropagation();
}
});
input.on('input', function(e) {
// console.log(input.val());
var isEmpty = _.isEmpty(input.val());
if (record.get('checked') !== !isEmpty) {
record.set('checked', !isEmpty);
}
record.set('value', (isEmpty) ? '' : parseInt(input.val()));
me._needUpdateOutlineLevels = true;
if (me.api && !me._noApply) {
var properties = (me._originalProps) ? me._originalProps : new Asc.CTableOfContentsPr();
properties.clear_Styles();
me.stylesLevels.each(function (style) {
if (style.get('checked'))
properties.add_Style(style.get('name'), style.get('value'));
});
if (properties.get_StylesCount()>0)
properties.put_OutlineRange(-1, -1);
else
properties.put_OutlineRange(1, 9);
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
}
});
},
onItemChange: function(listView, itemView, record) {
this.addEvents(listView, itemView, record);
setTimeout(function(){
itemView.$el.find('input').focus();
}, 10);
},
textTitle: 'Table of Contents',
textLeader: 'Leader',
textBuildTable: 'Build table of contents from',
textLevels: 'Levels',
textStyles: 'Styles',
strShowPages: 'Show page numbers',
strAlign: 'Right align page numbers',
strLinks: 'Format Table of Contents as links',
textNone: 'None',
textRadioLevels: 'Outline levels',
textRadioStyles: 'Selected styles',
textStyle: 'Style',
textLevel: 'Level',
cancelButtonText: 'Cancel',
okButtonText : 'Ok',
txtCurrent: 'Current',
txtSimple: 'Simple',
txtStandard: 'Standard',
txtModern: 'Modern',
txtClassic: 'Classic'
}, DE.Views.TableOfContentsSettings || {}))
});

View file

@ -243,8 +243,8 @@ define([
if (me.api) { if (me.api) {
me.api.SplitCell(value.columns, value.rows); me.api.SplitCell(value.columns, value.rows);
} }
me.fireEvent('editcomplete', me);
} }
me.fireEvent('editcomplete', me);
} }
})).show(); })).show();
}, },

View file

@ -672,7 +672,8 @@ define([
// border colors // border colors
var stroke = shapeprops.asc_getLine(), var stroke = shapeprops.asc_getLine(),
strokeType = (stroke) ? stroke.get_type() : null, strokeType = (stroke) ? stroke.get_type() : null,
borderType; borderType,
update = (this._state.StrokeColor == 'transparent' && this.BorderColor.Color !== 'transparent'); // border color was changed for shape without line and then shape was reselected (or apply other settings)
if (stroke) { if (stroke) {
if ( strokeType == Asc.c_oAscStrokeType.STROKE_COLOR ) { if ( strokeType == Asc.c_oAscStrokeType.STROKE_COLOR ) {
@ -697,7 +698,7 @@ define([
type1 = typeof(this.BorderColor.Color); type1 = typeof(this.BorderColor.Color);
type2 = typeof(this._state.StrokeColor); type2 = typeof(this._state.StrokeColor);
if ( (type1 !== type2) || (type1=='object' && if ( update || (type1 !== type2) || (type1=='object' &&
(this.BorderColor.Color.effectValue!==this._state.StrokeColor.effectValue || this._state.StrokeColor.color.indexOf(this.BorderColor.Color.color)<0)) || (this.BorderColor.Color.effectValue!==this._state.StrokeColor.effectValue || this._state.StrokeColor.color.indexOf(this.BorderColor.Color.color)<0)) ||
(type1!='object' && (this._state.StrokeColor.indexOf(this.BorderColor.Color)<0 || typeof(this.btnBorderColor.color)=='object'))) { (type1!='object' && (this._state.StrokeColor.indexOf(this.BorderColor.Color)<0 || typeof(this.btnBorderColor.color)=='object'))) {

View file

@ -83,7 +83,8 @@ define([
{ caption: me.textTabFile, action: 'file', extcls: 'canedit'}, { caption: me.textTabFile, action: 'file', extcls: 'canedit'},
{ caption: me.textTabHome, action: 'home', extcls: 'canedit'}, { caption: me.textTabHome, action: 'home', extcls: 'canedit'},
{ caption: me.textTabInsert, action: 'ins', extcls: 'canedit'}, { caption: me.textTabInsert, action: 'ins', extcls: 'canedit'},
{ caption: me.textTabLayout, action: 'layout', extcls: 'canedit'} { caption: me.textTabLayout, action: 'layout', extcls: 'canedit'},
{ caption: me.textTabLinks, action: 'links', extcls: 'canedit'}
]} ]}
); );
@ -520,14 +521,6 @@ define([
}); });
this.paragraphControls.push(this.btnInsertTextArt); this.paragraphControls.push(this.btnInsertTextArt);
this.btnInsertHyperlink = new Common.UI.Button({
id: 'tlbtn-insertlink',
cls: 'btn-toolbar x-huge icon-top',
caption: me.capBtnInsLink,
iconCls: 'btn-inserthyperlink'
});
this.paragraphControls.push(this.btnInsertHyperlink);
this.btnEditHeader = new Common.UI.Button({ this.btnEditHeader = new Common.UI.Button({
id: 'id-toolbar-btn-editheader', id: 'id-toolbar-btn-editheader',
cls: 'btn-toolbar x-huge icon-top', cls: 'btn-toolbar x-huge icon-top',
@ -927,8 +920,8 @@ define([
iconCls: 'btn-colorschemas', iconCls: 'btn-colorschemas',
menu: new Common.UI.Menu({ menu: new Common.UI.Menu({
items: [], items: [],
maxHeight: 600, maxHeight: 560,
restoreHeight: 600 restoreHeight: 560
}).on('show:before', function (mnu) { }).on('show:before', function (mnu) {
if (!this.scroller) { if (!this.scroller) {
this.scroller = new Common.UI.Scroller({ this.scroller = new Common.UI.Scroller({
@ -938,37 +931,10 @@ define([
alwaysVisibleY: true alwaysVisibleY: true
}); });
} }
}).on('show:after', function (btn, e) {
var mnu = $(this.el).find('.dropdown-menu '),
docH = $(document).height(),
menuH = mnu.outerHeight(),
top = parseInt(mnu.css('top'));
if (menuH > docH) {
mnu.css('max-height', (docH - parseInt(mnu.css('padding-top')) - parseInt(mnu.css('padding-bottom')) - 5) + 'px');
this.scroller.update({minScrollbarLength: 40});
} else if (mnu.height() < this.options.restoreHeight) {
mnu.css('max-height', (Math.min(docH - parseInt(mnu.css('padding-top')) - parseInt(mnu.css('padding-bottom')) - 5, this.options.restoreHeight)) + 'px');
menuH = mnu.outerHeight();
if (top + menuH > docH) {
mnu.css('top', 0);
}
this.scroller.update({minScrollbarLength: 40});
}
}) })
}); });
this.toolbarControls.push(this.btnColorSchemas); this.toolbarControls.push(this.btnColorSchemas);
this.btnNotes = new Common.UI.Button({
id: 'id-toolbar-btn-notes',
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-notes',
caption: me.capBtnInsFootnote,
split: true,
menu: true
});
this.paragraphControls.push(this.btnNotes);
this.btnMailRecepients = new Common.UI.Button({ this.btnMailRecepients = new Common.UI.Button({
id: 'id-toolbar-btn-mailrecepients', id: 'id-toolbar-btn-mailrecepients',
cls: 'btn-toolbar', cls: 'btn-toolbar',
@ -1223,17 +1189,6 @@ define([
this.needShowSynchTip = false; this.needShowSynchTip = false;
/** coauthoring end **/ /** coauthoring end **/
me.$tabs.parent().on('click', '.ribtab', function (e) {
var tab = $(e.target).data('tab');
if (tab == 'file') {
me.fireEvent('file:open');
} else
if ( me.isTabActive('file') )
me.fireEvent('file:close');
me.setTab(tab);
});
Common.NotificationCenter.on({ Common.NotificationCenter.on({
'window:resize': function() { 'window:resize': function() {
Common.UI.Mixtbar.prototype.onResize.apply(me, arguments); Common.UI.Mixtbar.prototype.onResize.apply(me, arguments);
@ -1259,6 +1214,21 @@ define([
return this; return this;
}, },
onTabClick: function (e) {
var tab = $(e.target).data('tab'),
me = this;
if ( !me.isTabActive(tab) ) {
if ( tab == 'file' ) {
me.fireEvent('file:open');
} else
if ( me.isTabActive('file') )
me.fireEvent('file:close');
}
Common.UI.Mixtbar.prototype.onTabClick.apply(me, arguments);
},
rendererComponents: function (html) { rendererComponents: function (html) {
var $host = $(html); var $host = $(html);
var _injectComponent = function (id, cmp) { var _injectComponent = function (id, cmp) {
@ -1306,7 +1276,6 @@ define([
_injectComponent('#slot-btn-dropcap', this.btnDropCap); _injectComponent('#slot-btn-dropcap', this.btnDropCap);
_injectComponent('#slot-btn-controls', this.btnContentControls); _injectComponent('#slot-btn-controls', this.btnContentControls);
_injectComponent('#slot-btn-columns', this.btnColumns); _injectComponent('#slot-btn-columns', this.btnColumns);
_injectComponent('#slot-btn-inshyperlink', this.btnInsertHyperlink);
_injectComponent('#slot-btn-editheader', this.btnEditHeader); _injectComponent('#slot-btn-editheader', this.btnEditHeader);
_injectComponent('#slot-btn-insshape', this.btnInsertShape); _injectComponent('#slot-btn-insshape', this.btnInsertShape);
_injectComponent('#slot-btn-insequation', this.btnInsertEquation); _injectComponent('#slot-btn-insequation', this.btnInsertEquation);
@ -1322,7 +1291,6 @@ define([
_injectComponent('#slot-field-styles', this.listStyles); _injectComponent('#slot-field-styles', this.listStyles);
_injectComponent('#slot-btn-halign', this.btnHorizontalAlign); _injectComponent('#slot-btn-halign', this.btnHorizontalAlign);
_injectComponent('#slot-btn-mailrecepients', this.btnMailRecepients); _injectComponent('#slot-btn-mailrecepients', this.btnMailRecepients);
_injectComponent('#slot-btn-notes', this.btnNotes);
_injectComponent('#slot-img-align', this.btnImgAlign); _injectComponent('#slot-img-align', this.btnImgAlign);
_injectComponent('#slot-img-group', this.btnImgGroup); _injectComponent('#slot-img-group', this.btnImgGroup);
_injectComponent('#slot-img-movefrwd', this.btnImgForward); _injectComponent('#slot-img-movefrwd', this.btnImgForward);
@ -1557,7 +1525,6 @@ define([
this.btnInsertChart.updateHint(this.tipInsertChart); this.btnInsertChart.updateHint(this.tipInsertChart);
this.btnInsertText.updateHint(this.tipInsertText); this.btnInsertText.updateHint(this.tipInsertText);
this.btnInsertTextArt.updateHint(this.tipInsertTextArt); this.btnInsertTextArt.updateHint(this.tipInsertTextArt);
this.btnInsertHyperlink.updateHint(this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
this.btnEditHeader.updateHint(this.tipEditHeader); this.btnEditHeader.updateHint(this.tipEditHeader);
this.btnInsertShape.updateHint(this.tipInsertShape); this.btnInsertShape.updateHint(this.tipInsertShape);
this.btnInsertEquation.updateHint(this.tipInsertEquation); this.btnInsertEquation.updateHint(this.tipInsertEquation);
@ -1573,7 +1540,6 @@ define([
this.btnMailRecepients.updateHint(this.tipMailRecepients); this.btnMailRecepients.updateHint(this.tipMailRecepients);
this.btnHide.updateHint(this.tipViewSettings); this.btnHide.updateHint(this.tipViewSettings);
this.btnAdvSettings.updateHint(this.tipAdvSettings); this.btnAdvSettings.updateHint(this.tipAdvSettings);
this.btnNotes.updateHint(this.tipNotes);
// set menus // set menus
@ -1698,40 +1664,6 @@ define([
cls: 'btn-toolbar' cls: 'btn-toolbar'
}); });
this.btnNotes.setMenu(
new Common.UI.Menu({
items: [
{caption: this.mniInsFootnote, value: 'ins_footnote'},
{caption: '--'},
this.mnuGotoFootnote = new Common.UI.MenuItem({
template: _.template([
'<div id="id-toolbar-menu-goto-footnote" class="menu-zoom" style="height: 25px;" ',
'<% if(!_.isUndefined(options.stopPropagation)) { %>',
'data-stopPropagation="true"',
'<% } %>', '>',
'<label class="title">' + this.textGotoFootnote + '</label>',
'<button id="id-menu-goto-footnote-next" type="button" style="float:right; margin: 2px 5px 0 0;" class="btn small btn-toolbar"><i class="icon mmerge-next">&nbsp;</i></button>',
'<button id="id-menu-goto-footnote-prev" type="button" style="float:right; margin-top: 2px;" class="btn small btn-toolbar"><i class="icon mmerge-prev">&nbsp;</i></button>',
'</div>'
].join('')),
stopPropagation: true
}),
{caption: '--'},
{caption: this.mniDelFootnote, value: 'delele'},
{caption: this.mniNoteSettings, value: 'settings'}
]
})
);
this.mnuGotoFootPrev = new Common.UI.Button({
el: $('#id-menu-goto-footnote-prev'),
cls: 'btn-toolbar'
});
this.mnuGotoFootNext = new Common.UI.Button({
el: $('#id-menu-goto-footnote-next'),
cls: 'btn-toolbar'
});
// set dataviews // set dataviews
var _conf = this.mnuMarkersPicker.conf; var _conf = this.mnuMarkersPicker.conf;
@ -2153,8 +2085,8 @@ define([
if (this.mnuColorSchema == null) { if (this.mnuColorSchema == null) {
this.mnuColorSchema = new Common.UI.Menu({ this.mnuColorSchema = new Common.UI.Menu({
maxHeight: 600, maxHeight: 560,
restoreHeight: 600 restoreHeight: 560
}).on('show:before', function (mnu) { }).on('show:before', function (mnu) {
this.scroller = new Common.UI.Scroller({ this.scroller = new Common.UI.Scroller({
el: $(this.el).find('.dropdown-menu '), el: $(this.el).find('.dropdown-menu '),
@ -2382,7 +2314,6 @@ define([
tipEditHeader: 'Edit Document Header or Footer', tipEditHeader: 'Edit Document Header or Footer',
mniEditHeader: 'Edit Document Header', mniEditHeader: 'Edit Document Header',
mniEditFooter: 'Edit Document Footer', mniEditFooter: 'Edit Document Footer',
tipInsertHyperlink: 'Add Hyperlink',
mniHiddenChars: 'Nonprinting Characters', mniHiddenChars: 'Nonprinting Characters',
mniHiddenBorders: 'Hidden Table Borders', mniHiddenBorders: 'Hidden Table Borders',
tipSynchronize: 'The document has been changed by another user. Please click to save your changes and reload the updates.', tipSynchronize: 'The document has been changed by another user. Please click to save your changes and reload the updates.',
@ -2473,17 +2404,11 @@ define([
textLandscape: 'Landscape', textLandscape: 'Landscape',
textInsertPageCount: 'Insert number of pages', textInsertPageCount: 'Insert number of pages',
textCharts: 'Charts', textCharts: 'Charts',
tipNotes: 'Footnotes',
mniInsFootnote: 'Insert Footnote',
mniDelFootnote: 'Delete All Footnotes',
mniNoteSettings: 'Notes Settings',
textGotoFootnote: 'Go to Footnotes',
tipChangeChart: 'Change Chart Type', tipChangeChart: 'Change Chart Type',
capBtnInsPagebreak: 'Page Break', capBtnInsPagebreak: 'Page Break',
capBtnInsImage: 'Picture', capBtnInsImage: 'Picture',
capBtnInsTable: 'Table', capBtnInsTable: 'Table',
capBtnInsChart: 'Chart', capBtnInsChart: 'Chart',
capBtnInsLink: 'Hyperlink',
textTabFile: 'File', textTabFile: 'File',
textTabHome: 'Home', textTabHome: 'Home',
textTabInsert: 'Insert', textTabInsert: 'Insert',
@ -2493,7 +2418,6 @@ define([
capBtnInsTextbox: 'Text Box', capBtnInsTextbox: 'Text Box',
capBtnInsTextart: 'Text Art', capBtnInsTextart: 'Text Art',
capBtnInsDropcap: 'Drop Cap', capBtnInsDropcap: 'Drop Cap',
capBtnInsFootnote: 'Footnotes',
capBtnInsEquation: 'Equation', capBtnInsEquation: 'Equation',
capBtnInsHeader: 'Headers/Footers', capBtnInsHeader: 'Headers/Footers',
capBtnColumns: 'Columns', capBtnColumns: 'Columns',
@ -2513,7 +2437,9 @@ define([
capBtnComment: 'Comment', capBtnComment: 'Comment',
textColumnsCustom: 'Custom Columns', textColumnsCustom: 'Custom Columns',
textSurface: 'Surface', textSurface: 'Surface',
textTabCollaboration: 'Collaboration',
textTabProtect: 'Protection', textTabProtect: 'Protection',
textTabLinks: 'Links',
capBtnInsControls: 'Content Control', capBtnInsControls: 'Content Control',
textRichControl: 'Rich text', textRichControl: 'Rich text',
textPlainControl: 'Plain text', textPlainControl: 'Plain text',

View file

@ -140,6 +140,8 @@ require([
'DocumentHolder', 'DocumentHolder',
'Toolbar', 'Toolbar',
'Statusbar', 'Statusbar',
'Links',
'Navigation',
'RightMenu', 'RightMenu',
'LeftMenu', 'LeftMenu',
'Main', 'Main',
@ -163,6 +165,8 @@ require([
'documenteditor/main/app/controller/Viewport', 'documenteditor/main/app/controller/Viewport',
'documenteditor/main/app/controller/DocumentHolder', 'documenteditor/main/app/controller/DocumentHolder',
'documenteditor/main/app/controller/Toolbar', 'documenteditor/main/app/controller/Toolbar',
'documenteditor/main/app/controller/Links',
'documenteditor/main/app/controller/Navigation',
'documenteditor/main/app/controller/Statusbar', 'documenteditor/main/app/controller/Statusbar',
'documenteditor/main/app/controller/RightMenu', 'documenteditor/main/app/controller/RightMenu',
'documenteditor/main/app/controller/LeftMenu', 'documenteditor/main/app/controller/LeftMenu',

View file

@ -219,7 +219,7 @@
} }
var params = getUrlParams(), var params = getUrlParams(),
lang = (params["lang"] || 'en').split("-")[0], lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '', customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
margin = (customer !== '') ? 50 : 20, margin = (customer !== '') ? 50 : 20,
loading = 'Loading...', loading = 'Loading...',

View file

@ -218,7 +218,7 @@
} }
var params = getUrlParams(), var params = getUrlParams(),
lang = (params["lang"] || 'en').split("-")[0], lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '', customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
margin = (customer !== '') ? 50 : 20, margin = (customer !== '') ? 50 : 20,
loading = 'Loading...', loading = 'Loading...',
@ -282,7 +282,7 @@
}; };
</script> </script>
<inline src="../../common/main/resources/img/header/buttons.svg" /> <inline src="resources/img/header/buttons.svg" />
<div id="viewport"></div> <div id="viewport"></div>
<script data-main="app" src="../../../vendor/requirejs/require.js"></script> <script data-main="app" src="../../../vendor/requirejs/require.js"></script>

View file

@ -240,10 +240,10 @@
"DE.Controllers.Main.applyChangesTextText": "Die Änderungen werden geladen...", "DE.Controllers.Main.applyChangesTextText": "Die Änderungen werden geladen...",
"DE.Controllers.Main.applyChangesTitleText": "Laden von Änderungen", "DE.Controllers.Main.applyChangesTitleText": "Laden von Änderungen",
"DE.Controllers.Main.convertationTimeoutText": "Timeout für die Konvertierung wurde überschritten.", "DE.Controllers.Main.convertationTimeoutText": "Timeout für die Konvertierung wurde überschritten.",
"DE.Controllers.Main.criticalErrorExtText": "Klicken Sie auf \"OK\", um um in die Dokumentenliste zu gelangen.", "DE.Controllers.Main.criticalErrorExtText": "Klicken Sie auf \"OK\", um in die Dokumentenliste zu gelangen.",
"DE.Controllers.Main.criticalErrorTitle": "Fehler", "DE.Controllers.Main.criticalErrorTitle": "Fehler",
"DE.Controllers.Main.defaultTitleText": "ONLYOFFICE Document Editor", "DE.Controllers.Main.defaultTitleText": "ONLYOFFICE Document Editor",
"DE.Controllers.Main.downloadErrorText": "Herinterladen ist fehlgeschlagen.", "DE.Controllers.Main.downloadErrorText": "Herunterladen ist fehlgeschlagen.",
"DE.Controllers.Main.downloadMergeText": "Wird heruntergeladen...", "DE.Controllers.Main.downloadMergeText": "Wird heruntergeladen...",
"DE.Controllers.Main.downloadMergeTitle": "Wird heruntergeladen\t", "DE.Controllers.Main.downloadMergeTitle": "Wird heruntergeladen\t",
"DE.Controllers.Main.downloadTextText": "Dokument wird heruntergeladen...", "DE.Controllers.Main.downloadTextText": "Dokument wird heruntergeladen...",

View file

@ -228,6 +228,9 @@
"Common.Views.ReviewChanges.txtMarkup": "All changes (Editing)", "Common.Views.ReviewChanges.txtMarkup": "All changes (Editing)",
"Common.Views.ReviewChanges.txtNext": "Next", "Common.Views.ReviewChanges.txtNext": "Next",
"Common.Views.ReviewChanges.txtOriginal": "All changes rejected (Preview)", "Common.Views.ReviewChanges.txtOriginal": "All changes rejected (Preview)",
"Common.Views.ReviewChanges.txtMarkupCap": "Markup",
"Common.Views.ReviewChanges.txtFinalCap": "Final",
"Common.Views.ReviewChanges.txtOriginalCap": "Original",
"Common.Views.ReviewChanges.txtPrev": "Previous", "Common.Views.ReviewChanges.txtPrev": "Previous",
"Common.Views.ReviewChanges.txtReject": "Reject", "Common.Views.ReviewChanges.txtReject": "Reject",
"Common.Views.ReviewChanges.txtRejectAll": "Reject All Changes", "Common.Views.ReviewChanges.txtRejectAll": "Reject All Changes",
@ -236,6 +239,16 @@
"Common.Views.ReviewChanges.txtSpelling": "Spell Checking", "Common.Views.ReviewChanges.txtSpelling": "Spell Checking",
"Common.Views.ReviewChanges.txtTurnon": "Track Changes", "Common.Views.ReviewChanges.txtTurnon": "Track Changes",
"Common.Views.ReviewChanges.txtView": "Display Mode", "Common.Views.ReviewChanges.txtView": "Display Mode",
"Common.Views.ReviewChanges.txtSharing": "Sharing",
"Common.Views.ReviewChanges.tipSharing": "Manage document access rights",
"Common.Views.ReviewChanges.txtCoAuthMode": "Co-editing Mode",
"Common.Views.ReviewChanges.tipCoAuthMode": "Set co-editing mode",
"Common.Views.ReviewChanges.strFast": "Fast",
"Common.Views.ReviewChanges.strStrict": "Strict",
"Common.Views.ReviewChanges.strFastDesc": "Real-time co-editing. All changes are saved automatically.",
"Common.Views.ReviewChanges.strStrictDesc": "Use the 'Save' button to sync the changes you and others make.",
"Common.Views.ReviewChanges.txtHistory": "Version History",
"Common.Views.ReviewChanges.tipHistory": "Show version history",
"Common.Views.ReviewChangesDialog.textTitle": "Review Changes", "Common.Views.ReviewChangesDialog.textTitle": "Review Changes",
"Common.Views.ReviewChangesDialog.txtAccept": "Accept", "Common.Views.ReviewChangesDialog.txtAccept": "Accept",
"Common.Views.ReviewChangesDialog.txtAcceptAll": "Accept All Changes", "Common.Views.ReviewChangesDialog.txtAcceptAll": "Accept All Changes",
@ -368,6 +381,7 @@
"DE.Controllers.Main.txtButtons": "Buttons", "DE.Controllers.Main.txtButtons": "Buttons",
"DE.Controllers.Main.txtCallouts": "Callouts", "DE.Controllers.Main.txtCallouts": "Callouts",
"DE.Controllers.Main.txtCharts": "Charts", "DE.Controllers.Main.txtCharts": "Charts",
"DE.Controllers.Main.txtCurrentDocument": "Current Document",
"DE.Controllers.Main.txtDiagramTitle": "Chart Title", "DE.Controllers.Main.txtDiagramTitle": "Chart Title",
"DE.Controllers.Main.txtEditingMode": "Set editing mode...", "DE.Controllers.Main.txtEditingMode": "Set editing mode...",
"DE.Controllers.Main.txtErrorLoadHistory": "History loading failed", "DE.Controllers.Main.txtErrorLoadHistory": "History loading failed",
@ -417,12 +431,14 @@
"DE.Controllers.Main.warnNoLicense": "This version of ONLYOFFICE Editors has certain limitations for concurrent connections to the document server.<br>If you need more please consider upgrading your current license or purchasing a commercial one.", "DE.Controllers.Main.warnNoLicense": "This version of ONLYOFFICE Editors has certain limitations for concurrent connections to the document server.<br>If you need more please consider upgrading your current license or purchasing a commercial one.",
"DE.Controllers.Main.warnNoLicenseUsers": "This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.", "DE.Controllers.Main.warnNoLicenseUsers": "This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.",
"DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", "DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.",
"DE.Controllers.Main.txtNoTableOfContents": "No table of contents entries found.",
"DE.Controllers.Main.errorForceSave": "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later.",
"DE.Controllers.Statusbar.textHasChanges": "New changes have been tracked", "DE.Controllers.Statusbar.textHasChanges": "New changes have been tracked",
"DE.Controllers.Statusbar.textTrackChanges": "The document is opened with the Track Changes mode enabled", "DE.Controllers.Statusbar.textTrackChanges": "The document is opened with the Track Changes mode enabled",
"DE.Controllers.Statusbar.tipReview": "Track changes", "DE.Controllers.Statusbar.tipReview": "Track changes",
"DE.Controllers.Statusbar.zoomText": "Zoom {0}%", "DE.Controllers.Statusbar.zoomText": "Zoom {0}%",
"DE.Controllers.Toolbar.confirmAddFontName": "The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the system fonts, the saved font will be used when it is available.<br>Do you want to continue?", "DE.Controllers.Toolbar.confirmAddFontName": "The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the system fonts, the saved font will be used when it is available.<br>Do you want to continue?",
"DE.Controllers.Toolbar.confirmDeleteFootnotes": "Do you want to delete all footnotes?", "del_DE.Controllers.Toolbar.confirmDeleteFootnotes": "Do you want to delete all footnotes?",
"DE.Controllers.Toolbar.notcriticalErrorTitle": "Warning", "DE.Controllers.Toolbar.notcriticalErrorTitle": "Warning",
"DE.Controllers.Toolbar.textAccent": "Accents", "DE.Controllers.Toolbar.textAccent": "Accents",
"DE.Controllers.Toolbar.textBracket": "Brackets", "DE.Controllers.Toolbar.textBracket": "Brackets",
@ -783,14 +799,14 @@
"DE.Views.ChartSettings.txtTight": "Tight", "DE.Views.ChartSettings.txtTight": "Tight",
"DE.Views.ChartSettings.txtTitle": "Chart", "DE.Views.ChartSettings.txtTitle": "Chart",
"DE.Views.ChartSettings.txtTopAndBottom": "Top and bottom", "DE.Views.ChartSettings.txtTopAndBottom": "Top and bottom",
"DE.Views.ControlSettingsDialog.textTitle": "Content Control Settings",
"DE.Views.ControlSettingsDialog.textName": "Title",
"DE.Views.ControlSettingsDialog.textTag": "Tag",
"DE.Views.ControlSettingsDialog.txtLockDelete": "Content control cannot be deleted",
"DE.Views.ControlSettingsDialog.txtLockEdit": "Contents cannot be edited",
"DE.Views.ControlSettingsDialog.textLock": "Locking",
"DE.Views.ControlSettingsDialog.cancelButtonText": "Cancel", "DE.Views.ControlSettingsDialog.cancelButtonText": "Cancel",
"DE.Views.ControlSettingsDialog.okButtonText": "Ok", "DE.Views.ControlSettingsDialog.okButtonText": "Ok",
"DE.Views.ControlSettingsDialog.textLock": "Locking",
"DE.Views.ControlSettingsDialog.textName": "Title",
"DE.Views.ControlSettingsDialog.textTag": "Tag",
"DE.Views.ControlSettingsDialog.textTitle": "Content Control Settings",
"DE.Views.ControlSettingsDialog.txtLockDelete": "Content control cannot be deleted",
"DE.Views.ControlSettingsDialog.txtLockEdit": "Contents cannot be edited",
"DE.Views.CustomColumnsDialog.cancelButtonText": "Cancel", "DE.Views.CustomColumnsDialog.cancelButtonText": "Cancel",
"DE.Views.CustomColumnsDialog.okButtonText": "Ok", "DE.Views.CustomColumnsDialog.okButtonText": "Ok",
"DE.Views.CustomColumnsDialog.textColumns": "Number of columns", "DE.Views.CustomColumnsDialog.textColumns": "Number of columns",
@ -871,12 +887,17 @@
"DE.Views.DocumentHolder.textArrangeBackward": "Send Backward", "DE.Views.DocumentHolder.textArrangeBackward": "Send Backward",
"DE.Views.DocumentHolder.textArrangeForward": "Bring Forward", "DE.Views.DocumentHolder.textArrangeForward": "Bring Forward",
"DE.Views.DocumentHolder.textArrangeFront": "Bring to Foreground", "DE.Views.DocumentHolder.textArrangeFront": "Bring to Foreground",
"DE.Views.DocumentHolder.textContentControls": "Content control",
"DE.Views.DocumentHolder.textCopy": "Copy", "DE.Views.DocumentHolder.textCopy": "Copy",
"DE.Views.DocumentHolder.textCut": "Cut", "DE.Views.DocumentHolder.textCut": "Cut",
"DE.Views.DocumentHolder.textEditControls": "Content control settings",
"DE.Views.DocumentHolder.textEditWrapBoundary": "Edit Wrap Boundary", "DE.Views.DocumentHolder.textEditWrapBoundary": "Edit Wrap Boundary",
"DE.Views.DocumentHolder.textNextPage": "Next Page", "DE.Views.DocumentHolder.textNextPage": "Next Page",
"DE.Views.DocumentHolder.textPaste": "Paste", "DE.Views.DocumentHolder.textPaste": "Paste",
"DE.Views.DocumentHolder.textPrevPage": "Previous Page", "DE.Views.DocumentHolder.textPrevPage": "Previous Page",
"DE.Views.DocumentHolder.textRemove": "Remove",
"DE.Views.DocumentHolder.textRemoveControl": "Remove content control",
"DE.Views.DocumentHolder.textSettings": "Settings",
"DE.Views.DocumentHolder.textShapeAlignBottom": "Align Bottom", "DE.Views.DocumentHolder.textShapeAlignBottom": "Align Bottom",
"DE.Views.DocumentHolder.textShapeAlignCenter": "Align Center", "DE.Views.DocumentHolder.textShapeAlignCenter": "Align Center",
"DE.Views.DocumentHolder.textShapeAlignLeft": "Align Left", "DE.Views.DocumentHolder.textShapeAlignLeft": "Align Left",
@ -967,13 +988,10 @@
"DE.Views.DocumentHolder.txtTopAndBottom": "Top and bottom", "DE.Views.DocumentHolder.txtTopAndBottom": "Top and bottom",
"DE.Views.DocumentHolder.txtUnderbar": "Bar under text", "DE.Views.DocumentHolder.txtUnderbar": "Bar under text",
"DE.Views.DocumentHolder.txtUngroup": "Ungroup", "DE.Views.DocumentHolder.txtUngroup": "Ungroup",
"DE.Views.DocumentHolder.txtOverwriteCells": "Overwrite cells",
"DE.Views.DocumentHolder.textNest": "Nest table",
"DE.Views.DocumentHolder.updateStyleText": "Update %1 style", "DE.Views.DocumentHolder.updateStyleText": "Update %1 style",
"DE.Views.DocumentHolder.vertAlignText": "Vertical Alignment", "DE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
"DE.Views.DocumentHolder.textContentControls": "Content control",
"DE.Views.DocumentHolder.textRemove": "Remove",
"DE.Views.DocumentHolder.textSettings": "Settings",
"DE.Views.DocumentHolder.textRemoveControl": "Remove content control",
"DE.Views.DocumentHolder.textEditControls": "Content control settings",
"DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel", "DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel",
"DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok", "DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok",
"DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill", "DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill",
@ -1058,13 +1076,8 @@
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persons who have rights", "DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persons who have rights",
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Warning", "DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Warning",
"DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "With password", "DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "With password",
"del_DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Invalid signatures",
"del_DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Add invisible digital signature",
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document", "DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document",
"del_DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Requested signatures",
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "With signature", "DE.Views.FileMenuPanels.ProtectDoc.strSignature": "With signature",
"del_DE.Views.FileMenuPanels.ProtectDoc.strValid": "Valid signatures",
"del_DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Add visible signature",
"DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Edit document", "DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Edit document",
"DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "Editing will remove the signatures from the document.<br>Are you sure you want to continue?", "DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "Editing will remove the signatures from the document.<br>Are you sure you want to continue?",
"DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "This document has been protected by password", "DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "This document has been protected by password",
@ -1129,6 +1142,12 @@
"DE.Views.HeaderFooterSettings.textTopCenter": "Top center", "DE.Views.HeaderFooterSettings.textTopCenter": "Top center",
"DE.Views.HeaderFooterSettings.textTopLeft": "Top left", "DE.Views.HeaderFooterSettings.textTopLeft": "Top left",
"DE.Views.HeaderFooterSettings.textTopRight": "Top right", "DE.Views.HeaderFooterSettings.textTopRight": "Top right",
"DE.Views.HeaderFooterSettings.textInsertCurrent": "Insert to Current Position",
"DE.Views.HeaderFooterSettings.textTopPage": "Top of Page",
"DE.Views.HeaderFooterSettings.textBottomPage": "Bottom of Page",
"DE.Views.HeaderFooterSettings.textPageNumbering": "Page Numbering",
"DE.Views.HeaderFooterSettings.textPrev": "Continue from previous section",
"DE.Views.HeaderFooterSettings.textFrom": "Start at",
"DE.Views.HyperlinkSettingsDialog.cancelButtonText": "Cancel", "DE.Views.HyperlinkSettingsDialog.cancelButtonText": "Cancel",
"DE.Views.HyperlinkSettingsDialog.okButtonText": "OK", "DE.Views.HyperlinkSettingsDialog.okButtonText": "OK",
"DE.Views.HyperlinkSettingsDialog.textDefault": "Selected text fragment", "DE.Views.HyperlinkSettingsDialog.textDefault": "Selected text fragment",
@ -1235,6 +1254,23 @@
"DE.Views.LeftMenu.tipTitles": "Titles", "DE.Views.LeftMenu.tipTitles": "Titles",
"DE.Views.LeftMenu.txtDeveloper": "DEVELOPER MODE", "DE.Views.LeftMenu.txtDeveloper": "DEVELOPER MODE",
"DE.Views.LeftMenu.txtTrial": "TRIAL MODE", "DE.Views.LeftMenu.txtTrial": "TRIAL MODE",
"DE.Views.Links.capBtnContentsUpdate": "Update",
"DE.Views.Links.capBtnInsContents": "Table of Contents",
"DE.Views.Links.capBtnInsFootnote": "Footnote",
"DE.Views.Links.capBtnInsLink": "Hyperlink",
"DE.Views.Links.confirmDeleteFootnotes": "Do you want to delete all footnotes?",
"DE.Views.Links.mniDelFootnote": "Delete All Footnotes",
"DE.Views.Links.mniInsFootnote": "Insert Footnote",
"DE.Views.Links.mniNoteSettings": "Notes Settings",
"DE.Views.Links.textContentsRemove": "Remove table of contents",
"DE.Views.Links.textContentsSettings": "Settings",
"DE.Views.Links.textGotoFootnote": "Go to Footnotes",
"DE.Views.Links.textUpdateAll": "Update entire table",
"DE.Views.Links.textUpdatePages": "Update page numbers only",
"DE.Views.Links.tipContents": "Insert table of contents",
"DE.Views.Links.tipContentsUpdate": "Update table of contents",
"DE.Views.Links.tipInsertHyperlink": "Add hyperlink",
"DE.Views.Links.tipNotes": "Insert or edit footnotes",
"DE.Views.MailMergeEmailDlg.cancelButtonText": "Cancel", "DE.Views.MailMergeEmailDlg.cancelButtonText": "Cancel",
"DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF", "DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF",
"DE.Views.MailMergeEmailDlg.okButtonText": "Send", "DE.Views.MailMergeEmailDlg.okButtonText": "Send",
@ -1388,6 +1424,8 @@
"DE.Views.ParagraphSettingsAdvanced.tipRight": "Set right border only", "DE.Views.ParagraphSettingsAdvanced.tipRight": "Set right border only",
"DE.Views.ParagraphSettingsAdvanced.tipTop": "Set top border only", "DE.Views.ParagraphSettingsAdvanced.tipTop": "Set top border only",
"DE.Views.ParagraphSettingsAdvanced.txtNoBorders": "No borders", "DE.Views.ParagraphSettingsAdvanced.txtNoBorders": "No borders",
"DE.Views.ParagraphSettingsAdvanced.textLeader": "Leader",
"DE.Views.ParagraphSettingsAdvanced.textNone": "None",
"DE.Views.RightMenu.txtChartSettings": "Chart settings", "DE.Views.RightMenu.txtChartSettings": "Chart settings",
"DE.Views.RightMenu.txtHeaderFooterSettings": "Header and footer settings", "DE.Views.RightMenu.txtHeaderFooterSettings": "Header and footer settings",
"DE.Views.RightMenu.txtImageSettings": "Image settings", "DE.Views.RightMenu.txtImageSettings": "Image settings",
@ -1451,15 +1489,12 @@
"DE.Views.SignatureSettings.strDelete": "Remove Signature", "DE.Views.SignatureSettings.strDelete": "Remove Signature",
"DE.Views.SignatureSettings.strDetails": "Signature Details", "DE.Views.SignatureSettings.strDetails": "Signature Details",
"DE.Views.SignatureSettings.strInvalid": "Invalid signatures", "DE.Views.SignatureSettings.strInvalid": "Invalid signatures",
"del_DE.Views.SignatureSettings.strInvisibleSign": "Add invisible digital signature",
"DE.Views.SignatureSettings.strRequested": "Requested signatures", "DE.Views.SignatureSettings.strRequested": "Requested signatures",
"DE.Views.SignatureSettings.strSetup": "Signature Setup", "DE.Views.SignatureSettings.strSetup": "Signature Setup",
"DE.Views.SignatureSettings.strSign": "Sign", "DE.Views.SignatureSettings.strSign": "Sign",
"DE.Views.SignatureSettings.strSignature": "Signature", "DE.Views.SignatureSettings.strSignature": "Signature",
"DE.Views.SignatureSettings.strSigner": "Signer", "DE.Views.SignatureSettings.strSigner": "Signer",
"DE.Views.SignatureSettings.strValid": "Valid signatures", "DE.Views.SignatureSettings.strValid": "Valid signatures",
"del_DE.Views.SignatureSettings.strView": "View",
"del_DE.Views.SignatureSettings.strVisibleSign": "Add visible signature",
"DE.Views.SignatureSettings.txtContinueEditing": "Edit anyway", "DE.Views.SignatureSettings.txtContinueEditing": "Edit anyway",
"DE.Views.SignatureSettings.txtEditWarning": "Editing will remove the signatures from the document.<br>Are you sure you want to continue?", "DE.Views.SignatureSettings.txtEditWarning": "Editing will remove the signatures from the document.<br>Are you sure you want to continue?",
"DE.Views.SignatureSettings.txtRequestedSignatures": "This document needs to be signed.", "DE.Views.SignatureSettings.txtRequestedSignatures": "This document needs to be signed.",
@ -1479,6 +1514,26 @@
"DE.Views.StyleTitleDialog.textTitle": "Title", "DE.Views.StyleTitleDialog.textTitle": "Title",
"DE.Views.StyleTitleDialog.txtEmpty": "This field is required", "DE.Views.StyleTitleDialog.txtEmpty": "This field is required",
"DE.Views.StyleTitleDialog.txtNotEmpty": "Field must not be empty", "DE.Views.StyleTitleDialog.txtNotEmpty": "Field must not be empty",
"DE.Views.TableOfContentsSettings.textTitle": "Table of Contents",
"DE.Views.TableOfContentsSettings.textLeader": "Leader",
"DE.Views.TableOfContentsSettings.textBuildTable": "Build table of contents from",
"DE.Views.TableOfContentsSettings.textLevels": "Levels",
"DE.Views.TableOfContentsSettings.textStyles": "Styles",
"DE.Views.TableOfContentsSettings.strShowPages": "Show page numbers",
"DE.Views.TableOfContentsSettings.strAlign": "Right align page numbers",
"DE.Views.TableOfContentsSettings.strLinks": "Format Table of Contents as links",
"DE.Views.TableOfContentsSettings.textNone": "None",
"DE.Views.TableOfContentsSettings.textRadioLevels": "Outline levels",
"DE.Views.TableOfContentsSettings.textRadioStyles": "Selected styles",
"DE.Views.TableOfContentsSettings.textStyle": "Style",
"DE.Views.TableOfContentsSettings.textLevel": "Level",
"DE.Views.TableOfContentsSettings.cancelButtonText": "Cancel",
"DE.Views.TableOfContentsSettings.okButtonText ": "Ok",
"DE.Views.TableOfContentsSettings.txtCurrent": "Current",
"DE.Views.TableOfContentsSettings.txtSimple": "Simple",
"DE.Views.TableOfContentsSettings.txtStandard": "Standard",
"DE.Views.TableOfContentsSettings.txtModern": "Modern",
"DE.Views.TableOfContentsSettings.txtClassic": "Classic",
"DE.Views.TableSettings.deleteColumnText": "Delete Column", "DE.Views.TableSettings.deleteColumnText": "Delete Column",
"DE.Views.TableSettings.deleteRowText": "Delete Row", "DE.Views.TableSettings.deleteRowText": "Delete Row",
"DE.Views.TableSettings.deleteTableText": "Delete Table", "DE.Views.TableSettings.deleteTableText": "Delete Table",
@ -1624,12 +1679,13 @@
"DE.Views.Toolbar.capBtnColumns": "Columns", "DE.Views.Toolbar.capBtnColumns": "Columns",
"DE.Views.Toolbar.capBtnComment": "Comment", "DE.Views.Toolbar.capBtnComment": "Comment",
"DE.Views.Toolbar.capBtnInsChart": "Chart", "DE.Views.Toolbar.capBtnInsChart": "Chart",
"DE.Views.Toolbar.capBtnInsControls": "Content Controls",
"DE.Views.Toolbar.capBtnInsDropcap": "Drop Cap", "DE.Views.Toolbar.capBtnInsDropcap": "Drop Cap",
"DE.Views.Toolbar.capBtnInsEquation": "Equation", "DE.Views.Toolbar.capBtnInsEquation": "Equation",
"DE.Views.Toolbar.capBtnInsFootnote": "Footnote", "del_DE.Views.Toolbar.capBtnInsFootnote": "Footnote",
"DE.Views.Toolbar.capBtnInsHeader": "Header/Footer", "DE.Views.Toolbar.capBtnInsHeader": "Header/Footer",
"DE.Views.Toolbar.capBtnInsImage": "Picture", "DE.Views.Toolbar.capBtnInsImage": "Picture",
"DE.Views.Toolbar.capBtnInsLink": "Hyperlink", "del_DE.Views.Toolbar.capBtnInsLink": "Hyperlink",
"DE.Views.Toolbar.capBtnInsPagebreak": "Breaks", "DE.Views.Toolbar.capBtnInsPagebreak": "Breaks",
"DE.Views.Toolbar.capBtnInsShape": "Shape", "DE.Views.Toolbar.capBtnInsShape": "Shape",
"DE.Views.Toolbar.capBtnInsTable": "Table", "DE.Views.Toolbar.capBtnInsTable": "Table",
@ -1644,7 +1700,8 @@
"DE.Views.Toolbar.capImgGroup": "Group", "DE.Views.Toolbar.capImgGroup": "Group",
"DE.Views.Toolbar.capImgWrapping": "Wrapping", "DE.Views.Toolbar.capImgWrapping": "Wrapping",
"DE.Views.Toolbar.mniCustomTable": "Insert Custom Table", "DE.Views.Toolbar.mniCustomTable": "Insert Custom Table",
"DE.Views.Toolbar.mniDelFootnote": "Delete All Footnotes", "del_DE.Views.Toolbar.mniDelFootnote": "Delete All Footnotes",
"DE.Views.Toolbar.mniEditControls": "Control Settings",
"DE.Views.Toolbar.mniEditDropCap": "Drop Cap Settings", "DE.Views.Toolbar.mniEditDropCap": "Drop Cap Settings",
"DE.Views.Toolbar.mniEditFooter": "Edit Footer", "DE.Views.Toolbar.mniEditFooter": "Edit Footer",
"DE.Views.Toolbar.mniEditHeader": "Edit Header", "DE.Views.Toolbar.mniEditHeader": "Edit Header",
@ -1652,8 +1709,8 @@
"DE.Views.Toolbar.mniHiddenChars": "Nonprinting Characters", "DE.Views.Toolbar.mniHiddenChars": "Nonprinting Characters",
"DE.Views.Toolbar.mniImageFromFile": "Picture from File", "DE.Views.Toolbar.mniImageFromFile": "Picture from File",
"DE.Views.Toolbar.mniImageFromUrl": "Picture from URL", "DE.Views.Toolbar.mniImageFromUrl": "Picture from URL",
"DE.Views.Toolbar.mniInsFootnote": "Insert Footnote", "del_DE.Views.Toolbar.mniInsFootnote": "Insert Footnote",
"DE.Views.Toolbar.mniNoteSettings": "Notes Settings", "del_DE.Views.Toolbar.mniNoteSettings": "Notes Settings",
"DE.Views.Toolbar.strMenuNoFill": "No Fill", "DE.Views.Toolbar.strMenuNoFill": "No Fill",
"DE.Views.Toolbar.textArea": "Area", "DE.Views.Toolbar.textArea": "Area",
"DE.Views.Toolbar.textAutoColor": "Automatic", "DE.Views.Toolbar.textAutoColor": "Automatic",
@ -1673,7 +1730,7 @@
"DE.Views.Toolbar.textEvenPage": "Even Page", "DE.Views.Toolbar.textEvenPage": "Even Page",
"DE.Views.Toolbar.textFitPage": "Fit to Page", "DE.Views.Toolbar.textFitPage": "Fit to Page",
"DE.Views.Toolbar.textFitWidth": "Fit to Width", "DE.Views.Toolbar.textFitWidth": "Fit to Width",
"DE.Views.Toolbar.textGotoFootnote": "Go to Footnotes", "del_DE.Views.Toolbar.textGotoFootnote": "Go to Footnotes",
"DE.Views.Toolbar.textHideLines": "Hide Rulers", "DE.Views.Toolbar.textHideLines": "Hide Rulers",
"DE.Views.Toolbar.textHideStatusBar": "Hide Status Bar", "DE.Views.Toolbar.textHideStatusBar": "Hide Status Bar",
"DE.Views.Toolbar.textHideTitleBar": "Hide Title Bar", "DE.Views.Toolbar.textHideTitleBar": "Hide Title Bar",
@ -1701,8 +1758,11 @@
"DE.Views.Toolbar.textPageMarginsCustom": "Custom margins", "DE.Views.Toolbar.textPageMarginsCustom": "Custom margins",
"DE.Views.Toolbar.textPageSizeCustom": "Custom Page Size", "DE.Views.Toolbar.textPageSizeCustom": "Custom Page Size",
"DE.Views.Toolbar.textPie": "Pie", "DE.Views.Toolbar.textPie": "Pie",
"DE.Views.Toolbar.textPlainControl": "Insert plain text content control",
"DE.Views.Toolbar.textPoint": "XY (Scatter)", "DE.Views.Toolbar.textPoint": "XY (Scatter)",
"DE.Views.Toolbar.textPortrait": "Portrait", "DE.Views.Toolbar.textPortrait": "Portrait",
"DE.Views.Toolbar.textRemoveControl": "Remove content control",
"DE.Views.Toolbar.textRichControl": "Insert rich text content control",
"DE.Views.Toolbar.textRight": "Right: ", "DE.Views.Toolbar.textRight": "Right: ",
"DE.Views.Toolbar.textStock": "Stock", "DE.Views.Toolbar.textStock": "Stock",
"DE.Views.Toolbar.textStrikeout": "Strikethrough", "DE.Views.Toolbar.textStrikeout": "Strikethrough",
@ -1721,6 +1781,7 @@
"DE.Views.Toolbar.textTabLayout": "Layout", "DE.Views.Toolbar.textTabLayout": "Layout",
"DE.Views.Toolbar.textTabProtect": "Protection", "DE.Views.Toolbar.textTabProtect": "Protection",
"DE.Views.Toolbar.textTabReview": "Review", "DE.Views.Toolbar.textTabReview": "Review",
"DE.Views.Toolbar.textTabCollaboration": "Collaboration",
"DE.Views.Toolbar.textTitleError": "Error", "DE.Views.Toolbar.textTitleError": "Error",
"DE.Views.Toolbar.textToCurrent": "To current position", "DE.Views.Toolbar.textToCurrent": "To current position",
"DE.Views.Toolbar.textTop": "Top: ", "DE.Views.Toolbar.textTop": "Top: ",
@ -1736,6 +1797,7 @@
"DE.Views.Toolbar.tipClearStyle": "Clear style", "DE.Views.Toolbar.tipClearStyle": "Clear style",
"DE.Views.Toolbar.tipColorSchemas": "Change color scheme", "DE.Views.Toolbar.tipColorSchemas": "Change color scheme",
"DE.Views.Toolbar.tipColumns": "Insert columns", "DE.Views.Toolbar.tipColumns": "Insert columns",
"DE.Views.Toolbar.tipControls": "Insert content controls",
"DE.Views.Toolbar.tipCopy": "Copy", "DE.Views.Toolbar.tipCopy": "Copy",
"DE.Views.Toolbar.tipCopyStyle": "Copy style", "DE.Views.Toolbar.tipCopyStyle": "Copy style",
"DE.Views.Toolbar.tipDecFont": "Decrement font size", "DE.Views.Toolbar.tipDecFont": "Decrement font size",
@ -1754,7 +1816,7 @@
"DE.Views.Toolbar.tipIncPrLeft": "Increase indent", "DE.Views.Toolbar.tipIncPrLeft": "Increase indent",
"DE.Views.Toolbar.tipInsertChart": "Insert chart", "DE.Views.Toolbar.tipInsertChart": "Insert chart",
"DE.Views.Toolbar.tipInsertEquation": "Insert equation", "DE.Views.Toolbar.tipInsertEquation": "Insert equation",
"DE.Views.Toolbar.tipInsertHyperlink": "Add hyperlink", "del_DE.Views.Toolbar.tipInsertHyperlink": "Add hyperlink",
"DE.Views.Toolbar.tipInsertImage": "Insert picture", "DE.Views.Toolbar.tipInsertImage": "Insert picture",
"DE.Views.Toolbar.tipInsertNum": "Insert Page Number", "DE.Views.Toolbar.tipInsertNum": "Insert Page Number",
"DE.Views.Toolbar.tipInsertShape": "Insert autoshape", "DE.Views.Toolbar.tipInsertShape": "Insert autoshape",
@ -1765,7 +1827,7 @@
"DE.Views.Toolbar.tipMailRecepients": "Mail merge", "DE.Views.Toolbar.tipMailRecepients": "Mail merge",
"DE.Views.Toolbar.tipMarkers": "Bullets", "DE.Views.Toolbar.tipMarkers": "Bullets",
"DE.Views.Toolbar.tipMultilevels": "Multilevel list", "DE.Views.Toolbar.tipMultilevels": "Multilevel list",
"DE.Views.Toolbar.tipNotes": "Insert or edit footnotes", "del_DE.Views.Toolbar.tipNotes": "Insert or edit footnotes",
"DE.Views.Toolbar.tipNumbers": "Numbering", "DE.Views.Toolbar.tipNumbers": "Numbering",
"DE.Views.Toolbar.tipPageBreak": "Insert page or section break", "DE.Views.Toolbar.tipPageBreak": "Insert page or section break",
"DE.Views.Toolbar.tipPageMargins": "Page margins", "DE.Views.Toolbar.tipPageMargins": "Page margins",
@ -1804,11 +1866,5 @@
"DE.Views.Toolbar.txtScheme6": "Concourse", "DE.Views.Toolbar.txtScheme6": "Concourse",
"DE.Views.Toolbar.txtScheme7": "Equity", "DE.Views.Toolbar.txtScheme7": "Equity",
"DE.Views.Toolbar.txtScheme8": "Flow", "DE.Views.Toolbar.txtScheme8": "Flow",
"DE.Views.Toolbar.txtScheme9": "Foundry", "DE.Views.Toolbar.txtScheme9": "Foundry"
"DE.Views.Toolbar.capBtnInsControls": "Content Control",
"DE.Views.Toolbar.textRichControl": "Rich text",
"DE.Views.Toolbar.textPlainControl": "Plain text",
"DE.Views.Toolbar.textRemoveControl": "Remove",
"DE.Views.Toolbar.mniEditControls": "Settings",
"DE.Views.Toolbar.tipControls": "Insert content control"
} }

View file

@ -121,6 +121,7 @@
"Common.Views.Comments.textComments": "Comentarios", "Common.Views.Comments.textComments": "Comentarios",
"Common.Views.Comments.textEdit": "OK", "Common.Views.Comments.textEdit": "OK",
"Common.Views.Comments.textEnterCommentHint": "Introduzca su comentario aquí", "Common.Views.Comments.textEnterCommentHint": "Introduzca su comentario aquí",
"Common.Views.Comments.textHintAddComment": "Añadir comentario",
"Common.Views.Comments.textOpenAgain": "Abrir de nuevo", "Common.Views.Comments.textOpenAgain": "Abrir de nuevo",
"Common.Views.Comments.textReply": "Responder", "Common.Views.Comments.textReply": "Responder",
"Common.Views.Comments.textResolve": "Resolver", "Common.Views.Comments.textResolve": "Resolver",
@ -139,7 +140,18 @@
"Common.Views.ExternalMergeEditor.textClose": "Cerrar", "Common.Views.ExternalMergeEditor.textClose": "Cerrar",
"Common.Views.ExternalMergeEditor.textSave": "Guardar y salir", "Common.Views.ExternalMergeEditor.textSave": "Guardar y salir",
"Common.Views.ExternalMergeEditor.textTitle": "Receptores de Fusión de Correo", "Common.Views.ExternalMergeEditor.textTitle": "Receptores de Fusión de Correo",
"Common.Views.Header.labelCoUsersDescr": "El documento está siendo editado por múltiples usuarios.",
"Common.Views.Header.textBack": "Ir a Documentos", "Common.Views.Header.textBack": "Ir a Documentos",
"Common.Views.Header.textSaveBegin": "Guardando...",
"Common.Views.Header.textSaveChanged": "Modificado",
"Common.Views.Header.textSaveEnd": "Se guardaron todos los cambios",
"Common.Views.Header.textSaveExpander": "Se guardaron todos los cambios",
"Common.Views.Header.tipAccessRights": "Gestionar derechos de acceso al documento",
"Common.Views.Header.tipDownload": "Descargar archivo",
"Common.Views.Header.tipGoEdit": "Editar archivo actual",
"Common.Views.Header.tipPrint": "Imprimir archivo",
"Common.Views.Header.tipViewUsers": "Ver usuarios y administrar derechos de acceso al documento",
"Common.Views.Header.txtAccessRights": "Cambiar derechos de acceso",
"Common.Views.Header.txtRename": "Renombrar", "Common.Views.Header.txtRename": "Renombrar",
"Common.Views.History.textCloseHistory": "Cerrar historial", "Common.Views.History.textCloseHistory": "Cerrar historial",
"Common.Views.History.textHide": "Plegar", "Common.Views.History.textHide": "Plegar",
@ -160,32 +172,88 @@
"Common.Views.InsertTableDialog.txtMinText": "El valor mínimo para este campo es {0}.", "Common.Views.InsertTableDialog.txtMinText": "El valor mínimo para este campo es {0}.",
"Common.Views.InsertTableDialog.txtRows": "Número de filas", "Common.Views.InsertTableDialog.txtRows": "Número de filas",
"Common.Views.InsertTableDialog.txtTitle": "Tamaño de tabla", "Common.Views.InsertTableDialog.txtTitle": "Tamaño de tabla",
"Common.Views.InsertTableDialog.txtTitleSplit": "Dividir celda",
"Common.Views.LanguageDialog.btnCancel": "Cancelar", "Common.Views.LanguageDialog.btnCancel": "Cancelar",
"Common.Views.LanguageDialog.btnOk": "OK", "Common.Views.LanguageDialog.btnOk": "OK",
"Common.Views.LanguageDialog.labelSelect": "Seleccionar el idioma de documento", "Common.Views.LanguageDialog.labelSelect": "Seleccionar el idioma de documento",
"Common.Views.OpenDialog.cancelButtonText": "Cancelar", "Common.Views.OpenDialog.cancelButtonText": "Cancelar",
"Common.Views.OpenDialog.okButtonText": "Aceptar", "Common.Views.OpenDialog.okButtonText": "Aceptar",
"Common.Views.OpenDialog.txtEncoding": "Codificación", "Common.Views.OpenDialog.txtEncoding": "Codificación",
"Common.Views.OpenDialog.txtIncorrectPwd": "La contraseña es incorrecta",
"Common.Views.OpenDialog.txtPassword": "Contraseña", "Common.Views.OpenDialog.txtPassword": "Contraseña",
"Common.Views.OpenDialog.txtTitle": "Elegir opciones de %1", "Common.Views.OpenDialog.txtTitle": "Elegir opciones de %1",
"Common.Views.OpenDialog.txtTitleProtected": "Archivo protegido", "Common.Views.OpenDialog.txtTitleProtected": "Archivo protegido",
"Common.Views.PluginDlg.textLoading": "Cargando", "Common.Views.PluginDlg.textLoading": "Cargando",
"Common.Views.Plugins.groupCaption": "Extensiones",
"Common.Views.Plugins.strPlugins": "Plugins", "Common.Views.Plugins.strPlugins": "Plugins",
"Common.Views.Plugins.textLoading": "Cargando", "Common.Views.Plugins.textLoading": "Cargando",
"Common.Views.Plugins.textStart": "Iniciar", "Common.Views.Plugins.textStart": "Iniciar",
"Common.Views.Plugins.textStop": "Detener",
"Common.Views.RenameDialog.cancelButtonText": "Cancelar", "Common.Views.RenameDialog.cancelButtonText": "Cancelar",
"Common.Views.RenameDialog.okButtonText": "Aceptar", "Common.Views.RenameDialog.okButtonText": "Aceptar",
"Common.Views.RenameDialog.textName": "Nombre de archivo", "Common.Views.RenameDialog.textName": "Nombre de archivo",
"Common.Views.RenameDialog.txtInvalidName": "El nombre de archivo no debe contener los símbolos siguientes:", "Common.Views.RenameDialog.txtInvalidName": "El nombre de archivo no debe contener los símbolos siguientes:",
"Common.Views.ReviewChanges.hintNext": "Al siguiente cambio",
"Common.Views.ReviewChanges.hintPrev": "Al cambio anterior",
"Common.Views.ReviewChanges.tipAcceptCurrent": "Aceptar cambio actual",
"Common.Views.ReviewChanges.tipRejectCurrent": "Rechazar cambio actual",
"Common.Views.ReviewChanges.tipReview": "Seguimiento a cambios",
"Common.Views.ReviewChanges.tipReviewView": "Seleccionar el modo en el que quiere que se presenten los cambios",
"Common.Views.ReviewChanges.tipSetDocLang": "Establecer el idioma de documento",
"Common.Views.ReviewChanges.tipSetSpelling": "Сorrección ortográfica",
"Common.Views.ReviewChanges.txtAccept": "Aceptar", "Common.Views.ReviewChanges.txtAccept": "Aceptar",
"Common.Views.ReviewChanges.txtAcceptAll": "Aceptar Todos los Cambios", "Common.Views.ReviewChanges.txtAcceptAll": "Aceptar Todos los Cambios",
"Common.Views.ReviewChanges.txtAcceptChanges": "Aceptar cambios",
"Common.Views.ReviewChanges.txtAcceptCurrent": "Aceptar Cambios Actuales", "Common.Views.ReviewChanges.txtAcceptCurrent": "Aceptar Cambios Actuales",
"Common.Views.ReviewChanges.txtClose": "Cerrar", "Common.Views.ReviewChanges.txtClose": "Cerrar",
"Common.Views.ReviewChanges.txtDocLang": "Idioma",
"Common.Views.ReviewChanges.txtFinal": "Todos los cambio aceptados (vista previa)",
"Common.Views.ReviewChanges.txtMarkup": "Todos los cambios (Edición)",
"Common.Views.ReviewChanges.txtNext": "Para Cambio Siguiente", "Common.Views.ReviewChanges.txtNext": "Para Cambio Siguiente",
"Common.Views.ReviewChanges.txtOriginal": "Todos los cambios rechazados (Vista previa)",
"Common.Views.ReviewChanges.txtPrev": "Cambio anterior", "Common.Views.ReviewChanges.txtPrev": "Cambio anterior",
"Common.Views.ReviewChanges.txtReject": "Rechazar", "Common.Views.ReviewChanges.txtReject": "Rechazar",
"Common.Views.ReviewChanges.txtRejectAll": "Rechazar todos los cambios", "Common.Views.ReviewChanges.txtRejectAll": "Rechazar todos los cambios",
"Common.Views.ReviewChanges.txtRejectChanges": "Rechazar cambios",
"Common.Views.ReviewChanges.txtRejectCurrent": "Rechazar Cambio Actual", "Common.Views.ReviewChanges.txtRejectCurrent": "Rechazar Cambio Actual",
"Common.Views.ReviewChanges.txtSpelling": "Сorrección ortográfica",
"Common.Views.ReviewChanges.txtTurnon": "Seguimiento a cambios",
"Common.Views.ReviewChanges.txtView": "Modo de visualización",
"Common.Views.ReviewChangesDialog.textTitle": "Revisar cambios",
"Common.Views.ReviewChangesDialog.txtAccept": "Aceptar",
"Common.Views.ReviewChangesDialog.txtAcceptAll": "Aceptar Todos los Cambios",
"Common.Views.ReviewChangesDialog.txtAcceptCurrent": "Aceptar Cambio Actual",
"Common.Views.ReviewChangesDialog.txtNext": "Al siguiente cambio",
"Common.Views.ReviewChangesDialog.txtPrev": "Al cambio anterior",
"Common.Views.ReviewChangesDialog.txtReject": "Rechazar",
"Common.Views.ReviewChangesDialog.txtRejectAll": "Rechazar todos los cambjios",
"Common.Views.ReviewChangesDialog.txtRejectCurrent": "Rechazar Cambio Actual",
"Common.Views.SignDialog.cancelButtonText": "Cancelar",
"Common.Views.SignDialog.okButtonText": "Aceptar",
"Common.Views.SignDialog.textBold": "Negrilla",
"Common.Views.SignDialog.textCertificate": "Certificar",
"Common.Views.SignDialog.textChange": "Cambiar",
"Common.Views.SignDialog.textInputName": "Ingresar nombre de quien firma",
"Common.Views.SignDialog.textItalic": "Itálica",
"Common.Views.SignDialog.textPurpose": "Propósito al firmar este documento",
"Common.Views.SignDialog.textSelectImage": "Seleccionar Imagen",
"Common.Views.SignDialog.textSignature": "La firma se ve como",
"Common.Views.SignDialog.textTitle": "Firmar documento",
"Common.Views.SignDialog.textUseImage": "o pulsar 'Seleccionar Imagen' para usar una imagen como firma",
"Common.Views.SignDialog.textValid": "Válido desde %1 hasta %2",
"Common.Views.SignDialog.tipFontName": "Nombre del tipo de letra",
"Common.Views.SignDialog.tipFontSize": "Tamaño del tipo de letra",
"Common.Views.SignSettingsDialog.cancelButtonText": "Cancelar",
"Common.Views.SignSettingsDialog.okButtonText": "Aceptar",
"Common.Views.SignSettingsDialog.textAllowComment": "Permitir a quien firma añadir comentarios en el diálogo de firma",
"Common.Views.SignSettingsDialog.textInfo": "Información de quien firma",
"Common.Views.SignSettingsDialog.textInfoEmail": "E-mail",
"Common.Views.SignSettingsDialog.textInfoName": "Nombre",
"Common.Views.SignSettingsDialog.textInfoTitle": "Título de quien firma",
"Common.Views.SignSettingsDialog.textInstructions": "Instrucciones para quien firma",
"Common.Views.SignSettingsDialog.textShowDate": "Presentar fecha de la firma",
"Common.Views.SignSettingsDialog.textTitle": "Configuración de firma",
"Common.Views.SignSettingsDialog.txtEmpty": "Este campo es obligatorio",
"DE.Controllers.LeftMenu.leavePageText": "Todos los cambios no guardados de este documento se perderán.<br> Pulse \"Cancelar\" después \"Guardar\" para guardarlos. Pulse \"OK\" para deshacer todos los cambios no guardados.", "DE.Controllers.LeftMenu.leavePageText": "Todos los cambios no guardados de este documento se perderán.<br> Pulse \"Cancelar\" después \"Guardar\" para guardarlos. Pulse \"OK\" para deshacer todos los cambios no guardados.",
"DE.Controllers.LeftMenu.newDocumentTitle": "Documento sin título", "DE.Controllers.LeftMenu.newDocumentTitle": "Documento sin título",
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Aviso", "DE.Controllers.LeftMenu.notcriticalErrorTitle": "Aviso",
@ -268,26 +336,37 @@
"DE.Controllers.Main.textCloseTip": "Pulse para cerrar el consejo", "DE.Controllers.Main.textCloseTip": "Pulse para cerrar el consejo",
"DE.Controllers.Main.textContactUs": "Contactar con equipo de ventas", "DE.Controllers.Main.textContactUs": "Contactar con equipo de ventas",
"DE.Controllers.Main.textLoadingDocument": "Cargando documento", "DE.Controllers.Main.textLoadingDocument": "Cargando documento",
"DE.Controllers.Main.textNoLicenseTitle": "Versión de código abierto de ONLYOFFICE", "DE.Controllers.Main.textNoLicenseTitle": "Limitación en conexiones de ONLYOFFICE",
"DE.Controllers.Main.textShape": "Forma", "DE.Controllers.Main.textShape": "Forma",
"DE.Controllers.Main.textStrict": "Modo estricto", "DE.Controllers.Main.textStrict": "Modo estricto",
"DE.Controllers.Main.textTryUndoRedo": "Las funciones Anular/Rehacer se desactivan para el modo co-edición rápido.<br>Haga Clic en el botón \"modo estricto\" para cambiar al modo de co-edición estricta para editar el archivo sin la interferencia de otros usuarios y enviar sus cambios sólo después de guardarlos. Se puede cambiar entre los modos de co-edición usando los ajustes avanzados de edición.", "DE.Controllers.Main.textTryUndoRedo": "Las funciones Anular/Rehacer se desactivan para el modo co-edición rápido.<br>Haga Clic en el botón \"modo estricto\" para cambiar al modo de co-edición estricta para editar el archivo sin la interferencia de otros usuarios y enviar sus cambios sólo después de guardarlos. Se puede cambiar entre los modos de co-edición usando los ajustes avanzados de edición.",
"DE.Controllers.Main.titleLicenseExp": "Licencia ha expirado", "DE.Controllers.Main.titleLicenseExp": "Licencia ha expirado",
"DE.Controllers.Main.titleServerVersion": "Editor ha sido actualizado", "DE.Controllers.Main.titleServerVersion": "Editor ha sido actualizado",
"DE.Controllers.Main.titleUpdateVersion": "Versión ha cambiado", "DE.Controllers.Main.titleUpdateVersion": "Versión ha cambiado",
"DE.Controllers.Main.txtAbove": "encima",
"DE.Controllers.Main.txtArt": "Su texto aquí", "DE.Controllers.Main.txtArt": "Su texto aquí",
"DE.Controllers.Main.txtBasicShapes": "Formas básicas", "DE.Controllers.Main.txtBasicShapes": "Formas básicas",
"DE.Controllers.Main.txtBelow": "debajo",
"DE.Controllers.Main.txtBookmarkError": "¡Error! El marcador no se ha definido",
"DE.Controllers.Main.txtButtons": "Botones", "DE.Controllers.Main.txtButtons": "Botones",
"DE.Controllers.Main.txtCallouts": "Llamadas", "DE.Controllers.Main.txtCallouts": "Llamadas",
"DE.Controllers.Main.txtCharts": "Gráficos", "DE.Controllers.Main.txtCharts": "Gráficos",
"DE.Controllers.Main.txtDiagramTitle": "Título de diagrama", "DE.Controllers.Main.txtDiagramTitle": "Título de diagrama",
"DE.Controllers.Main.txtEditingMode": "Establecer el modo de edición...", "DE.Controllers.Main.txtEditingMode": "Establecer el modo de edición...",
"DE.Controllers.Main.txtErrorLoadHistory": "Historia de carga falló", "DE.Controllers.Main.txtErrorLoadHistory": "Historia de carga falló",
"DE.Controllers.Main.txtEvenPage": "Página par",
"DE.Controllers.Main.txtFiguredArrows": "Formas de flecha", "DE.Controllers.Main.txtFiguredArrows": "Formas de flecha",
"DE.Controllers.Main.txtFirstPage": "Primera página",
"DE.Controllers.Main.txtFooter": "Pie de página",
"DE.Controllers.Main.txtHeader": "Encabezado",
"DE.Controllers.Main.txtLines": "Líneas", "DE.Controllers.Main.txtLines": "Líneas",
"DE.Controllers.Main.txtMath": "Matemáticas", "DE.Controllers.Main.txtMath": "Matemáticas",
"DE.Controllers.Main.txtNeedSynchronize": "Usted tiene actualizaciones", "DE.Controllers.Main.txtNeedSynchronize": "Usted tiene actualizaciones",
"DE.Controllers.Main.txtOddPage": "Página impar",
"DE.Controllers.Main.txtOnPage": "en la página",
"DE.Controllers.Main.txtRectangles": "Rectángulos", "DE.Controllers.Main.txtRectangles": "Rectángulos",
"DE.Controllers.Main.txtSameAsPrev": "Igual al Anterior",
"DE.Controllers.Main.txtSection": "-Sección",
"DE.Controllers.Main.txtSeries": "Serie", "DE.Controllers.Main.txtSeries": "Serie",
"DE.Controllers.Main.txtStarsRibbons": "Cintas y estrellas", "DE.Controllers.Main.txtStarsRibbons": "Cintas y estrellas",
"DE.Controllers.Main.txtStyle_Heading_1": "Título 1", "DE.Controllers.Main.txtStyle_Heading_1": "Título 1",
@ -318,10 +397,11 @@
"DE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior", "DE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior",
"DE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.", "DE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.",
"DE.Controllers.Main.warnLicenseExp": "Su licencia ha expirado.<br>Por favor, actualice su licencia y después recargue la página.", "DE.Controllers.Main.warnLicenseExp": "Su licencia ha expirado.<br>Por favor, actualice su licencia y después recargue la página.",
"DE.Controllers.Main.warnNoLicense": "Usted está usando la versión de código abierto de ONLYOFFICE. Esta versión tiene limitaciones respecto a la cantidad de conexiones concurrentes al servidor de documentos (20 conexiones simultáneamente).<br>Si se requiere más, considere la posibilidad de adquirir la licencia comercial.", "DE.Controllers.Main.warnNoLicense": "Esta versión de ONLYOFFICE Editors tiene ciertas limitaciones respecto a la cantidad de conexiones concurrentes al servidor de documentos.<br>Si requiere más, por favor considere mejorar su licencia actual o adquirir una comercial.",
"DE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado", "DE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado",
"DE.Controllers.Statusbar.textHasChanges": "Nuevos cambios han sido encontrado", "DE.Controllers.Statusbar.textHasChanges": "Nuevos cambios han sido encontrado",
"DE.Controllers.Statusbar.textTrackChanges": "El documento se abre con el modo de cambio de pista activado", "DE.Controllers.Statusbar.textTrackChanges": "El documento se abre con el modo de cambio de pista activado",
"DE.Controllers.Statusbar.tipReview": "Seguimiento a cambios",
"DE.Controllers.Statusbar.zoomText": "Zoom {0}%", "DE.Controllers.Statusbar.zoomText": "Zoom {0}%",
"DE.Controllers.Toolbar.confirmAddFontName": "El tipo de letra que usted va a guardar no está disponible en este dispositivo. <br>El estilo de letra se mostrará usando uno de los tipos de letra del dispositivo, el tipo de letra guardado va a usarse cuando esté disponible.<br>¿Desea continuar?", "DE.Controllers.Toolbar.confirmAddFontName": "El tipo de letra que usted va a guardar no está disponible en este dispositivo. <br>El estilo de letra se mostrará usando uno de los tipos de letra del dispositivo, el tipo de letra guardado va a usarse cuando esté disponible.<br>¿Desea continuar?",
"DE.Controllers.Toolbar.confirmDeleteFootnotes": "¿Usted desea eliminar todas las notas a pie de página?", "DE.Controllers.Toolbar.confirmDeleteFootnotes": "¿Usted desea eliminar todas las notas a pie de página?",
@ -901,7 +981,7 @@
"DE.Views.DropcapSettingsAdvanced.textTop": "Superior", "DE.Views.DropcapSettingsAdvanced.textTop": "Superior",
"DE.Views.DropcapSettingsAdvanced.textVertical": "Vertical", "DE.Views.DropcapSettingsAdvanced.textVertical": "Vertical",
"DE.Views.DropcapSettingsAdvanced.textWidth": "Ancho", "DE.Views.DropcapSettingsAdvanced.textWidth": "Ancho",
"DE.Views.DropcapSettingsAdvanced.tipFontName": "Nombre de letra", "DE.Views.DropcapSettingsAdvanced.tipFontName": "Tipo de letra",
"DE.Views.DropcapSettingsAdvanced.txtNoBorders": "Sin bordes", "DE.Views.DropcapSettingsAdvanced.txtNoBorders": "Sin bordes",
"DE.Views.FileMenu.btnBackCaption": "Ir a Documentos", "DE.Views.FileMenu.btnBackCaption": "Ir a Documentos",
"DE.Views.FileMenu.btnCloseMenuCaption": "Cerrar menú", "DE.Views.FileMenu.btnCloseMenuCaption": "Cerrar menú",
@ -911,6 +991,7 @@
"DE.Views.FileMenu.btnHistoryCaption": "Historial de las Versiones", "DE.Views.FileMenu.btnHistoryCaption": "Historial de las Versiones",
"DE.Views.FileMenu.btnInfoCaption": "Info sobre documento...", "DE.Views.FileMenu.btnInfoCaption": "Info sobre documento...",
"DE.Views.FileMenu.btnPrintCaption": "Imprimir", "DE.Views.FileMenu.btnPrintCaption": "Imprimir",
"DE.Views.FileMenu.btnProtectCaption": "Proteger\\Firmar",
"DE.Views.FileMenu.btnRecentFilesCaption": "Abrir reciente...", "DE.Views.FileMenu.btnRecentFilesCaption": "Abrir reciente...",
"DE.Views.FileMenu.btnRenameCaption": "Renombrar...", "DE.Views.FileMenu.btnRenameCaption": "Renombrar...",
"DE.Views.FileMenu.btnReturnCaption": "Volver a Documento", "DE.Views.FileMenu.btnReturnCaption": "Volver a Documento",
@ -940,6 +1021,8 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Palabras", "DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Palabras",
"DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Cambiar derechos de acceso", "DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Cambiar derechos de acceso",
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Personas que tienen derechos", "DE.Views.FileMenuPanels.DocumentRights.txtRights": "Personas que tienen derechos",
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Proteger Documento",
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "Firma",
"DE.Views.FileMenuPanels.Settings.okButtonText": "Aplicar", "DE.Views.FileMenuPanels.Settings.okButtonText": "Aplicar",
"DE.Views.FileMenuPanels.Settings.strAlignGuides": "Activar guías de alineación", "DE.Views.FileMenuPanels.Settings.strAlignGuides": "Activar guías de alineación",
"DE.Views.FileMenuPanels.Settings.strAutoRecover": "Activar autorecuperación", "DE.Views.FileMenuPanels.Settings.strAutoRecover": "Activar autorecuperación",
@ -951,6 +1034,7 @@
"DE.Views.FileMenuPanels.Settings.strFontRender": "Hinting", "DE.Views.FileMenuPanels.Settings.strFontRender": "Hinting",
"DE.Views.FileMenuPanels.Settings.strForcesave": "Siempre guardar en el servidor (de lo contrario guardar en el servidor al cerrar documento)", "DE.Views.FileMenuPanels.Settings.strForcesave": "Siempre guardar en el servidor (de lo contrario guardar en el servidor al cerrar documento)",
"DE.Views.FileMenuPanels.Settings.strInputMode": "Activar jeroglíficos", "DE.Views.FileMenuPanels.Settings.strInputMode": "Activar jeroglíficos",
"DE.Views.FileMenuPanels.Settings.strInputSogou": "Encender entrar Sogou Pinyin",
"DE.Views.FileMenuPanels.Settings.strLiveComment": "Activar opción de demostración de comentarios", "DE.Views.FileMenuPanels.Settings.strLiveComment": "Activar opción de demostración de comentarios",
"DE.Views.FileMenuPanels.Settings.strResolvedComment": "Activar la visualización de los comentarios resueltos", "DE.Views.FileMenuPanels.Settings.strResolvedComment": "Activar la visualización de los comentarios resueltos",
"DE.Views.FileMenuPanels.Settings.strShowChanges": "Cambios de colaboración en tiempo real", "DE.Views.FileMenuPanels.Settings.strShowChanges": "Cambios de colaboración en tiempo real",
@ -1008,6 +1092,7 @@
"DE.Views.ImageSettings.textAdvanced": "Mostrar ajustes avanzados", "DE.Views.ImageSettings.textAdvanced": "Mostrar ajustes avanzados",
"DE.Views.ImageSettings.textEdit": "Editar", "DE.Views.ImageSettings.textEdit": "Editar",
"DE.Views.ImageSettings.textEditObject": "Editar objeto", "DE.Views.ImageSettings.textEditObject": "Editar objeto",
"DE.Views.ImageSettings.textFitMargins": "Ajustar al margen",
"DE.Views.ImageSettings.textFromFile": "De archivo", "DE.Views.ImageSettings.textFromFile": "De archivo",
"DE.Views.ImageSettings.textFromUrl": "De URL", "DE.Views.ImageSettings.textFromUrl": "De URL",
"DE.Views.ImageSettings.textHeight": "Altura", "DE.Views.ImageSettings.textHeight": "Altura",
@ -1082,6 +1167,7 @@
"DE.Views.ImageSettingsAdvanced.textTop": "Superior", "DE.Views.ImageSettingsAdvanced.textTop": "Superior",
"DE.Views.ImageSettingsAdvanced.textTopMargin": "Margen superior", "DE.Views.ImageSettingsAdvanced.textTopMargin": "Margen superior",
"DE.Views.ImageSettingsAdvanced.textVertical": "Vertical", "DE.Views.ImageSettingsAdvanced.textVertical": "Vertical",
"DE.Views.ImageSettingsAdvanced.textWeightArrows": "Grosores y flechas",
"DE.Views.ImageSettingsAdvanced.textWidth": "Ancho", "DE.Views.ImageSettingsAdvanced.textWidth": "Ancho",
"DE.Views.ImageSettingsAdvanced.textWrap": "Ajuste de texto", "DE.Views.ImageSettingsAdvanced.textWrap": "Ajuste de texto",
"DE.Views.ImageSettingsAdvanced.textWrapBehindTooltip": "Detrás", "DE.Views.ImageSettingsAdvanced.textWrapBehindTooltip": "Detrás",
@ -1099,6 +1185,7 @@
"DE.Views.LeftMenu.tipSupport": "Feedback y Soporte", "DE.Views.LeftMenu.tipSupport": "Feedback y Soporte",
"DE.Views.LeftMenu.tipTitles": "Títulos", "DE.Views.LeftMenu.tipTitles": "Títulos",
"DE.Views.LeftMenu.txtDeveloper": "MODO DE DESARROLLO", "DE.Views.LeftMenu.txtDeveloper": "MODO DE DESARROLLO",
"DE.Views.LeftMenu.txtTrial": "MODO DE PRUEBA",
"DE.Views.MailMergeEmailDlg.cancelButtonText": "Cancelar", "DE.Views.MailMergeEmailDlg.cancelButtonText": "Cancelar",
"DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF", "DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF",
"DE.Views.MailMergeEmailDlg.okButtonText": "Enviar", "DE.Views.MailMergeEmailDlg.okButtonText": "Enviar",
@ -1258,6 +1345,7 @@
"DE.Views.RightMenu.txtMailMergeSettings": "Ajustes de fusión", "DE.Views.RightMenu.txtMailMergeSettings": "Ajustes de fusión",
"DE.Views.RightMenu.txtParagraphSettings": "Ajustes de párrafo", "DE.Views.RightMenu.txtParagraphSettings": "Ajustes de párrafo",
"DE.Views.RightMenu.txtShapeSettings": "Ajustes de forma", "DE.Views.RightMenu.txtShapeSettings": "Ajustes de forma",
"DE.Views.RightMenu.txtSignatureSettings": "Configuración de firma",
"DE.Views.RightMenu.txtTableSettings": "Ajustes de tabla", "DE.Views.RightMenu.txtTableSettings": "Ajustes de tabla",
"DE.Views.RightMenu.txtTextArtSettings": "Ajustes de arte de texto", "DE.Views.RightMenu.txtTextArtSettings": "Ajustes de arte de texto",
"DE.Views.ShapeSettings.strBackground": "Color de fondo", "DE.Views.ShapeSettings.strBackground": "Color de fondo",
@ -1310,6 +1398,11 @@
"DE.Views.ShapeSettings.txtTight": "Estrecho", "DE.Views.ShapeSettings.txtTight": "Estrecho",
"DE.Views.ShapeSettings.txtTopAndBottom": "Superior e inferior", "DE.Views.ShapeSettings.txtTopAndBottom": "Superior e inferior",
"DE.Views.ShapeSettings.txtWood": "Madera", "DE.Views.ShapeSettings.txtWood": "Madera",
"DE.Views.SignatureSettings.strInvalid": "Firmas invalidas",
"DE.Views.SignatureSettings.strRequested": "Firmas requeridas",
"DE.Views.SignatureSettings.strSign": "Firmar",
"DE.Views.SignatureSettings.strSignature": "Firma",
"DE.Views.SignatureSettings.strValid": "Firmas valida",
"DE.Views.Statusbar.goToPageText": "Ir a página", "DE.Views.Statusbar.goToPageText": "Ir a página",
"DE.Views.Statusbar.pageIndexText": "Página {0} de {1}", "DE.Views.Statusbar.pageIndexText": "Página {0} de {1}",
"DE.Views.Statusbar.tipFitPage": "Ajustar a la página", "DE.Views.Statusbar.tipFitPage": "Ajustar a la página",
@ -1466,6 +1559,28 @@
"DE.Views.TextArtSettings.textTemplate": "Plantilla", "DE.Views.TextArtSettings.textTemplate": "Plantilla",
"DE.Views.TextArtSettings.textTransform": "Transformar", "DE.Views.TextArtSettings.textTransform": "Transformar",
"DE.Views.TextArtSettings.txtNoBorders": "Sin línea", "DE.Views.TextArtSettings.txtNoBorders": "Sin línea",
"DE.Views.Toolbar.capBtnColumns": "Columnas",
"DE.Views.Toolbar.capBtnComment": "Comentario",
"DE.Views.Toolbar.capBtnInsChart": "Diagram",
"DE.Views.Toolbar.capBtnInsDropcap": "Quitar capitlización",
"DE.Views.Toolbar.capBtnInsEquation": "Ecuación",
"DE.Views.Toolbar.capBtnInsFootnote": "Nota al pie",
"DE.Views.Toolbar.capBtnInsHeader": "Encabezado/Pie de página",
"DE.Views.Toolbar.capBtnInsImage": "Imagen",
"DE.Views.Toolbar.capBtnInsLink": "Hiperenlace",
"DE.Views.Toolbar.capBtnInsPagebreak": "Cambios de línea",
"DE.Views.Toolbar.capBtnInsShape": "Forma",
"DE.Views.Toolbar.capBtnInsTable": "Tabla",
"DE.Views.Toolbar.capBtnInsTextart": "Texto Arte",
"DE.Views.Toolbar.capBtnInsTextbox": "Cuadro de Texto",
"DE.Views.Toolbar.capBtnMargins": "Márgenes",
"DE.Views.Toolbar.capBtnPageOrient": "Orientación",
"DE.Views.Toolbar.capBtnPageSize": "Tamaño",
"DE.Views.Toolbar.capImgAlign": "Alinear",
"DE.Views.Toolbar.capImgBackward": "Enviar atrás",
"DE.Views.Toolbar.capImgForward": "Una capa adelante",
"DE.Views.Toolbar.capImgGroup": "Agrupar",
"DE.Views.Toolbar.capImgWrapping": "Ajustando",
"DE.Views.Toolbar.mniCustomTable": "Insertar tabla personalizada", "DE.Views.Toolbar.mniCustomTable": "Insertar tabla personalizada",
"DE.Views.Toolbar.mniDelFootnote": "Eliminar todas las notas al pie de página", "DE.Views.Toolbar.mniDelFootnote": "Eliminar todas las notas al pie de página",
"DE.Views.Toolbar.mniEditDropCap": "Ajustes de letra capital", "DE.Views.Toolbar.mniEditDropCap": "Ajustes de letra capital",
@ -1538,6 +1653,11 @@
"DE.Views.Toolbar.textSubscript": "Subíndice", "DE.Views.Toolbar.textSubscript": "Subíndice",
"DE.Views.Toolbar.textSuperscript": "Sobreíndice", "DE.Views.Toolbar.textSuperscript": "Sobreíndice",
"DE.Views.Toolbar.textSurface": "Superficie", "DE.Views.Toolbar.textSurface": "Superficie",
"DE.Views.Toolbar.textTabFile": "Archivo",
"DE.Views.Toolbar.textTabHome": "Inicio",
"DE.Views.Toolbar.textTabInsert": "Insertar",
"DE.Views.Toolbar.textTabLayout": "Diseño",
"DE.Views.Toolbar.textTabReview": "Revisar",
"DE.Views.Toolbar.textTitleError": "Error", "DE.Views.Toolbar.textTitleError": "Error",
"DE.Views.Toolbar.textToCurrent": "A la posición actual", "DE.Views.Toolbar.textToCurrent": "A la posición actual",
"DE.Views.Toolbar.textTop": "Top: ", "DE.Views.Toolbar.textTop": "Top: ",
@ -1560,10 +1680,13 @@
"DE.Views.Toolbar.tipDropCap": "Insertar letra capital", "DE.Views.Toolbar.tipDropCap": "Insertar letra capital",
"DE.Views.Toolbar.tipEditHeader": "Editar encabezado y pie de página", "DE.Views.Toolbar.tipEditHeader": "Editar encabezado y pie de página",
"DE.Views.Toolbar.tipFontColor": "Color de letra", "DE.Views.Toolbar.tipFontColor": "Color de letra",
"DE.Views.Toolbar.tipFontName": "Nombre de letra", "DE.Views.Toolbar.tipFontName": "Tipo de letra",
"DE.Views.Toolbar.tipFontSize": "Tamaño de letra", "DE.Views.Toolbar.tipFontSize": "Tamaño de letra",
"DE.Views.Toolbar.tipHAligh": "Alineación horizontal", "DE.Views.Toolbar.tipHAligh": "Alineación horizontal",
"DE.Views.Toolbar.tipHighlightColor": "Color de resaltado", "DE.Views.Toolbar.tipHighlightColor": "Color de resaltado",
"DE.Views.Toolbar.tipImgAlign": "Alinear objetos",
"DE.Views.Toolbar.tipImgGroup": "Agrupar objetos",
"DE.Views.Toolbar.tipImgWrapping": "Ajustar texto",
"DE.Views.Toolbar.tipIncFont": "Aumentar tamaño de letra", "DE.Views.Toolbar.tipIncFont": "Aumentar tamaño de letra",
"DE.Views.Toolbar.tipIncPrLeft": "Aumentar sangría", "DE.Views.Toolbar.tipIncPrLeft": "Aumentar sangría",
"DE.Views.Toolbar.tipInsertChart": "Insertar gráfico", "DE.Views.Toolbar.tipInsertChart": "Insertar gráfico",
@ -1574,6 +1697,7 @@
"DE.Views.Toolbar.tipInsertShape": "Insertar autoforma", "DE.Views.Toolbar.tipInsertShape": "Insertar autoforma",
"DE.Views.Toolbar.tipInsertTable": "Insertar tabla", "DE.Views.Toolbar.tipInsertTable": "Insertar tabla",
"DE.Views.Toolbar.tipInsertText": "Insertar texto", "DE.Views.Toolbar.tipInsertText": "Insertar texto",
"DE.Views.Toolbar.tipInsertTextArt": "Insertar Texto Arte",
"DE.Views.Toolbar.tipLineSpace": "Espaciado de línea de párrafo", "DE.Views.Toolbar.tipLineSpace": "Espaciado de línea de párrafo",
"DE.Views.Toolbar.tipMailRecepients": "Combinación de Correspondencia", "DE.Views.Toolbar.tipMailRecepients": "Combinación de Correspondencia",
"DE.Views.Toolbar.tipMarkers": "Viñetas", "DE.Views.Toolbar.tipMarkers": "Viñetas",
@ -1591,6 +1715,8 @@
"DE.Views.Toolbar.tipRedo": "Rehacer", "DE.Views.Toolbar.tipRedo": "Rehacer",
"DE.Views.Toolbar.tipSave": "Guardar", "DE.Views.Toolbar.tipSave": "Guardar",
"DE.Views.Toolbar.tipSaveCoauth": "Guarde los cambios para que otros usuarios los puedan ver.", "DE.Views.Toolbar.tipSaveCoauth": "Guarde los cambios para que otros usuarios los puedan ver.",
"DE.Views.Toolbar.tipSendBackward": "Una capa hacia abajo",
"DE.Views.Toolbar.tipSendForward": "Traer al frente",
"DE.Views.Toolbar.tipShowHiddenChars": "Caracteres no imprimibles", "DE.Views.Toolbar.tipShowHiddenChars": "Caracteres no imprimibles",
"DE.Views.Toolbar.tipSynchronize": "El documento ha sido cambiado por otro usuario. Por favor haga clic para guardar sus cambios y recargue las actualizaciones.", "DE.Views.Toolbar.tipSynchronize": "El documento ha sido cambiado por otro usuario. Por favor haga clic para guardar sus cambios y recargue las actualizaciones.",
"DE.Views.Toolbar.tipUndo": "Deshacer", "DE.Views.Toolbar.tipUndo": "Deshacer",

View file

@ -121,6 +121,7 @@
"Common.Views.Comments.textComments": "Commentaires", "Common.Views.Comments.textComments": "Commentaires",
"Common.Views.Comments.textEdit": "Modifier", "Common.Views.Comments.textEdit": "Modifier",
"Common.Views.Comments.textEnterCommentHint": "Entrez votre commentaire ici", "Common.Views.Comments.textEnterCommentHint": "Entrez votre commentaire ici",
"Common.Views.Comments.textHintAddComment": "Ajouter un commentaire",
"Common.Views.Comments.textOpenAgain": "Ouvrir à nouveau", "Common.Views.Comments.textOpenAgain": "Ouvrir à nouveau",
"Common.Views.Comments.textReply": "Répondre", "Common.Views.Comments.textReply": "Répondre",
"Common.Views.Comments.textResolve": "Résoudre", "Common.Views.Comments.textResolve": "Résoudre",
@ -140,6 +141,9 @@
"Common.Views.ExternalMergeEditor.textSave": "Enregistrer et quitter", "Common.Views.ExternalMergeEditor.textSave": "Enregistrer et quitter",
"Common.Views.ExternalMergeEditor.textTitle": "Destinataires de fusion et publipostage", "Common.Views.ExternalMergeEditor.textTitle": "Destinataires de fusion et publipostage",
"Common.Views.Header.textBack": "Aller aux Documents", "Common.Views.Header.textBack": "Aller aux Documents",
"Common.Views.Header.textSaveBegin": "Enregistrement en cours...",
"Common.Views.Header.tipDownload": "Télécharger le fichier",
"Common.Views.Header.txtAccessRights": "Modifier les droits d'accès",
"Common.Views.Header.txtRename": "Renommer", "Common.Views.Header.txtRename": "Renommer",
"Common.Views.History.textCloseHistory": "Fermer l'historique", "Common.Views.History.textCloseHistory": "Fermer l'historique",
"Common.Views.History.textHide": "Réduire", "Common.Views.History.textHide": "Réduire",
@ -166,26 +170,47 @@
"Common.Views.OpenDialog.cancelButtonText": "Annuler", "Common.Views.OpenDialog.cancelButtonText": "Annuler",
"Common.Views.OpenDialog.okButtonText": "OK", "Common.Views.OpenDialog.okButtonText": "OK",
"Common.Views.OpenDialog.txtEncoding": "Codage ", "Common.Views.OpenDialog.txtEncoding": "Codage ",
"Common.Views.OpenDialog.txtIncorrectPwd": "Le mot de passe est incorrect.",
"Common.Views.OpenDialog.txtPassword": "Mot de passe", "Common.Views.OpenDialog.txtPassword": "Mot de passe",
"Common.Views.OpenDialog.txtTitle": "Choisir %1 des options ", "Common.Views.OpenDialog.txtTitle": "Choisir %1 des options ",
"Common.Views.OpenDialog.txtTitleProtected": "Fichier protégé", "Common.Views.OpenDialog.txtTitleProtected": "Fichier protégé",
"Common.Views.PasswordDialog.txtDescription": "Un mot de passe est requis pour ouvrir ce document",
"Common.Views.PluginDlg.textLoading": "Chargement", "Common.Views.PluginDlg.textLoading": "Chargement",
"Common.Views.Plugins.strPlugins": "Plug-ins", "Common.Views.Plugins.strPlugins": "Plug-ins",
"Common.Views.Plugins.textLoading": "Chargement", "Common.Views.Plugins.textLoading": "Chargement",
"Common.Views.Plugins.textStart": "Démarrer", "Common.Views.Plugins.textStart": "Démarrer",
"Common.Views.Protection.hintSignature": "Ajouter une signature électronique ou",
"Common.Views.Protection.txtAddPwd": "Ajouter un mot de passe",
"Common.Views.Protection.txtInvisibleSignature": "Ajouter une signature électronique",
"Common.Views.RenameDialog.cancelButtonText": "Annuler", "Common.Views.RenameDialog.cancelButtonText": "Annuler",
"Common.Views.RenameDialog.okButtonText": "Ok", "Common.Views.RenameDialog.okButtonText": "Ok",
"Common.Views.RenameDialog.textName": "Nom de fichier", "Common.Views.RenameDialog.textName": "Nom de fichier",
"Common.Views.RenameDialog.txtInvalidName": "Un nom de fichier ne peut pas contenir les caractères suivants :", "Common.Views.RenameDialog.txtInvalidName": "Un nom de fichier ne peut pas contenir les caractères suivants :",
"Common.Views.ReviewChanges.tipAcceptCurrent": "Accepter la modification actuelle",
"Common.Views.ReviewChanges.tipReviewView": "Sélectionner le mode souhaité.",
"Common.Views.ReviewChanges.tipSetDocLang": "Définir la langue du document",
"Common.Views.ReviewChanges.txtAccept": "Accepter", "Common.Views.ReviewChanges.txtAccept": "Accepter",
"Common.Views.ReviewChanges.txtAcceptAll": "Accepter toutes les modifications", "Common.Views.ReviewChanges.txtAcceptAll": "Accepter toutes les modifications",
"Common.Views.ReviewChanges.txtAcceptChanges": "Accepter les modifications",
"Common.Views.ReviewChanges.txtAcceptCurrent": "Accepter la modification actuelle", "Common.Views.ReviewChanges.txtAcceptCurrent": "Accepter la modification actuelle",
"Common.Views.ReviewChanges.txtClose": "Fermer", "Common.Views.ReviewChanges.txtClose": "Fermer",
"Common.Views.ReviewChanges.txtDocLang": "Langue",
"Common.Views.ReviewChanges.txtNext": "À la modification prochaine", "Common.Views.ReviewChanges.txtNext": "À la modification prochaine",
"Common.Views.ReviewChanges.txtPrev": "À la modification précédente", "Common.Views.ReviewChanges.txtPrev": "À la modification précédente",
"Common.Views.ReviewChanges.txtReject": "Rejeter", "Common.Views.ReviewChanges.txtReject": "Rejeter",
"Common.Views.ReviewChanges.txtRejectAll": "Refuser tous les changements", "Common.Views.ReviewChanges.txtRejectAll": "Refuser tous les changements",
"Common.Views.ReviewChanges.txtRejectCurrent": "Refuser des changements actuels", "Common.Views.ReviewChanges.txtRejectCurrent": "Refuser des changements actuels",
"Common.Views.ReviewChangesDialog.txtAccept": "Accepter",
"Common.Views.ReviewChangesDialog.txtAcceptAll": "Accepter toutes les modifications",
"Common.Views.ReviewChangesDialog.txtAcceptCurrent": "Accepter la modification actuelle",
"Common.Views.SignDialog.cancelButtonText": "Annuler",
"Common.Views.SignDialog.textBold": "Gras",
"Common.Views.SignDialog.textChange": "Modifier",
"Common.Views.SignDialog.textItalic": "Italique",
"Common.Views.SignDialog.tipFontName": "Nom de la police",
"Common.Views.SignDialog.tipFontSize": "Taille de la police",
"Common.Views.SignSettingsDialog.cancelButtonText": "Annuler",
"Common.Views.SignSettingsDialog.txtEmpty": "Ce champ est obligatoire.",
"DE.Controllers.LeftMenu.leavePageText": "Toutes les modifications non enregistrées dans ce document seront perdus.<br> Cliquez sur \"Annuler\", puis \"Enregistrer\" pour les sauver. Cliquez sur \"OK\" pour annuler toutes les modifications non enregistrées.", "DE.Controllers.LeftMenu.leavePageText": "Toutes les modifications non enregistrées dans ce document seront perdus.<br> Cliquez sur \"Annuler\", puis \"Enregistrer\" pour les sauver. Cliquez sur \"OK\" pour annuler toutes les modifications non enregistrées.",
"DE.Controllers.LeftMenu.newDocumentTitle": "Document sans nom", "DE.Controllers.LeftMenu.newDocumentTitle": "Document sans nom",
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Avertissement", "DE.Controllers.LeftMenu.notcriticalErrorTitle": "Avertissement",
@ -275,6 +300,7 @@
"DE.Controllers.Main.titleLicenseExp": "Licence expirée", "DE.Controllers.Main.titleLicenseExp": "Licence expirée",
"DE.Controllers.Main.titleServerVersion": "L'éditeur est mis à jour", "DE.Controllers.Main.titleServerVersion": "L'éditeur est mis à jour",
"DE.Controllers.Main.titleUpdateVersion": "Version a été modifiée", "DE.Controllers.Main.titleUpdateVersion": "Version a été modifiée",
"DE.Controllers.Main.txtAbove": "Au-dessus",
"DE.Controllers.Main.txtArt": "Votre texte ici", "DE.Controllers.Main.txtArt": "Votre texte ici",
"DE.Controllers.Main.txtBasicShapes": "Formes de base", "DE.Controllers.Main.txtBasicShapes": "Formes de base",
"DE.Controllers.Main.txtButtons": "Boutons", "DE.Controllers.Main.txtButtons": "Boutons",
@ -283,13 +309,28 @@
"DE.Controllers.Main.txtDiagramTitle": "Titre du graphique", "DE.Controllers.Main.txtDiagramTitle": "Titre du graphique",
"DE.Controllers.Main.txtEditingMode": "Définissez le mode d'édition...", "DE.Controllers.Main.txtEditingMode": "Définissez le mode d'édition...",
"DE.Controllers.Main.txtErrorLoadHistory": "Chargement de histoire a échoué", "DE.Controllers.Main.txtErrorLoadHistory": "Chargement de histoire a échoué",
"DE.Controllers.Main.txtEvenPage": "Page paire",
"DE.Controllers.Main.txtFiguredArrows": "Flèches figurées", "DE.Controllers.Main.txtFiguredArrows": "Flèches figurées",
"DE.Controllers.Main.txtFirstPage": "Première Page",
"DE.Controllers.Main.txtFooter": "Pied de page",
"DE.Controllers.Main.txtHeader": "En-tête",
"DE.Controllers.Main.txtLines": "Lignes", "DE.Controllers.Main.txtLines": "Lignes",
"DE.Controllers.Main.txtMath": "Maths", "DE.Controllers.Main.txtMath": "Maths",
"DE.Controllers.Main.txtNeedSynchronize": "Vous avez des mises à jour", "DE.Controllers.Main.txtNeedSynchronize": "Vous avez des mises à jour",
"DE.Controllers.Main.txtOddPage": "Page impaire",
"DE.Controllers.Main.txtRectangles": "Rectangles", "DE.Controllers.Main.txtRectangles": "Rectangles",
"DE.Controllers.Main.txtSeries": "Série", "DE.Controllers.Main.txtSeries": "Série",
"DE.Controllers.Main.txtStarsRibbons": "Étoiles et rubans", "DE.Controllers.Main.txtStarsRibbons": "Étoiles et rubans",
"DE.Controllers.Main.txtStyle_Heading_1": "Titre 1",
"DE.Controllers.Main.txtStyle_Heading_2": "Titre 2",
"DE.Controllers.Main.txtStyle_Heading_3": "Titre 3",
"DE.Controllers.Main.txtStyle_Heading_4": "Titre 4",
"DE.Controllers.Main.txtStyle_Heading_5": "Titre 5",
"DE.Controllers.Main.txtStyle_Heading_6": "Titre 6",
"DE.Controllers.Main.txtStyle_Heading_7": "Titre 7",
"DE.Controllers.Main.txtStyle_Heading_8": "Titre 8",
"DE.Controllers.Main.txtStyle_Heading_9": "Titre 9",
"DE.Controllers.Main.txtStyle_Normal": "Normal",
"DE.Controllers.Main.txtXAxis": "Axe X", "DE.Controllers.Main.txtXAxis": "Axe X",
"DE.Controllers.Main.txtYAxis": "Axe Y", "DE.Controllers.Main.txtYAxis": "Axe Y",
"DE.Controllers.Main.unknownErrorText": "Erreur inconnue.", "DE.Controllers.Main.unknownErrorText": "Erreur inconnue.",
@ -668,6 +709,9 @@
"DE.Views.ChartSettings.txtTight": "Rapproché", "DE.Views.ChartSettings.txtTight": "Rapproché",
"DE.Views.ChartSettings.txtTitle": "Graphique", "DE.Views.ChartSettings.txtTitle": "Graphique",
"DE.Views.ChartSettings.txtTopAndBottom": "Haut et bas", "DE.Views.ChartSettings.txtTopAndBottom": "Haut et bas",
"DE.Views.CustomColumnsDialog.cancelButtonText": "Annuler",
"DE.Views.CustomColumnsDialog.textColumns": "Nombre de colonnes",
"DE.Views.CustomColumnsDialog.textTitle": "Colonnes",
"DE.Views.DocumentHolder.aboveText": "Au-dessus", "DE.Views.DocumentHolder.aboveText": "Au-dessus",
"DE.Views.DocumentHolder.addCommentText": "Ajouter un commentaire", "DE.Views.DocumentHolder.addCommentText": "Ajouter un commentaire",
"DE.Views.DocumentHolder.advancedFrameText": "Paramètres avancés du cadre", "DE.Views.DocumentHolder.advancedFrameText": "Paramètres avancés du cadre",
@ -750,6 +794,7 @@
"DE.Views.DocumentHolder.textShapeAlignMiddle": "Aligner au milieu", "DE.Views.DocumentHolder.textShapeAlignMiddle": "Aligner au milieu",
"DE.Views.DocumentHolder.textShapeAlignRight": "Aligner à droite", "DE.Views.DocumentHolder.textShapeAlignRight": "Aligner à droite",
"DE.Views.DocumentHolder.textShapeAlignTop": "Aligner en haut", "DE.Views.DocumentHolder.textShapeAlignTop": "Aligner en haut",
"DE.Views.DocumentHolder.textUndo": "Annuler",
"DE.Views.DocumentHolder.textWrap": "Style d'habillage", "DE.Views.DocumentHolder.textWrap": "Style d'habillage",
"DE.Views.DocumentHolder.tipIsLocked": "Cet élément est en cours d'édition par un autre utilisateur.", "DE.Views.DocumentHolder.tipIsLocked": "Cet élément est en cours d'édition par un autre utilisateur.",
"DE.Views.DocumentHolder.txtAddBottom": "Ajouter bordure inférieure", "DE.Views.DocumentHolder.txtAddBottom": "Ajouter bordure inférieure",
@ -982,6 +1027,7 @@
"DE.Views.ImageSettings.textAdvanced": "Afficher les paramètres avancés", "DE.Views.ImageSettings.textAdvanced": "Afficher les paramètres avancés",
"DE.Views.ImageSettings.textEdit": "Modifier", "DE.Views.ImageSettings.textEdit": "Modifier",
"DE.Views.ImageSettings.textEditObject": "Modifier l'objet", "DE.Views.ImageSettings.textEditObject": "Modifier l'objet",
"DE.Views.ImageSettings.textFitMargins": "Ajuster aux marges",
"DE.Views.ImageSettings.textFromFile": "Depuis un fichier", "DE.Views.ImageSettings.textFromFile": "Depuis un fichier",
"DE.Views.ImageSettings.textFromUrl": "D'une URL", "DE.Views.ImageSettings.textFromUrl": "D'une URL",
"DE.Views.ImageSettings.textHeight": "Hauteur", "DE.Views.ImageSettings.textHeight": "Hauteur",
@ -1440,6 +1486,16 @@
"DE.Views.TextArtSettings.textTemplate": "Modèle", "DE.Views.TextArtSettings.textTemplate": "Modèle",
"DE.Views.TextArtSettings.textTransform": "Transformer", "DE.Views.TextArtSettings.textTransform": "Transformer",
"DE.Views.TextArtSettings.txtNoBorders": "Pas de ligne", "DE.Views.TextArtSettings.txtNoBorders": "Pas de ligne",
"DE.Views.Toolbar.capBtnColumns": "Colonnes",
"DE.Views.Toolbar.capBtnComment": "Commentaire",
"DE.Views.Toolbar.capBtnInsChart": "Graphique",
"DE.Views.Toolbar.capBtnInsEquation": "Équation",
"DE.Views.Toolbar.capBtnInsFootnote": "Note de bas de page",
"DE.Views.Toolbar.capBtnInsHeader": "En-tête/Pied de page",
"DE.Views.Toolbar.capBtnMargins": "Marges",
"DE.Views.Toolbar.capBtnPageSize": "Taille",
"DE.Views.Toolbar.capImgAlign": "Aligner",
"DE.Views.Toolbar.capImgGroup": "Grouper",
"DE.Views.Toolbar.mniCustomTable": "Inserer un tableau personnalisé", "DE.Views.Toolbar.mniCustomTable": "Inserer un tableau personnalisé",
"DE.Views.Toolbar.mniDelFootnote": "Supprimer les notes de bas de page", "DE.Views.Toolbar.mniDelFootnote": "Supprimer les notes de bas de page",
"DE.Views.Toolbar.mniEditDropCap": "Paramètres de la lettrine", "DE.Views.Toolbar.mniEditDropCap": "Paramètres de la lettrine",
@ -1459,6 +1515,7 @@
"DE.Views.Toolbar.textBottom": "En bas: ", "DE.Views.Toolbar.textBottom": "En bas: ",
"DE.Views.Toolbar.textCharts": "Graphiques", "DE.Views.Toolbar.textCharts": "Graphiques",
"DE.Views.Toolbar.textColumn": "Colonne", "DE.Views.Toolbar.textColumn": "Colonne",
"DE.Views.Toolbar.textColumnsCustom": "Colonnes personnalisées",
"DE.Views.Toolbar.textColumnsLeft": "A gauche", "DE.Views.Toolbar.textColumnsLeft": "A gauche",
"DE.Views.Toolbar.textColumnsOne": "Un", "DE.Views.Toolbar.textColumnsOne": "Un",
"DE.Views.Toolbar.textColumnsRight": "A droite", "DE.Views.Toolbar.textColumnsRight": "A droite",
@ -1510,6 +1567,7 @@
"DE.Views.Toolbar.textStyleMenuUpdate": "Mettre à jour selon la sélection", "DE.Views.Toolbar.textStyleMenuUpdate": "Mettre à jour selon la sélection",
"DE.Views.Toolbar.textSubscript": "Indice", "DE.Views.Toolbar.textSubscript": "Indice",
"DE.Views.Toolbar.textSuperscript": "Exposant", "DE.Views.Toolbar.textSuperscript": "Exposant",
"DE.Views.Toolbar.textTabFile": "Fichier",
"DE.Views.Toolbar.textTitleError": "Erreur", "DE.Views.Toolbar.textTitleError": "Erreur",
"DE.Views.Toolbar.textToCurrent": "À la position actuelle", "DE.Views.Toolbar.textToCurrent": "À la position actuelle",
"DE.Views.Toolbar.textTop": "En haut: ", "DE.Views.Toolbar.textTop": "En haut: ",
@ -1536,6 +1594,8 @@
"DE.Views.Toolbar.tipFontSize": "Taille de la police", "DE.Views.Toolbar.tipFontSize": "Taille de la police",
"DE.Views.Toolbar.tipHAligh": "Alignement horizontal", "DE.Views.Toolbar.tipHAligh": "Alignement horizontal",
"DE.Views.Toolbar.tipHighlightColor": "Couleur de surlignage", "DE.Views.Toolbar.tipHighlightColor": "Couleur de surlignage",
"DE.Views.Toolbar.tipImgAlign": "Aligner les objets",
"DE.Views.Toolbar.tipImgGroup": "Grouper les objets",
"DE.Views.Toolbar.tipIncFont": "Augmenter la taille de la police", "DE.Views.Toolbar.tipIncFont": "Augmenter la taille de la police",
"DE.Views.Toolbar.tipIncPrLeft": "Augmenter le retrait", "DE.Views.Toolbar.tipIncPrLeft": "Augmenter le retrait",
"DE.Views.Toolbar.tipInsertChart": "Insérer un graphique", "DE.Views.Toolbar.tipInsertChart": "Insérer un graphique",
@ -1563,6 +1623,7 @@
"DE.Views.Toolbar.tipRedo": "Rétablir", "DE.Views.Toolbar.tipRedo": "Rétablir",
"DE.Views.Toolbar.tipSave": "Enregistrer", "DE.Views.Toolbar.tipSave": "Enregistrer",
"DE.Views.Toolbar.tipSaveCoauth": "Enregistrez vos modifications pour que les autres utilisateurs puissent les voir.", "DE.Views.Toolbar.tipSaveCoauth": "Enregistrez vos modifications pour que les autres utilisateurs puissent les voir.",
"DE.Views.Toolbar.tipSendBackward": "Envoyer vers l'arrière.",
"DE.Views.Toolbar.tipShowHiddenChars": "Caractères non imprimables", "DE.Views.Toolbar.tipShowHiddenChars": "Caractères non imprimables",
"DE.Views.Toolbar.tipSynchronize": "Le document a été modifié par un autre utilisateur. Cliquez pour enregistrer vos modifications et recharger des mises à jour.", "DE.Views.Toolbar.tipSynchronize": "Le document a été modifié par un autre utilisateur. Cliquez pour enregistrer vos modifications et recharger des mises à jour.",
"DE.Views.Toolbar.tipUndo": "Annuler", "DE.Views.Toolbar.tipUndo": "Annuler",

View file

@ -383,7 +383,7 @@
"DE.Controllers.Main.txtOnPage": "sulla pagina", "DE.Controllers.Main.txtOnPage": "sulla pagina",
"DE.Controllers.Main.txtRectangles": "Rettangoli", "DE.Controllers.Main.txtRectangles": "Rettangoli",
"DE.Controllers.Main.txtSameAsPrev": "come in precedenza", "DE.Controllers.Main.txtSameAsPrev": "come in precedenza",
"DE.Controllers.Main.txtSection": "Sezione", "DE.Controllers.Main.txtSection": "-Sezione",
"DE.Controllers.Main.txtSeries": "Serie", "DE.Controllers.Main.txtSeries": "Serie",
"DE.Controllers.Main.txtStarsRibbons": "Stelle e nastri", "DE.Controllers.Main.txtStarsRibbons": "Stelle e nastri",
"DE.Controllers.Main.txtStyle_Heading_1": "Titolo 1", "DE.Controllers.Main.txtStyle_Heading_1": "Titolo 1",
@ -783,6 +783,13 @@
"DE.Views.ChartSettings.txtTight": "Ravvicinato", "DE.Views.ChartSettings.txtTight": "Ravvicinato",
"DE.Views.ChartSettings.txtTitle": "Grafico", "DE.Views.ChartSettings.txtTitle": "Grafico",
"DE.Views.ChartSettings.txtTopAndBottom": "Sopra e sotto", "DE.Views.ChartSettings.txtTopAndBottom": "Sopra e sotto",
"DE.Views.ControlSettingsDialog.cancelButtonText": "Annulla",
"DE.Views.ControlSettingsDialog.okButtonText": "OK",
"DE.Views.ControlSettingsDialog.textName": "Titolo",
"DE.Views.ControlSettingsDialog.textTag": "Etichetta",
"DE.Views.ControlSettingsDialog.textTitle": "Impostazioni di controllo del contenuto",
"DE.Views.ControlSettingsDialog.txtLockDelete": "Il controllo del contenuto non può essere eliminato",
"DE.Views.ControlSettingsDialog.txtLockEdit": "I contenuti non possono essere modificati",
"DE.Views.CustomColumnsDialog.cancelButtonText": "Annulla", "DE.Views.CustomColumnsDialog.cancelButtonText": "Annulla",
"DE.Views.CustomColumnsDialog.okButtonText": "OK", "DE.Views.CustomColumnsDialog.okButtonText": "OK",
"DE.Views.CustomColumnsDialog.textColumns": "Numero di colonne", "DE.Views.CustomColumnsDialog.textColumns": "Numero di colonne",
@ -865,10 +872,14 @@
"DE.Views.DocumentHolder.textArrangeFront": "Porta in primo piano", "DE.Views.DocumentHolder.textArrangeFront": "Porta in primo piano",
"DE.Views.DocumentHolder.textCopy": "Copia", "DE.Views.DocumentHolder.textCopy": "Copia",
"DE.Views.DocumentHolder.textCut": "Taglia", "DE.Views.DocumentHolder.textCut": "Taglia",
"DE.Views.DocumentHolder.textEditControls": "Impostazioni di controllo del contenuto",
"DE.Views.DocumentHolder.textEditWrapBoundary": "Modifica bordi disposizione testo", "DE.Views.DocumentHolder.textEditWrapBoundary": "Modifica bordi disposizione testo",
"DE.Views.DocumentHolder.textNextPage": "Pagina successiva", "DE.Views.DocumentHolder.textNextPage": "Pagina successiva",
"DE.Views.DocumentHolder.textPaste": "Incolla", "DE.Views.DocumentHolder.textPaste": "Incolla",
"DE.Views.DocumentHolder.textPrevPage": "Pagina precedente", "DE.Views.DocumentHolder.textPrevPage": "Pagina precedente",
"DE.Views.DocumentHolder.textRemove": "Elimina",
"DE.Views.DocumentHolder.textRemoveControl": "Rimuovi il controllo del contenuto",
"DE.Views.DocumentHolder.textSettings": "Impostazioni",
"DE.Views.DocumentHolder.textShapeAlignBottom": "Allinea in basso", "DE.Views.DocumentHolder.textShapeAlignBottom": "Allinea in basso",
"DE.Views.DocumentHolder.textShapeAlignCenter": "Allinea al centro", "DE.Views.DocumentHolder.textShapeAlignCenter": "Allinea al centro",
"DE.Views.DocumentHolder.textShapeAlignLeft": "Allinea a sinistra", "DE.Views.DocumentHolder.textShapeAlignLeft": "Allinea a sinistra",
@ -1045,13 +1056,8 @@
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persone con diritti", "DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persone con diritti",
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Avviso", "DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Avviso",
"DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "con Password", "DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "con Password",
"DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Firme non valide",
"DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Aggiungi firma digitale invisibile",
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Proteggi Documento", "DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Proteggi Documento",
"DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Firme Richieste",
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "con Firma", "DE.Views.FileMenuPanels.ProtectDoc.strSignature": "con Firma",
"DE.Views.FileMenuPanels.ProtectDoc.strValid": "Firme valide",
"DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Aggiungi firma visibile",
"DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Modifica documento", "DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Modifica documento",
"DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "la modifica eliminerà le firme dal documento. <br>Sei sicuro di voler continuare?", "DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "la modifica eliminerà le firme dal documento. <br>Sei sicuro di voler continuare?",
"DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Questo documento è protetto con password", "DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Questo documento è protetto con password",
@ -1438,14 +1444,12 @@
"DE.Views.SignatureSettings.strDelete": "Rimuovi Firma", "DE.Views.SignatureSettings.strDelete": "Rimuovi Firma",
"DE.Views.SignatureSettings.strDetails": "Dettagli firma", "DE.Views.SignatureSettings.strDetails": "Dettagli firma",
"DE.Views.SignatureSettings.strInvalid": "Firme non valide", "DE.Views.SignatureSettings.strInvalid": "Firme non valide",
"DE.Views.SignatureSettings.strInvisibleSign": "Aggiungi firma digitale invisibile",
"DE.Views.SignatureSettings.strRequested": "Firme Richieste", "DE.Views.SignatureSettings.strRequested": "Firme Richieste",
"DE.Views.SignatureSettings.strSetup": "Impostazioni firma", "DE.Views.SignatureSettings.strSetup": "Impostazioni firma",
"DE.Views.SignatureSettings.strSign": "Firma", "DE.Views.SignatureSettings.strSign": "Firma",
"DE.Views.SignatureSettings.strSignature": "Firma", "DE.Views.SignatureSettings.strSignature": "Firma",
"DE.Views.SignatureSettings.strSigner": "Firmatario",
"DE.Views.SignatureSettings.strValid": "Firme valide", "DE.Views.SignatureSettings.strValid": "Firme valide",
"DE.Views.SignatureSettings.strView": "Visualizza",
"DE.Views.SignatureSettings.strVisibleSign": "Aggiungi firma visibile",
"DE.Views.SignatureSettings.txtContinueEditing": "Modifica comunque", "DE.Views.SignatureSettings.txtContinueEditing": "Modifica comunque",
"DE.Views.SignatureSettings.txtEditWarning": "la modifica eliminerà le firme dal documento. <br>Sei sicuro di voler continuare?", "DE.Views.SignatureSettings.txtEditWarning": "la modifica eliminerà le firme dal documento. <br>Sei sicuro di voler continuare?",
"DE.Views.SignatureSettings.txtRequestedSignatures": "Questo documento necessita di essere firmato", "DE.Views.SignatureSettings.txtRequestedSignatures": "Questo documento necessita di essere firmato",
@ -1610,6 +1614,7 @@
"DE.Views.Toolbar.capBtnColumns": "Colonne", "DE.Views.Toolbar.capBtnColumns": "Colonne",
"DE.Views.Toolbar.capBtnComment": "Commento", "DE.Views.Toolbar.capBtnComment": "Commento",
"DE.Views.Toolbar.capBtnInsChart": "Grafico", "DE.Views.Toolbar.capBtnInsChart": "Grafico",
"DE.Views.Toolbar.capBtnInsControls": "Controlli del contenuto",
"DE.Views.Toolbar.capBtnInsDropcap": "Capolettera", "DE.Views.Toolbar.capBtnInsDropcap": "Capolettera",
"DE.Views.Toolbar.capBtnInsEquation": "Equazione", "DE.Views.Toolbar.capBtnInsEquation": "Equazione",
"DE.Views.Toolbar.capBtnInsFootnote": "Note a piè di pagina", "DE.Views.Toolbar.capBtnInsFootnote": "Note a piè di pagina",
@ -1631,6 +1636,7 @@
"DE.Views.Toolbar.capImgWrapping": "Disposizione", "DE.Views.Toolbar.capImgWrapping": "Disposizione",
"DE.Views.Toolbar.mniCustomTable": "Inserisci tabella personalizzata", "DE.Views.Toolbar.mniCustomTable": "Inserisci tabella personalizzata",
"DE.Views.Toolbar.mniDelFootnote": "Elimina tutte le note a piè di pagina", "DE.Views.Toolbar.mniDelFootnote": "Elimina tutte le note a piè di pagina",
"DE.Views.Toolbar.mniEditControls": "Impostazioni di controllo",
"DE.Views.Toolbar.mniEditDropCap": "Impostazioni capolettera", "DE.Views.Toolbar.mniEditDropCap": "Impostazioni capolettera",
"DE.Views.Toolbar.mniEditFooter": "Modifica piè di pagina", "DE.Views.Toolbar.mniEditFooter": "Modifica piè di pagina",
"DE.Views.Toolbar.mniEditHeader": "Modifica intestazione", "DE.Views.Toolbar.mniEditHeader": "Modifica intestazione",
@ -1687,8 +1693,11 @@
"DE.Views.Toolbar.textPageMarginsCustom": "Custom margins", "DE.Views.Toolbar.textPageMarginsCustom": "Custom margins",
"DE.Views.Toolbar.textPageSizeCustom": "Custom Page Size", "DE.Views.Toolbar.textPageSizeCustom": "Custom Page Size",
"DE.Views.Toolbar.textPie": "A torta", "DE.Views.Toolbar.textPie": "A torta",
"DE.Views.Toolbar.textPlainControl": "Inserisci il controllo del contenuto in testo normale",
"DE.Views.Toolbar.textPoint": "XY (A dispersione)", "DE.Views.Toolbar.textPoint": "XY (A dispersione)",
"DE.Views.Toolbar.textPortrait": "Verticale", "DE.Views.Toolbar.textPortrait": "Verticale",
"DE.Views.Toolbar.textRemoveControl": "Rimuovi il controllo del contenuto",
"DE.Views.Toolbar.textRichControl": "Inserisci il controllo del contenuto RTF",
"DE.Views.Toolbar.textRight": "Right: ", "DE.Views.Toolbar.textRight": "Right: ",
"DE.Views.Toolbar.textStock": "Azionario", "DE.Views.Toolbar.textStock": "Azionario",
"DE.Views.Toolbar.textStrikeout": "Barrato", "DE.Views.Toolbar.textStrikeout": "Barrato",
@ -1722,6 +1731,7 @@
"DE.Views.Toolbar.tipClearStyle": "Cancella stile", "DE.Views.Toolbar.tipClearStyle": "Cancella stile",
"DE.Views.Toolbar.tipColorSchemas": "Cambia combinazione colori", "DE.Views.Toolbar.tipColorSchemas": "Cambia combinazione colori",
"DE.Views.Toolbar.tipColumns": "Insert columns", "DE.Views.Toolbar.tipColumns": "Insert columns",
"DE.Views.Toolbar.tipControls": "Inserisci i controlli del contenuto",
"DE.Views.Toolbar.tipCopy": "Copia", "DE.Views.Toolbar.tipCopy": "Copia",
"DE.Views.Toolbar.tipCopyStyle": "Copia stile", "DE.Views.Toolbar.tipCopyStyle": "Copia stile",
"DE.Views.Toolbar.tipDecFont": "Riduci dimensione caratteri", "DE.Views.Toolbar.tipDecFont": "Riduci dimensione caratteri",

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -783,6 +783,14 @@
"DE.Views.ChartSettings.txtTight": "По контуру", "DE.Views.ChartSettings.txtTight": "По контуру",
"DE.Views.ChartSettings.txtTitle": "Диаграмма", "DE.Views.ChartSettings.txtTitle": "Диаграмма",
"DE.Views.ChartSettings.txtTopAndBottom": "Сверху и снизу", "DE.Views.ChartSettings.txtTopAndBottom": "Сверху и снизу",
"DE.Views.ControlSettingsDialog.cancelButtonText": "Отмена",
"DE.Views.ControlSettingsDialog.okButtonText": "Ok",
"DE.Views.ControlSettingsDialog.textLock": "Блокировка",
"DE.Views.ControlSettingsDialog.textName": "Заголовок",
"DE.Views.ControlSettingsDialog.textTag": "Тег",
"DE.Views.ControlSettingsDialog.textTitle": "Параметры элемента управления содержимым",
"DE.Views.ControlSettingsDialog.txtLockDelete": "Элемент управления содержимым нельзя удалить",
"DE.Views.ControlSettingsDialog.txtLockEdit": "Содержимое нельзя редактировать",
"DE.Views.CustomColumnsDialog.cancelButtonText": "Отмена", "DE.Views.CustomColumnsDialog.cancelButtonText": "Отмена",
"DE.Views.CustomColumnsDialog.okButtonText": "Ok", "DE.Views.CustomColumnsDialog.okButtonText": "Ok",
"DE.Views.CustomColumnsDialog.textColumns": "Количество колонок", "DE.Views.CustomColumnsDialog.textColumns": "Количество колонок",
@ -863,12 +871,17 @@
"DE.Views.DocumentHolder.textArrangeBackward": "Перенести назад", "DE.Views.DocumentHolder.textArrangeBackward": "Перенести назад",
"DE.Views.DocumentHolder.textArrangeForward": "Перенести вперед", "DE.Views.DocumentHolder.textArrangeForward": "Перенести вперед",
"DE.Views.DocumentHolder.textArrangeFront": "Перенести на передний план", "DE.Views.DocumentHolder.textArrangeFront": "Перенести на передний план",
"DE.Views.DocumentHolder.textContentControls": "Элемент управления содержимым",
"DE.Views.DocumentHolder.textCopy": "Копировать", "DE.Views.DocumentHolder.textCopy": "Копировать",
"DE.Views.DocumentHolder.textCut": "Вырезать", "DE.Views.DocumentHolder.textCut": "Вырезать",
"DE.Views.DocumentHolder.textEditControls": "Параметры элемента управления содержимым",
"DE.Views.DocumentHolder.textEditWrapBoundary": "Изменить границу обтекания", "DE.Views.DocumentHolder.textEditWrapBoundary": "Изменить границу обтекания",
"DE.Views.DocumentHolder.textNextPage": "Следующая страница", "DE.Views.DocumentHolder.textNextPage": "Следующая страница",
"DE.Views.DocumentHolder.textPaste": "Вставить", "DE.Views.DocumentHolder.textPaste": "Вставить",
"DE.Views.DocumentHolder.textPrevPage": "Предыдущая страница", "DE.Views.DocumentHolder.textPrevPage": "Предыдущая страница",
"DE.Views.DocumentHolder.textRemove": "Удалить",
"DE.Views.DocumentHolder.textRemoveControl": "Удалить элемент управления содержимым",
"DE.Views.DocumentHolder.textSettings": "Настройки",
"DE.Views.DocumentHolder.textShapeAlignBottom": "Выровнять по нижнему краю", "DE.Views.DocumentHolder.textShapeAlignBottom": "Выровнять по нижнему краю",
"DE.Views.DocumentHolder.textShapeAlignCenter": "Выровнять по центру", "DE.Views.DocumentHolder.textShapeAlignCenter": "Выровнять по центру",
"DE.Views.DocumentHolder.textShapeAlignLeft": "Выровнять по левому краю", "DE.Views.DocumentHolder.textShapeAlignLeft": "Выровнять по левому краю",
@ -1045,13 +1058,8 @@
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Люди, имеющие права", "DE.Views.FileMenuPanels.DocumentRights.txtRights": "Люди, имеющие права",
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Внимание", "DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Внимание",
"DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "C помощью пароля", "DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "C помощью пароля",
"DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Недействительные подписи",
"DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Добавить невидимую цифровую подпись",
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Защитить документ", "DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Защитить документ",
"DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Запрошенные подписи",
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "С помощью подписи", "DE.Views.FileMenuPanels.ProtectDoc.strSignature": "С помощью подписи",
"DE.Views.FileMenuPanels.ProtectDoc.strValid": "Действительные подписи",
"DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Добавить видимую цифровую подпись",
"DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Редактировать документ", "DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Редактировать документ",
"DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "При редактировании из документа будут удалены подписи.<br>Вы действительно хотите продолжить?", "DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "При редактировании из документа будут удалены подписи.<br>Вы действительно хотите продолжить?",
"DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Этот документ защищен паролем", "DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Этот документ защищен паролем",
@ -1438,14 +1446,12 @@
"DE.Views.SignatureSettings.strDelete": "Удалить подпись", "DE.Views.SignatureSettings.strDelete": "Удалить подпись",
"DE.Views.SignatureSettings.strDetails": "Состав подписи", "DE.Views.SignatureSettings.strDetails": "Состав подписи",
"DE.Views.SignatureSettings.strInvalid": "Недействительные подписи", "DE.Views.SignatureSettings.strInvalid": "Недействительные подписи",
"DE.Views.SignatureSettings.strInvisibleSign": "Добавить невидимую цифровую подпись",
"DE.Views.SignatureSettings.strRequested": "Запрошенные подписи", "DE.Views.SignatureSettings.strRequested": "Запрошенные подписи",
"DE.Views.SignatureSettings.strSetup": "Настройка подписи", "DE.Views.SignatureSettings.strSetup": "Настройка подписи",
"DE.Views.SignatureSettings.strSign": "Подписать", "DE.Views.SignatureSettings.strSign": "Подписать",
"DE.Views.SignatureSettings.strSignature": "Подпись", "DE.Views.SignatureSettings.strSignature": "Подпись",
"DE.Views.SignatureSettings.strSigner": "Подписывающий",
"DE.Views.SignatureSettings.strValid": "Действительные подписи", "DE.Views.SignatureSettings.strValid": "Действительные подписи",
"DE.Views.SignatureSettings.strView": "Просмотр",
"DE.Views.SignatureSettings.strVisibleSign": "Добавить видимую цифровую подпись",
"DE.Views.SignatureSettings.txtContinueEditing": "Все равно редактировать", "DE.Views.SignatureSettings.txtContinueEditing": "Все равно редактировать",
"DE.Views.SignatureSettings.txtEditWarning": "При редактировании из документа будут удалены подписи.<br>Вы действительно хотите продолжить?", "DE.Views.SignatureSettings.txtEditWarning": "При редактировании из документа будут удалены подписи.<br>Вы действительно хотите продолжить?",
"DE.Views.SignatureSettings.txtRequestedSignatures": "Этот документ требуется подписать.", "DE.Views.SignatureSettings.txtRequestedSignatures": "Этот документ требуется подписать.",
@ -1610,6 +1616,7 @@
"DE.Views.Toolbar.capBtnColumns": "Колонки", "DE.Views.Toolbar.capBtnColumns": "Колонки",
"DE.Views.Toolbar.capBtnComment": "Комментарий", "DE.Views.Toolbar.capBtnComment": "Комментарий",
"DE.Views.Toolbar.capBtnInsChart": "Диаграмма", "DE.Views.Toolbar.capBtnInsChart": "Диаграмма",
"DE.Views.Toolbar.capBtnInsControls": "Элементы управления содержимым",
"DE.Views.Toolbar.capBtnInsDropcap": "Буквица", "DE.Views.Toolbar.capBtnInsDropcap": "Буквица",
"DE.Views.Toolbar.capBtnInsEquation": "Формула", "DE.Views.Toolbar.capBtnInsEquation": "Формула",
"DE.Views.Toolbar.capBtnInsFootnote": "Сноска", "DE.Views.Toolbar.capBtnInsFootnote": "Сноска",
@ -1631,6 +1638,7 @@
"DE.Views.Toolbar.capImgWrapping": "Обтекание", "DE.Views.Toolbar.capImgWrapping": "Обтекание",
"DE.Views.Toolbar.mniCustomTable": "Пользовательская таблица", "DE.Views.Toolbar.mniCustomTable": "Пользовательская таблица",
"DE.Views.Toolbar.mniDelFootnote": "Удалить все сноски", "DE.Views.Toolbar.mniDelFootnote": "Удалить все сноски",
"DE.Views.Toolbar.mniEditControls": "Параметры элемента управления",
"DE.Views.Toolbar.mniEditDropCap": "Параметры буквицы", "DE.Views.Toolbar.mniEditDropCap": "Параметры буквицы",
"DE.Views.Toolbar.mniEditFooter": "Изменить нижний колонтитул", "DE.Views.Toolbar.mniEditFooter": "Изменить нижний колонтитул",
"DE.Views.Toolbar.mniEditHeader": "Изменить верхний колонтитул", "DE.Views.Toolbar.mniEditHeader": "Изменить верхний колонтитул",
@ -1687,8 +1695,11 @@
"DE.Views.Toolbar.textPageMarginsCustom": "Настраиваемые поля", "DE.Views.Toolbar.textPageMarginsCustom": "Настраиваемые поля",
"DE.Views.Toolbar.textPageSizeCustom": "Особый размер страницы", "DE.Views.Toolbar.textPageSizeCustom": "Особый размер страницы",
"DE.Views.Toolbar.textPie": "Круговая", "DE.Views.Toolbar.textPie": "Круговая",
"DE.Views.Toolbar.textPlainControl": "Вставить элемент управления содержимым \"Обычный текст\"",
"DE.Views.Toolbar.textPoint": "Точечная", "DE.Views.Toolbar.textPoint": "Точечная",
"DE.Views.Toolbar.textPortrait": "Книжная", "DE.Views.Toolbar.textPortrait": "Книжная",
"DE.Views.Toolbar.textRemoveControl": "Удалить элемент управления содержимым",
"DE.Views.Toolbar.textRichControl": "Вставить элемент управления содержимым \"Форматированный текст\"",
"DE.Views.Toolbar.textRight": "Правое: ", "DE.Views.Toolbar.textRight": "Правое: ",
"DE.Views.Toolbar.textStock": "Биржевая", "DE.Views.Toolbar.textStock": "Биржевая",
"DE.Views.Toolbar.textStrikeout": "Зачеркнутый", "DE.Views.Toolbar.textStrikeout": "Зачеркнутый",
@ -1722,6 +1733,7 @@
"DE.Views.Toolbar.tipClearStyle": "Очистить стиль", "DE.Views.Toolbar.tipClearStyle": "Очистить стиль",
"DE.Views.Toolbar.tipColorSchemas": "Изменение цветовой схемы", "DE.Views.Toolbar.tipColorSchemas": "Изменение цветовой схемы",
"DE.Views.Toolbar.tipColumns": "Вставить колонки", "DE.Views.Toolbar.tipColumns": "Вставить колонки",
"DE.Views.Toolbar.tipControls": "Вставить элементы управления содержимым",
"DE.Views.Toolbar.tipCopy": "Копировать", "DE.Views.Toolbar.tipCopy": "Копировать",
"DE.Views.Toolbar.tipCopyStyle": "Копировать стиль", "DE.Views.Toolbar.tipCopyStyle": "Копировать стиль",
"DE.Views.Toolbar.tipDecFont": "Уменьшить размер шрифта", "DE.Views.Toolbar.tipDecFont": "Уменьшить размер шрифта",

View file

@ -228,6 +228,32 @@
"Common.Views.ReviewChangesDialog.txtReject": "Odmietnuť", "Common.Views.ReviewChangesDialog.txtReject": "Odmietnuť",
"Common.Views.ReviewChangesDialog.txtRejectAll": "Odmietnuť všetky zmeny", "Common.Views.ReviewChangesDialog.txtRejectAll": "Odmietnuť všetky zmeny",
"Common.Views.ReviewChangesDialog.txtRejectCurrent": "Odmietnuť aktuálnu zmenu", "Common.Views.ReviewChangesDialog.txtRejectCurrent": "Odmietnuť aktuálnu zmenu",
"Common.Views.SignDialog.cancelButtonText": "Zrušiť",
"Common.Views.SignDialog.okButtonText": "Ok",
"Common.Views.SignDialog.textBold": "Tučné",
"Common.Views.SignDialog.textCertificate": "Certifikát",
"Common.Views.SignDialog.textChange": "Zmeniť",
"Common.Views.SignDialog.textInputName": "Zadať meno signatára",
"Common.Views.SignDialog.textItalic": "Kurzíva",
"Common.Views.SignDialog.textPurpose": "Účel podpisovania tohto dokumentu",
"Common.Views.SignDialog.textSelectImage": "Vybrať obrázok",
"Common.Views.SignDialog.textSignature": "Podpis vyzerá ako",
"Common.Views.SignDialog.textTitle": "Podpísať dokument",
"Common.Views.SignDialog.textUseImage": "alebo kliknite na položku 'Vybrať obrázok' ak chcete použiť obrázok ako podpis",
"Common.Views.SignDialog.textValid": "Platný od %1 do %2",
"Common.Views.SignDialog.tipFontName": "Názov písma",
"Common.Views.SignDialog.tipFontSize": "Veľkosť písma",
"Common.Views.SignSettingsDialog.cancelButtonText": "Zrušiť",
"Common.Views.SignSettingsDialog.okButtonText": "Ok",
"Common.Views.SignSettingsDialog.textAllowComment": "Povoliť signatárovi pridať komentár do podpisového dialógu",
"Common.Views.SignSettingsDialog.textInfo": "Informácie o signatárovi",
"Common.Views.SignSettingsDialog.textInfoEmail": "E-mail",
"Common.Views.SignSettingsDialog.textInfoName": "Názov",
"Common.Views.SignSettingsDialog.textInfoTitle": "Názov signatára",
"Common.Views.SignSettingsDialog.textInstructions": "Pokyny pre signatára",
"Common.Views.SignSettingsDialog.textShowDate": "Zobraziť dátum podpisu v riadku podpisu",
"Common.Views.SignSettingsDialog.textTitle": "Nastavenia Podpisu",
"Common.Views.SignSettingsDialog.txtEmpty": "Toto pole sa vyžaduje",
"DE.Controllers.LeftMenu.leavePageText": "Všetky neuložené zmeny v tomto dokumente sa stratia. <br> Kliknutím na tlačidlo \"Zrušiť\" a potom na \"Uložiť\" ich uložíte. Kliknutím na \"OK\" zahodíte všetky neuložené zmeny.", "DE.Controllers.LeftMenu.leavePageText": "Všetky neuložené zmeny v tomto dokumente sa stratia. <br> Kliknutím na tlačidlo \"Zrušiť\" a potom na \"Uložiť\" ich uložíte. Kliknutím na \"OK\" zahodíte všetky neuložené zmeny.",
"DE.Controllers.LeftMenu.newDocumentTitle": "Nepomenovaný dokument", "DE.Controllers.LeftMenu.newDocumentTitle": "Nepomenovaný dokument",
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Upozornenie", "DE.Controllers.LeftMenu.notcriticalErrorTitle": "Upozornenie",
@ -310,26 +336,37 @@
"DE.Controllers.Main.textCloseTip": "Kliknutím zavrite tip", "DE.Controllers.Main.textCloseTip": "Kliknutím zavrite tip",
"DE.Controllers.Main.textContactUs": "Kontaktujte predajcu", "DE.Controllers.Main.textContactUs": "Kontaktujte predajcu",
"DE.Controllers.Main.textLoadingDocument": "Načítavanie dokumentu", "DE.Controllers.Main.textLoadingDocument": "Načítavanie dokumentu",
"DE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE verzia s otvoreným zdrojom", "DE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE obmedzenie pripojenia",
"DE.Controllers.Main.textShape": "Tvar", "DE.Controllers.Main.textShape": "Tvar",
"DE.Controllers.Main.textStrict": "Prísny režim", "DE.Controllers.Main.textStrict": "Prísny režim",
"DE.Controllers.Main.textTryUndoRedo": "Funkcie späť/zopakovať sú vypnuté pre rýchly spolueditačný režim.<br>Kliknite na tlačítko \"Prísny režim\", aby ste prešli do prísneho spolueditačného režimu a aby ste upravovali súbor bez rušenia ostatných užívateľov a odosielali vaše zmeny iba po ich uložení. Pomocou Rozšírených nastavení editoru môžete prepínať medzi spolueditačnými režimami.", "DE.Controllers.Main.textTryUndoRedo": "Funkcie späť/zopakovať sú vypnuté pre rýchly spolueditačný režim.<br>Kliknite na tlačítko \"Prísny režim\", aby ste prešli do prísneho spolueditačného režimu a aby ste upravovali súbor bez rušenia ostatných užívateľov a odosielali vaše zmeny iba po ich uložení. Pomocou Rozšírených nastavení editoru môžete prepínať medzi spolueditačnými režimami.",
"DE.Controllers.Main.titleLicenseExp": "Platnosť licencie uplynula", "DE.Controllers.Main.titleLicenseExp": "Platnosť licencie uplynula",
"DE.Controllers.Main.titleServerVersion": "Editor bol aktualizovaný", "DE.Controllers.Main.titleServerVersion": "Editor bol aktualizovaný",
"DE.Controllers.Main.titleUpdateVersion": "Verzia bola zmenená", "DE.Controllers.Main.titleUpdateVersion": "Verzia bola zmenená",
"DE.Controllers.Main.txtAbove": "vyššie",
"DE.Controllers.Main.txtArt": "Váš text tu", "DE.Controllers.Main.txtArt": "Váš text tu",
"DE.Controllers.Main.txtBasicShapes": "Základné tvary", "DE.Controllers.Main.txtBasicShapes": "Základné tvary",
"DE.Controllers.Main.txtBelow": "pod",
"DE.Controllers.Main.txtBookmarkError": "Chyba! Záložka nie je definovaná.",
"DE.Controllers.Main.txtButtons": "Tlačidlá", "DE.Controllers.Main.txtButtons": "Tlačidlá",
"DE.Controllers.Main.txtCallouts": "Popisky obrázku", "DE.Controllers.Main.txtCallouts": "Popisky obrázku",
"DE.Controllers.Main.txtCharts": "Grafy", "DE.Controllers.Main.txtCharts": "Grafy",
"DE.Controllers.Main.txtDiagramTitle": "Názov grafu", "DE.Controllers.Main.txtDiagramTitle": "Názov grafu",
"DE.Controllers.Main.txtEditingMode": "Nastaviť režim úprav ...", "DE.Controllers.Main.txtEditingMode": "Nastaviť režim úprav ...",
"DE.Controllers.Main.txtErrorLoadHistory": "Načítavanie histórie zlyhalo", "DE.Controllers.Main.txtErrorLoadHistory": "Načítavanie histórie zlyhalo",
"DE.Controllers.Main.txtEvenPage": "Párna stránka",
"DE.Controllers.Main.txtFiguredArrows": "Šipky", "DE.Controllers.Main.txtFiguredArrows": "Šipky",
"DE.Controllers.Main.txtFirstPage": "Prvá strana",
"DE.Controllers.Main.txtFooter": "Päta stránky",
"DE.Controllers.Main.txtHeader": "Hlavička",
"DE.Controllers.Main.txtLines": "Riadky", "DE.Controllers.Main.txtLines": "Riadky",
"DE.Controllers.Main.txtMath": "Matematika", "DE.Controllers.Main.txtMath": "Matematika",
"DE.Controllers.Main.txtNeedSynchronize": "Máte aktualizácie", "DE.Controllers.Main.txtNeedSynchronize": "Máte aktualizácie",
"DE.Controllers.Main.txtOddPage": "Nepárna strana",
"DE.Controllers.Main.txtOnPage": "na strane",
"DE.Controllers.Main.txtRectangles": "Obdĺžniky", "DE.Controllers.Main.txtRectangles": "Obdĺžniky",
"DE.Controllers.Main.txtSameAsPrev": "Rovnaký ako predchádzajúci",
"DE.Controllers.Main.txtSection": "-Sekcia",
"DE.Controllers.Main.txtSeries": "Rady", "DE.Controllers.Main.txtSeries": "Rady",
"DE.Controllers.Main.txtStarsRibbons": "Hviezdy a stuhy", "DE.Controllers.Main.txtStarsRibbons": "Hviezdy a stuhy",
"DE.Controllers.Main.txtStyle_Heading_1": "Nadpis 1", "DE.Controllers.Main.txtStyle_Heading_1": "Nadpis 1",
@ -360,7 +397,7 @@
"DE.Controllers.Main.warnBrowserIE9": "Aplikácia má na IE9 slabé schopnosti. Použite IE10 alebo vyššie.", "DE.Controllers.Main.warnBrowserIE9": "Aplikácia má na IE9 slabé schopnosti. Použite IE10 alebo vyššie.",
"DE.Controllers.Main.warnBrowserZoom": "Súčasné nastavenie priblíženia nie je plne podporované prehliadačom. Obnovte štandardné priblíženie stlačením klávesov Ctrl+0.", "DE.Controllers.Main.warnBrowserZoom": "Súčasné nastavenie priblíženia nie je plne podporované prehliadačom. Obnovte štandardné priblíženie stlačením klávesov Ctrl+0.",
"DE.Controllers.Main.warnLicenseExp": "Vaša licencia vypršala.<br>Prosím, aktualizujte si svoju licenciu a obnovte stránku.", "DE.Controllers.Main.warnLicenseExp": "Vaša licencia vypršala.<br>Prosím, aktualizujte si svoju licenciu a obnovte stránku.",
"DE.Controllers.Main.warnNoLicense": "Používate verziu ONLYOFFICE s otvoreným zdrojom. Verzia má obmedzenia pre súbežné pripojenia k dokumentovému serveru (20 pripojení naraz).<br>Ak potrebujete viac, prosím zvážte nákup komerčnej licencie.", "DE.Controllers.Main.warnNoLicense": "Táto verzia aplikácie ONLYOFFICE Editors má určité obmedzenia pre súbežné pripojenia k dokumentovému serveru. <br> Ak potrebujete viac, zvážte aktualizáciu aktuálnej licencie alebo zakúpenie komerčnej.",
"DE.Controllers.Main.warnProcessRightsChange": "Bolo vám zamietnuté právo upravovať súbor.", "DE.Controllers.Main.warnProcessRightsChange": "Bolo vám zamietnuté právo upravovať súbor.",
"DE.Controllers.Statusbar.textHasChanges": "Boli sledované nové zmeny", "DE.Controllers.Statusbar.textHasChanges": "Boli sledované nové zmeny",
"DE.Controllers.Statusbar.textTrackChanges": "Dokument je otvorený so zapnutým režimom sledovania zmien.", "DE.Controllers.Statusbar.textTrackChanges": "Dokument je otvorený so zapnutým režimom sledovania zmien.",
@ -954,6 +991,7 @@
"DE.Views.FileMenu.btnHistoryCaption": "História verzií", "DE.Views.FileMenu.btnHistoryCaption": "História verzií",
"DE.Views.FileMenu.btnInfoCaption": "Informácie o dokumente...", "DE.Views.FileMenu.btnInfoCaption": "Informácie o dokumente...",
"DE.Views.FileMenu.btnPrintCaption": "Tlačiť", "DE.Views.FileMenu.btnPrintCaption": "Tlačiť",
"DE.Views.FileMenu.btnProtectCaption": "Ochrániť/podpísať",
"DE.Views.FileMenu.btnRecentFilesCaption": "Otvoriť nedávne...", "DE.Views.FileMenu.btnRecentFilesCaption": "Otvoriť nedávne...",
"DE.Views.FileMenu.btnRenameCaption": "Premenovať ..", "DE.Views.FileMenu.btnRenameCaption": "Premenovať ..",
"DE.Views.FileMenu.btnReturnCaption": "Späť k Dokumentu", "DE.Views.FileMenu.btnReturnCaption": "Späť k Dokumentu",
@ -983,6 +1021,8 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Slová", "DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Slová",
"DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Zmeniť prístupové práva", "DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Zmeniť prístupové práva",
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Osoby s oprávneniami", "DE.Views.FileMenuPanels.DocumentRights.txtRights": "Osoby s oprávneniami",
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Ochrániť dokument",
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "Podpis",
"DE.Views.FileMenuPanels.Settings.okButtonText": "Použiť", "DE.Views.FileMenuPanels.Settings.okButtonText": "Použiť",
"DE.Views.FileMenuPanels.Settings.strAlignGuides": "Zapnúť tipy zarovnávania", "DE.Views.FileMenuPanels.Settings.strAlignGuides": "Zapnúť tipy zarovnávania",
"DE.Views.FileMenuPanels.Settings.strAutoRecover": "Zapnúť automatickú obnovu", "DE.Views.FileMenuPanels.Settings.strAutoRecover": "Zapnúť automatickú obnovu",
@ -994,6 +1034,7 @@
"DE.Views.FileMenuPanels.Settings.strFontRender": "Náznak typu písma", "DE.Views.FileMenuPanels.Settings.strFontRender": "Náznak typu písma",
"DE.Views.FileMenuPanels.Settings.strForcesave": "Vždy uložiť na server (inak uložiť na server pri zatvorení dokumentu)", "DE.Views.FileMenuPanels.Settings.strForcesave": "Vždy uložiť na server (inak uložiť na server pri zatvorení dokumentu)",
"DE.Views.FileMenuPanels.Settings.strInputMode": "Zapnúť hieroglyfy", "DE.Views.FileMenuPanels.Settings.strInputMode": "Zapnúť hieroglyfy",
"DE.Views.FileMenuPanels.Settings.strInputSogou": "Zapnúť vstup Sogou Pinyin",
"DE.Views.FileMenuPanels.Settings.strLiveComment": "Zapnúť zobrazovanie komentárov", "DE.Views.FileMenuPanels.Settings.strLiveComment": "Zapnúť zobrazovanie komentárov",
"DE.Views.FileMenuPanels.Settings.strResolvedComment": "Zapnúť zobrazenie vyriešených komentárov", "DE.Views.FileMenuPanels.Settings.strResolvedComment": "Zapnúť zobrazenie vyriešených komentárov",
"DE.Views.FileMenuPanels.Settings.strShowChanges": "Zmeny spolupráce v reálnom čase", "DE.Views.FileMenuPanels.Settings.strShowChanges": "Zmeny spolupráce v reálnom čase",
@ -1144,6 +1185,7 @@
"DE.Views.LeftMenu.tipSupport": "Spätná väzba a Podpora", "DE.Views.LeftMenu.tipSupport": "Spätná väzba a Podpora",
"DE.Views.LeftMenu.tipTitles": "Nadpisy", "DE.Views.LeftMenu.tipTitles": "Nadpisy",
"DE.Views.LeftMenu.txtDeveloper": "VÝVOJÁRSKY REŽIM", "DE.Views.LeftMenu.txtDeveloper": "VÝVOJÁRSKY REŽIM",
"DE.Views.LeftMenu.txtTrial": "Skúšobný režim",
"DE.Views.MailMergeEmailDlg.cancelButtonText": "Zrušiť", "DE.Views.MailMergeEmailDlg.cancelButtonText": "Zrušiť",
"DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF", "DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF",
"DE.Views.MailMergeEmailDlg.okButtonText": "Poslať", "DE.Views.MailMergeEmailDlg.okButtonText": "Poslať",
@ -1303,6 +1345,7 @@
"DE.Views.RightMenu.txtMailMergeSettings": "Nastavenia hromadnej korešpondencie", "DE.Views.RightMenu.txtMailMergeSettings": "Nastavenia hromadnej korešpondencie",
"DE.Views.RightMenu.txtParagraphSettings": "Nastavenia odseku", "DE.Views.RightMenu.txtParagraphSettings": "Nastavenia odseku",
"DE.Views.RightMenu.txtShapeSettings": "Nastavenia tvaru", "DE.Views.RightMenu.txtShapeSettings": "Nastavenia tvaru",
"DE.Views.RightMenu.txtSignatureSettings": "Nastavenia Podpisu",
"DE.Views.RightMenu.txtTableSettings": "Nastavenie tabuľky", "DE.Views.RightMenu.txtTableSettings": "Nastavenie tabuľky",
"DE.Views.RightMenu.txtTextArtSettings": "Nastavenie Text Art", "DE.Views.RightMenu.txtTextArtSettings": "Nastavenie Text Art",
"DE.Views.ShapeSettings.strBackground": "Farba pozadia", "DE.Views.ShapeSettings.strBackground": "Farba pozadia",
@ -1355,6 +1398,11 @@
"DE.Views.ShapeSettings.txtTight": "Tesný", "DE.Views.ShapeSettings.txtTight": "Tesný",
"DE.Views.ShapeSettings.txtTopAndBottom": "Hore a dole", "DE.Views.ShapeSettings.txtTopAndBottom": "Hore a dole",
"DE.Views.ShapeSettings.txtWood": "Drevo", "DE.Views.ShapeSettings.txtWood": "Drevo",
"DE.Views.SignatureSettings.strInvalid": "Neplatné podpisy",
"DE.Views.SignatureSettings.strRequested": "Vyžadované podpisy",
"DE.Views.SignatureSettings.strSign": "Podpísať",
"DE.Views.SignatureSettings.strSignature": "Podpis",
"DE.Views.SignatureSettings.strValid": "Platné podpisy",
"DE.Views.Statusbar.goToPageText": "Ísť na stranu", "DE.Views.Statusbar.goToPageText": "Ísť na stranu",
"DE.Views.Statusbar.pageIndexText": "Strana {0} z {1}", "DE.Views.Statusbar.pageIndexText": "Strana {0} z {1}",
"DE.Views.Statusbar.tipFitPage": "Prispôsobiť na stranu", "DE.Views.Statusbar.tipFitPage": "Prispôsobiť na stranu",
@ -1524,7 +1572,7 @@
"DE.Views.Toolbar.capBtnInsShape": "Tvar", "DE.Views.Toolbar.capBtnInsShape": "Tvar",
"DE.Views.Toolbar.capBtnInsTable": "Tabuľka", "DE.Views.Toolbar.capBtnInsTable": "Tabuľka",
"DE.Views.Toolbar.capBtnInsTextart": "Technika/grafika textu", "DE.Views.Toolbar.capBtnInsTextart": "Technika/grafika textu",
"DE.Views.Toolbar.capBtnInsTextbox": "Text", "DE.Views.Toolbar.capBtnInsTextbox": "Textové pole",
"DE.Views.Toolbar.capBtnMargins": "Okraje", "DE.Views.Toolbar.capBtnMargins": "Okraje",
"DE.Views.Toolbar.capBtnPageOrient": "Orientácia", "DE.Views.Toolbar.capBtnPageOrient": "Orientácia",
"DE.Views.Toolbar.capBtnPageSize": "Veľkosť", "DE.Views.Toolbar.capBtnPageSize": "Veľkosť",

View file

@ -0,0 +1,132 @@
body
{
font-family: Tahoma, Arial, Verdana;
font-size: 12px;
color: #666;
background: #fff;
}
img
{
border: none;
vertical-align: middle;
}
img.floatleft
{
float: left;
margin-right: 30px;
margin-bottom: 10px;
}
img.floatright
{
float: right;
margin-left: 30px;
margin-bottom: 10px;
}
li
{
line-height: 2em;
}
.mainpart
{
margin: 0;
padding: 10px 20px;
}
.mainpart h1
{
font-size: 16px;
font-weight: bold;
}
table,
tr,
td,
th
{
border-left: 0;
border-right: 0;
border-bottom: solid 1px #E4E4E4;
border-collapse: collapse;
padding: 8px;
text-align: left;
}
table
{
margin: 20px 0;
width: 100%;
}
th
{
font-size: 14px;
font-weight: bold;
padding-top: 20px;
}
td.function
{
width: 35%;
}
td.shortfunction
{
width: 20%;
}
td.combination
{
width: 15%;
}
td.description
{
width: 50%;
}
td.longdescription
{
width: 80%;
}
.note
{
background: #F4F4F4 url(images/help.png) no-repeat 7px 5px;
font-size: 11px;
padding: 10px 20px 10px 37px;
width: 90%;
margin: 10px 0;
line-height: 1em;
min-height: 14px;
}
hr
{
height: 1px;
width: 90%;
text-align: left;
margin: 10px 0 15px;
color: #E4E4E4;
background-color: #E4E4E4;
border: 0;
clear: both;
}
a
{
color: #7496DD;
text-decoration: underline;
}
a:hover
{
text-decoration: none;
}
a.sup_link {
text-decoration: none;
}

View file

@ -1,52 +1,52 @@
[ [
{"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"}, {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"},
{"src": "ProgramInterface/FileTab.htm", "name": "File tab"}, {"src": "ProgramInterface/FileTab.htm", "name": "File tab"},
{"src": "ProgramInterface/HomeTab.htm", "name": "Home Tab"}, {"src": "ProgramInterface/HomeTab.htm", "name": "Home Tab"},
{"src": "ProgramInterface/InsertTab.htm", "name": "Insert tab"}, {"src": "ProgramInterface/InsertTab.htm", "name": "Insert tab"},
{"src": "ProgramInterface/LayoutTab.htm", "name": "Layout tab"}, {"src": "ProgramInterface/LayoutTab.htm", "name": "Layout tab"},
{"src": "ProgramInterface/ReviewTab.htm", "name": "Review tab"}, {"src": "ProgramInterface/ReviewTab.htm", "name": "Review tab"},
{"src": "ProgramInterface/PluginsTab.htm", "name": "Plugins tab"}, {"src": "ProgramInterface/PluginsTab.htm", "name": "Plugins tab"},
{"src": "UsageInstructions/SetPageParameters.htm", "name": "Set page parameters", "headername": "Usage Instructions"}, {"src": "UsageInstructions/ChangeColorScheme.htm", "name": "Change color scheme", "headername": "Basic operations"},
{"src": "UsageInstructions/ChangeColorScheme.htm", "name": "Change color scheme"}, {"src": "UsageInstructions/CopyPasteUndoRedo.htm", "name": "Copy/paste text passages, undo/redo your actions"},
{"src": "UsageInstructions/CopyPasteUndoRedo.htm", "name": "Copy/paste text passages, undo/redo your actions"}, {"src": "UsageInstructions/OpenCreateNew.htm", "name": "Create a new document or open an existing one"},
{"src": "UsageInstructions/NonprintingCharacters.htm", "name": "Show/hide nonprinting characters"}, {"src": "UsageInstructions/SetPageParameters.htm", "name": "Set page parameters", "headername": "Page formatting"},
{"src": "UsageInstructions/AlignText.htm", "name": "Align your text in a paragraph"}, {"src": "UsageInstructions/NonprintingCharacters.htm", "name": "Show/hide nonprinting characters" },
{"src": "UsageInstructions/FormattingPresets.htm", "name": "Apply formatting styles"}, {"src": "UsageInstructions/SectionBreaks.htm", "name": "Insert section breaks" },
{"src": "UsageInstructions/BackgroundColor.htm", "name": "Select background color for a paragraph"}, {"src": "UsageInstructions/InsertHeadersFooters.htm", "name": "Insert headers and footers"},
{"src": "UsageInstructions/ParagraphIndents.htm", "name": "Change paragraph indents"}, {"src": "UsageInstructions/InsertPageNumbers.htm", "name": "Insert page numbers"},
{"src": "UsageInstructions/LineSpacing.htm", "name": "Set paragraph line spacing"}, {"src": "UsageInstructions/InsertFootnotes.htm", "name": "Insert footnotes"},
{"src": "UsageInstructions/PageBreaks.htm", "name": "Insert page breaks"}, {"src": "UsageInstructions/AlignText.htm", "name": "Align your text in a paragraph", "headername": "Paragraph formatting"},
{"src": "UsageInstructions/SectionBreaks.htm", "name": "Insert section breaks"}, {"src": "UsageInstructions/BackgroundColor.htm", "name": "Select background color for a paragraph"},
{"src": "UsageInstructions/AddBorders.htm", "name": "Add borders"}, {"src": "UsageInstructions/ParagraphIndents.htm", "name": "Change paragraph indents"},
{"src": "UsageInstructions/FontTypeSizeColor.htm", "name": "Set font type, size, and color"}, {"src": "UsageInstructions/LineSpacing.htm", "name": "Set paragraph line spacing"},
{"src": "UsageInstructions/DecorationStyles.htm", "name": "Apply font decoration styles"}, {"src": "UsageInstructions/PageBreaks.htm", "name": "Insert page breaks"},
{"src": "UsageInstructions/CopyClearFormatting.htm", "name": "Copy/clear text formatting"}, {"src": "UsageInstructions/AddBorders.htm", "name": "Add borders"},
{"src": "UsageInstructions/SetTabStops.htm", "name": "Set tab stops"}, {"src": "UsageInstructions/SetTabStops.htm", "name": "Set tab stops"},
{"src": "UsageInstructions/CreateLists.htm", "name": "Create lists"}, {"src": "UsageInstructions/CreateLists.htm", "name": "Create lists"},
{"src": "UsageInstructions/InsertTables.htm", "name": "Insert tables"}, {"src": "UsageInstructions/FormattingPresets.htm", "name": "Apply formatting styles", "headername": "Text formatting"},
{"src": "UsageInstructions/InsertImages.htm", "name": "Insert images"}, {"src": "UsageInstructions/FontTypeSizeColor.htm", "name": "Set font type, size, and color"},
{"src": "UsageInstructions/InsertAutoshapes.htm", "name": "Insert autoshapes"}, {"src": "UsageInstructions/DecorationStyles.htm", "name": "Apply font decoration styles"},
{"src": "UsageInstructions/CopyClearFormatting.htm", "name": "Copy/clear text formatting" },
{"src": "UsageInstructions/AddHyperlinks.htm", "name": "Add hyperlinks"},
{"src": "UsageInstructions/InsertDropCap.htm", "name": "Insert a drop cap"},
{"src": "UsageInstructions/InsertTables.htm", "name": "Insert tables", "headername": "Operations on objects"},
{"src": "UsageInstructions/InsertImages.htm", "name": "Insert images"},
{"src": "UsageInstructions/InsertAutoshapes.htm", "name": "Insert autoshapes"},
{"src": "UsageInstructions/InsertCharts.htm", "name": "Insert charts" }, {"src": "UsageInstructions/InsertCharts.htm", "name": "Insert charts" },
{"src": "UsageInstructions/AlignArrangeObjects.htm", "name": "Align and arrange objects on a page" },
{"src": "UsageInstructions/ChangeWrappingStyle.htm", "name": "Change wrapping style"},
{"src": "UsageInstructions/AddHyperlinks.htm", "name": "Add hyperlinks"},
{"src": "UsageInstructions/InsertDropCap.htm", "name": "Insert a drop cap"},
{"src": "UsageInstructions/InsertHeadersFooters.htm", "name": "Insert headers and footers"},
{ "src": "UsageInstructions/InsertPageNumbers.htm", "name": "Insert page numbers" },
{"src": "UsageInstructions/InsertFootnotes.htm", "name": "Insert footnotes" },
{"src": "UsageInstructions/InsertEquation.htm", "name": "Insert equations" },
{"src": "UsageInstructions/InsertTextObjects.htm", "name": "Insert text objects" }, {"src": "UsageInstructions/InsertTextObjects.htm", "name": "Insert text objects" },
{"src": "UsageInstructions/UseMailMerge.htm", "name": "Use mail merge"}, {"src": "UsageInstructions/AlignArrangeObjects.htm", "name": "Align and arrange objects on a page" },
{"src": "UsageInstructions/ViewDocInfo.htm", "name": "View document information"}, {"src": "UsageInstructions/ChangeWrappingStyle.htm", "name": "Change wrapping style" },
{"src": "UsageInstructions/SavePrintDownload.htm", "name": "Save/download/print your document"}, {"src": "UsageInstructions/UseMailMerge.htm", "name": "Use mail merge", "headername": "Mail Merge"},
{"src": "UsageInstructions/OpenCreateNew.htm", "name": "Create a new document or open an existing one"}, {"src": "UsageInstructions/InsertEquation.htm", "name": "Insert equations", "headername": "Math equations"},
{"src": "HelpfulHints/About.htm", "name": "About Document Editor", "headername": "Helpful Hints"}, {"src": "HelpfulHints/CollaborativeEditing.htm", "name": "Collaborative document editing", "headername": "Document co-editing"},
{"src": "HelpfulHints/SupportedFormats.htm", "name": "Supported Formats of Electronic Documents"}, {"src": "HelpfulHints/Review.htm", "name": "Document Review"},
{"src": "HelpfulHints/AdvancedSettings.htm", "name": "Advanced Settings of Document Editor"}, {"src": "UsageInstructions/ViewDocInfo.htm", "name": "View document information", "headername": "Tools and settings"},
{"src": "HelpfulHints/Navigation.htm", "name": "View Settings and Navigation Tools"}, {"src": "UsageInstructions/SavePrintDownload.htm", "name": "Save/download/print your document" },
{"src": "HelpfulHints/Search.htm", "name": "Search and Replace Function"}, {"src": "HelpfulHints/AdvancedSettings.htm", "name": "Advanced settings of Document Editor"},
{"src": "HelpfulHints/CollaborativeEditing.htm", "name": "Collaborative Document Editing"}, {"src": "HelpfulHints/Navigation.htm", "name": "View settings and navigation tools"},
{"src": "HelpfulHints/Review.htm", "name": "Document Review"}, {"src": "HelpfulHints/Search.htm", "name": "Search and replace function"},
{"src": "HelpfulHints/SpellChecking.htm", "name": "Spell-checking"}, {"src": "HelpfulHints/SpellChecking.htm", "name": "Spell-checking"},
{"src": "HelpfulHints/KeyboardShortcuts.htm", "name": "Keyboard Shortcuts"} {"src": "HelpfulHints/About.htm", "name": "About Document Editor", "headername": "Helpful hints"},
{"src": "HelpfulHints/SupportedFormats.htm", "name": "Supported formats of electronic documents" },
{"src": "HelpfulHints/KeyboardShortcuts.htm", "name": "Keyboard shortcuts"}
] ]

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="The short description of Document Editor" /> <meta name="description" content="The short description of Document Editor" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>About Document Editor</h1> <h1>About Document Editor</h1>
<p><b>Document Editor</b> is an <span class="onlineDocumentFeatures">online</span> application that lets you look through <p><b>Document Editor</b> is an <span class="onlineDocumentFeatures">online</span> application that lets you look through
and edit documents<span class="onlineDocumentFeatures"> directly in your browser</span>.</p> and edit documents<span class="onlineDocumentFeatures"> directly in your browser</span>.</p>

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="The advanced settings of Document Editor" /> <meta name="description" content="The advanced settings of Document Editor" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Advanced Settings of Document Editor</h1> <h1>Advanced Settings of Document Editor</h1>
<p><b>Document Editor</b> lets you change its advanced settings. To access them, open the <b>File</b> tab at the top toolbar and select the <b>Advanced Settings...</b> option. You can also use the <img alt="Advanced settings icon" src="../images/advanced_settings_icon.png" /> icon in the right upper corner at the <b>Home</b> tab of the top toolbar.</p> <p><b>Document Editor</b> lets you change its advanced settings. To access them, open the <b>File</b> tab at the top toolbar and select the <b>Advanced Settings...</b> option. You can also use the <img alt="Advanced settings icon" src="../images/advanced_settings_icon.png" /> icon in the right upper corner at the <b>Home</b> tab of the top toolbar.</p>
<p>The advanced settings are:</p> <p>The advanced settings are:</p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Tips on collaborative editing" /> <meta name="description" content="Tips on collaborative editing" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Collaborative Document Editing</h1> <h1>Collaborative Document Editing</h1>
<p><b>Document Editor</b> offers you the possibility to work at a document collaboratively with other users. This feature includes:</p> <p><b>Document Editor</b> offers you the possibility to work at a document collaboratively with other users. This feature includes:</p>
<ul> <ul>

View file

@ -6,9 +6,13 @@
<meta name="description" content="The keyboard shortcut list used for a faster and easier access to the features of Document Editor using the keyboard." /> <meta name="description" content="The keyboard shortcut list used for a faster and easier access to the features of Document Editor using the keyboard." />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Keyboard Shortcuts</h1> <h1>Keyboard Shortcuts</h1>
<table> <table>
<tr> <tr>

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="The description of view settings and navigation tools such as zoom, previous/next page buttons" /> <meta name="description" content="The description of view settings and navigation tools such as zoom, previous/next page buttons" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>View Settings and Navigation Tools</h1> <h1>View Settings and Navigation Tools</h1>
<p><b>Document Editor</b> offers several tools to help you view and navigate through your document: zoom, page number indicator etc.</p> <p><b>Document Editor</b> offers several tools to help you view and navigate through your document: zoom, page number indicator etc.</p>
<h3>Adjust the View Settings</h3> <h3>Adjust the View Settings</h3>

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="Tips on document review option" /> <meta name="description" content="Tips on document review option" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Document Review</h1> <h1>Document Review</h1>
<p>When somebody shares a file with you that has review permissions, you need to use the document <b>Review</b> feature.</p> <p>When somebody shares a file with you that has review permissions, you need to use the document <b>Review</b> feature.</p>
<p>If you are the reviewer, then you can use the <b>Review</b> option to review the document, change the sentences, phrases and other page elements, correct spelling, and do other things to the document without actually editing it. All your changes will be recorded and shown to the person who sent the document to you.</p> <p>If you are the reviewer, then you can use the <b>Review</b> option to review the document, change the sentences, phrases and other page elements, correct spelling, and do other things to the document without actually editing it. All your changes will be recorded and shown to the person who sent the document to you.</p>

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="The description of the document search and replace function in Document Editor" /> <meta name="description" content="The description of the document search and replace function in Document Editor" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Search and Replace Function</h1> <h1>Search and Replace Function</h1>
<p>To search for the needed characters, words or phrases used in the currently edited document, <p>To search for the needed characters, words or phrases used in the currently edited document,
click the <img alt="Search icon" src="../images/searchicon.png" /> icon situated at the left sidebar. </p> click the <img alt="Search icon" src="../images/searchicon.png" /> icon situated at the left sidebar. </p>

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="Spell check the text in your language while editing a document" /> <meta name="description" content="Spell check the text in your language while editing a document" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Spell-checking</h1> <h1>Spell-checking</h1>
<p><b>Document Editor</b> allows you to check the spelling of your text in a certain language and correct mistakes while editing.</p> <p><b>Document Editor</b> allows you to check the spelling of your text in a certain language and correct mistakes while editing.</p>
<p>First of all, <b>choose a language</b> for your document. Switch to the <b>Review</b> tab of the top toolbar and click the <img alt="Set Document Language icon" src="../images/document_language.png" /> <b>Language</b> icon. In the window that appears, select the necessary language and click <b>OK</b>. The selected language will be applied to the whole document. </p> <p>First of all, <b>choose a language</b> for your document. Switch to the <b>Review</b> tab of the top toolbar and click the <img alt="Set Document Language icon" src="../images/document_language.png" /> <b>Language</b> icon. In the window that appears, select the necessary language and click <b>OK</b>. The selected language will be applied to the whole document. </p>

View file

@ -5,9 +5,14 @@
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="description" content="The list of document formats supported by Document Editor" /> <meta name="description" content="The list of document formats supported by Document Editor" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Supported Formats of Electronic Documents</h1> <h1>Supported Formats of Electronic Documents</h1>
<p>Electronic documents represent one of the most commonly used computer files. <p>Electronic documents represent one of the most commonly used computer files.
Thanks to the computer network highly developed nowadays, it's possible and more convenient to distribute electronic documents than printed ones. Thanks to the computer network highly developed nowadays, it's possible and more convenient to distribute electronic documents than printed ones.

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface - File tab" /> <meta name="description" content="Introducing the Document Editor user interface - File tab" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>File tab</h1> <h1>File tab</h1>
<p>The <b>File</b> tab allows to perform some basic operations on the current file.</p> <p>The <b>File</b> tab allows to perform some basic operations on the current file.</p>
<p><img alt="File tab" src="../images/interface/filetab.png" /></p> <p><img alt="File tab" src="../images/interface/filetab.png" /></p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface - Home tab" /> <meta name="description" content="Introducing the Document Editor user interface - Home tab" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Home tab</h1> <h1>Home tab</h1>
<p>The <b>Home</b> tab opens by default when you open a document. It allows to format font and paragraphs. Some other options are also available here, such as Mail Merge, color schemes, view settings.</p> <p>The <b>Home</b> tab opens by default when you open a document. It allows to format font and paragraphs. Some other options are also available here, such as Mail Merge, color schemes, view settings.</p>
<p><img alt="Home tab" src="../images/interface/hometab.png" /></p> <p><img alt="Home tab" src="../images/interface/hometab.png" /></p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface - Insert tab" /> <meta name="description" content="Introducing the Document Editor user interface - Insert tab" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Insert tab</h1> <h1>Insert tab</h1>
<p>The <b>Insert</b> tab allows to add some page formatting elements, as well as visual objects and comments.</p> <p>The <b>Insert</b> tab allows to add some page formatting elements, as well as visual objects and comments.</p>
<p><img alt="Insert tab" src="../images/interface/inserttab.png" /></p> <p><img alt="Insert tab" src="../images/interface/inserttab.png" /></p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface - Layout tab" /> <meta name="description" content="Introducing the Document Editor user interface - Layout tab" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Layout tab</h1> <h1>Layout tab</h1>
<p>The <b>Layout</b> tab allows to change the document appearance: set up page parameters and define the arrangement of visual elements.</p> <p>The <b>Layout</b> tab allows to change the document appearance: set up page parameters and define the arrangement of visual elements.</p>
<p><img alt="Layout tab" src="../images/interface/layouttab.png" /></p> <p><img alt="Layout tab" src="../images/interface/layouttab.png" /></p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface - Plugins tab" /> <meta name="description" content="Introducing the Document Editor user interface - Plugins tab" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Plugins tab</h1> <h1>Plugins tab</h1>
<p>The <b>Plugins</b> tab allows to access advanced editing features using available third-party components.</p> <p>The <b>Plugins</b> tab allows to access advanced editing features using available third-party components.</p>
<p><img alt="Plugins tab" src="../images/interface/pluginstab.png" /></p> <p><img alt="Plugins tab" src="../images/interface/pluginstab.png" /></p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface" /> <meta name="description" content="Introducing the Document Editor user interface" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Introducing the Document Editor user interface</h1> <h1>Introducing the Document Editor user interface</h1>
<p><b>Document Editor</b> uses a tabbed interface where editing commands are grouped into tabs by functionality.</p> <p><b>Document Editor</b> uses a tabbed interface where editing commands are grouped into tabs by functionality.</p>
<p><img alt="Editor window" src="../images/interface/editorwindow.png" /></p> <p><img alt="Editor window" src="../images/interface/editorwindow.png" /></p>

View file

@ -6,9 +6,13 @@
<meta name="description" content="Introducing the Document Editor user interface - Review tab" /> <meta name="description" content="Introducing the Document Editor user interface - Review tab" />
<link type="text/css" rel="stylesheet" href="../editor.css" /> <link type="text/css" rel="stylesheet" href="../editor.css" />
<script type="text/javascript" src="../callback.js"></script> <script type="text/javascript" src="../callback.js"></script>
<script type="text/javascript" src="../search/js/page-search.js"></script>
</head> </head>
<body> <body>
<div class="mainpart"> <div class="mainpart">
<div class="search-field">
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
</div>
<h1>Review tab</h1> <h1>Review tab</h1>
<p>The <b>Review</b> tab allows to proof the document: make sure that the spelling of the text is correct, manage comments, track changes made by a reviewer.</p> <p>The <b>Review</b> tab allows to proof the document: make sure that the spelling of the text is correct, manage comments, track changes made by a reviewer.</p>
<p><img alt="Review tab" src="../images/interface/reviewtab.png" /></p> <p><img alt="Review tab" src="../images/interface/reviewtab.png" /></p>

Some files were not shown because too many files have changed in this diff Show more