loleaflet/src/control/Control.JSDialogBuilder.js |   13 +++++++++----
 loleaflet/src/map/handler/Map.StateChanges.js    |    8 ++++++++
 2 files changed, 17 insertions(+), 4 deletions(-)

New commits:
commit 32288ab9083cc5f762bba768ef12b53eca330e0d
Author:     Michael Meeks <michael.me...@collabora.com>
AuthorDate: Thu Mar 26 15:40:50 2020 +0000
Commit:     Michael Meeks <michael.me...@collabora.com>
CommitDate: Thu Mar 26 19:36:07 2020 +0100

    Store command values for colors immediately on set.
    
    Avoids needing to wait for a notification - if it ever comes.
    
    Change-Id: I3d7118fa4682ebfe908dee11cdd123aafc68bd89
    Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91150
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Michael Meeks <michael.me...@collabora.com>

diff --git a/loleaflet/src/control/Control.JSDialogBuilder.js 
b/loleaflet/src/control/Control.JSDialogBuilder.js
index 6a8a3d9be..1854e8e57 100644
--- a/loleaflet/src/control/Control.JSDialogBuilder.js
+++ b/loleaflet/src/control/Control.JSDialogBuilder.js
@@ -1309,7 +1309,7 @@ L.Control.JSDialogBuilder = L.Control.extend({
                 return false;
        },
 
-       _getColorCommandToSend: function(builder, data, color) {
+       _sendColorCommand: function(builder, data, color) {
                var gradientItem;
 
                if (data.id === 'fillgrad1') {
@@ -1322,7 +1322,13 @@ L.Control.JSDialogBuilder = L.Control.extend({
                        return '.uno:FillGradient?FillGradientJSON:string=' + 
JSON.stringify(gradientItem);
                }
 
-               return data.command + '?Color:string=' + color;
+               var command = data.command + '?Color:string=' + color;
+
+               // update the item state as we send
+               var items = builder.map['stateChangeHandler'];
+               items.setItemValue(data.command, parseInt('0x' + color));
+
+               builder.map.sendUnoCommand(command);
        },
 
        _getDefaultColorForCommand: function(command) {
@@ -1381,8 +1387,7 @@ L.Control.JSDialogBuilder = L.Control.extend({
                var noColorControl = (data.command !== '.uno:FontColor' && 
data.command !== '.uno:Color');
 
                var callback = function(color) {
-                       var command = builder._getColorCommandToSend(builder, 
data, color);
-                       builder.map.sendUnoCommand(command);
+                       builder._sendColorCommand(builder, data, color);
                };
 
                var colorPickerControl = new L.ColorPicker(
diff --git a/loleaflet/src/map/handler/Map.StateChanges.js 
b/loleaflet/src/map/handler/Map.StateChanges.js
index a6b5d3f81..f8382ce28 100644
--- a/loleaflet/src/map/handler/Map.StateChanges.js
+++ b/loleaflet/src/map/handler/Map.StateChanges.js
@@ -64,6 +64,14 @@ L.Map.StateChangeHandler = L.Handler.extend({
                }
 
                return this._items[unoCmd];
+       },
+
+       setItemValue: function(unoCmd, value) {
+               if (unoCmd && unoCmd.substring(0, 5) !== '.uno:') {
+                       unoCmd = '.uno:' + unoCmd;
+               }
+
+               this._items[unoCmd] = value;
        }
 });
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to