loleaflet/dist/toolbar/toolbar.js | 6 ++++ loleaflet/src/control/Control.Menubar.js | 40 ++++++++++++++++++++++++++----- loleaflet/src/layer/tile/TileLayer.js | 2 - 3 files changed, 41 insertions(+), 7 deletions(-)
New commits: commit 327e4094de414444078717584524606f7a721627 Author: Henry Castro <[email protected]> Date: Sun Oct 1 10:58:11 2017 -0400 loleaflet: add tools -> language menu items Change-Id: Ie79a03b53bdbb248788e444115cf7d7e159bb964 diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js index 4a3671f2..6c7afaac 100644 --- a/loleaflet/src/control/Control.Menubar.js +++ b/loleaflet/src/control/Control.Menubar.js @@ -10,7 +10,8 @@ L.Control.Menubar = L.Control.extend({ {name: _('File'), disabled: true}, {name: _('Edit'), disabled: true}, {name: _('View'), disabled: true}, - {name: _('Insert'), disabled: true} + {name: _('Insert'), disabled: true}, + {name: _('Tools'), disabled: true}, ], text: [ {name: _('File'), id: 'file', type: 'menu', menu: [ @@ -171,7 +172,9 @@ L.Control.Menubar = L.Control.extend({ {name: _('Merge cells'), type: 'unocommand', uno: '.uno:MergeCells'}] }, {name: _('Tools'), id: 'tools', type: 'menu', menu: [ - {name: _('Automatic Spell Checking'), type: 'unocommand', uno: '.uno:SpellOnline'} + {name: _('Automatic Spell Checking'), type: 'unocommand', uno: '.uno:SpellOnline'}, + {name: _('Language'), type: 'menu', menu: [ + {name: _('Reset to Default Language'), id: 'resetlanguage', type: 'unocommand', uno:'.uno:LanguageStatus?Language:string=Default_RESET_LANGUAGES'}]} ]}, {name: _('Help'), id: 'help', type: 'menu', menu: [ {name: _('Keyboard shortcuts'), id: 'keyboard-shortcuts', type: 'action'}, @@ -316,9 +319,10 @@ L.Control.Menubar = L.Control.extend({ map.on('doclayerinit', this._onDocLayerInit, this); map.on('addmenu', this._addMenu, this); + map.on('commandvalues', this._onInitMenu, this); }, - _addMenu: function(e) { + _addMenu: function (e) { var alreadyExists = L.DomUtil.get('menu-' + e.id); if (alreadyExists) return; @@ -336,6 +340,21 @@ L.Control.Menubar = L.Control.extend({ this._menubarCont.insertBefore(liItem, this._menubarCont.firstChild); }, + _onInitMenu: function (e) { + if (e.commandName === '.uno:LanguageStatus') { + var liItem, aItem; + $menuParent = $('#menu-resetlanguage').parent(); + for (var lang in e.commandValues) { + liItem = L.DomUtil.create('li', ''); + aItem = L.DomUtil.create('a', '', liItem); + $(aItem).text(e.commandValues[lang]); + $(aItem).data('type', 'unocommand'); + $(aItem).data('uno', '.uno:LanguageStatus?Language:string=' + encodeURIComponent('Default_' + e.commandValues[lang])); + $menuParent.append(liItem); + } + } + }, + _onDocLayerInit: function() { // clear initial menu while (this._menubarCont.hasChildNodes()) { @@ -416,13 +435,22 @@ L.Control.Menubar = L.Control.extend({ if (map._permission === 'edit') { if (type === 'unocommand') { // enable all depending on stored commandStates var unoCommand = $(aItem).data('uno'); - if (map['stateChangeHandler'].getItemValue(unoCommand) === 'disabled') { + var itemState = map['stateChangeHandler'].getItemValue(unoCommand); + if (itemState === 'disabled') { $(aItem).addClass('disabled'); } else { $(aItem).removeClass('disabled'); } - - if (map['stateChangeHandler'].getItemValue(unoCommand) === 'true') { + if (unoCommand.indexOf('.uno:LanguageStatus') !== -1) { + var lang = map['stateChangeHandler'].getItemValue('.uno:LanguageStatus'); + var label = $(aItem).html(); + if (label === lang) { + $(aItem).addClass('lo-menu-item-checked'); + } else { + $(aItem).removeClass('lo-menu-item-checked'); + } + } + else if (itemState === 'true') { $(aItem).addClass('lo-menu-item-checked'); } else { $(aItem).removeClass('lo-menu-item-checked'); diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js index 1069e38b..55102d7d 100644 --- a/loleaflet/src/layer/tile/TileLayer.js +++ b/loleaflet/src/layer/tile/TileLayer.js @@ -171,6 +171,7 @@ L.TileLayer = L.GridLayer.extend({ this._levels = {}; this._tiles = {}; this._tileCache = {}; + this._map._socket.sendMessage('commandvalues command=.uno:LanguageStatus'); this._map._socket.sendMessage('commandvalues command=.uno:ViewAnnotations'); var that = this; $.contextMenu({ @@ -1006,7 +1007,6 @@ L.TileLayer = L.GridLayer.extend({ var index = textMsg.indexOf('='); var commandName = index !== -1 ? textMsg.substr(0, index) : ''; var state = index !== -1 ? textMsg.substr(index + 1) : ''; - this._map.fire('commandstatechanged', {commandName : commandName, state : state}); }, commit dafc325c4c5e4835f5b8f9d9310ec880a76ec7fa Author: Henry Castro <[email protected]> Date: Sun Oct 1 10:53:36 2017 -0400 loleaflet: add language status bar item Change-Id: I6615373a27b1a32561f3c5fba2f9c7765dbf9bef diff --git a/loleaflet/dist/toolbar/toolbar.js b/loleaflet/dist/toolbar/toolbar.js index f54127ba..e540f608 100644 --- a/loleaflet/dist/toolbar/toolbar.js +++ b/loleaflet/dist/toolbar/toolbar.js @@ -660,6 +660,9 @@ $(function () { {type: 'button', id: 'cancelsearch', img: 'cancel', hint: _('Cancel the search'), hidden: true}, {type: 'html', id: 'left'}, {type: 'html', id: 'right'}, + {type: 'html', id: 'LanguageStatus', + html: '<div id="LanguageStatus" class="loleaflet-font" title="'+_('Text Language')+ '" style="padding: 5px 5px;">  </div>' }, + {type: 'break', id: 'languagestatusbreak'}, {type: 'html', id: 'modifiedstatuslabel', html: '<div id="modifiedstatuslabel" class="loleaflet-font"></div>'}, {type: 'break', id: 'modifiedstatuslabelbreak'}, {type: 'drop', id: 'userlist', text: _('No users'), html: '<div id="userlist_container"><table id="userlist_table"><tbody></tbody></table></div>' }, @@ -1172,6 +1175,9 @@ map.on('commandstatechanged', function (e) { L.DomUtil.setStyle(div, 'background', color); } } + else if (commandName === '.uno:LanguageStatus') { + $('#LanguageStatus').html(state); + } else if (commandName === '.uno:ModifiedStatus') { var modifiedStatus = e.state === 'true'; if (modifiedStatus) { _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
