loleaflet/css/loleaflet.css                     |   35 ++++++++++++++++++++
 loleaflet/src/control/Control.ContextToolbar.js |   42 +++++++++++++++++++-----
 2 files changed, 69 insertions(+), 8 deletions(-)

New commits:
commit 532e70db8d719e5f330ab19bc40a78fe00fd7a05
Author:     Tor Lillqvist <t...@collabora.com>
AuthorDate: Fri May 31 19:30:24 2019 +0300
Commit:     Tor Lillqvist <t...@collabora.com>
CommitDate: Fri May 31 19:51:34 2019 +0300

    tdf#122572: Use a context toolbar in the iOS app that looks more native
    
    Not icons, but white text on black background, etc. This is how the
    native context toolbar (whatever it actually is called in iOS) looks
    in Notes and Pages and in text input fields in general.
    
    Change-Id: Ibfa149fa8a951046de25c71022ea5c5684cfcc02

diff --git a/loleaflet/css/loleaflet.css b/loleaflet/css/loleaflet.css
index 68626261b..ca6e9c9f7 100644
--- a/loleaflet/css/loleaflet.css
+++ b/loleaflet/css/loleaflet.css
@@ -361,6 +361,41 @@ body {
                background: url('images/lc_paste.svg') no-repeat center 
!important;
 }
 
+.loleaflet-ios-context-table {
+       color: white;
+       text-decoration: underline;
+       font-size: 15px;
+       border-spacing: 0;
+}
+
+.loleaflet-ios-context-button {
+       background-color: black;
+       height: 40px;
+}
+
+.loleaflet-ios-context-left {
+    padding-left: 10px;
+    border-top-left-radius: 10px;
+    border-bottom-left-radius: 10px;
+}
+
+.loleaflet-ios-context-first-and-middle-entry {
+    padding-left: 8px;
+    padding-right: 8px;
+    border-right: 1px solid white;
+}
+
+.loleaflet-ios-context-last-entry {
+    padding-left: 8px;
+    padding-right: 8px;
+}
+
+.loleaflet-ios-context-right {
+    padding-right: 10px;
+    border-top-right-radius: 10px;
+    border-bottom-right-radius: 10px;
+}
+
 .loleaflet-annotation-menu, .loleaflet-annotation-menu-redline {
        background: url('images/submenu.svg') no-repeat center/contain 
!important;
 }
diff --git a/loleaflet/src/control/Control.ContextToolbar.js 
b/loleaflet/src/control/Control.ContextToolbar.js
index b1a8708ea..139636de8 100644
--- a/loleaflet/src/control/Control.ContextToolbar.js
+++ b/loleaflet/src/control/Control.ContextToolbar.js
@@ -2,6 +2,7 @@
 /*
  * L.Control.ContextToolbar.
  */
