loleaflet/css/menubar.css | 43 --------- loleaflet/css/notebookbar.css | 59 +++++++++++++ loleaflet/src/control/Control.Notebookbar.js | 1 loleaflet/src/control/Control.NotebookbarBuilder.js | 88 ++++++++++++++++++++ loleaflet/src/control/Control.NotebookbarImpress.js | 5 + 5 files changed, 152 insertions(+), 44 deletions(-)
New commits: commit 1519c773fbacdd1189af27858ef0d2b2b2767e57 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Thu Jul 30 10:06:53 2020 +0200 Commit: Szymon Kłos <szymon.k...@collabora.com> CommitDate: Thu Jul 30 13:56:17 2020 +0200 notebookbar: fill hamburger menu Change-Id: I7812e241dd47b8481159342a526813b5061b5b70 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/99768 Tested-by: Jenkins Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Szymon Kłos <szymon.k...@collabora.com> diff --git a/loleaflet/css/menubar.css b/loleaflet/css/menubar.css index 22a505fcd..84e07849b 100644 --- a/loleaflet/css/menubar.css +++ b/loleaflet/css/menubar.css @@ -172,49 +172,6 @@ -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } -/* Hamburger icon: from shortcutsbar (notebookbar) */ -.notebookbar-shortcuts-bar #Menubar {padding-right: 7px;} - -.hasnotebookbar.text-color-indicator #shortcuts-menubar-icon, -.hasnotebookbar.text-color-indicator #shortcuts-menubar-icon:before, -.hasnotebookbar.text-color-indicator #shortcuts-menubar-icon:after { - background: var(--blue1-txt-primary-color); -} -.hasnotebookbar.presentation-color-indicator #shortcuts-menubar-icon, -.hasnotebookbar.presentation-color-indicator #shortcuts-menubar-icon:before, -.hasnotebookbar.presentation-color-indicator #shortcuts-menubar-icon:after { - background: var(--orange1-txt-primary-color); -} -.hasnotebookbar.spreadsheet-color-indicator #shortcuts-menubar-icon, -.hasnotebookbar.spreadsheet-color-indicator #shortcuts-menubar-icon:before, -.hasnotebookbar.spreadsheet-color-indicator #shortcuts-menubar-icon:after { - background: var(--green0-txt-primary-color); -} - -.hasnotebookbar #shortcuts-menubar-icon, -.hasnotebookbar #shortcuts-menubar-icon:before, -.hasnotebookbar #shortcuts-menubar-icon:after { - position: absolute; - top: 52%; - left: 0px; - height: 1px; - width: 13px; - -webkit-transition: all 0.25s; - transition: all 0.25s; -} - -.hasnotebookbar #shortcuts-menubar-icon:before { - content: ''; - top: -6px; - left: 0; -} - -.notebookbar-shortcuts-bar #shortcuts-menubar-icon:after { - content: ''; - top: 6px; - left: 0; -} - /* Hamburger icon */ .main-menu-btn-icon, diff --git a/loleaflet/css/notebookbar.css b/loleaflet/css/notebookbar.css index c73a9a742..69fa813ac 100644 --- a/loleaflet/css/notebookbar.css +++ b/loleaflet/css/notebookbar.css @@ -73,6 +73,65 @@ margin-top: 3px; } +/* Hamburger icon: from shortcutsbar (notebookbar) */ +.hasnotebookbar.text-color-indicator #shortcuts-menubar-icon, +.hasnotebookbar.text-color-indicator #shortcuts-menubar-icon:before, +.hasnotebookbar.text-color-indicator #shortcuts-menubar-icon:after { + background: var(--blue1-txt-primary-color); +} +.hasnotebookbar.presentation-color-indicator #shortcuts-menubar-icon, +.hasnotebookbar.presentation-color-indicator #shortcuts-menubar-icon:before, +.hasnotebookbar.presentation-color-indicator #shortcuts-menubar-icon:after { + background: var(--orange1-txt-primary-color); +} +.hasnotebookbar.spreadsheet-color-indicator #shortcuts-menubar-icon, +.hasnotebookbar.spreadsheet-color-indicator #shortcuts-menubar-icon:before, +.hasnotebookbar.spreadsheet-color-indicator #shortcuts-menubar-icon:after { + background: var(--green0-txt-primary-color); +} + +.hasnotebookbar .notebookbar-shortcuts-bar #Menubar > li > a { + cursor: pointer; + border: none; + background: var(--gray-bg-color); + height: 20px; +} + +.hasnotebookbar #shortcuts-menubar-icon { + position: absolute; + top: 52%; + left: 0px; + height: 1px; + width: 13px; + -webkit-transition: all 0.25s; + transition: all 0.25s; + + margin-left: 8px; +} + +.hasnotebookbar #shortcuts-menubar-icon:before, +.hasnotebookbar #shortcuts-menubar-icon:after { + position: absolute; + top: 52%; + left: 0px; + height: 1px; + width: 13px; + -webkit-transition: all 0.25s; + transition: all 0.25s; +} + +.hasnotebookbar #shortcuts-menubar-icon:before { + content: ''; + top: -6px; + left: 0; +} + +.hasnotebookbar #shortcuts-menubar-icon:after { + content: ''; + top: 6px; + left: 0; +} + /* options section */ .notebookbar-options-section { display: inline; diff --git a/loleaflet/src/control/Control.Notebookbar.js b/loleaflet/src/control/Control.Notebookbar.js index f9578c3af..cb1d43d0c 100644 --- a/loleaflet/src/control/Control.Notebookbar.js +++ b/loleaflet/src/control/Control.Notebookbar.js @@ -148,7 +148,6 @@ L.Control.Notebookbar = L.Control.extend({ $('nav').prepend(shortcutsBar); var builder = new L.control.notebookbarBuilder({mobileWizard: this, map: this.map, cssClass: 'notebookbar'}); builder.build(shortcutsBar, this.getShortcutsBarData()); - $('#Menubar').html('<span id="shortcuts-menubar-icon"></span>'); }, setCurrentScrollPosition: function() { diff --git a/loleaflet/src/control/Control.NotebookbarBuilder.js b/loleaflet/src/control/Control.NotebookbarBuilder.js index e743ae794..25693d59a 100644 --- a/loleaflet/src/control/Control.NotebookbarBuilder.js +++ b/loleaflet/src/control/Control.NotebookbarBuilder.js @@ -46,6 +46,7 @@ L.Control.NotebookbarBuilder = L.Control.JSDialogBuilder.extend({ this._toolitemHandlers['.uno:SetDefault'] = this._clearFormattingControl; this._toolitemHandlers['.uno:Presentation'] = this._startPresentationControl; this._toolitemHandlers['.uno:Save'] = this._saveControl; + this._toolitemHandlers['.uno:Menubar'] = this._menubarControl; this._toolitemHandlers['up'] = this._toolbarItemControl; this._toolitemHandlers['down'] = this._toolbarItemControl; @@ -538,6 +539,93 @@ L.Control.NotebookbarBuilder = L.Control.JSDialogBuilder.extend({ }); }, + _menubarControl: function(parentContainer, data, builder) { + var control = builder._unoToolButton(parentContainer, data, builder); + + $(control.container).unbind('click'); + $(control.container).tooltip({disabled: true}); + $(control.container).addClass('sm sm-simple lo-menu'); + + var menu = { + text: [ + {name: _('Menu'), type: 'menu', menu: [ + {name: _UNO('.uno:FullScreen', 'text'), id: 'fullscreen', type: 'action'}, + {name: _('Show Ruler'), id: 'showruler', type: 'action'}, + {name: _UNO('.uno:ChangesMenu', 'text'), id: 'changesmenu', type: 'menu', menu: [ + {uno: '.uno:TrackChanges'}, + {uno: '.uno:ShowTrackedChanges'}, + {type: 'separator'}, + {uno: '.uno:AcceptTrackedChanges'}, + {uno: '.uno:AcceptAllTrackedChanges'}, + {uno: '.uno:RejectAllTrackedChanges'}, + {uno: '.uno:PreviousTrackedChange'}, + {uno: '.uno:NextTrackedChange'} + ]}, + {uno: '.uno:SearchDialog'}, + {name: _('Repair'), id: 'repair', type: 'action'}, + {name: _UNO('.uno:ToolsMenu', 'text'), id: 'tools', type: 'menu', menu: [ + {uno: '.uno:SpellingAndGrammarDialog'}, + {uno: '.uno:SpellOnline'}, + {uno: '.uno:ThesaurusDialog'}, + {name: _UNO('.uno:LanguageMenu'), type: 'menu', menu: [ + {name: _UNO('.uno:SetLanguageSelectionMenu', 'text'), type: 'menu', menu: [ + {name: _('None (Do not check spelling)'), id: 'noneselection', uno: '.uno:LanguageStatus?Language:string=Current_LANGUAGE_NONE'}]}, + {name: _UNO('.uno:SetLanguageParagraphMenu', 'text'), type: 'menu', menu: [ + {name: _('None (Do not check spelling)'), id: 'noneparagraph', uno: '.uno:LanguageStatus?Language:string=Paragraph_LANGUAGE_NONE'}]}, + {name: _UNO('.uno:SetLanguageAllTextMenu', 'text'), type: 'menu', menu: [ + {name: _('None (Do not check spelling)'), id: 'nonelanguage', uno: '.uno:LanguageStatus?Language:string=Default_LANGUAGE_NONE'}]} + ]}, + {uno: '.uno:WordCountDialog'}, + {uno: '.uno:LineNumberingDialog'}, + {type: 'separator'}, + {name: _UNO('.uno:AutoFormatMenu', 'text'), type: 'menu', menu: [ + {uno: '.uno:OnlineAutoFormat'}]} + ]} + ]} + ], + spreadsheet: [ + {name: _('Menu'), type: 'menu', menu: [ + {name: _UNO('.uno:FullScreen', 'text'), id: 'fullscreen', type: 'action'}, + ]} + ], + presentation: [ + {name: _('Menu'), type: 'menu', menu: [ + {name: _UNO('.uno:FullScreen', 'text'), id: 'fullscreen', type: 'action'}, + ]} + ] + }; + + var menubar = L.control.menubar(); + menubar._map = builder.map; + + var docType = builder.map.getDocType(); + var menuHtml = menubar._createMenu(menu[docType]); + + $(control.container).html(menuHtml); + + $(control.container).smartmenus({ + subMenusSubOffsetX: 1, + subMenusSubOffsetY: -8 + }); + + $(menuHtml[0]).children('a').html('<span id="shortcuts-menubar-icon"></span>'); + + $(control.container).bind('beforeshow.smapi', {self: menubar}, menubar._beforeShow); + $(control.container).bind('click.smapi', {self: menubar}, menubar._onClicked); + $(control.container).bind('select.smapi', {self: menubar}, menubar._onItemSelected); + $(control.container).bind('mouseenter.smapi', {self: menubar}, menubar._onMouseEnter); + $(control.container).bind('mouseleave.smapi', {self: menubar}, menubar._onMouseLeave); + $(control.container).bind('keydown', {self: menubar}, menubar._onKeyDown); + + // get languages list + var items = builder.map['stateChangeHandler']; + var val = items.getItemValue('.uno:LanguageStatus'); + if (val) + menubar._onInitMenu({commandName: '.uno:LanguageStatus', commandValues: [val]}); + else + builder.map.on('commandvalues', menubar._onInitMenu, menubar); + }, + build: function(parent, data, hasVerticalParent, parentHasManyChildren) { this._amendJSDialogData(data); diff --git a/loleaflet/src/control/Control.NotebookbarImpress.js b/loleaflet/src/control/Control.NotebookbarImpress.js index 21b7f1ecb..5ecf920c1 100644 --- a/loleaflet/src/control/Control.NotebookbarImpress.js +++ b/loleaflet/src/control/Control.NotebookbarImpress.js @@ -12,6 +12,11 @@ L.Control.NotebookbarImpress = L.Control.NotebookbarWriter.extend({ 'id': 'shortcutstoolbox', 'type': 'toolbox', 'children': [ + { + 'type': 'toolitem', + 'text': _('Menu'), + 'command': '.uno:Menubar' + }, { 'type': 'toolitem', 'text': _('Save'), _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits