diff --git a/apps/common/main/lib/view/SymbolTableDialog.js b/apps/common/main/lib/view/SymbolTableDialog.js
index cc68c3fcfa..e3b7c96dbd 100644
--- a/apps/common/main/lib/view/SymbolTableDialog.js
+++ b/apps/common/main/lib/view/SymbolTableDialog.js
@@ -815,7 +815,7 @@ define([
getSpecialSymbol: function() {
var rec = this.specialList.getSelectedRec();
- return {font: undefined, symbol: this.encodeSurrogateChar(rec.get('code')), code: parseInt(rec.get('code'), 16), special: rec.get('special')};
+ return {font: undefined, symbol: this.encodeSurrogateChar(rec.get('code')), code: parseInt(rec.get('code'), 16), special: rec.get('special'), speccharacter: true};
},
onBtnClick: function(event) {
diff --git a/apps/common/main/resources/less/asc-mixins.less b/apps/common/main/resources/less/asc-mixins.less
index 44a69b1b1e..7d940f0759 100644
--- a/apps/common/main/resources/less/asc-mixins.less
+++ b/apps/common/main/resources/less/asc-mixins.less
@@ -559,6 +559,16 @@
.margins-h-var()
}
+.margin-x(@left, @right) {
+ margin-left: @left;
+ margin-right: @right;
+
+ .rtl & {
+ margin-left: @right;
+ margin-right: @left;
+ }
+}
+
.margin-right(@value) {
margin-right: @value;
margin-left: 0;
diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js
index 0293c47fde..16837e8360 100644
--- a/apps/documenteditor/main/app/controller/Toolbar.js
+++ b/apps/documenteditor/main/app/controller/Toolbar.js
@@ -374,7 +374,8 @@ define([
toolbar.listStyles.on('contextmenu', _.bind(this.onListStyleContextMenu, this));
toolbar.styleMenu.on('hide:before', _.bind(this.onListStyleBeforeHide, this));
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
- toolbar.btnInsertSymbol.on('click', _.bind(this.onInsertSymbolClick, this));
+ toolbar.btnInsertSymbol.menu.items[2].on('click', _.bind(this.onInsertSymbolClick, this));
+ toolbar.mnuInsertSymbolsPicker.on('item:click', _.bind(this.onInsertSymbolItemClick, this));
toolbar.mnuNoControlsColor.on('click', _.bind(this.onNoControlsColor, this));
toolbar.mnuControlsColorPicker.on('select', _.bind(this.onSelectControlsColor, this));
toolbar.btnLineNumbers.menu.on('item:click', _.bind(this.onLineNumbersSelect, this));
@@ -2893,14 +2894,14 @@ define([
buttons: [{value: 'ok', caption: this.textInsert}, 'close'],
handler: function(dlg, result, settings) {
if (result == 'ok') {
- me.api.asc_insertSymbol(settings.font ? settings.font : me.api.get_TextProps().get_TextPr().get_FontFamily().get_Name(), settings.code, settings.special);
+ me.insertSymbol(settings.font, settings.code, settings.special, settings.speccharacter);
} else
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
me.dlgSymbolTable.show();
me.dlgSymbolTable.on('symbol:dblclick', function(cmp, result, settings) {
- me.api.asc_insertSymbol(settings.font ? settings.font : me.api.get_TextProps().get_TextPr().get_FontFamily().get_Name(), settings.code, settings.special);
+ me.insertSymbol(settings.font, settings.code, settings.special, settings.speccharacter);
});
me.dlgSymbolTable.on('close', function(obj){
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
@@ -2908,6 +2909,17 @@ define([
}
},
+ onInsertSymbolItemClick: function(picker, item, record, e) {
+ if (this.api && record)
+ this.insertSymbol(record.get('font'), record.get('symbol'), record.get('special'));
+ },
+
+ insertSymbol: function(fontRecord, symbol, special, specCharacter){
+ var font = fontRecord ? fontRecord: this.api.get_TextProps().get_TextPr().get_FontFamily().get_Name();
+ this.api.asc_insertSymbol(font, symbol, special);
+ !specCharacter && this.toolbar.saveSymbol(symbol, font);
+ },
+
onApiMathTypes: function(equation) {
this._equationTemp = equation;
var me = this;
diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js
index b561e71155..e4592830b4 100644
--- a/apps/documenteditor/main/app/view/Toolbar.js
+++ b/apps/documenteditor/main/app/view/Toolbar.js
@@ -825,6 +825,16 @@ define([
lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode,
_set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments],
caption: me.capBtnInsSymbol,
+ menu: new Common.UI.Menu({
+ style: 'min-width: 100px;',
+ items: [
+ {template: _.template('
')},
+ {caption: '--'},
+ new Common.UI.MenuItem({
+ caption: this.textMoreSymbols
+ })
+ ]
+ }),
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'small'
@@ -2359,6 +2369,47 @@ define([
}));
// set dataviews
+ this.specSymbols = [
+ {symbol: 8226, description: this.textBullet},
+ {symbol: 8364, description: this.textEuro},
+ {symbol: 65284, description: this.textDollar},
+ {symbol: 165, description: this.textYen},
+ {symbol: 169, description: this.textCopyright},
+ {symbol: 174, description: this.textRegistered},
+ {symbol: 189, description: this.textOneHalf},
+ {symbol: 188, description: this.textOneQuarter},
+ {symbol: 8800, description: this.textNotEqualTo},
+ {symbol: 177, description: this.textPlusMinus},
+ {symbol: 247, description: this.textDivision},
+ {symbol: 8730, description: this.textSquareRoot},
+ {symbol: 8804, description: this.textLessEqual},
+ {symbol: 8805, description: this.textGreaterEqual},
+ {symbol: 8482, description: this.textTradeMark},
+ {symbol: 8734, description: this.textInfinity},
+ {symbol: 126, description: this.textTilde},
+ {symbol: 176, description: this.textDegree},
+ {symbol: 167, description: this.textSection},
+ {symbol: 945, description: this.textAlpha},
+ {symbol: 946, description: this.textBetta},
+ {symbol: 960, description: this.textLetterPi},
+ {symbol: 916, description: this.textDelta},
+ {symbol: 9786, description: this.textSmile},
+ {symbol: 9829, description: this.textBlackHeart}
+ ];
+ this.mnuInsertSymbolsPicker = new Common.UI.DataView({
+ el: $('#id-toolbar-menu-symbols'),
+ parentMenu: this.btnInsertSymbol.menu,
+ outerMenu: {menu: this.btnInsertSymbol.menu, index:0},
+ restoreHeight: 290,
+ delayRenderTips: true,
+ scrollAlwaysVisible: true,
+ store: new Common.UI.DataViewStore(this.loadRecentSymbolsFromStorage()),
+ itemTemplate: _.template(' style ="font-family: <%= font %>"<% } %>><%= symbol %>
')
+ });
+ this.btnInsertSymbol.menu.setInnerMenu([{menu: this.mnuInsertSymbolsPicker, index: 0}]);
+ this.btnInsertSymbol.menu.on('show:before', _.bind(function() {
+ this.mnuInsertSymbolsPicker.deselectAll();
+ }, this));
var _conf = this.mnuMarkersPicker.conf;
this._markersArr = [
@@ -2875,6 +2926,65 @@ define([
this.btnPageMargins.menu.items[0].setVisible(false);
},
+ loadRecentSymbolsFromStorage: function(){
+ var recents = Common.localStorage.getItem('de-fastRecentSymbols');
+ var arr =(!!recents) ? JSON.parse(recents) :
+ [
+ { symbol: 8226, font: 'Arial'},
+ { symbol: 8364, font: 'Arial'},
+ { symbol: 65284, font: 'Arial'},
+ { symbol: 165, font: 'Arial'},
+ { symbol: 169, font: 'Arial'},
+ { symbol: 174, font: 'Arial'},
+ { symbol: 189, font: 'Arial'},
+ { symbol: 188, font: 'Arial'},
+ { symbol: 8800, font: 'Arial'},
+ { symbol: 177, font: 'Arial'},
+ { symbol: 247, font: 'Arial'},
+ { symbol: 8730, font: 'Arial'},
+ { symbol: 8804, font: 'Arial'},
+ { symbol: 8805, font: 'Arial'},
+ { symbol: 8482, font: 'Arial'},
+ { symbol: 8734, font: 'Arial'},
+ { symbol: 126, font: 'Arial'},
+ { symbol: 176, font: 'Arial'},
+ { symbol: 167, font: 'Arial'},
+ { symbol: 945, font: 'Arial'},
+ { symbol: 946, font: 'Arial'},
+ { symbol: 960, font: 'Arial'},
+ { symbol: 916, font: 'Arial'},
+ { symbol: 9786, font: 'Arial'},
+ { symbol: 9829, font: 'Arial'}
+ ];
+ arr.forEach(function (item){
+ item.tip = this.getSymbolDescription(item.symbol);
+ }.bind(this));
+ return arr;
+ },
+
+ saveSymbol: function(symbol, font) {
+ var maxLength =25,
+ picker = this.mnuInsertSymbolsPicker;
+ var item = picker.store.find(function(item){
+ return item.get('symbol') == symbol && item.get('font') == font
+ });
+
+ item && picker.store.remove(item);
+ picker.store.add({symbol: symbol, font: font, tip: this.getSymbolDescription(symbol)},{at:0});
+ picker.store.length > maxLength && picker.store.remove(picker.store.last());
+
+ var arr = picker.store.map(function (item){
+ return {symbol: item.get('symbol'), font: item.get('font')};
+ });
+ var sJSON = JSON.stringify(arr);
+ Common.localStorage.setItem( 'de-fastRecentSymbols', sJSON);
+ },
+
+ getSymbolDescription: function(symbol){
+ var specSymbol = this.specSymbols.find(function (item){return item.symbol == symbol});
+ return !!specSymbol ? specSymbol.description : this.capBtnInsSymbol + ': ' + symbol;
+ },
+
loadListPresetsFromStorage: function(path, groupId) {
var recents = Common.localStorage.getItem(path),
arr = [];
@@ -3154,7 +3264,33 @@ define([
txtGroupBulletDoc: 'Document bullets',
txtGroupNumDoc: 'Document numbering formats',
txtGroupMultiDoc: 'Lists in current document',
- textTabDraw: 'Draw'
+ textTabDraw: 'Draw',
+ textMoreSymbols: 'More symbols',
+ textAlpha: 'Greek Small Letter Alpha',
+ textBetta: 'Greek Small Letter Betta',
+ textBlackHeart: 'Black Heart Suit',
+ textBullet: 'Bullet',
+ textCopyright: 'Copyright Sign',
+ textDegree: 'Degree Sign',
+ textDelta: 'Greek Small Letter Delta',
+ textDivision: 'Division Sign',
+ textDollar: 'Dollar Sign',
+ textEuro: 'Euro Sign',
+ textGreaterEqual: 'Greater-Than Or Equal To',
+ textInfinity: 'Infinity',
+ textLessEqual: 'Less-Than Or Equal To',
+ textLetterPi: 'Greek Small Letter Pi',
+ textNotEqualTo: 'Not Equal To',
+ textOneHalf: 'Vulgar Fraction One Half',
+ textOneQuarter: 'Vulgar Fraction One Quarter',
+ textPlusMinus: 'Plus-Minus Sign',
+ textRegistered: 'Registered Sign',
+ textSection: 'Section Sign',
+ textSmile: 'White Smiling Fase',
+ textSquareRoot: 'Square Root',
+ textTilde: 'Tilde',
+ textTradeMark: 'Trade Mark Sign',
+ textYen: 'Yen Sign'
}
})(), DE.Views.Toolbar || {}));
});
diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json
index 20c102f43b..ac581993c9 100644
--- a/apps/documenteditor/main/locale/en.json
+++ b/apps/documenteditor/main/locale/en.json
@@ -3203,11 +3203,16 @@
"DE.Views.Toolbar.mniToggleCase": "tOGGLE cASE",
"DE.Views.Toolbar.mniUpperCase": "UPPERCASE",
"DE.Views.Toolbar.strMenuNoFill": "No fill",
+ "DE.Views.Toolbar.textAlpha": "Greek Small Letter Alpha",
"DE.Views.Toolbar.textAutoColor": "Automatic",
+ "DE.Views.Toolbar.textBetta": "Greek Small Letter Betta",
+ "DE.Views.Toolbar.textBlackHeart": "Black Heart Suit",
"DE.Views.Toolbar.textBold": "Bold",
"DE.Views.Toolbar.textBottom": "Bottom: ",
+ "DE.Views.Toolbar.textBullet": "Bullet",
"DE.Views.Toolbar.textChangeLevel": "Change List Level",
"DE.Views.Toolbar.textCheckboxControl": "Check box",
+ "DE.Views.Toolbar.textCopyright": "Copyright Sign",
"DE.Views.Toolbar.textColumnsCustom": "Custom columns",
"DE.Views.Toolbar.textColumnsLeft": "Left",
"DE.Views.Toolbar.textColumnsOne": "One",
@@ -3219,9 +3224,16 @@
"DE.Views.Toolbar.textContPage": "Continuous page",
"DE.Views.Toolbar.textCustomLineNumbers": "Line numbering options",
"DE.Views.Toolbar.textDateControl": "Date",
+ "DE.Views.Toolbar.textDegree": "Degree Sign",
+ "DE.Views.Toolbar.textDelta": "Greek Small Letter Delta",
+ "DE.Views.Toolbar.textDivision": "Division Sign",
+ "DE.Views.Toolbar.textDollar": "Dollar Sign",
"DE.Views.Toolbar.textDropdownControl": "Drop-down list",
"DE.Views.Toolbar.textEditWatermark": "Custom watermark",
+ "DE.Views.Toolbar.textEuro": "Euro Sign",
"DE.Views.Toolbar.textEvenPage": "Even page",
+ "DE.Views.Toolbar.textGreaterEqual": "Greater-Than Or Equal To",
+ "DE.Views.Toolbar.textInfinity": "Infinity",
"DE.Views.Toolbar.textInMargin": "In Margin",
"DE.Views.Toolbar.textInsColumnBreak": "Insert column break",
"DE.Views.Toolbar.textInsertPageCount": "Insert number of pages",
@@ -3232,6 +3244,8 @@
"DE.Views.Toolbar.textItalic": "Italic",
"DE.Views.Toolbar.textLandscape": "Landscape",
"DE.Views.Toolbar.textLeft": "Left: ",
+ "DE.Views.Toolbar.textLessEqual": "Less-Than Or Equal To",
+ "DE.Views.Toolbar.textLetterPi": "Greek Small Letter Pi",
"DE.Views.Toolbar.textListSettings": "List Settings",
"DE.Views.Toolbar.textMarginsLast": "Last Custom",
"DE.Views.Toolbar.textMarginsModerate": "Moderate",
@@ -3239,22 +3253,31 @@
"DE.Views.Toolbar.textMarginsNormal": "Normal",
"DE.Views.Toolbar.textMarginsUsNormal": "US Normal",
"DE.Views.Toolbar.textMarginsWide": "Wide",
+ "DE.Views.Toolbar.textMoreSymbols": "More symbols",
"DE.Views.Toolbar.textNewColor": "More Colors",
"DE.Views.Toolbar.textNextPage": "Next page",
"DE.Views.Toolbar.textNoHighlight": "No highlighting",
"DE.Views.Toolbar.textNone": "None",
+ "DE.Views.Toolbar.textNotEqualTo": "Not Equal To",
"DE.Views.Toolbar.textOddPage": "Odd page",
+ "DE.Views.Toolbar.textOneHalf": "Vulgar Fraction One Half",
+ "DE.Views.Toolbar.textOneQuarter": "Vulgar Fraction One Quarter",
"DE.Views.Toolbar.textPageMarginsCustom": "Custom margins",
"DE.Views.Toolbar.textPageSizeCustom": "Custom page size",
"DE.Views.Toolbar.textPictureControl": "Picture",
"DE.Views.Toolbar.textPlainControl": "Plain text",
+ "DE.Views.Toolbar.textPlusMinus": "Plus-Minus Sign",
"DE.Views.Toolbar.textPortrait": "Portrait",
+ "DE.Views.Toolbar.textRegistered": "Registered Sign",
"DE.Views.Toolbar.textRemoveControl": "Remove Content Control",
"DE.Views.Toolbar.textRemWatermark": "Remove watermark",
"DE.Views.Toolbar.textRestartEachPage": "Restart each page",
"DE.Views.Toolbar.textRestartEachSection": "Restart each section",
"DE.Views.Toolbar.textRichControl": "Rich text",
"DE.Views.Toolbar.textRight": "Right: ",
+ "DE.Views.Toolbar.textSection": "Section Sign",
+ "DE.Views.Toolbar.textSmile": "White Smiling Fase",
+ "DE.Views.Toolbar.textSquareRoot": "Square Root",
"DE.Views.Toolbar.textStrikeout": "Strikethrough",
"DE.Views.Toolbar.textStyleMenuDelete": "Delete style",
"DE.Views.Toolbar.textStyleMenuDeleteAll": "Delete all custom styles",
@@ -3275,10 +3298,13 @@
"DE.Views.Toolbar.textTabProtect": "Protection",
"DE.Views.Toolbar.textTabReview": "Review",
"DE.Views.Toolbar.textTabView": "View",
+ "DE.Views.Toolbar.textTilde": "Tilde",
"DE.Views.Toolbar.textTitleError": "Error",
"DE.Views.Toolbar.textToCurrent": "To current position",
"DE.Views.Toolbar.textTop": "Top: ",
+ "DE.Views.Toolbar.textTradeMark": "Trade Mark Sign",
"DE.Views.Toolbar.textUnderline": "Underline",
+ "DE.Views.Toolbar.textYen": "Yen Sign",
"DE.Views.Toolbar.tipAlignCenter": "Align center",
"DE.Views.Toolbar.tipAlignJust": "Justified",
"DE.Views.Toolbar.tipAlignLeft": "Align left",
diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less
index 7ff933ba47..eb04da1d98 100644
--- a/apps/documenteditor/main/resources/less/toolbar.less
+++ b/apps/documenteditor/main/resources/less/toolbar.less
@@ -29,6 +29,31 @@
background-color: transparent;
}
+#id-toolbar-menu-symbols {
+ display: inline-block;
+ width: 158px;
+ .padding-left(3px);
+ .item {
+ .box-shadow(none);
+ .margin-x(6px, 4px);
+ &:hover, &.selected{
+ .box-shadow( 0 0 0 2px @border-preview-select-ie);
+ .box-shadow( 0 0 0 @scaled-two-px-value @border-preview-select);
+ }
+ }
+ .item-symbol {
+ font-family: @font-family-base;
+ font-size: 14px;
+ display: block;
+ width: 20px;
+ height: 20px;
+ text-align: center;
+ line-height: 20px;
+ vertical-align: middle;
+
+ }
+}
+
.item-markerlist {
width: 40px;
height: 40px;
diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js
index c73b500f82..292aa6c987 100644
--- a/apps/presentationeditor/main/app/controller/Toolbar.js
+++ b/apps/presentationeditor/main/app/controller/Toolbar.js
@@ -362,7 +362,8 @@ define([
toolbar.btnSlideSize.menu.on('item:click', _.bind(this.onSlideSize, this));
toolbar.listTheme.on('click', _.bind(this.onListThemeSelect, this));
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
- toolbar.btnInsertSymbol.on('click', _.bind(this.onInsertSymbolClick, this));
+ toolbar.btnInsertSymbol.menu.items[2].on('click', _.bind(this.onInsertSymbolClick, this));
+ toolbar.mnuInsertSymbolsPicker.on('item:click', _.bind(this.onInsertSymbolItemClick, this));
toolbar.btnEditHeader.on('click', _.bind(this.onEditHeaderClick, this, 'header'));
toolbar.btnInsDateTime.on('click', _.bind(this.onEditHeaderClick, this, 'datetime'));
toolbar.btnInsSlideNum.on('click', _.bind(this.onEditHeaderClick, this, 'slidenum'));
@@ -2365,18 +2366,28 @@ define([
symbol: selected && selected.length>0 ? selected.charAt(0) : undefined,
handler: function(dlg, result, settings) {
if (result == 'ok') {
- me.api.asc_insertSymbol(settings.font ? settings.font : me.api.get_TextProps().get_TextPr().get_FontFamily().get_Name(), settings.code, settings.special);
+ me.insertSymbol(settings.font, settings.code, settings.special, settings.speccharacter);
} else
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
win.show();
win.on('symbol:dblclick', function(cmp, result, settings) {
- me.api.asc_insertSymbol(settings.font ? settings.font : me.api.get_TextProps().get_TextPr().get_FontFamily().get_Name(), settings.code, settings.special);
- });
+ me.insertSymbol(settings.font, settings.code, settings.special, settings.speccharacter); });
}
},
+ onInsertSymbolItemClick: function(picker, item, record, e) {
+ if (this.api && record)
+ this.insertSymbol(record.get('font') , record.get('symbol'), record.get('special'));
+ },
+
+ insertSymbol: function(fontRecord, symbol, special, specCharacter){
+ var font = fontRecord ? fontRecord: this.api.get_TextProps().get_TextPr().get_FontFamily().get_Name();
+ this.api.asc_insertSymbol(font, symbol, special);
+ !specCharacter && this.toolbar.saveSymbol(symbol, font);
+ },
+
onApiMathTypes: function(equation) {
this._equationTemp = equation;
var me = this;
diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js
index 4cef938595..ecbef27bd9 100644
--- a/apps/presentationeditor/main/app/view/Toolbar.js
+++ b/apps/presentationeditor/main/app/view/Toolbar.js
@@ -801,6 +801,16 @@ define([
iconCls: 'toolbar__icon btn-symbol',
caption: me.capBtnInsSymbol,
lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
+ menu: new Common.UI.Menu({
+ style: 'min-width: 100px;',
+ items: [
+ {template: _.template('')},
+ {caption: '--'},
+ new Common.UI.MenuItem({
+ caption: this.textMoreSymbols
+ })
+ ]
+ }),
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'small'
@@ -1628,6 +1638,47 @@ define([
this.btnInsertTextArt.menu.on('show:before', onShowBeforeTextArt);
// set dataviews
+ this.specSymbols = [
+ {symbol: 8226, description: this.textBullet},
+ {symbol: 8364, description: this.textEuro},
+ {symbol: 65284, description: this.textDollar},
+ {symbol: 165, description: this.textYen},
+ {symbol: 169, description: this.textCopyright},
+ {symbol: 174, description: this.textRegistered},
+ {symbol: 189, description: this.textOneHalf},
+ {symbol: 188, description: this.textOneQuarter},
+ {symbol: 8800, description: this.textNotEqualTo},
+ {symbol: 177, description: this.textPlusMinus},
+ {symbol: 247, description: this.textDivision},
+ {symbol: 8730, description: this.textSquareRoot},
+ {symbol: 8804, description: this.textLessEqual},
+ {symbol: 8805, description: this.textGreaterEqual},
+ {symbol: 8482, description: this.textTradeMark},
+ {symbol: 8734, description: this.textInfinity},
+ {symbol: 126, description: this.textTilde},
+ {symbol: 176, description: this.textDegree},
+ {symbol: 167, description: this.textSection},
+ {symbol: 945, description: this.textAlpha},
+ {symbol: 946, description: this.textBetta},
+ {symbol: 960, description: this.textLetterPi},
+ {symbol: 916, description: this.textDelta},
+ {symbol: 9786, description: this.textSmile},
+ {symbol: 9829, description: this.textBlackHeart}
+ ];
+ this.mnuInsertSymbolsPicker = new Common.UI.DataView({
+ el: $('#id-toolbar-menu-symbols'),
+ parentMenu: this.btnInsertSymbol.menu,
+ outerMenu: {menu: this.btnInsertSymbol.menu, index:0},
+ restoreHeight: 290,
+ delayRenderTips: true,
+ scrollAlwaysVisible: true,
+ store: new Common.UI.DataViewStore(this.loadRecentSymbolsFromStorage()),
+ itemTemplate: _.template(' style ="font-family: <%= font %>"<% } %>><%= symbol %>
')
+ });
+ this.btnInsertSymbol.menu.setInnerMenu([{menu: this.mnuInsertSymbolsPicker, index: 0}]);
+ this.btnInsertSymbol.menu.on('show:before', _.bind(function() {
+ this.mnuInsertSymbolsPicker.deselectAll();
+ }, this));
this._markersArr = [
'undefined',
@@ -2052,6 +2103,65 @@ define([
}
},
+ loadRecentSymbolsFromStorage: function(){
+ var recents = Common.localStorage.getItem('pe-fastRecentSymbols');
+ var arr = (!!recents) ? JSON.parse(recents) :
+ [
+ { symbol: 8226, font: 'Arial'},
+ { symbol: 8364, font: 'Arial'},
+ { symbol: 65284, font: 'Arial'},
+ { symbol: 165, font: 'Arial'},
+ { symbol: 169, font: 'Arial'},
+ { symbol: 174, font: 'Arial'},
+ { symbol: 189, font: 'Arial'},
+ { symbol: 188, font: 'Arial'},
+ { symbol: 8800, font: 'Arial'},
+ { symbol: 177, font: 'Arial'},
+ { symbol: 247, font: 'Arial'},
+ { symbol: 8730, font: 'Arial'},
+ { symbol: 8804, font: 'Arial'},
+ { symbol: 8805, font: 'Arial'},
+ { symbol: 8482, font: 'Arial'},
+ { symbol: 8734, font: 'Arial'},
+ { symbol: 126, font: 'Arial'},
+ { symbol: 176, font: 'Arial'},
+ { symbol: 167, font: 'Arial'},
+ { symbol: 945, font: 'Arial'},
+ { symbol: 946, font: 'Arial'},
+ { symbol: 960, font: 'Arial'},
+ { symbol: 916, font: 'Arial'},
+ { symbol: 9786, font: 'Arial'},
+ { symbol: 9829, font: 'Arial'}
+ ];
+ arr.forEach(function (item){
+ item.tip = this.getSymbolDescription(item.symbol);
+ }.bind(this));
+ return arr;
+ },
+
+ saveSymbol: function(symbol, font) {
+ var maxLength =25,
+ picker = this.mnuInsertSymbolsPicker;
+ var item = picker.store.find(function(item){
+ return item.get('symbol') == symbol && item.get('font') == font
+ });
+
+ item && picker.store.remove(item);
+ picker.store.add({symbol: symbol, font: font, tip: this.getSymbolDescription(symbol)},{at:0});
+ picker.store.length > maxLength && picker.store.remove(picker.store.last());
+
+ var arr = picker.store.map(function (item){
+ return {symbol: item.get('symbol'), font: item.get('font')};
+ });
+ var sJSON = JSON.stringify(arr);
+ Common.localStorage.setItem( 'pe-fastRecentSymbols', sJSON);
+ },
+
+ getSymbolDescription: function(symbol){
+ var specSymbol = this.specSymbols.find(function (item){return item.symbol == symbol});
+ return !!specSymbol ? specSymbol.description : this.capBtnInsSymbol + ': ' + symbol;
+ },
+
textBold: 'Bold',
textItalic: 'Italic',
textUnderline: 'Underline',
@@ -2229,7 +2339,33 @@ define([
mniInsertSSE: 'Insert Spreadsheet',
tipSelectAll: 'Select all',
tipCut: 'Cut',
- textTabDraw: 'Draw'
+ textTabDraw: 'Draw',
+ textMoreSymbols: 'More symbols',
+ textAlpha: 'Greek Small Letter Alpha',
+ textBetta: 'Greek Small Letter Betta',
+ textBlackHeart: 'Black Heart Suit',
+ textBullet: 'Bullet',
+ textCopyright: 'Copyright Sign',
+ textDegree: 'Degree Sign',
+ textDelta: 'Greek Small Letter Delta',
+ textDivision: 'Division Sign',
+ textDollar: 'Dollar Sign',
+ textEuro: 'Euro Sign',
+ textGreaterEqual: 'Greater-Than Or Equal To',
+ textInfinity: 'Infinity',
+ textLessEqual: 'Less-Than Or Equal To',
+ textLetterPi: 'Greek Small Letter Pi',
+ textNotEqualTo: 'Not Equal To',
+ textOneHalf: 'Vulgar Fraction One Half',
+ textOneQuarter: 'Vulgar Fraction One Quarter',
+ textPlusMinus: 'Plus-Minus Sign',
+ textRegistered: 'Registered Sign',
+ textSection: 'Section Sign',
+ textSmile: 'White Smiling Fase',
+ textSquareRoot: 'Square Root',
+ textTilde: 'Tilde',
+ textTradeMark: 'Trade Mark Sign',
+ textYen: 'Yen Sign'
}
}()), PE.Views.Toolbar || {}));
});
\ No newline at end of file
diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json
index d375eb97f9..2abc57e39d 100644
--- a/apps/presentationeditor/main/locale/en.json
+++ b/apps/presentationeditor/main/locale/en.json
@@ -2542,18 +2542,39 @@
"PE.Views.Toolbar.textAlignMiddle": "Align text to the middle",
"PE.Views.Toolbar.textAlignRight": "Align text right",
"PE.Views.Toolbar.textAlignTop": "Align text to the top",
+ "PE.Views.Toolbar.textAlpha": "Greek Small Letter Alpha",
"PE.Views.Toolbar.textArrangeBack": "Send to background",
"PE.Views.Toolbar.textArrangeBackward": "Send backward",
"PE.Views.Toolbar.textArrangeForward": "Bring forward",
"PE.Views.Toolbar.textArrangeFront": "Bring to foreground",
+ "PE.Views.Toolbar.textBetta": "Greek Small Letter Betta",
+ "PE.Views.Toolbar.textBlackHeart": "Black Heart Suit",
"PE.Views.Toolbar.textBold": "Bold",
+ "PE.Views.Toolbar.textBullet": "Bullet",
"PE.Views.Toolbar.textColumnsCustom": "Custom columns",
"PE.Views.Toolbar.textColumnsOne": "One Column",
"PE.Views.Toolbar.textColumnsThree": "Three Columns",
"PE.Views.Toolbar.textColumnsTwo": "Two Columns",
+ "PE.Views.Toolbar.textCopyright": "Copyright Sign",
+ "PE.Views.Toolbar.textDegree": "Degree Sign",
+ "PE.Views.Toolbar.textDelta": "Greek Small Letter Delta",
+ "PE.Views.Toolbar.textDivision": "Division Sign",
+ "PE.Views.Toolbar.textDollar": "Dollar Sign",
+ "PE.Views.Toolbar.textEuro": "Euro Sign",
+ "PE.Views.Toolbar.textGreaterEqual": "Greater-Than Or Equal To",
+ "PE.Views.Toolbar.textInfinity": "Infinity",
"PE.Views.Toolbar.textItalic": "Italic",
+ "PE.Views.Toolbar.textLessEqual": "Less-Than Or Equal To",
+ "PE.Views.Toolbar.textLetterPi": "Greek Small Letter Pi",
"PE.Views.Toolbar.textListSettings": "List Settings",
+ "PE.Views.Toolbar.textMoreSymbols": "More symbols",
+ "PE.Views.Toolbar.textNotEqualTo": "Not Equal To",
+ "PE.Views.Toolbar.textOneHalf": "Vulgar Fraction One Half",
+ "PE.Views.Toolbar.textOneQuarter": "Vulgar Fraction One Quarter",
+ "PE.Views.Toolbar.textPlusMinus": "Plus-Minus Sign",
"PE.Views.Toolbar.textRecentlyUsed": "Recently Used",
+ "PE.Views.Toolbar.textRegistered": "Registered Sign",
+ "PE.Views.Toolbar.textSection": "Section Sign",
"PE.Views.Toolbar.textShapeAlignBottom": "Align Bottom",
"PE.Views.Toolbar.textShapeAlignCenter": "Align Center",
"PE.Views.Toolbar.textShapeAlignLeft": "Align Left",
@@ -2564,6 +2585,8 @@
"PE.Views.Toolbar.textShowCurrent": "Show from Current Slide",
"PE.Views.Toolbar.textShowPresenterView": "Show Presenter View",
"PE.Views.Toolbar.textShowSettings": "Show Settings",
+ "PE.Views.Toolbar.textSmile": "White Smiling Fase",
+ "PE.Views.Toolbar.textSquareRoot": "Square Root",
"PE.Views.Toolbar.textStrikeout": "Strikethrough",
"PE.Views.Toolbar.textSubscript": "Subscript",
"PE.Views.Toolbar.textSuperscript": "Superscript",
@@ -2576,8 +2599,11 @@
"PE.Views.Toolbar.textTabProtect": "Protection",
"PE.Views.Toolbar.textTabTransitions": "Transitions",
"PE.Views.Toolbar.textTabView": "View",
+ "PE.Views.Toolbar.textTilde": "Tilde",
"PE.Views.Toolbar.textTitleError": "Error",
+ "PE.Views.Toolbar.textTradeMark": "Trade Mark Sign",
"PE.Views.Toolbar.textUnderline": "Underline",
+ "PE.Views.Toolbar.textYen": "Yen Sign",
"PE.Views.Toolbar.tipAddSlide": "Add slide",
"PE.Views.Toolbar.tipBack": "Back",
"PE.Views.Toolbar.tipChangeCase": "Change case",
diff --git a/apps/presentationeditor/main/resources/less/toolbar.less b/apps/presentationeditor/main/resources/less/toolbar.less
index 99e5cd426d..3516172df2 100644
--- a/apps/presentationeditor/main/resources/less/toolbar.less
+++ b/apps/presentationeditor/main/resources/less/toolbar.less
@@ -48,6 +48,31 @@
}
}
+#id-toolbar-menu-symbols {
+ display: inline-block;
+ width: 158px;
+ .padding-left(3px);
+ .item {
+ .box-shadow(none);
+ .margin-x(6px, 4px);
+ &:hover, &.selected{
+ .box-shadow( 0 0 0 2px @border-preview-select-ie);
+ .box-shadow( 0 0 0 @scaled-two-px-value @border-preview-select);
+ }
+ }
+ .item-symbol {
+ display: block;
+ font-family: @font-family-base;
+ font-size: 14px;
+ width: 20px;
+ height: 20px;
+ text-align: center;
+ line-height: 20px;
+ vertical-align: middle;
+
+ }
+}
+
.item-markerlist {
width: 40px;
height: 40px;
diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js
index bb04151917..4759b5269e 100644
--- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js
+++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js
@@ -423,7 +423,8 @@ define([
toolbar.btnInsertText.menu.on('item:click', _.bind(this.onMenuInsertTextClick, this));
toolbar.btnInsertShape.menu.on('hide:after', _.bind(this.onInsertShapeHide, this));
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
- toolbar.btnInsertSymbol.on('click', _.bind(this.onInsertSymbolClick, this));
+ toolbar.btnInsertSymbol.menu.items[2].on('click', _.bind(this.onInsertSymbolClick, this));
+ toolbar.mnuInsertSymbolsPicker.on('item:click', _.bind(this.onInsertSymbolItemClick, this));
toolbar.btnInsertSlicer.on('click', _.bind(this.onInsertSlicerClick, this));
toolbar.btnTableTemplate.menu.on('show:after', _.bind(this.onTableTplMenuOpen, this));
toolbar.btnPercentStyle.on('click', _.bind(this.onNumberFormat, this));
@@ -4080,18 +4081,29 @@ define([
symbol: selected && selected.length>0 ? selected.charAt(0) : undefined,
handler: function(dlg, result, settings) {
if (result == 'ok') {
- me.api.asc_insertSymbol(settings.font ? settings.font : me.api.asc_getCellInfo().asc_getXfs().asc_getFontName(), settings.code, settings.special);
+ me.insertSymbol(settings.font, settings.code, settings.special, settings.speccharacter);
} else
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
win.show();
win.on('symbol:dblclick', function(cmp, result, settings) {
- me.api.asc_insertSymbol(settings.font ? settings.font : me.api.asc_getCellInfo().asc_getXfs().asc_getFontName(), settings.code, settings.special);
+ me.insertSymbol(settings.font, settings.code, settings.special, settings.speccharacter);
});
}
},
+ onInsertSymbolItemClick: function(picker, item, record, e) {
+ if (this.api && record)
+ this.insertSymbol(record.get('font'), record.get('symbol'), record.get('special'));
+ },
+
+ insertSymbol: function(fontRecord, symbol, special, specCharacter){
+ var font = fontRecord ? fontRecord: this.api.asc_getCellInfo().asc_getXfs().asc_getFontName();
+ this.api.asc_insertSymbol(font, symbol, special);
+ !specCharacter && this.toolbar.saveSymbol(symbol, font);
+ },
+
onInsertSlicerClick: function() {
var me = this,
props = me.api.asc_beforeInsertSlicer();
diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js
index 88acd3f1a7..358375b10f 100644
--- a/apps/spreadsheeteditor/main/app/view/Toolbar.js
+++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js
@@ -1333,6 +1333,16 @@ define([
iconCls: 'toolbar__icon btn-symbol',
caption: me.capBtnInsSymbol,
lock: [_set.selImage, _set.selChart, _set.selShape, _set.editFormula, _set.selRangeEdit, _set.selSlicer, _set.coAuth, _set.coAuthText, _set.lostConnect],
+ menu: new Common.UI.Menu({
+ style: 'min-width: 100px;',
+ items: [
+ {template: _.template('')},
+ {caption: '--'},
+ new Common.UI.MenuItem({
+ caption: this.textMoreSymbols
+ })
+ ]
+ }),
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'small'
@@ -2754,6 +2764,49 @@ define([
this.btnInsertTextArt.menu.on('show:before', onShowBeforeTextArt);
}
+ this.specSymbols = [
+ {symbol: 8226, description: this.textBullet},
+ {symbol: 8364, description: this.textEuro},
+ {symbol: 65284, description: this.textDollar},
+ {symbol: 165, description: this.textYen},
+ {symbol: 169, description: this.textCopyright},
+ {symbol: 174, description: this.textRegistered},
+ {symbol: 189, description: this.textOneHalf},
+ {symbol: 188, description: this.textOneQuarter},
+ {symbol: 8800, description: this.textNotEqualTo},
+ {symbol: 177, description: this.textPlusMinus},
+ {symbol: 247, description: this.textDivision},
+ {symbol: 8730, description: this.textSquareRoot},
+ {symbol: 8804, description: this.textLessEqual},
+ {symbol: 8805, description: this.textGreaterEqual},
+ {symbol: 8482, description: this.textTradeMark},
+ {symbol: 8734, description: this.textInfinity},
+ {symbol: 126, description: this.textTilde},
+ {symbol: 176, description: this.textDegree},
+ {symbol: 167, description: this.textSection},
+ {symbol: 945, description: this.textAlpha},
+ {symbol: 946, description: this.textBetta},
+ {symbol: 960, description: this.textLetterPi},
+ {symbol: 916, description: this.textDelta},
+ {symbol: 9786, description: this.textSmile},
+ {symbol: 9829, description: this.textBlackHeart}
+ ];
+
+ this.mnuInsertSymbolsPicker = new Common.UI.DataView({
+ el: $('#id-toolbar-menu-symbols'),
+ parentMenu: this.btnInsertSymbol.menu,
+ outerMenu: {menu: this.btnInsertSymbol.menu, index:0},
+ restoreHeight: 290,
+ delayRenderTips: true,
+ scrollAlwaysVisible: true,
+ store: new Common.UI.DataViewStore(this.loadRecentSymbolsFromStorage()),
+ itemTemplate: _.template(' style ="font-family: <%= font %>"<% } %>><%= symbol %>
')
+ });
+ this.btnInsertSymbol.menu.setInnerMenu([{menu: this.mnuInsertSymbolsPicker, index: 0}]);
+ this.btnInsertSymbol.menu.on('show:before', _.bind(function() {
+ this.mnuInsertSymbolsPicker.deselectAll();
+ }, this));
+
if (this.btnCondFormat && this.btnCondFormat.rendered) {
this.btnCondFormat.setMenu( new Common.UI.Menu({
items: [
@@ -3237,6 +3290,65 @@ define([
},
+ loadRecentSymbolsFromStorage: function(){
+ var recents = Common.localStorage.getItem('sse-fastRecentSymbols');
+ var arr = (!!recents) ? JSON.parse(recents) :
+ [
+ { symbol: 8226, font: 'Arial'},
+ { symbol: 8364, font: 'Arial'},
+ { symbol: 65284, font: 'Arial'},
+ { symbol: 165, font: 'Arial'},
+ { symbol: 169, font: 'Arial'},
+ { symbol: 174, font: 'Arial'},
+ { symbol: 189, font: 'Arial'},
+ { symbol: 188, font: 'Arial'},
+ { symbol: 8800, font: 'Arial'},
+ { symbol: 177, font: 'Arial'},
+ { symbol: 247, font: 'Arial'},
+ { symbol: 8730, font: 'Arial'},
+ { symbol: 8804, font: 'Arial'},
+ { symbol: 8805, font: 'Arial'},
+ { symbol: 8482, font: 'Arial'},
+ { symbol: 8734, font: 'Arial'},
+ { symbol: 126, font: 'Arial'},
+ { symbol: 176, font: 'Arial'},
+ { symbol: 167, font: 'Arial'},
+ { symbol: 945, font: 'Arial'},
+ { symbol: 946, font: 'Arial'},
+ { symbol: 960, font: 'Arial'},
+ { symbol: 916, font: 'Arial'},
+ { symbol: 9786, font: 'Arial'},
+ { symbol: 9829, font: 'Arial'}
+ ];
+ arr.forEach(function (item){
+ item.tip = this.getSymbolDescription(item.symbol);
+ }.bind(this));
+ return arr;
+ },
+
+ saveSymbol: function(symbol, font) {
+ var maxLength =25,
+ picker = this.mnuInsertSymbolsPicker;
+ var item = picker.store.find(function(item){
+ return item.get('symbol') == symbol && item.get('font') == font
+ });
+
+ item && picker.store.remove(item);
+ picker.store.add({symbol: symbol, font: font, tip: this.getSymbolDescription(symbol)},{at:0});
+ picker.store.length > maxLength && picker.store.remove(picker.store.last());
+
+ var arr = picker.store.map(function (item){
+ return {symbol: item.get('symbol'), font: item.get('font')};
+ });
+ var sJSON = JSON.stringify(arr);
+ Common.localStorage.setItem( 'sse-fastRecentSymbols', sJSON);
+ },
+
+ getSymbolDescription: function(symbol){
+ var specSymbol = this.specSymbols.find(function (item){return item.symbol == symbol});
+ return !!specSymbol ? specSymbol.description : this.capBtnInsSymbol + ': ' + symbol;
+ },
+
textBold: 'Bold',
textItalic: 'Italic',
textUnderline: 'Underline',
@@ -3516,6 +3628,32 @@ define([
mniLowerCase: 'lowercase',
mniUpperCase: 'UPPERCASE',
mniCapitalizeWords: 'Capitalize Each Word',
- mniToggleCase: 'tOGGLE cASE'
+ mniToggleCase: 'tOGGLE cASE',
+ textMoreSymbols: 'More symbols',
+ textAlpha: 'Greek Small Letter Alpha',
+ textBetta: 'Greek Small Letter Betta',
+ textBlackHeart: 'Black Heart Suit',
+ textBullet: 'Bullet',
+ textCopyright: 'Copyright Sign',
+ textDegree: 'Degree Sign',
+ textDelta: 'Greek Small Letter Delta',
+ textDivision: 'Division Sign',
+ textDollar: 'Dollar Sign',
+ textEuro: 'Euro Sign',
+ textGreaterEqual: 'Greater-Than Or Equal To',
+ textInfinity: 'Infinity',
+ textLessEqual: 'Less-Than Or Equal To',
+ textLetterPi: 'Greek Small Letter Pi',
+ textNotEqualTo: 'Not Equal To',
+ textOneHalf: 'Vulgar Fraction One Half',
+ textOneQuarter: 'Vulgar Fraction One Quarter',
+ textPlusMinus: 'Plus-Minus Sign',
+ textRegistered: 'Registered Sign',
+ textSection: 'Section Sign',
+ textSmile: 'White Smiling Fase',
+ textSquareRoot: 'Square Root',
+ textTilde: 'Tilde',
+ textTradeMark: 'Trade Mark Sign',
+ textYen: 'Yen Sign'
}, SSE.Views.Toolbar || {}));
});
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json
index 3cc17e919b..23e2807537 100644
--- a/apps/spreadsheeteditor/main/locale/en.json
+++ b/apps/spreadsheeteditor/main/locale/en.json
@@ -3882,33 +3882,45 @@
"SSE.Views.Toolbar.textAlignRight": "Align Right",
"SSE.Views.Toolbar.textAlignTop": "Align Top",
"SSE.Views.Toolbar.textAllBorders": "All Borders",
+ "SSE.Views.Toolbar.textAlpha": "Greek Small Letter Alpha",
"SSE.Views.Toolbar.textAuto": "Auto",
"SSE.Views.Toolbar.textAutoColor": "Automatic",
+ "SSE.Views.Toolbar.textBetta": "Greek Small Letter Betta",
+ "SSE.Views.Toolbar.textBlackHeart": "Black Heart Suit",
"SSE.Views.Toolbar.textBold": "Bold",
"SSE.Views.Toolbar.textBordersColor": "Border color",
"SSE.Views.Toolbar.textBordersStyle": "Border style",
"SSE.Views.Toolbar.textBottom": "Bottom: ",
"SSE.Views.Toolbar.textBottomBorders": "Bottom borders",
+ "SSE.Views.Toolbar.textBullet": "Bullet",
"SSE.Views.Toolbar.textCenterBorders": "Inside vertical borders",
"SSE.Views.Toolbar.textClearPrintArea": "Clear print area",
"SSE.Views.Toolbar.textClearRule": "Clear rules",
"SSE.Views.Toolbar.textClockwise": "Angle clockwise",
"SSE.Views.Toolbar.textColorScales": "Color scales",
+ "SSE.Views.Toolbar.textCopyright": "Copyright Sign",
"SSE.Views.Toolbar.textCounterCw": "Angle counterclockwise",
"SSE.Views.Toolbar.textCustom": "Custom",
"SSE.Views.Toolbar.textDataBars": "Data bars",
+ "SSE.Views.Toolbar.textDegree": "Degree Sign",
"SSE.Views.Toolbar.textDelLeft": "Shift cells left",
+ "SSE.Views.Toolbar.textDelta": "Greek Small Letter Delta",
"SSE.Views.Toolbar.textDelUp": "Shift cells up",
"SSE.Views.Toolbar.textDiagDownBorder": "Diagonal down border",
"SSE.Views.Toolbar.textDiagUpBorder": "Diagonal up border",
+ "SSE.Views.Toolbar.textDivision": "Division Sign",
+ "SSE.Views.Toolbar.textDollar": "Dollar Sign",
"SSE.Views.Toolbar.textDone": "Done",
"SSE.Views.Toolbar.textEditVA": "Edit Visible Area",
"SSE.Views.Toolbar.textEntireCol": "Entire column",
"SSE.Views.Toolbar.textEntireRow": "Entire row",
+ "SSE.Views.Toolbar.textEuro": "Euro Sign",
"SSE.Views.Toolbar.textFewPages": "pages",
+ "SSE.Views.Toolbar.textGreaterEqual": "Greater-Than Or Equal To",
"SSE.Views.Toolbar.textHeight": "Height",
"SSE.Views.Toolbar.textHideVA": "Hide Visible Area",
"SSE.Views.Toolbar.textHorizontal": "Horizontal text",
+ "SSE.Views.Toolbar.textInfinity": "Infinity",
"SSE.Views.Toolbar.textInsDown": "Shift cells down",
"SSE.Views.Toolbar.textInsideBorders": "Inside borders",
"SSE.Views.Toolbar.textInsRight": "Shift cells right",
@@ -3917,6 +3929,8 @@
"SSE.Views.Toolbar.textLandscape": "Landscape",
"SSE.Views.Toolbar.textLeft": "Left: ",
"SSE.Views.Toolbar.textLeftBorders": "Left borders",
+ "SSE.Views.Toolbar.textLessEqual": "Less-Than Or Equal To",
+ "SSE.Views.Toolbar.textLetterPi": "Greek Small Letter Pi",
"SSE.Views.Toolbar.textManageRule": "Manage rules",
"SSE.Views.Toolbar.textManyPages": "pages",
"SSE.Views.Toolbar.textMarginsLast": "Last Custom",
@@ -3926,26 +3940,35 @@
"SSE.Views.Toolbar.textMiddleBorders": "Inside horizontal borders",
"SSE.Views.Toolbar.textMoreFormats": "More formats",
"SSE.Views.Toolbar.textMorePages": "More pages",
+ "SSE.Views.Toolbar.textMoreSymbols": "More symbols",
"SSE.Views.Toolbar.textNewColor": "More colors",
"SSE.Views.Toolbar.textNewRule": "New rule",
"SSE.Views.Toolbar.textNoBorders": "No borders",
+ "SSE.Views.Toolbar.textNotEqualTo": "Not Equal To",
+ "SSE.Views.Toolbar.textOneHalf": "Vulgar Fraction One Half",
"SSE.Views.Toolbar.textOnePage": "page",
+ "SSE.Views.Toolbar.textOneQuarter": "Vulgar Fraction One Quarter",
"SSE.Views.Toolbar.textOutBorders": "Outside borders",
"SSE.Views.Toolbar.textPageMarginsCustom": "Custom margins",
+ "SSE.Views.Toolbar.textPlusMinus": "Plus-Minus Sign",
"SSE.Views.Toolbar.textPortrait": "Portrait",
"SSE.Views.Toolbar.textPrint": "Print",
"SSE.Views.Toolbar.textPrintGridlines": "Print Gridlines",
"SSE.Views.Toolbar.textPrintHeadings": "Print Headings",
"SSE.Views.Toolbar.textPrintOptions": "Print Settings",
+ "SSE.Views.Toolbar.textRegistered": "Registered Sign",
"SSE.Views.Toolbar.textRight": "Right: ",
"SSE.Views.Toolbar.textRightBorders": "Right borders",
"SSE.Views.Toolbar.textRotateDown": "Rotate text down",
"SSE.Views.Toolbar.textRotateUp": "Rotate text up",
"SSE.Views.Toolbar.textScale": "Scale",
"SSE.Views.Toolbar.textScaleCustom": "Custom",
+ "SSE.Views.Toolbar.textSection": "Section Sign",
"SSE.Views.Toolbar.textSelection": "From current selection",
"SSE.Views.Toolbar.textSetPrintArea": "Set print area",
"SSE.Views.Toolbar.textShowVA": "Show Visible Area",
+ "SSE.Views.Toolbar.textSmile": "White Smiling Fase",
+ "SSE.Views.Toolbar.textSquareRoot": "Square Root",
"SSE.Views.Toolbar.textStrikeout": "Strikethrough",
"SSE.Views.Toolbar.textSubscript": "Subscript",
"SSE.Views.Toolbar.textSubSuperscript": "Subscript/Superscript",
@@ -3963,11 +3986,14 @@
"SSE.Views.Toolbar.textThisPivot": "From this pivot",
"SSE.Views.Toolbar.textThisSheet": "From this worksheet",
"SSE.Views.Toolbar.textThisTable": "From this table",
+ "SSE.Views.Toolbar.textTilde": "Tilde",
"SSE.Views.Toolbar.textTop": "Top: ",
"SSE.Views.Toolbar.textTopBorders": "Top borders",
+ "SSE.Views.Toolbar.textTradeMark": "Trade Mark Sign",
"SSE.Views.Toolbar.textUnderline": "Underline",
"SSE.Views.Toolbar.textVertical": "Vertical text",
"SSE.Views.Toolbar.textWidth": "Width",
+ "SSE.Views.Toolbar.textYen": "Yen Sign",
"SSE.Views.Toolbar.textZoom": "Zoom",
"SSE.Views.Toolbar.tipAlignBottom": "Align bottom",
"SSE.Views.Toolbar.tipAlignCenter": "Align center",
diff --git a/apps/spreadsheeteditor/main/resources/less/toolbar.less b/apps/spreadsheeteditor/main/resources/less/toolbar.less
index 7d5b5006e8..83cc618279 100644
--- a/apps/spreadsheeteditor/main/resources/less/toolbar.less
+++ b/apps/spreadsheeteditor/main/resources/less/toolbar.less
@@ -126,6 +126,31 @@
}
}
+#id-toolbar-menu-symbols {
+ display: inline-block;
+ width: 158px;
+ .padding-left(3px);
+ .item {
+ .box-shadow(none);
+ .margin-x(6px, 4px);
+ &:hover, &.selected{
+ .box-shadow( 0 0 0 2px @border-preview-select-ie);
+ .box-shadow( 0 0 0 @scaled-two-px-value @border-preview-select);
+ }
+ }
+ .item-symbol {
+ font-family: @font-family-base;
+ font-size: 14px;
+ display: block;
+ width: 20px;
+ height: 20px;
+ text-align: center;
+ line-height: 20px;
+ vertical-align: middle;
+
+ }
+}
+
.item-markerlist {
width: 40px;
height: 40px;