[Libreoffice-commits] online.git: loleaflet/src
Szymon KÅos (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 22 08:06:37 UTC 2020
loleaflet/src/control/Control.MobileBottomBar.js | 2 ++
loleaflet/src/control/Control.MobileTopBar.js | 20 +++++++++++++++++++-
loleaflet/src/control/Control.PresentationBar.js | 21 +++++++++++++++++++++
loleaflet/src/control/Control.Toolbar.js | 10 ++--------
loleaflet/src/control/Control.TopToolbar.js | 3 +++
5 files changed, 47 insertions(+), 9 deletions(-)
New commits:
commit 799235eb38a8fdbf43a07463f2fecbc9893ab1e7
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Apr 22 09:15:03 2020 +0200
Commit: Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Wed Apr 22 10:06:18 2020 +0200
Move command state updates handler to toolbar implementations
Change-Id: I3b9b4a7c05a0c6f40f86f6a69ea8873a1120180c
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92670
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice at gmail.com>
Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
diff --git a/loleaflet/src/control/Control.MobileBottomBar.js b/loleaflet/src/control/Control.MobileBottomBar.js
index 078e8d880..8a11179b9 100644
--- a/loleaflet/src/control/Control.MobileBottomBar.js
+++ b/loleaflet/src/control/Control.MobileBottomBar.js
@@ -17,6 +17,8 @@ L.Control.MobileBottomBar = L.Control.extend({
onAdd: function (map) {
this.map = map;
this.create();
+
+ map.on('commandstatechanged', window.onCommandStateChanged);
},
getToolItems: function(docType) {
diff --git a/loleaflet/src/control/Control.MobileTopBar.js b/loleaflet/src/control/Control.MobileTopBar.js
index 76874fb9c..8543a3221 100644
--- a/loleaflet/src/control/Control.MobileTopBar.js
+++ b/loleaflet/src/control/Control.MobileTopBar.js
@@ -19,6 +19,7 @@ L.Control.MobileTopBar = L.Control.extend({
this.create();
map.on('updatepermission', this.onUpdatePermission, this);
+ map.on('commandstatechanged', this.onCommandStateChanged, this);
},
getToolItems: function(docType) {
@@ -184,7 +185,24 @@ L.Control.MobileTopBar = L.Control.extend({
});
}
}
- }
+ },
+
+ onCommandStateChanged: function(e) {
+ var commandName = e.commandName;
+ var state = e.state;
+
+ if (this.map._permission === 'edit' && (state === 'enabled' || state === 'disabled')) {
+ var id = window.unoCmdToToolbarId(commandName);
+ var toolbar = w2ui['actionbar'];
+
+ if (state === 'enabled') {
+ toolbar.enable(id);
+ } else {
+ toolbar.uncheck(id);
+ toolbar.disable(id);
+ }
+ }
+ },
});
L.control.mobileTopBar = function (docType) {
diff --git a/loleaflet/src/control/Control.PresentationBar.js b/loleaflet/src/control/Control.PresentationBar.js
index 9cf159bd5..eeb3cfac8 100644
--- a/loleaflet/src/control/Control.PresentationBar.js
+++ b/loleaflet/src/control/Control.PresentationBar.js
@@ -16,6 +16,7 @@ L.Control.PresentationBar = L.Control.extend({
map.on('wopiprops', this.onWopiProps, this);
map.on('doclayerinit', this.onDocLayerInit, this);
map.on('updatepermission', this.onUpdatePermission, this);
+ map.on('commandstatechanged', this.onCommandStateChanged, this);
},
create: function() {
@@ -149,6 +150,26 @@ L.Control.PresentationBar = L.Control.extend({
}
}
},
+
+ onCommandStateChanged: function(e) {
+ var commandName = e.commandName;
+ var state = e.state;
+
+ if (this.map._permission === 'edit' && (state === 'enabled' || state === 'disabled')) {
+ var id = window.unoCmdToToolbarId(commandName);
+
+ if (id === 'deletepage' || id === 'insertpage' || id === 'duplicatepage') {
+ var toolbar = w2ui['presentation-toolbar'];
+
+ if (state === 'enabled') {
+ toolbar.enable(id);
+ } else {
+ toolbar.uncheck(id);
+ toolbar.disable(id);
+ }
+ }
+ }
+ },
});
L.control.presentationBar = function (options) {
diff --git a/loleaflet/src/control/Control.Toolbar.js b/loleaflet/src/control/Control.Toolbar.js
index 021065f43..bdfbbee9e 100644
--- a/loleaflet/src/control/Control.Toolbar.js
+++ b/loleaflet/src/control/Control.Toolbar.js
@@ -733,7 +733,6 @@ function onWopiProps(e) {
function onCommandStateChanged(e) {
var toolbar = w2ui['editbar'];
- var statusbar = w2ui['actionbar'];
var commandName = e.commandName;
var state = e.state;
var color, div;
@@ -832,12 +831,6 @@ function onCommandStateChanged(e) {
// If in non-edit mode, will be taken care of when permission is changed to 'edit'
else if (map._permission === 'edit' && (state === 'enabled' || state === 'disabled')) {
var toolbarUp = toolbar;
- if (window.mode.isMobile()) {
- toolbarUp = statusbar;
- }
- else if (map.getDocType() === 'presentation' && (id === 'deletepage' || id === 'insertpage' || id === 'duplicatepage')) {
- toolbarUp = w2ui['presentation-toolbar'];
- }
if (state === 'enabled') {
toolbarUp.enable(id);
} else {
@@ -1018,7 +1011,6 @@ function setupToolbar(e) {
map.on('wopiprops', onWopiProps);
map.on('commandresult', onCommandResult);
map.on('updateparts pagenumberchanged', onUpdateParts);
- map.on('commandstatechanged', onCommandStateChanged);
if (!L.Params.closeButtonEnabled) {
$('#closebuttonwrapper').hide();
@@ -1049,5 +1041,7 @@ global.createShapesPanel = createShapesPanel;
global.onUpdatePermission = onUpdatePermission;
global.setupSearchInput = setupSearchInput;
global.getUNOCommand = getUNOCommand;
+global.unoCmdToToolbarId = unoCmdToToolbarId;
+global.onCommandStateChanged = onCommandStateChanged;
}(window));
diff --git a/loleaflet/src/control/Control.TopToolbar.js b/loleaflet/src/control/Control.TopToolbar.js
index 20a178f1b..bb13a1fb4 100644
--- a/loleaflet/src/control/Control.TopToolbar.js
+++ b/loleaflet/src/control/Control.TopToolbar.js
@@ -546,6 +546,9 @@ L.Control.TopToolbar = L.Control.extend({
}
$('.fontsizes-select').val(state).trigger('change');
}
+
+ // call shared handler for font color and higlight items handling
+ window.onCommandStateChanged(e);
}
});
More information about the Libreoffice-commits
mailing list