cypress_test/integration_tests/mobile/writer/spellchecking_spec.js | 8 - loleaflet/src/control/Control.JSDialogBuilder.js | 42 ++++++++-- loleaflet/src/core/LOUtil.js | 18 +++- 3 files changed, 55 insertions(+), 13 deletions(-)
New commits: commit f57fb8a91df8ce3f9f158b45eb2fb861be3e5c30 Author: Tamás Zolnai <tamas.zol...@collabora.com> AuthorDate: Fri Mar 27 14:33:43 2020 +0100 Commit: Tamás Zolnai <tamas.zol...@collabora.com> CommitDate: Mon Mar 30 15:56:57 2020 +0200 mobile: add special icon names for spelling context menu items. Change-Id: I9f5388a57f3f2079a0accbd8f43fc884a618af1f Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91276 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tamás Zolnai <tamas.zol...@collabora.com> diff --git a/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js b/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js index 6bd70282d..36df0e2c3 100644 --- a/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js +++ b/cypress_test/integration_tests/mobile/writer/spellchecking_spec.js @@ -93,7 +93,7 @@ describe('Spell checking menu.', function() { it('Check language status for selection.', function() { openContextMenu(); - cy.get('.sub-menu-title') + cy.get('.menu-entry-with-icon') .contains('Set Language for Selection') .click(); @@ -105,7 +105,7 @@ describe('Spell checking menu.', function() { it('Set None Language for selection.', function() { openContextMenu(); - cy.get('.sub-menu-title') + cy.get('.menu-entry-with-icon') .contains('Set Language for Selection') .click(); @@ -123,7 +123,7 @@ describe('Spell checking menu.', function() { it('Check language status for paragraph.', function() { openContextMenu(); - cy.get('.sub-menu-title') + cy.get('.menu-entry-with-icon') .contains('Set Language for Paragraph') .click(); @@ -135,7 +135,7 @@ describe('Spell checking menu.', function() { it('Set None Language for paragraph.', function() { openContextMenu(); - cy.get('.sub-menu-title') + cy.get('.menu-entry-with-icon') .contains('Set Language for Paragraph') .click(); diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js b/loleaflet/src/control/Control.JSDialogBuilder.js index 1854e8e57..a7394813f 100644 --- a/loleaflet/src/control/Control.JSDialogBuilder.js +++ b/loleaflet/src/control/Control.JSDialogBuilder.js @@ -352,6 +352,32 @@ L.Control.JSDialogBuilder = L.Control.extend({ } }, + _generateMenuIconName: function(commandName) { + // command has no parameter + if (commandName.indexOf('?') === -1) + return commandName.toLowerCase(); + + if (commandName.indexOf('SpellCheckIgnoreAll') !== -1) + return 'spellcheckignoreall'; + if (commandName.indexOf('SpellCheckIgnore') !== -1) + return 'spellcheckignore'; + if (commandName === 'LanguageStatus?Language:string=Current_LANGUAGE_NONE') + return 'selectionlanugagenone'; + if (commandName === 'LanguageStatus?Language:string=Current_RESET_LANGUAGES') + return 'selectionlanugagedefault'; + if (commandName === 'LanguageStatus?Language:string=Paragraph_LANGUAGE_NONE') + return 'paragraphlanugagenone'; + if (commandName === 'LanguageStatus?Language:string=Paragraph_RESET_LANGUAGES') + return 'paragraphlanugagedefault'; + if ((this.map.getDocType() === 'spreadsheet' || this.map.getDocType() === 'presentation') && + commandName.indexOf('LanguageStatus?Language:string=Paragraph_') !== -1) + return 'paragraphlanugagesuggestion'; + if ((this.map.getDocType() === 'spreadsheet' || this.map.getDocType() === 'presentation') && + commandName.indexOf('LanguageStatus?Language:string=Current_') !== -1) + return 'selectionlanugagesuggestion'; + return commandName.toLowerCase(); + }, + _explorableMenu: function(parentContainer, title, children, builder, customContent, dataid) { dataid = dataid || 0; var icon = null; @@ -359,9 +385,10 @@ L.Control.JSDialogBuilder = L.Control.extend({ $(sectionTitle).css('justify-content', 'space-between'); var commandName = dataid; - if (commandName && commandName.length && L.LOUtil.existsIconForCommand(commandName)) { - var iconSpan = L.DomUtil.create('span', 'menu-entry-icon ' + commandName.toLowerCase(), sectionTitle); - var iconPath = 'images/lc_' + commandName.toLowerCase() + '.svg'; + if (commandName && commandName.length && L.LOUtil.existsIconForCommand(commandName, builder.map.getDocType())) { + var iconName = builder._generateMenuIconName(commandName); + var iconSpan = L.DomUtil.create('span', 'menu-entry-icon ' + iconName, sectionTitle); + var iconPath = 'images/lc_' + iconName + '.svg'; icon = L.DomUtil.create('img', '', iconSpan); icon.src = iconPath; icon.alt = ''; @@ -937,7 +964,7 @@ L.Control.JSDialogBuilder = L.Control.extend({ div.id = data.id; var commandName = data.id ? data.id.substring('.uno:'.length) : data.id; - if (commandName && commandName.length && L.LOUtil.existsIconForCommand(commandName)) { + if (commandName && commandName.length && L.LOUtil.existsIconForCommand(commandName, builder.map.getDocType())) { var image = L.DomUtil.create('img', 'spinfieldimage', div); var icon = builder._createIconPath(data.id); image.src = icon; @@ -1487,9 +1514,10 @@ L.Control.JSDialogBuilder = L.Control.extend({ var icon = null; var commandName = data.command && data.command.substring(0, '.uno:'.length) === '.uno:' ? data.command.substring('.uno:'.length) : data.id; - if (commandName && commandName.length && L.LOUtil.existsIconForCommand(commandName)) { - var iconSpan = L.DomUtil.create('span', 'menu-entry-icon ' + commandName.toLowerCase(), menuEntry); - var iconPath = 'images/lc_' + commandName.toLowerCase() + '.svg'; + if (commandName && commandName.length && L.LOUtil.existsIconForCommand(commandName, builder.map.getDocType())) { + var iconName = builder._generateMenuIconName(commandName); + var iconSpan = L.DomUtil.create('span', 'menu-entry-icon ' + iconName, menuEntry); + var iconPath = 'images/lc_' + iconName + '.svg'; icon = L.DomUtil.create('img', '', iconSpan); icon.src = iconPath; icon.alt = ''; diff --git a/loleaflet/src/core/LOUtil.js b/loleaflet/src/core/LOUtil.js index d66090d71..4d144cfc0 100644 --- a/loleaflet/src/core/LOUtil.js +++ b/loleaflet/src/core/LOUtil.js @@ -95,13 +95,27 @@ L.LOUtil = { 'None' ], - existsIconForCommand: function(command) { + existsIconForCommand: function(command, docType) { var commandName = command.startsWith('.uno:') ? command.substring('.uno:'.length) : command; var res = !this.commandWithoutIcon.find(function (el) { return el.startsWith(commandName); }); - if (commandName.indexOf('?')!== -1) + if (commandName.indexOf('?')!== -1) { + if (commandName.indexOf('SpellCheckIgnore') !== -1 || commandName.indexOf('SpellCheckIgnoreAll') !== -1) + return true; + + if ((docType === 'spreadsheet' || docType === 'presentation') && + commandName.indexOf('LanguageStatus') !== -1) + return true; + + if (commandName === 'LanguageStatus?Language:string=Current_LANGUAGE_NONE' || + commandName === 'LanguageStatus?Language:string=Current_RESET_LANGUAGES' || + commandName === 'LanguageStatus?Language:string=Paragraph_LANGUAGE_NONE' || + commandName === 'LanguageStatus?Language:string=Paragraph_RESET_LANGUAGES') + return true; + return false; + } return res; }, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits