Merge pull request #264 from ONLYOFFICE/feature/symbol-table

Feature/symbol table
This commit is contained in:
Julia Radzhabova 2019-11-14 11:54:11 +03:00 committed by GitHub
commit c48398ca67
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
27 changed files with 3202 additions and 27 deletions

View file

@ -348,20 +348,11 @@ define([
maxwidth = (this.initConfig.maxwidth) ? this.initConfig.maxwidth : main_width,
maxheight = (this.initConfig.maxheight) ? this.initConfig.maxheight : main_height;
if (this.resizing.type[0]>0) {
this.resizing.maxx = Math.min(main_width, left+maxwidth);
this.resizing.minx = left+this.initConfig.minwidth;
} else if (this.resizing.type[0]<0) {
this.resizing.maxx = left+this.resizing.initw-this.initConfig.minwidth;
this.resizing.minx = Math.max(0, left+this.resizing.initw-maxwidth);
}
if (this.resizing.type[1]>0) {
this.resizing.maxy = Math.min(main_height, top+maxheight);
this.resizing.miny = top+this.initConfig.minheight;
} else if (this.resizing.type[1]<0) {
this.resizing.maxy = top+this.resizing.inith-this.initConfig.minheight;
this.resizing.miny = Math.max(0, top+this.resizing.inith-maxheight);
}
this.resizing.minw = this.initConfig.minwidth;
this.resizing.maxw = (this.resizing.type[0]>0) ? Math.min(main_width-left, maxwidth) : Math.min(left+this.resizing.initw, maxwidth);
this.resizing.minh = this.initConfig.minheight;
this.resizing.maxh = (this.resizing.type[1]>0) ? Math.min(main_height-top, maxheight) : Math.min(top+this.resizing.inith, maxheight);
$(document.body).css('cursor', el.css('cursor'));
this.$window.find('.resize-border').addClass('resizing');
@ -378,16 +369,34 @@ define([
zoom = (event instanceof jQuery.Event) ? Common.Utils.zoom() : 1,
pageX = event.pageX*zoom,
pageY = event.pageY*zoom;
if (this.resizing.type[0] && pageX<this.resizing.maxx && pageX>this.resizing.minx) {
if (this.resizing.type[0]) {
var new_width = this.resizing.initw + (pageX - this.resizing.initpage_x) * this.resizing.type[0];
if (new_width>this.resizing.maxw) {
pageX = pageX - (new_width-this.resizing.maxw) * this.resizing.type[0];
new_width = this.resizing.maxw;
} else if (new_width<this.resizing.minw) {
pageX = pageX - (new_width-this.resizing.minw) * this.resizing.type[0];
new_width = this.resizing.minw;
}
if (this.resizing.type[0]<0)
this.$window.css({left: pageX - this.resizing.initx});
this.setWidth(this.resizing.initw + (pageX - this.resizing.initpage_x) * this.resizing.type[0]);
this.setWidth(new_width);
resized = true;
}
if (this.resizing.type[1] && pageY<this.resizing.maxy && pageY>this.resizing.miny) {
if (this.resizing.type[1]) {
var new_height = this.resizing.inith + (pageY - this.resizing.initpage_y) * this.resizing.type[1];
if (new_height>this.resizing.maxh) {
pageY = pageY - (new_height-this.resizing.maxh) * this.resizing.type[1];
new_height = this.resizing.maxh;
} else if (new_height<this.resizing.minh) {
pageY = pageY - (new_height-this.resizing.minh) * this.resizing.type[1];
new_height = this.resizing.minh;
}
if (this.resizing.type[1]<0)
this.$window.css({top: pageY - this.resizing.inity});
this.setHeight(this.resizing.inith + (pageY - this.resizing.initpage_y) * this.resizing.type[1]);
this.setHeight(new_height);
resized = true;
}
if (resized) this.fireEvent('resizing');

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -0,0 +1,54 @@
#symbol-table-scrollable-div, #symbol-table-recent {
div{
display: inline-block;
vertical-align: top;
}
.cell{
width: 31px;
height: 33px;
border-right: 1px solid @gray-soft;
border-bottom: 1px solid @gray-soft;
background: #ffffff;
align-content: center;
vertical-align: middle;
text-align: center;
font-size: 22px;
-khtml-user-select: none;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
cursor: default;
overflow:hidden;
display: inline-block;
}
.cell-selected{
background-color: @gray-darker;
color: white;
}
}
#symbol-table-recent {
width: 100%;
height: 32px;
overflow: hidden;
border: @gray-soft solid 1px;
}
#symbol-table-scrollable-div {
#id-preview {
width: 100%;
height: 132px;
position:relative;
overflow:hidden;
border: @gray-soft solid 1px;
}
#id-preview-data {
width: 100%;
height: 132px;
position:relative;
overflow:hidden;
}
}

View file

@ -533,6 +533,7 @@
.button-normal-icon(btn-caption, 76, @toolbar-big-icon-size);
.button-normal-icon(btn-calculation, 80, @toolbar-big-icon-size);
.button-normal-icon(btn-scale, 81, @toolbar-big-icon-size);
.button-normal-icon(btn-symbol, 84, @toolbar-big-icon-size);
[applang=ru] {
.btn-toolbar {

View file

@ -0,0 +1,275 @@
{
"Basic Latin": "Основная латиница",
"Latin 1 Supplement": "Дополнительная латиница-1",
"Latin Extended A": "Расширенная латиница-A",
"Latin Extended B": "Расширенная латиница-B",
"IPA Extensions": "Международный фонетический алфавит",
"Spacing Modifier Letters": "Некомбинируемые протяжённые символы-модификаторы",
"Combining Diacritical Marks": "Комбинируемые диакритические знаки",
"Greek and Coptic": "Греческий и коптский алфавиты",
"Cyrillic": "Кириллица",
"Cyrillic Supplement": "Кириллица. Дополнительные символы",
"Armenian": "Армянский алфавит",
"Hebrew": "Иврит",
"Arabic": "Арабский",
"Syriac": "Сирийский",
"Arabic Supplement": "Дополнительные символы арабского письма",
"Thaana": "Тана",
"NKo": "Нко",
"Samaritan": "Самаритянское письмо",
"Mandaic": "Мандейский алфавит",
"Arabic Extended A": "Расширенный набор символов арабского письма-A",
"Devanagari": "Деванагари",
"Bengali": "Бенгальский",
"Gurmukhi": "Гурмукхи",
"Gujarati": "Гуджарати",
"Oriya": "Ория",
"Tamil": "Тамильская письменность",
"Telugu": "Телугу",
"Kannada": "Каннада",
"Malayalam": "Малаялам",
"Sinhala": "Сингальская письменность",
"Thai": "Тайская письменность",
"Lao": "Лаосская письменность",
"Tibetan": "Тибетская письменность",
"Myanmar": "Бирманский",
"Georgian": "Грузинский",
"Hangul Jamo": "Хангыль чамо",
"Ethiopic": "Эфиопская слоговая письменность",
"Ethiopic Supplement": "Дополнительные символы эфиопской письменности",
"Cherokee": "Письменность чероки",
"Unified Canadian Aboriginal Syllabics": "Канадское слоговое письмо",
"Ogham": "Огамическое письмо",
"Runic": "Руническая письменность",
"Tagalog": "Тагальская письменность. Байбайин",
"Hanunoo": "Хануноо",
"Buhid": "Бухид",
"Tagbanwa": "Тагбанва",
"Khmer": "Кхмерская письменность",
"Mongolian": "Старомонгольская письменность",
"Unified Canadian Aboriginal Syllabics Extended": "Расширенный набор символов канадского слогового письма",
"Limbu": "Письменность лимбу",
"Tai Le": "Письменность тай лы",
"New Tai Lue": "Новый алфавит тай лы",
"Khmer Symbols": "Кхмерские символы",
"Buginese": "Бугийская письменность. Лонтара",
"Tai Tham": "Тай Тхам",
"Combining Diacritical Marks Extended": "Комбинируемые диакритические знаки (расширение)",
"Balinese": "Балийское письмо",
"Sundanese": "Сунданское письмо",
"Batak": "Батакское письмо",
"Lepcha": "Письмо лепча",
"Ol Chiki": "Письменность Ол-чики",
"Cyrillic Extended C": "Расширенная кириллица C",
"Sundanese Supplement": "Сунданское расширенное письмо",
"Vedic Extensions": "Ведические символы",
"Phonetic Extensions": "Фонетические расширения",
"Phonetic Extensions Supplement": "Дополнительные фонетические расширения",
"Combining Diacritical Marks Supplement": "Дополнительные комбинируемые диакритические знаки",
"Latin Extended Additional": "Дополнительная расширенная латиница",
"Greek Extended": "Расширенный набор символов греческого алфавита",
"General Punctuation": "Знаки пунктуации",
"Superscripts and Subscripts": "Надстрочные и подстрочные знаки",
"Currency Symbols": "Символы валют",
"Combining Diacritical Marks for Symbols": "Комбинируемые диакритические знаки для символов",
"Letterlike Symbols": "Буквоподобные символы",
"Number Forms": "Числовые формы",
"Arrows": "Стрелки",
"Mathematical Operators": "Математические операторы",
"Miscellaneous Technical": "Разнообразные технические символы",
"Control Pictures": "Значки управляющих кодов",
"Optical Character Recognition": "Символы оптического распознавания",
"Enclosed Alphanumerics": "Вложенные буквы и цифры",
"Box Drawing": "Символы для рисования рамок",
"Block Elements": "Символы заполнения",
"Geometric Shapes": "Геометрические фигуры",
"Miscellaneous Symbols": "Разнообразные символы",
"Dingbats": "Дингбаты",
"Miscellaneous Mathematical Symbols A": "Разнообразные математические символы-A",
"Supplemental Arrows A": "Дополнительные стрелки-A",
"Braille Patterns": "Азбука Брайля",
"Supplemental Arrows B": "Дополнительные стрелки-B",
"Miscellaneous Mathematical Symbols B": "Разнообразные математические символы-B",
"Supplemental Mathematical Operators": "Дополнительные математические операторы",
"Miscellaneous Symbols and Arrows": "Разнообразные символы и стрелки",
"Glagolitic": "Глаголица",
"Latin Extended C": "Расширенная латиница C",
"Coptic": "Коптский алфавит",
"Georgian Supplement": "Дополнительные символы грузинского алфавита",
"Tifinagh": "Тифинаг (Древнеливийское письмо)",
"Ethiopic Extended": "Расширенный набор символов эфиопского письма",
"Cyrillic Extended A": "Расширенная кириллица A",
"Supplemental Punctuation": "Дополнительные знаки пунктуации",
"CJK Radicals Supplement": "Дополнительные иероглифические ключи ККЯ",
"Kangxi Radicals": "Иероглифические ключи словаря Канси",
"Ideographic Description Characters": "Символы описания иероглифов",
"CJK Symbols and Punctuation": "Символы и пунктуация ККЯ",
"Hiragana": "Хирагана",
"Katakana": "Катакана",
"Bopomofo": "Чжуинь. Бопомофо",
"Hangul Compatibility Jamo": "Комбинируемые чамо Хангыля",
"Kanbun": "Канбун(китайский)",
"Bopomofo Extended": "Расширенный набор символов бопомофо, чжуинь",
"CJK Strokes": "Черты ККЯ",
"Katakana Phonetic Extensions": "Фонетические расширения катаканы",
"Enclosed CJK Letters and Months": "Вложенные буквы и месяцы ККЯ",
"CJK Compatibility": "Знаки совместимости ККЯ",
"CJK Unified Ideographs Extension": "Унифицированные иероглифы ККЯ. Расширение А",
"Yijing Hexagram Symbols": "Гексаграммы И-Цзин",
"CJK Unified Ideographs": "Унифицированные иероглифы ККЯ",
"Yi Syllables": "Слоги. Письмо И",
"Yi Radicals": "Радикалы. Письмо И",
"Lisu": "Лису",
"Vai": "Слоговая письменность ваи",
"Cyrillic Extended B": "Расширенная кириллица-B",
"Bamum": "Письмо бамум",
"Modifier Tone Letters": "Символы изменения тона",
"Latin Extended D": "Расширенная латиница-D",
"Syloti Nagri": "Силоти нагри",
"Common Indic Number Forms": "Индийские числовые символы",
"Phags pa": "Квадратное письмо Пагба-ламы",
"Saurashtra": "Саураштра",
"Devanagari Extended": "Расширенный набор символов деванагари",
"Kayah Li": "Кайях Ли",
"Rejang": "Реджанг",
"Hangul Jamo Extended A": "Хангыль",
"Javanese": "Яванская письменность",
"Myanmar Extended B": "Расширенный бирманский-B",
"Cham": "Чамское письмо",
"Myanmar Extended A": "Мьянманская письменность. Расширение A",
"Tai Viet": "Письменность Тай Вьет",
"Meetei Mayek Extensions": "Мейтей расширенная",
"Ethiopic Extended A": "Набор расширенных символов эфиопского письма-А",
"Latin Extended E": "Расширенная латиница-E",
"Cherokee Supplement": "Письменность чероки (дополнение)",
"Meetei Mayek": "Мейтей (Манипури)",
"Hangul Syllables": "Слоги Хангыля",
"Hangul Jamo Extended B": "Расширенные хангыль чамо B",
"High Surrogates": "Верхняя часть суррогатных пар",
"High Private Use Surrogates": "Верхняя часть суррогатных пар для частного использования",
"Low Surrogates": "Нижняя часть суррогатных пар",
"Private Use Area": "Область для частного использования",
"CJK Compatibility Ideographs": "Совместимые иероглифы ККЯ",
"Alphabetic Presentation Forms": "Алфавитные формы представления",
"Arabic Presentation Forms A": "Формы представления арабских букв-A",
"Variation Selectors": "Селекторы вариантов начертания",
"Vertical Forms": "Вертикальные формы",
"Combining Half Marks": "Комбинируемые половинки символов",
"CJK Compatibility Forms": "Формы совместимости ККЯ",
"Small Form Variants": "Варианты малого размера",
"Arabic Presentation Forms B": "Формы представления арабских букв-B",
"Halfwidth and Fullwidth Forms": "Полуширинные и полноширинные формы",
"Specials": "Специальные символы",
"Linear B Syllabary": "Слоги линейного письма Б",
"Linear B Ideograms": "Идеограммы линейного письма Б",
"Aegean Numbers": "Эгейские цифры",
"Ancient Greek Numbers": "Древнегреческие единицы измерения",
"Ancient Symbols": "Древние символы",
"Phaistos Disc": "Символы фестского диска",
"Lycian": "Ликийский алфавит",
"Carian": "Алфавит карийского языка",
"Coptic Epact Numbers": "Коптские числа епакты",
"Old Italic": "Этрусский (староитальянский) алфавит",
"Gothic": "Готский алфавит",
"Old Permic": "Древнепермское письмо",
"Ugaritic": "Угаритский алфавит",
"Old Persian": "Древнеперсидский клинописный алфавит",
"Deseret": "Дезеретский алфавит",
"Shavian": "Алфавит Бернарда Шоу",
"Osmanya": "Османья (сомалийский алфавит)",
"Osage": "Оседж",
"Elbasan": "Эльбасанское письмо",
"Caucasian Albanian": "Агванское письмо (Кавказская Албания)",
"Linear A": "Линейное письмо А",
"Cypriot Syllabary": "Слоговая письменность острова Кипр",
"Imperial Aramaic": "Имперское арамейское письмо",
"Palmyrene": "Пальмирский алфавит",
"Nabataean": "Набатейское письмо",
"Hatran": "Хатран",
"Phoenician": "Финикийское письмо",
"Lydian": "Лидийский алфавит",
"Meroitic Hieroglyphs": "Лидийский алфавит",
"Meroitic Cursive": "Курсивное мероитское письмо",
"Kharoshthi": "Кхароштхи",
"Old South Arabian": "Старый южноаравийский алфавит",
"Old North Arabian": "Старый североаравийский алфавит",
"Manichaean": "Манихейское письмо",
"Avestan": "Авестийский алфавит",
"Inscriptional Parthian": "Пехлевийское письмо для парфянского языка",
"Inscriptional Pahlavi": "Эпиграфическое пехлевийское письмо",
"Psalter Pahlavi": "Псалтырь пехлеви",
"Old Turkic": "Древнетюркское руническое письмо",
"Old Hungarian": "Венгерские руны",
"Rumi Numeral Symbols": "Цифры системы руми",
"Brahmi": "Брахмическая письменность",
"Kaithi": "Кайтхи",
"Sora Sompeng": "Соранг сомпенг",
"Chakma": "Чакма",
"Mahajani": "Махаяни",
"Sharada": "Шарада",
"Sinhala Archaic Numbers": "Сингальские архаические цифры",
"Khojki": "Кходжики",
"Multani": "Мултани",
"Khudawadi": "Кхудабади",
"Grantha": "Грантха",
"Newa": "Нева",
"Tirhuta": "Тирхута",
"Siddham": "Сиддхаматрика",
"Modi": "Моди",
"Mongolian Supplement": "Монгольский (дополнение)",
"Takri": "Такри",
"Ahom": "Письмо ахом",
"Warang Citi": "Варанг-кшити",
"Pau Cin Hau": "Пау Цин Хау",
"Bhaiksuki": "Байсаки",
"Marchen": "Марчен",
"Cuneiform": "Клинопись",
"Cuneiform Numbers and Punctuation": "Клинописные цифры и знаки препинания",
"Early Dynastic Cuneiform": "Ранняя династическая клинопись",
"Egyptian Hieroglyphs": "Египетские иероглифы",
"Anatolian Hieroglyphs": "Анатолийские иероглифы",
"Bamum Supplement": "Письмо бамум (дополнение)",
"Mro": "Мру",
"Bassa Vah": "Письмо басса",
"Pahawh Hmong": "Пахау хмонг",
"Miao": "Письмо Полларда (миао)",
"Ideographic Symbols and Punctuation": "Идеографические символы и знаки препинания",
"Tangut": "Тангутское письмо",
"Tangut Components": "Компоненты тангутского письма",
"Kana Supplement": "Кана (дополнение)",
"Duployan": "Дюплойе",
"Shorthand Format Controls": "Форматирующие символы стенографии",
"Byzantine Musical Symbols": "Византийские музыкальные символы",
"Musical Symbols": "Музыкальные символы",
"Ancient Greek Musical Notation": "Древнегреческие музыкальные символы",
"Tai Xuan Jing Symbols": "Символы Тай Сюань Цзин",
"Counting Rod Numerals": "Счётные палочки",
"Mathematical Alphanumeric Symbols": "Математические буквенно-цифровые символы",
"Sutton SignWriting": "Жестовая письменность Саттон",
"Glagolitic Supplement": "Глаголица (расширение)",
"Mende Kikakui": "Письмо кикакуи для языка менде",
"Adlam": "Адлам",
"Arabic Mathematical Alphabetic Symbols": "Арабские математические буквенно-цифровые символы",
"Mahjong Tiles": "Кости для маджонга",
"Domino Tiles": "Кости для домино",
"Playing Cards": "Игральные карты",
"Enclosed Alphanumeric Supplement": "Вложенные буквенно-цифровые символы (дополнение)",
"Enclosed Ideographic Supplement": "Вложенные идеографические символы (дополнение)",
"Miscellaneous Symbols and Pictographs": "Различные символы и пиктограммы",
"Emoticons": "Эмотикон (эмоджи)",
"Ornamental Dingbats": "Элементы орнамента",
"Transport and Map Symbols": "Транспортные и картографические символы",
"Alchemical Symbols": "Алхимические символы",
"Geometric Shapes Extended": "Геометрические фигуры (расширение)",
"Supplemental Arrows C": "Дополнительные стрелки-С",
"Supplemental Symbols and Pictographs": "Символы и пиктограммы (дополнение)",
"CJK Unified Ideographs Extension B": "Унифицированные иероглифы ККЯ. Расширение B",
"CJK Unified Ideographs Extension C": "Унифицированные иероглифы ККЯ. Расширение C",
"CJK Unified Ideographs Extension D": "Унифицированные иероглифы ККЯ. Расширение D",
"CJK Unified Ideographs Extension E": "Унифицированные иероглифы ККЯ. Расширение E",
"CJK Compatibility Ideographs Supplement": "Унифицированные иероглифы ККЯ (дополнение)",
"Tags": "Теги",
"Variation Selectors Supplement": "Селекторы вариантов начертания (дополнение)",
"Supplementary Private Use Area A": "Дополнительная область для частного использования — A",
"Supplementary Private Use Area B": "Дополнительная область для частного использования — B"
}

View file

@ -47,6 +47,7 @@ define([
'common/main/lib/view/ImageFromUrlDialog',
'common/main/lib/view/InsertTableDialog',
'common/main/lib/view/SelectFileDlg',
'common/main/lib/view/SymbolTableDialog',
'common/main/lib/util/define',
'documenteditor/main/app/view/Toolbar',
'documenteditor/main/app/view/DropcapSettingsAdvanced',
@ -324,6 +325,7 @@ 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.mnuNoControlsColor.on('click', _.bind(this.onNoControlsColor, this));
toolbar.mnuControlsColorPicker.on('select', _.bind(this.onSelectControlsColor, this));
Common.Gateway.on('insertimage', _.bind(this.insertImage, this));
@ -820,6 +822,8 @@ define([
need_disable = paragraph_locked || header_locked || in_chart || !can_add_image&&!in_equation || control_plain;
toolbar.btnInsertEquation.setDisabled(need_disable);
toolbar.btnInsertSymbol.setDisabled(!in_para || paragraph_locked || header_locked);
need_disable = paragraph_locked || header_locked || in_equation;
toolbar.btnSuperscript.setDisabled(need_disable);
toolbar.btnSubscript.setDisabled(need_disable);
@ -2470,6 +2474,29 @@ define([
Common.NotificationCenter.trigger('edit:complete', this.toolbar, this.toolbar.btnInsertEquation);
},
onInsertSymbolClick: function() {
if (this.api) {
var me = this,
win = new Common.Views.SymbolTableDialog({
api: me.api,
lang: me.mode.lang,
modal: false,
type: 1,
buttons: [{value: 'ok', caption: this.textInsert}, 'close'],
handler: function(dlg, result, settings) {
if (result == 'ok') {
me.api.pluginMethod_PasteHtml("<span style=\"font-family:'" + settings.font + "'\">" + settings.symbol + "</span>");
} else
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
win.show();
win.on('symbol:dblclick', function(cmp, settings) {
me.api.pluginMethod_PasteHtml("<span style=\"font-family:'" + settings.font + "'\">" + settings.symbol + "</span>");
});
}
},
onApiMathTypes: function(equation) {
this._equationTemp = equation;
var me = this;
@ -3268,7 +3295,8 @@ 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?',
notcriticalErrorTitle: 'Warning',
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',
textInsert: 'Insert'
}, DE.Controllers.Toolbar || {}));
});

View file

@ -108,6 +108,7 @@
<div class="separator long"></div>
<div class="group">
<span class="btn-slot text x-huge" id="slot-btn-insequation"></span>
<span class="btn-slot text x-huge" id="slot-btn-inssymbol"></span>
</div>
<div class="separator long"></div>
<div class="group">

View file

@ -583,6 +583,14 @@ define([
});
this.paragraphControls.push(this.btnInsertEquation);
this.btnInsertSymbol = new Common.UI.Button({
id: 'tlbtn-insertsymbol',
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-symbol',
caption: me.capBtnInsSymbol
});
this.paragraphControls.push(this.btnInsertSymbol);
this.btnDropCap = new Common.UI.Button({
id: 'tlbtn-dropcap',
cls: 'btn-toolbar x-huge icon-top',
@ -1309,6 +1317,7 @@ define([
_injectComponent('#slot-btn-blankpage', this.btnBlankPage);
_injectComponent('#slot-btn-insshape', this.btnInsertShape);
_injectComponent('#slot-btn-insequation', this.btnInsertEquation);
_injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol);
_injectComponent('#slot-btn-pageorient', this.btnPageOrient);
_injectComponent('#slot-btn-pagemargins', this.btnPageMargins);
_injectComponent('#slot-btn-pagesize', this.btnPageSize);
@ -1579,6 +1588,7 @@ define([
this.btnBlankPage.updateHint(this.tipBlankPage);
this.btnInsertShape.updateHint(this.tipInsertShape);
this.btnInsertEquation.updateHint(this.tipInsertEquation);
this.btnInsertSymbol.updateHint(this.tipInsertSymbol);
this.btnDropCap.updateHint(this.tipDropCap);
this.btnContentControls.updateHint(this.tipControls);
this.btnColumns.updateHint(this.tipColumns);
@ -2324,7 +2334,9 @@ define([
capBtnWatermark: 'Watermark',
textEditWatermark: 'Custom Watermark',
textRemWatermark: 'Remove Watermark',
tipWatermark: 'Edit watermark'
tipWatermark: 'Edit watermark',
capBtnInsSymbol: 'Symbol',
tipInsertSymbol: 'Insert symbol'
}
})(), DE.Views.Toolbar || {}));
});

View file

@ -299,6 +299,11 @@
"Common.Views.SignSettingsDialog.textShowDate": "Show sign date in signature line",
"Common.Views.SignSettingsDialog.textTitle": "Signature Setup",
"Common.Views.SignSettingsDialog.txtEmpty": "This field is required",
"Common.Views.SymbolTableDialog.textTitle": "Symbol Table",
"Common.Views.SymbolTableDialog.textFont": "Font",
"Common.Views.SymbolTableDialog.textRange": "Range",
"Common.Views.SymbolTableDialog.textRecent": "Recently used symbols",
"Common.Views.SymbolTableDialog.textCode": "Unicode HEX value",
"DE.Controllers.LeftMenu.leavePageText": "All unsaved changes in this document will be lost.<br> Click \"Cancel\" then \"Save\" to save them. Click \"OK\" to discard all the unsaved changes.",
"DE.Controllers.LeftMenu.newDocumentTitle": "Unnamed document",
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Warning",
@ -992,6 +997,7 @@
"DE.Controllers.Toolbar.txtSymbol_vdots": "Vertical ellipsis",
"DE.Controllers.Toolbar.txtSymbol_xsi": "Xi",
"DE.Controllers.Toolbar.txtSymbol_zeta": "Zeta",
"DE.Controllers.Toolbar.textInsert": "Insert",
"DE.Controllers.Viewport.textFitPage": "Fit to Page",
"DE.Controllers.Viewport.textFitWidth": "Fit to Width",
"DE.Views.AddNewCaptionLabelDialog.textLabel": "Label:",
@ -2239,6 +2245,8 @@
"DE.Views.Toolbar.txtScheme7": "Equity",
"DE.Views.Toolbar.txtScheme8": "Flow",
"DE.Views.Toolbar.txtScheme9": "Foundry",
"DE.Views.Toolbar.capBtnInsSymbol": "Symbol",
"DE.Views.Toolbar.tipInsertSymbol": "Insert symbol",
"DE.Views.WatermarkSettingsDialog.textAuto": "Auto",
"DE.Views.WatermarkSettingsDialog.textBold": "Bold",
"DE.Views.WatermarkSettingsDialog.textColor": "Text color",

View file

@ -299,6 +299,11 @@
"Common.Views.SignSettingsDialog.textShowDate": "Показывать дату подписи в строке подписи",
"Common.Views.SignSettingsDialog.textTitle": "Настройка подписи",
"Common.Views.SignSettingsDialog.txtEmpty": "Это поле необходимо заполнить",
"Common.Views.SymbolTableDialog.textTitle": "Symbol Table",
"Common.Views.SymbolTableDialog.textFont": "Шрифт",
"Common.Views.SymbolTableDialog.textRange": "Набор",
"Common.Views.SymbolTableDialog.textRecent": "Ранее использовавшиеся символы",
"Common.Views.SymbolTableDialog.textCode": "Код знака из Юникод (шестн.)",
"DE.Controllers.LeftMenu.leavePageText": "Все несохраненные изменения в этом документе будут потеряны.<br> Нажмите кнопку \"Отмена\", а затем нажмите кнопку \"Сохранить\", чтобы сохранить их. Нажмите кнопку \"OK\", чтобы сбросить все несохраненные изменения.",
"DE.Controllers.LeftMenu.newDocumentTitle": "Документ без имени",
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Внимание",

View file

@ -118,6 +118,7 @@
@import "../../../../common/main/resources/less/toolbar.less";
@import "../../../../common/main/resources/less/language-dialog.less";
@import "../../../../common/main/resources/less/winxp_fix.less";
@import "../../../../common/main/resources/less/symboltable.less";
// App
// --------------------------------------------------

View file

@ -49,6 +49,7 @@ define([
'common/main/lib/view/InsertTableDialog',
'common/main/lib/view/SelectFileDlg',
'common/main/lib/view/ListSettingsDialog',
'common/main/lib/view/SymbolTableDialog',
'common/main/lib/util/define',
'presentationeditor/main/app/collection/SlideThemes',
'presentationeditor/main/app/view/Toolbar',
@ -310,6 +311,7 @@ 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.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'));
@ -1825,6 +1827,28 @@ define([
Common.NotificationCenter.trigger('edit:complete', this.toolbar, this.toolbar.btnInsertEquation);
},
onInsertSymbolClick: function() {
if (this.api) {
var me = this,
win = new Common.Views.SymbolTableDialog({
api: me.api,
lang: me.toolbar.mode.lang,
type: 1,
buttons: [{value: 'ok', caption: this.textInsert}, 'close'],
handler: function(dlg, result, settings) {
if (result == 'ok') {
me.api.pluginMethod_PasteHtml("<span style=\"font-family:'" + settings.font + "'\">" + settings.symbol + "</span>");
} else
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
win.show();
win.on('symbol:dblclick', function(cmp, settings) {
me.api.pluginMethod_PasteHtml("<span style=\"font-family:'" + settings.font + "'\">" + settings.symbol + "</span>");
});
}
},
onApiMathTypes: function(equation) {
this._equationTemp = equation;
var me = this;
@ -2528,7 +2552,8 @@ define([
txtMatrix_2_2_LineBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_DLineBracket : 'Empty Matrix with Brackets',
txtMatrix_Flat_Round : 'Sparse Matrix',
txtMatrix_Flat_Square : 'Sparse Matrix'
txtMatrix_Flat_Square : 'Sparse Matrix',
textInsert: 'Insert'
}, PE.Controllers.Toolbar || {}));
});

View file

@ -129,6 +129,7 @@
<div class="separator long"></div>
<div class="group">
<span class="btn-slot text x-huge" id="slot-btn-insertequation"></span>
<span class="btn-slot text x-huge" id="slot-btn-inssymbol"></span>
</div>
</section>
</section>

View file

@ -543,6 +543,15 @@ define([
});
me.slideOnlyControls.push(this.btnInsertEquation);
me.btnInsertSymbol = new Common.UI.Button({
id: 'tlbtn-insertsymbol',
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-symbol',
caption: me.capBtnInsSymbol,
lock: [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected]
});
me.paragraphControls.push(me.btnInsertSymbol);
me.btnInsertHyperlink = new Common.UI.Button({
id: 'tlbtn-insertlink',
cls: 'btn-toolbar x-huge icon-top',
@ -815,7 +824,7 @@ define([
this.btnSubscript, this.btnFontColor, this.btnClearStyle, this.btnCopyStyle, this.btnMarkers,
this.btnNumbers, this.btnDecLeftOffset, this.btnIncLeftOffset, this.btnLineSpace, this.btnHorizontalAlign,
this.btnVerticalAlign, this.btnShapeArrange, this.btnShapeAlign, this.btnInsertTable, this.btnInsertChart,
this.btnInsertEquation, this.btnInsertHyperlink, this.btnColorSchemas, this.btnSlideSize, this.listTheme, this.mnuShowSettings
this.btnInsertEquation, this.btnInsertSymbol, this.btnInsertHyperlink, this.btnColorSchemas, this.btnSlideSize, this.listTheme, this.mnuShowSettings
];
// Disable all components before load document
@ -933,6 +942,7 @@ define([
_injectComponent('#slot-btn-arrange-shape', this.btnShapeArrange);
_injectComponent('#slot-btn-align-shape', this.btnShapeAlign);
_injectComponent('#slot-btn-insertequation', this.btnInsertEquation);
_injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol);
_injectComponent('#slot-btn-insertlink', this.btnInsertHyperlink);
_injectComponent('#slot-btn-inserttable', this.btnInsertTable);
_injectComponent('#slot-btn-insertchart', this.btnInsertChart);
@ -1044,6 +1054,7 @@ define([
this.btnInsertTable.updateHint(this.tipInsertTable);
this.btnInsertChart.updateHint(this.tipInsertChart);
this.btnInsertEquation.updateHint(this.tipInsertEquation);
this.btnInsertSymbol.updateHint(this.tipInsertSymbol);
this.btnInsertHyperlink.updateHint(this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
this.btnInsertTextArt.updateHint(this.tipInsertTextArt);
this.btnColorSchemas.updateHint(this.tipColorSchemas);
@ -1676,7 +1687,9 @@ define([
capBtnInsHeader: 'Header/Footer',
capBtnSlideNum: 'Slide Number',
capBtnDateTime: 'Date & Time',
textListSettings: 'List Settings'
textListSettings: 'List Settings',
capBtnInsSymbol: 'Symbol',
tipInsertSymbol: 'Insert symbol'
}
}()), PE.Views.Toolbar || {}));
});

View file

@ -220,6 +220,11 @@
"Common.Views.SignSettingsDialog.textShowDate": "Show sign date in signature line",
"Common.Views.SignSettingsDialog.textTitle": "Signature Setup",
"Common.Views.SignSettingsDialog.txtEmpty": "This field is required",
"Common.Views.SymbolTableDialog.textTitle": "Symbol Table",
"Common.Views.SymbolTableDialog.textFont": "Font",
"Common.Views.SymbolTableDialog.textRange": "Range",
"Common.Views.SymbolTableDialog.textRecent": "Recently used symbols",
"Common.Views.SymbolTableDialog.textCode": "Unicode HEX value",
"PE.Controllers.LeftMenu.newDocumentTitle": "Unnamed presentation",
"PE.Controllers.LeftMenu.notcriticalErrorTitle": "Warning",
"PE.Controllers.LeftMenu.requestEditRightsText": "Requesting editing rights...",
@ -908,6 +913,7 @@
"PE.Controllers.Toolbar.txtSymbol_vdots": "Vertical ellipsis",
"PE.Controllers.Toolbar.txtSymbol_xsi": "Xi",
"PE.Controllers.Toolbar.txtSymbol_zeta": "Zeta",
"PE.Controllers.Toolbar.textInsert": "Insert",
"PE.Controllers.Viewport.textFitPage": "Fit to Slide",
"PE.Controllers.Viewport.textFitWidth": "Fit to Width",
"PE.Views.ChartSettings.textAdvanced": "Show advanced settings",
@ -1798,5 +1804,7 @@
"PE.Views.Toolbar.txtScheme8": "Flow",
"PE.Views.Toolbar.txtScheme9": "Foundry",
"PE.Views.Toolbar.txtSlideAlign": "Align to Slide",
"PE.Views.Toolbar.txtUngroup": "Ungroup"
"PE.Views.Toolbar.txtUngroup": "Ungroup",
"PE.Views.Toolbar.capBtnInsSymbol": "Symbol",
"PE.Views.Toolbar.tipInsertSymbol": "Insert symbol"
}

View file

@ -114,6 +114,7 @@
@import "../../../../common/main/resources/less/toolbar.less";
@import "../../../../common/main/resources/less/language-dialog.less";
@import "../../../../common/main/resources/less/winxp_fix.less";
@import "../../../../common/main/resources/less/symboltable.less";
// App
// --------------------------------------------------

View file

@ -44,6 +44,7 @@ define([
'common/main/lib/view/CopyWarningDialog',
'common/main/lib/view/ImageFromUrlDialog',
'common/main/lib/view/SelectFileDlg',
'common/main/lib/view/SymbolTableDialog',
'common/main/lib/util/define',
'spreadsheeteditor/main/app/view/Toolbar',
'spreadsheeteditor/main/app/collection/TableTemplates',
@ -323,6 +324,7 @@ define([
toolbar.btnInsertText.on('click', _.bind(this.onBtnInsertTextClick, 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.btnTableTemplate.menu.on('show:after', _.bind(this.onTableTplMenuOpen, this));
toolbar.btnPercentStyle.on('click', _.bind(this.onNumberFormat, this));
toolbar.btnCurrencyStyle.on('click', _.bind(this.onNumberFormat, this));
@ -2763,6 +2765,28 @@ define([
Common.NotificationCenter.trigger('edit:complete', this.toolbar, this.toolbar.btnInsertEquation);
},
onInsertSymbolClick: function() {
if (this.api) {
var me = this,
win = new Common.Views.SymbolTableDialog({
api: me.api,
lang: me.toolbar.mode.lang,
type: 1,
buttons: [{value: 'ok', caption: this.textInsert}, 'close'],
handler: function(dlg, result, settings) {
if (result == 'ok') {
me.api.pluginMethod_PasteHtml("<span style=\"font-family:'" + settings.font + "'\">" + settings.symbol + "</span>");
} else
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
});
win.show();
win.on('symbol:dblclick', function(cmp, settings) {
me.api.pluginMethod_PasteHtml("<span style=\"font-family:'" + settings.font + "'\">" + settings.symbol + "</span>");
});
}
},
onApiMathTypes: function(equation) {
this._equationTemp = equation;
var me = this;
@ -3811,7 +3835,8 @@ define([
textPivot: 'Pivot Table',
txtTable_TableStyleMedium: 'Table Style Medium',
txtTable_TableStyleDark: 'Table Style Dark',
txtTable_TableStyleLight: 'Table Style Light'
txtTable_TableStyleLight: 'Table Style Light',
textInsert: 'Insert'
}, SSE.Controllers.Toolbar || {}));
});

View file

@ -142,6 +142,7 @@
<div class="separator long"></div>
<div class="group">
<span class="btn-slot text x-huge" id="slot-btn-insequation"></span>
<span class="btn-slot text x-huge" id="slot-btn-inssymbol"></span>
</div>
</section>
<section class="panel" data-tab="layout">

View file

@ -714,6 +714,14 @@ define([
menu : new Common.UI.Menu({cls: 'menu-shapes'})
});
me.btnInsertSymbol = new Common.UI.Button({
id: 'tlbtn-insertsymbol',
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'btn-symbol',
caption: me.capBtnInsSymbol,
lock: [_set.selImage, _set.selChart, _set.selShape, _set.editFormula, _set.selRangeEdit, _set.coAuth, _set.coAuthText, _set.lostConnect]
});
me.btnTableTemplate = new Common.UI.Button({
id : 'id-toolbar-btn-ttempl',
cls : 'btn-toolbar',
@ -1459,7 +1467,7 @@ define([
me.btnItalic, me.btnUnderline, me.btnStrikeout, me.btnSubscript, me.btnTextColor, me.btnHorizontalAlign, me.btnAlignLeft,
me.btnAlignCenter,me.btnAlignRight,me.btnAlignJust, me.btnVerticalAlign, me.btnAlignTop,
me.btnAlignMiddle, me.btnAlignBottom, me.btnWrap, me.btnTextOrient, me.btnBackColor, me.btnInsertTable,
me.btnMerge, me.btnInsertFormula, me.btnNamedRange, me.btnIncDecimal, me.btnInsertShape, me.btnInsertEquation,
me.btnMerge, me.btnInsertFormula, me.btnNamedRange, me.btnIncDecimal, me.btnInsertShape, me.btnInsertEquation, me.btnInsertSymbol,
me.btnInsertText, me.btnInsertTextArt, me.btnSortUp, me.btnSortDown, me.btnSetAutofilter, me.btnClearAutofilter,
me.btnTableTemplate, me.btnPercentStyle, me.btnCurrencyStyle, me.btnDecDecimal, me.btnAddCell, me.btnDeleteCell,
me.cmbNumberFormat, me.btnBorders, me.btnInsertImage, me.btnInsertHyperlink,
@ -1635,6 +1643,7 @@ define([
_injectComponent('#slot-btn-instext', this.btnInsertText);
_injectComponent('#slot-btn-instextart', this.btnInsertTextArt);
_injectComponent('#slot-btn-insequation', this.btnInsertEquation);
_injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol);
_injectComponent('#slot-btn-sortdesc', this.btnSortDown);
_injectComponent('#slot-btn-sortasc', this.btnSortUp);
_injectComponent('#slot-btn-setfilter', this.btnSetAutofilter);
@ -1717,6 +1726,7 @@ define([
_updateHint(this.btnInsertHyperlink, this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
_updateHint(this.btnInsertShape, this.tipInsertShape);
_updateHint(this.btnInsertEquation, this.tipInsertEquation);
_updateHint(this.btnInsertSymbol, this.tipInsertSymbol);
_updateHint(this.btnSortDown, this.txtSortAZ);
_updateHint(this.btnSortUp, this.txtSortZA);
_updateHint(this.btnSetAutofilter, this.txtFilter + ' (Ctrl+Shift+L)');
@ -2520,6 +2530,8 @@ define([
textManyPages: 'pages',
textHeight: 'Height',
textWidth: 'Width',
textMorePages: 'More pages'
textMorePages: 'More pages',
capBtnInsSymbol: 'Symbol',
tipInsertSymbol: 'Insert symbol'
}, SSE.Views.Toolbar || {}));
});

View file

@ -214,6 +214,11 @@
"Common.Views.SignSettingsDialog.textShowDate": "Show sign date in signature line",
"Common.Views.SignSettingsDialog.textTitle": "Signature Setup",
"Common.Views.SignSettingsDialog.txtEmpty": "This field is required",
"Common.Views.SymbolTableDialog.textTitle": "Symbol Table",
"Common.Views.SymbolTableDialog.textFont": "Font",
"Common.Views.SymbolTableDialog.textRange": "Range",
"Common.Views.SymbolTableDialog.textRecent": "Recently used symbols",
"Common.Views.SymbolTableDialog.textCode": "Unicode HEX value",
"SSE.Controllers.DataTab.textWizard": "Text to Columns",
"SSE.Controllers.DocumentHolder.alignmentText": "Alignment",
"SSE.Controllers.DocumentHolder.centerText": "Center",
@ -1098,6 +1103,7 @@
"SSE.Controllers.Toolbar.txtTable_TableStyleMedium": "Table Style Medium",
"SSE.Controllers.Toolbar.warnLongOperation": "The operation you are about to perform might take rather much time to complete.<br>Are you sure you want to continue?",
"SSE.Controllers.Toolbar.warnMergeLostData": "Only the data from the upper-left cell will remain in the merged cell. <br>Are you sure you want to continue?",
"SSE.Controllers.Toolbar.textInsert": "Insert",
"SSE.Controllers.Viewport.textFreezePanes": "Freeze Panes",
"SSE.Controllers.Viewport.textHideFBar": "Hide Formula Bar",
"SSE.Controllers.Viewport.textHideGridlines": "Hide Gridlines",
@ -2437,6 +2443,8 @@
"SSE.Views.Toolbar.txtTime": "Time",
"SSE.Views.Toolbar.txtUnmerge": "Unmerge Cells",
"SSE.Views.Toolbar.txtYen": "¥ Yen",
"SSE.Views.Toolbar.capBtnInsSymbol": "Symbol",
"SSE.Views.Toolbar.tipInsertSymbol": "Insert symbol",
"SSE.Views.Top10FilterDialog.textType": "Show",
"SSE.Views.Top10FilterDialog.txtBottom": "Bottom",
"SSE.Views.Top10FilterDialog.txtItems": "Item",

View file

@ -115,6 +115,7 @@
@import "../../../../common/main/resources/less/toolbar.less";
@import "../../../../common/main/resources/less/language-dialog.less";
@import "../../../../common/main/resources/less/winxp_fix.less";
@import "../../../../common/main/resources/less/symboltable.less";
// App
// --------------------------------------------------

View file

@ -151,6 +151,12 @@
"cwd": "../apps/documenteditor/main/resources/watermark",
"src": "*",
"dest": "../deploy/web-apps/apps/documenteditor/main/resources/watermark"
},
{
"expand": true,
"cwd": "../apps/common/main/resources/symboltable",
"src": "*",
"dest": "../deploy/web-apps/apps/documenteditor/main/resources/symboltable"
}
],
"help": [

View file

@ -145,6 +145,12 @@
"cwd": "../apps/presentationeditor/main/locale/",
"src": "*",
"dest": "../deploy/web-apps/apps/presentationeditor/main/locale/"
},
{
"expand": true,
"cwd": "../apps/common/main/resources/symboltable",
"src": "*",
"dest": "../deploy/web-apps/apps/presentationeditor/main/resources/symboltable"
}
],
"help": [

View file

@ -159,6 +159,12 @@
"cwd": "../apps/spreadsheeteditor/main/resources/formula-lang",
"src": "*",
"dest": "../deploy/web-apps/apps/spreadsheeteditor/main/resources/formula-lang"
},
{
"expand": true,
"cwd": "../apps/common/main/resources/symboltable",
"src": "*",
"dest": "../deploy/web-apps/apps/spreadsheeteditor/main/resources/symboltable"
}
],
"help": [