diff --git a/apps/common/main/lib/component/Mixtbar.js b/apps/common/main/lib/component/Mixtbar.js
index 44fc291ab..a1d5188d5 100644
--- a/apps/common/main/lib/component/Mixtbar.js
+++ b/apps/common/main/lib/component/Mixtbar.js
@@ -100,7 +100,7 @@ define([
'
' +
'<% if (items[i].extcls) print(\' \' + items[i].extcls) %>">' +
- '<%= items[i].caption %>' +
+ ' data-hint-title="<%= items[i].dataHintTitle %>" <% } %>><%= items[i].caption %>' +
'' +
'<% } %>' +
'<% } %>' +
@@ -316,7 +316,7 @@ define([
return config.tabs[index].action;
}
- var _tabTemplate = _.template('<%= caption %>');
+ var _tabTemplate = _.template(' data-hint-title="<%= dataHintTitle %>" <% } %> ><%= caption %>');
config.tabs[after + 1] = tab;
var _after_action = _get_tab_action(after);
diff --git a/apps/common/main/lib/controller/Plugins.js b/apps/common/main/lib/controller/Plugins.js
index 1513fc2cd..d8dd5a909 100644
--- a/apps/common/main/lib/controller/Plugins.js
+++ b/apps/common/main/lib/controller/Plugins.js
@@ -63,7 +63,7 @@ define([
var appOptions = me.getApplication().getController('Main').appOptions;
if ( !appOptions.isEditMailMerge && !appOptions.isEditDiagram ) {
- var tab = {action: 'plugins', caption: me.panelPlugins.groupCaption};
+ var tab = {action: 'plugins', caption: me.panelPlugins.groupCaption, dataHintTitle: 'E'};
me.$toolbarPanelPlugins = me.panelPlugins.getPanel();
toolbar.addTab(tab, me.$toolbarPanelPlugins, 10); // TODO: clear plugins list in left panel
diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js
index 62f41c7e8..d14a04d90 100644
--- a/apps/common/main/lib/view/Header.js
+++ b/apps/common/main/lib/view/Header.js
@@ -470,14 +470,15 @@ define([
getPanel: function (role, config) {
var me = this;
- function createTitleButton(iconid, slot, disabled, hintDirection, hintOffset) {
+ function createTitleButton(iconid, slot, disabled, hintDirection, hintOffset, hintTitle) {
return (new Common.UI.Button({
cls: 'btn-header',
iconCls: iconid,
disabled: disabled === true,
dataHint:'0',
dataHintDirection: hintDirection ? hintDirection : 'left',
- dataHintOffset: hintOffset ? hintOffset : '10, 10'
+ dataHintOffset: hintOffset ? hintOffset : '10, 10',
+ dataHintTitle: hintTitle
})).render(slot);
}
@@ -532,7 +533,7 @@ define([
this.btnDownload = createTitleButton('toolbar__icon icon--inverse btn-download', $html.findById('#slot-hbtn-download'), undefined, 'bottom', 'big');
if ( config.canPrint )
- this.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-hbtn-print'), undefined, 'bottom', 'big');
+ this.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-hbtn-print'), undefined, 'bottom', 'big', 'P');
if ( config.canEdit && config.canRequestEditRights )
this.btnEdit = createTitleButton('toolbar__icon icon--inverse btn-edit', $html.findById('#slot-hbtn-edit'), undefined, 'bottom', 'big');
@@ -541,7 +542,7 @@ define([
if (!config.isEdit || config.customization && !!config.customization.compactHeader) {
if (config.user.guest && config.canRenameAnonymous)
- me.btnUserName = createTitleButton('toolbar__icon icon--inverse btn-user', $html.findById('#slot-btn-user-name'), undefined, 'bottom', 'big');
+ me.btnUserName = createTitleButton('toolbar__icon icon--inverse btn-user', $html.findById('#slot-btn-user-name'), undefined, 'bottom', 'big' );
else {
me.elUserName = $html.find('.btn-current-user');
me.elUserName.removeClass('hidden');
@@ -567,12 +568,12 @@ define([
me.setUserName(me.options.userName);
if ( config.canPrint && config.isEdit ) {
- me.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-btn-dt-print'), true);
+ me.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-btn-dt-print'), true, undefined, undefined, 'P');
}
- me.btnSave = createTitleButton('toolbar__icon icon--inverse btn-save', $html.findById('#slot-btn-dt-save'), true);
- me.btnUndo = createTitleButton('toolbar__icon icon--inverse btn-undo', $html.findById('#slot-btn-dt-undo'), true);
- me.btnRedo = createTitleButton('toolbar__icon icon--inverse btn-redo', $html.findById('#slot-btn-dt-redo'), true);
+ me.btnSave = createTitleButton('toolbar__icon icon--inverse btn-save', $html.findById('#slot-btn-dt-save'), true, undefined, undefined, 'S');
+ me.btnUndo = createTitleButton('toolbar__icon icon--inverse btn-undo', $html.findById('#slot-btn-dt-undo'), true, undefined, undefined, 'Z');
+ me.btnRedo = createTitleButton('toolbar__icon icon--inverse btn-redo', $html.findById('#slot-btn-dt-redo'), true, undefined, undefined, 'Y');
if ( me.btnSave.$icon.is('svg') ) {
me.btnSave.$icon.addClass('icon-save btn-save');
diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js
index 07ccd796f..ae5dea3a8 100644
--- a/apps/documenteditor/main/app/controller/Toolbar.js
+++ b/apps/documenteditor/main/app/controller/Toolbar.js
@@ -3178,7 +3178,7 @@ define([
me.toolbar.render(_.extend({isCompactView: compactview}, config));
- var tab = {action: 'review', caption: me.toolbar.textTabCollaboration};
+ var tab = {action: 'review', caption: me.toolbar.textTabCollaboration, dataHintTitle: 'U'};
var $panel = me.application.getController('Common.Controllers.ReviewChanges').createToolbarPanel();
if ( $panel ) {
me.toolbar.addTab(tab, $panel, 5);
@@ -3204,7 +3204,7 @@ define([
if ( config.isDesktopApp ) {
if ( config.canProtect ) {
- tab = {action: 'protect', caption: me.toolbar.textTabProtect};
+ tab = {action: 'protect', caption: me.toolbar.textTabProtect, dataHintTitle: 'T'};
$panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
if ($panel) me.toolbar.addTab(tab, $panel, 6);
@@ -3217,7 +3217,7 @@ define([
}
if ( config.isEdit && config.canFeatureContentControl || config.isRestrictedEdit && config.canFillForms ) {
if (config.canFeatureForms) {
- tab = {caption: me.textTabForms, action: 'forms'};
+ tab = {caption: me.textTabForms, action: 'forms', dataHintTitle: 'M'};
var forms = me.getApplication().getController('FormsTab');
forms.setApi(me.api).setConfig({toolbar: me, config: config});
$panel = forms.createToolbarPanel();
diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js
index 27297de15..758ceccb2 100644
--- a/apps/documenteditor/main/app/view/Toolbar.js
+++ b/apps/documenteditor/main/app/view/Toolbar.js
@@ -109,11 +109,11 @@ define([
Common.UI.Mixtbar.prototype.initialize.call(this, {
template: _.template(template),
tabs: [
- {caption: me.textTabFile, action: 'file', extcls: 'canedit', haspanel:false},
- {caption: me.textTabHome, action: 'home', extcls: 'canedit'},
- {caption: me.textTabInsert, action: 'ins', extcls: 'canedit'},
- {caption: me.textTabLayout, action: 'layout', extcls: 'canedit'},
- {caption: me.textTabLinks, action: 'links', extcls: 'canedit'}
+ {caption: me.textTabFile, action: 'file', extcls: 'canedit', haspanel:false, dataHintTitle: 'F'},
+ {caption: me.textTabHome, action: 'home', extcls: 'canedit', dataHintTitle: 'H'},
+ {caption: me.textTabInsert, action: 'ins', extcls: 'canedit', dataHintTitle: 'I'},
+ {caption: me.textTabLayout, action: 'layout', extcls: 'canedit', dataHintTitle: 'L'},
+ {caption: me.textTabLinks, action: 'links', extcls: 'canedit', dataHintTitle: 'R'}
]
}
);
@@ -1398,7 +1398,7 @@ define([
Common.UI.Mixtbar.prototype.initialize.call(this, {
template: _.template(template_view),
tabs: [
- {caption: me.textTabFile, action: 'file', haspanel: false}
+ {caption: me.textTabFile, action: 'file', haspanel: false, dataHintTitle: 'F'}
]
}
);
diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js
index 38dcbfe6b..a9615a08c 100644
--- a/apps/presentationeditor/main/app/controller/Toolbar.js
+++ b/apps/presentationeditor/main/app/controller/Toolbar.js
@@ -2418,7 +2418,7 @@ define([
}
me.toolbar.render(_.extend({compactview: compactview}, config));
- var tab = {action: 'review', caption: me.toolbar.textTabCollaboration};
+ var tab = {action: 'review', caption: me.toolbar.textTabCollaboration, dataHintTitle: 'U'};
var $panel = me.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel();
if ( $panel ) {
me.toolbar.addTab(tab, $panel, 4);
@@ -2449,7 +2449,7 @@ define([
if ( config.isDesktopApp ) {
if ( config.canProtect ) { // don't add protect panel to toolbar
- tab = {action: 'protect', caption: me.toolbar.textTabProtect};
+ tab = {action: 'protect', caption: me.toolbar.textTabProtect, dataHintTitle: 'T'};
$panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
if ($panel)
me.toolbar.addTab(tab, $panel, 4);
diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js
index 0d48419c8..cd3207d6a 100644
--- a/apps/presentationeditor/main/app/view/Toolbar.js
+++ b/apps/presentationeditor/main/app/view/Toolbar.js
@@ -128,10 +128,10 @@ define([
Common.UI.Mixtbar.prototype.initialize.call(this, {
template: _.template(template),
tabs: [
- {caption: me.textTabFile, action: 'file', extcls: 'canedit', haspanel:false},
- {caption: me.textTabHome, action: 'home', extcls: 'canedit'},
- {caption: me.textTabInsert, action: 'ins', extcls: 'canedit'},
- {caption: me.textTabTransitions, action: 'transit', extcls: 'canedit'}
+ {caption: me.textTabFile, action: 'file', extcls: 'canedit', haspanel:false, dataHintTitle: 'F'},
+ {caption: me.textTabHome, action: 'home', extcls: 'canedit', dataHintTitle: 'H'},
+ {caption: me.textTabInsert, action: 'ins', extcls: 'canedit', dataHintTitle: 'I'},
+ {caption: me.textTabTransitions, action: 'transit', extcls: 'canedit', dataHintTitle: 'N'}
]
}
);
@@ -1073,7 +1073,7 @@ define([
Common.UI.Mixtbar.prototype.initialize.call(this, {
template: _.template(template_view),
tabs: [
- {caption: me.textTabFile, action: 'file', haspanel:false}
+ {caption: me.textTabFile, action: 'file', haspanel:false, dataHintTitle: 'F'}
]
}
);
diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js
index 55997074b..1e64b6725 100644
--- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js
+++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js
@@ -3715,7 +3715,7 @@ define([
me.toolbar.render(_.extend({isCompactView: compactview}, config));
if ( !config.isEditDiagram && !config.isEditMailMerge ) {
- var tab = {action: 'review', caption: me.toolbar.textTabCollaboration};
+ var tab = {action: 'review', caption: me.toolbar.textTabCollaboration, dataHintTitle: 'U'};
var $panel = me.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel();
if ($panel) {
me.toolbar.addTab(tab, $panel, 6);
@@ -3755,7 +3755,7 @@ define([
Array.prototype.push.apply(me.toolbar.lockControls, formulatab.getButtons());
if ( config.canFeaturePivot ) {
- tab = {action: 'pivot', caption: me.textPivot};
+ tab = {action: 'pivot', caption: me.textPivot, dataHintTitle: 'B'};
var pivottab = me.getApplication().getController('PivotTable');
pivottab.setApi(me.api).setConfig({toolbar: me});
$panel = pivottab.createToolbarPanel();
@@ -3778,7 +3778,7 @@ define([
me.toolbar.btnCopy.$el.removeClass('split');
}
- var tab = {action: 'protect', caption: me.toolbar.textTabProtect};
+ var tab = {action: 'protect', caption: me.toolbar.textTabProtect, dataHintTitle: 'T'};
var $panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
if ($panel) {
config.canProtect && $panel.append($(''));
diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js
index 190ebfce9..9255437ca 100644
--- a/apps/spreadsheeteditor/main/app/view/Toolbar.js
+++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js
@@ -352,14 +352,14 @@ define([
Common.UI.Mixtbar.prototype.initialize.call(this, {
template: _.template(template),
tabs: [
- { caption: me.textTabFile, action: 'file', extcls: 'canedit', haspanel:false},
- { caption: me.textTabHome, action: 'home', extcls: 'canedit'},
- { caption: me.textTabInsert, action: 'ins', extcls: 'canedit'},
- {caption: me.textTabLayout, action: 'layout', extcls: 'canedit'},
- {caption: me.textTabFormula, action: 'formula', extcls: 'canedit'},
- {caption: me.textTabData, action: 'data', extcls: 'canedit'},
+ { caption: me.textTabFile, action: 'file', extcls: 'canedit', haspanel:false, dataHintTitle: 'F'},
+ { caption: me.textTabHome, action: 'home', extcls: 'canedit', dataHintTitle: 'H'},
+ { caption: me.textTabInsert, action: 'ins', extcls: 'canedit', dataHintTitle: 'I'},
+ {caption: me.textTabLayout, action: 'layout', extcls: 'canedit', dataHintTitle: 'L'},
+ {caption: me.textTabFormula, action: 'formula', extcls: 'canedit', dataHintTitle: 'O'},
+ {caption: me.textTabData, action: 'data', extcls: 'canedit', dataHintTitle: 'D'},
undefined, undefined, undefined,
- {caption: me.textTabView, action: 'view', extcls: 'canedit'}
+ {caption: me.textTabView, action: 'view', extcls: 'canedit', dataHintTitle: 'W'}
]}
);
@@ -1615,7 +1615,7 @@ define([
Common.UI.Mixtbar.prototype.initialize.call(this, {
template: _.template(template_view),
tabs: [
- {caption: me.textTabFile, action: 'file', haspanel:false}
+ {caption: me.textTabFile, action: 'file', haspanel:false, dataHintTitle: 'F'}
]
}
);