loleaflet/dist/loleaflet.html            |   21 +++++++++++++++++++++
 loleaflet/src/control/Control.Menubar.js |   21 +++++++++++++++++++++
 loleaflet/src/core/Socket.js             |   12 +++++++++---
 3 files changed, 51 insertions(+), 3 deletions(-)

New commits:
commit 90aee41c7019b1cf9c4d6fa0258ad1feb6f61ff0
Author: Pranav Kant <pran...@collabora.com>
Date:   Tue Jun 21 15:05:11 2016 +0530

    loleaflet: Dialog to show loolwsd, lokit version information
    
    Change-Id: Ie05f0597d3464b5e7705bd1d1ff4ab5c03af013f

diff --git a/loleaflet/dist/loleaflet.html b/loleaflet/dist/loleaflet.html
index a9f6613..0a1bb9a 100644
--- a/loleaflet/dist/loleaflet.html
+++ b/loleaflet/dist/loleaflet.html
@@ -136,5 +136,26 @@
 
     </script>
 
+    <div id="about-dialog" style="display:none; text-align: center;">
+      <h1 class="translatable">About LibreOffice Online</h1>
+      <hr/>
+      <h3 class="translatable">This version of LibreOffice Online is powered 
by<h3>
+      <p>
+        <h3>LOOLWSD</h3>
+        <div id="loolwsd-version"></div>
+      </p>
+      <p>
+        <h3>LOKit</h3>
+        <div id="lokit-version"></div>
+      </p>
+    </div>
+
+    <script>
+        var translatableContent = 
document.getElementsByClassName("translatable");
+        for (var i=0; i < translatableContent.length; i++) {
+            translatableContent[i].innerHTML = 
translatableContent[i].innerHTML.toLocaleString();
+        }
+    </script>
+
     <script src="/loleaflet/%VERSION%/toolbar/toolbar.js"></script>
 </body></html>
diff --git a/loleaflet/src/control/Control.Menubar.js 
b/loleaflet/src/control/Control.Menubar.js
index 9bdfba6..8ac4e25 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -4,6 +4,7 @@
 
 /* global $ _ map title vex */
 L.Control.Menubar = L.Control.extend({
+       // TODO: Some mechanism to stop the need to copy duplicate menus (eg. 
Help)
        options: {
                text:  [
                        {name: _('File'), type: 'menu', menu: [{name: 
_('Save'), type: 'unocommand', uno: '.uno:Save'},
@@ -44,6 +45,8 @@ L.Control.Menubar = L.Control.extend({
                                                                                
                                                                                
                {name: _('Column'), type: 'unocommand', uno: 
'.uno:EntireColumn'},
                                                                                
                                                                                
                {name: _('Cell'), type: 'unocommand', uno: '.uno:EntireCell'}]},
                                                                                
                  {name: _('Merge cells'), type: 'unocommand', uno: 
'.uno:MergeCells'}]
+                       },
+                       {name: _('Help'), type: 'menu', menu: [{name: 
_('About'), id: 'about', type: 'action'}]
                        }
                ],
 
@@ -86,6 +89,8 @@ L.Control.Menubar = L.Control.extend({
                                                                                
                 {name: _('Delete slide'), id: 'deletepage', type: 'action'},
                                                                                
                 {type: 'separator'},
                                                                                
                 {name: _('Fullscreen presentation'), id: 
'fullscreen-presentation', type: 'action'}]
+                       },
+                       {name: _('Help'), type: 'menu', menu: [{name: 
_('About'), id: 'about', type: 'action'}]
                        }
                ],
 
@@ -122,6 +127,8 @@ L.Control.Menubar = L.Control.extend({
                                                                                
                 {type: 'separator'},
                                                                                
                 {name: _('Delete row'), type: 'unocommand', uno: 
'.uno:DeleteRows'},
                                                                                
                 {name: _('Delete column'), type: 'unocommand', uno: 
'.uno:DeleteColumns'}]
+                       },
+                       {name: _('Help'), type: 'menu', menu: [{name: 
_('About'), id: 'about', type: 'action'}]
                        }
                ],
 
@@ -290,6 +297,20 @@ L.Control.Menubar = L.Control.extend({
                                message: _('Are you sure you want to delete 
this slide?'),
                                callback: this._onDeleteSlide
                        }, this);
+               } else if (id === 'about') {
+                       $('#about-dialog').modal({
+                               overlayClose:true,
+                               opacity: 80,
+                               overlayCss: {
+                                       backgroundColor : '#000'
+                               },
+                               containerCss: {
+                                       overflow : 'hidden',
+                                       backgroundColor : '#fff',
+                                       padding : '20px',
+                                       border : '2px solid #000'
+                               }
+                       });
                }
        },
 
diff --git a/loleaflet/src/core/Socket.js b/loleaflet/src/core/Socket.js
index 49092c8..08402ab 100644
--- a/loleaflet/src/core/Socket.js
+++ b/loleaflet/src/core/Socket.js
@@ -2,7 +2,7 @@
  * L.Socket contains methods for the communication with the server
  */
 
-/* global _ vex */
+/* global _ vex $ */
 L.Socket = L.Class.extend({
        ProtocolVersionNumber: '0.1',
 
@@ -127,11 +127,17 @@ L.Socket = L.Class.extend({
                var command = this.parseServerCmd(textMsg);
                if (textMsg.startsWith('loolserver ')) {
                        // This must be the first message, unless we reconnect.
-                       // TODO: For now we expect perfect match.
-                       if (textMsg.substring(11) !== 
this.ProtocolVersionNumber) {
+                       var versionStr = textMsg.split(' ');
+                       $('#loolwsd-version').text(versionStr[1] + ' ' + 
versionStr[2]);
+
+                       // TODO: For now we expect perfect match in protocol 
versions
+                       if (versionStr[3] !== this.ProtocolVersionNumber) {
                                this.fire('error', {msg: _('Unsupported server 
version.')});
                        }
                }
+               else if (textMsg.startsWith('lokitversion ')) {
+                       $('#lokit-version').text(textMsg.substring(13));
+               }
                else if (textMsg.startsWith('error:') && command.errorCmd === 
'load') {
                        this.close();
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to