loleaflet/dist/toolbar/toolbar.js |    2 +-
 loleaflet/src/core/LOUtil.js      |   20 ++++++++++++++++++++
 loleaflet/src/map/Map.js          |    6 +++++-
 3 files changed, 26 insertions(+), 2 deletions(-)

New commits:
commit a01d2fc91dfd6ea4ce365d30641fa251d45c8b04
Author: Pranav Kant <[email protected]>
Date:   Mon Oct 10 18:00:38 2016 +0530

    loleaflet: Restore old coloring algorithm for non-text documents
    
    .uno:TrackedChangeAuthors doesn't give correct colors for
    documents other than writer, lets use our old algorithm for color
    assignment for these documents.
    
    Change-Id: If865788154a80da2637aad84183a0e947bb4b7e8

diff --git a/loleaflet/dist/toolbar/toolbar.js 
b/loleaflet/dist/toolbar/toolbar.js
index 9003281..11281f5 100644
--- a/loleaflet/dist/toolbar/toolbar.js
+++ b/loleaflet/dist/toolbar/toolbar.js
@@ -1346,7 +1346,7 @@ map.on('addview', function(e) {
        }, 3000);
 
        var username = e.username;
-       var color = L.LOUtil.rgbToHex(e.color);
+       var color = L.LOUtil.rgbToHex(map.getViewColor(e.viewId));
        if (e.viewId === map._docLayer._viewId) {
                username = _('You');
                color = '#000';
diff --git a/loleaflet/src/core/LOUtil.js b/loleaflet/src/core/LOUtil.js
index 4ebb9d1..ed6b718 100644
--- a/loleaflet/src/core/LOUtil.js
+++ b/loleaflet/src/core/LOUtil.js
@@ -3,6 +3,21 @@
  */
 
 L.LOUtil = {
+       // Based on core.git's colordata.hxx: 
COL_AUTHOR1_DARK...COL_AUTHOR9_DARK
+       // consisting of arrays of RGB values
+       // Maybe move the color logic to separate file when it becomes complex
+       darkColors: [
+               [198, 146, 0],
+               [6,  70, 162],
+               [87, 157,  28],
+               [105,  43, 157],
+               [197,   0,  11],
+               [0, 128, 128],
+               [140, 132,  0],
+               [53,  85, 107],
+               [209, 118,   0]
+       ],
+
        startSpinner: function (spinnerCanvas, spinnerSpeed) {
                var spinnerInterval;
                spinnerCanvas.width = 50;
@@ -28,6 +43,11 @@ L.LOUtil = {
                return spinnerInterval;
        },
 
+       getViewIdHexColor: function(viewId) {
+               var color = this.darkColors[(viewId + 1) % 
this.darkColors.length];
+               return (color[2] | (color[1] << 8) | (color[0] << 16));
+       },
+
        rgbToHex: function(color) {
                return '#' + ('000000' + color.toString(16)).slice(-6);
        }
diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js
index c6d2f71..70fc83b 100644
--- a/loleaflet/src/map/Map.js
+++ b/loleaflet/src/map/Map.js
@@ -130,7 +130,7 @@ L.Map = L.Evented.extend({
 
        addView: function(viewid, username, color) {
                this._viewInfo[viewid] = {'username': username, 'color': color};
-               this.fire('addview', {viewId: viewid, username: username, 
color: color});
+               this.fire('addview', {viewId: viewid, username: username});
        },
 
        removeView: function(viewid) {
@@ -144,6 +144,10 @@ L.Map = L.Evented.extend({
        },
 
        getViewColor: function(viewid) {
+               if (this._docLayer._docType !== 'text') {
+                       return L.LOUtil.getViewIdHexColor(viewid);
+               }
+
                return this._viewInfo[viewid].color;
        },
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to