+/* global _ */
 
 L.Control.ContextToolbar = L.Control.extend({
        options: {
@@ -41,19 +42,41 @@ L.Control.ContextToolbar = L.Control.extend({
                    onUp = 'mouseup',
                    onDown = 'mousedown',
                    stopEvents = 'touchstart touchmove touchend mousedown 
mousemove mouseout mouseover mouseup mousewheel click scroll',
-                   container = L.DomUtil.create('table', 
'loleaflet-context-table', this._container),
-                   tbody = L.DomUtil.create('tbody', '', container),
+                   container;
+
+               if (window.ThisIsTheiOSApp)
+                       container = L.DomUtil.create('table', 
'loleaflet-ios-context-table', this._container);
+               else
+                       container = L.DomUtil.create('table', 
'loleaflet-context-table', this._container);
+
+               var tbody = L.DomUtil.create('tbody', '', container),
                    tr = L.DomUtil.create('tr', '', tbody);
 
-               this._cut = L.DomUtil.create(tagTd, 'loleaflet-context-button 
loleaflet-context-cut', tr);
+               if (window.ThisIsTheiOSApp) {
+                       this._leftroundedend = L.DomUtil.create(tagTd, 
'loleaflet-ios-context-button loleaflet-ios-context-left', tr);
+                       this._cut = L.DomUtil.create(tagTd, 
'loleaflet-ios-context-button loleaflet-ios-context-first-and-middle-entry 
loleaflet-ios-context-cut', tr);
+                       // We have at the moment no translations for the bare 
words "Cut", "Copy",
+                       // and "Paste". Only for the menu entries that start 
with a tilde. So let's
+                       // do a horrible hack: Look up those and remove the 
tilde from the
+                       // translation.
+                       this._cut.innerHTML = _('~Cut').replace(/~/, '');
+                       this._copy = L.DomUtil.create(tagTd, 
'loleaflet-ios-context-button loleaflet-ios-context-first-and-middle-entry 
loleaflet-ios-context-copy', tr);
+                       this._copy.innerHTML = _('~Copy').replace(/~/, '');
+                       this._paste = L.DomUtil.create(tagTd, 
'loleaflet-ios-context-button loleaflet-ios-context-last-entry 
loleaflet-ios-context-paste', tr);
+                       this._paste.innerHTML = _('~Paste').replace(/~/, '');
+                       this._rightroundedend = L.DomUtil.create(tagTd, 
'loleaflet-ios-context-button loleaflet-ios-context-right', tr);
+               }
+               else {
+                       this._cut = L.DomUtil.create(tagTd, 
'loleaflet-context-button loleaflet-context-cut', tr);
+                       this._copy = L.DomUtil.create(tagTd, 
'loleaflet-context-button loleaflet-context-copy', tr);
+                       this._paste = L.DomUtil.create(tagTd, 
'loleaflet-context-button loleaflet-context-paste', tr);
+               }
                L.DomEvent.on(this._cut, stopEvents,  
L.DomEvent.stopPropagation)
                        .on(this._cut, onDown, this.onMouseDown, this)
                        .on(this._cut, onUp, this.onMouseUp, this);
-               this._copy = L.DomUtil.create(tagTd, 'loleaflet-context-button 
loleaflet-context-copy', tr);
                L.DomEvent.on(this._copy, stopEvents,  
L.DomEvent.stopPropagation)
                        .on(this._copy, onDown, this.onMouseDown, this)
                        .on(this._copy, onUp, this.onMouseUp, this);
-               this._paste = L.DomUtil.create(tagTd, 'loleaflet-context-button 
loleaflet-context-paste', tr);
                L.DomEvent.on(this._paste, stopEvents,  
L.DomEvent.stopPropagation)
                        .on(this._paste, onDown, this.onMouseDown, this)
                        .on(this._paste, onUp, this.onMouseUp, this);
@@ -90,13 +113,16 @@ L.Control.ContextToolbar = L.Control.extend({
        onMouseUp: function (e) {
                var target = e.target || e.srcElement;
 
-               if (L.DomUtil.hasClass(target, 'loleaflet-context-cut')) {
+               if (L.DomUtil.hasClass(target, 'loleaflet-context-cut') ||
+                  L.DomUtil.hasClass(target, 'loleaflet-ios-context-cut')) {
                        this._map._socket.sendMessage('uno .uno:Cut');
                }
-               else if (L.DomUtil.hasClass(target, 'loleaflet-context-copy')) {
+               else if (L.DomUtil.hasClass(target, 'loleaflet-context-copy') ||
+                       L.DomUtil.hasClass(target, 
'loleaflet-ios-context-copy')) {
                        this._map._socket.sendMessage('uno .uno:Copy');
                }
-               else if (L.DomUtil.hasClass(target, 'loleaflet-context-paste')) 
{
+               else if (L.DomUtil.hasClass(target, 'loleaflet-context-paste') 
||
+                       L.DomUtil.hasClass(target, 
'loleaflet-ios-context-paste')) {
                        this._map._socket.sendMessage('uno .uno:Paste');
                }
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to