[Libreoffice-commits] online.git: loleaflet/src

Michael Meeks (via logerrit) logerrit at kemper.freedesktop.org
Thu Mar 26 18:36:26 UTC 2020


 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.meeks at collabora.com>
AuthorDate: Thu Mar 26 15:40:50 2020 +0000
Commit:     Michael Meeks <michael.meeks at 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 <jenkinscollaboraoffice at gmail.com>
    Reviewed-by: Michael Meeks <michael.meeks at 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;
 	}
 });
 


More information about the Libreoffice-commits mailing list