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

Szymon Kłos (via logerrit) logerrit at kemper.freedesktop.org
Thu Oct 3 12:09:37 UTC 2019


 loleaflet/src/control/Control.LokDialog.js |    2 -
 loleaflet/src/control/Control.Menubar.js   |   43 +++++++++++++++++++++++++++--
 loleaflet/src/layer/tile/TileLayer.js      |    2 -
 3 files changed, 43 insertions(+), 4 deletions(-)

New commits:
commit 5ac78e5a29339b524bf37437aa070820fd10561d
Author:     Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Thu Oct 3 13:58:52 2019 +0200
Commit:     Szymon Kłos <szymon.klos at collabora.com>
CommitDate: Thu Oct 3 14:09:17 2019 +0200

    jsdialogs: add switch for sidebar and mobile wizard
    
    Change-Id: I9b0b0ce239217d063886937f00435f4b7427b1ba
    Reviewed-on: https://gerrit.libreoffice.org/80126
    Reviewed-by: Szymon Kłos <szymon.klos at collabora.com>
    Tested-by: Szymon Kłos <szymon.klos at collabora.com>

diff --git a/loleaflet/src/control/Control.LokDialog.js b/loleaflet/src/control/Control.LokDialog.js
index 7f7815848..2d49294e3 100644
--- a/loleaflet/src/control/Control.LokDialog.js
+++ b/loleaflet/src/control/Control.LokDialog.js
@@ -280,7 +280,7 @@ L.Control.LokDialog = L.Control.extend({
 				// When left/top are invalid, the dialog shows in the center.
 				this._launchDialog(e.id, left, top, width, height, e.title);
 			} else if (e.winType === 'deck') {
-				if (!window.mode.isMobile()) {
+				if (window.mobileWizard !== true) {
 					this._launchSidebar(e.id, width, height);
 				}
 			} else if (e.winType === 'child') {
diff --git a/loleaflet/src/control/Control.Menubar.js b/loleaflet/src/control/Control.Menubar.js
index b1f08a722..2e2250f99 100644
--- a/loleaflet/src/control/Control.Menubar.js
+++ b/loleaflet/src/control/Control.Menubar.js
@@ -73,7 +73,8 @@ L.Control.Menubar = L.Control.extend({
 				{type: 'separator'},
 				{name: _UNO('.uno:ShowResolvedAnnotations', 'text'), id: 'showresolved', type: 'action'},
 				{type: 'separator'},
-				{uno: '.uno:Sidebar'}
+				{uno: '.uno:Sidebar'},
+				{id: 'mobile-wizard',  type: 'action', name: _('Mobile Wizard'), mobile: true, desktop: false}
 			]
 			},
 			{name: _UNO('.uno:InsertMenu', 'text'), type: 'menu', menu: [
@@ -378,7 +379,8 @@ L.Control.Menubar = L.Control.extend({
 			{name: _UNO('.uno:ViewMenu', 'spreadsheet'), id: 'view', type: 'menu', menu: [
 				{name: _UNO('.uno:FullScreen', 'spreadsheet'), id: 'fullscreen', type: 'action', mobileapp: false},
 				{type: 'separator', mobileapp: false},
-				{uno: '.uno:Sidebar'}
+				{uno: '.uno:Sidebar'},
+				{id: 'mobile-wizard',  type: 'action', name: _('Mobile Wizard'), mobile: true, desktop: false}
 			]},
 			{name: _UNO('.uno:InsertMenu', 'spreadsheet'), type: 'menu', menu: [
 				{name: _('Local Image...'), id: 'insertgraphic', type: 'action'},
@@ -686,6 +688,22 @@ L.Control.Menubar = L.Control.extend({
 	},
 
 	_beforeShow: function(e, menu) {
+		var findUnoItemInMenu = function(items, unocommand) {
+			var returnItem = null;
+			$(items).each(function() {
+				var aItem = this;
+				var type = $(aItem).data('type');
+				if (type === 'unocommand') {
+					var unoCommand = $(aItem).data('uno');
+					if (unoCommand.startsWith(unocommand)) {
+						returnItem = aItem;
+					}
+				}
+			});
+
+			return returnItem;
+		};
+
 		var self = e.data.self;
 		var items = $(menu).children().children('a').not('.has-submenu');
 		$(items).each(function() {
@@ -775,6 +793,18 @@ L.Control.Menubar = L.Control.extend({
 							$(aItem).removeClass('disabled');
 							$(aItem).removeClass(constChecked);
 						}
+					} else if (id === 'mobile-wizard') {
+						if (window.mobileWizard === true)
+							$(aItem).addClass(constChecked);
+						else
+							$(aItem).removeClass(constChecked);
+
+						var sidebarItem = findUnoItemInMenu(items, '.uno:Sidebar');
+
+						if (window.mobileWizard === true)
+							$(sidebarItem).addClass('disabled');
+						else
+							$(sidebarItem).removeClass('disabled');
 					} else {
 						$(aItem).removeClass('disabled');
 					}
@@ -879,6 +909,11 @@ L.Control.Menubar = L.Control.extend({
 			}
 		} else if (id === 'repair') {
 			this._map._socket.sendMessage('commandvalues command=.uno:DocumentRepair');
+		} else if (id === 'mobile-wizard') {
+			window.mobileWizard = window.mobileWizard ? false : true;
+			this._map.sendUnoCommand('.uno:Sidebar');
+			if (!window.mobileWizard)
+				this._map.fire('closemobilewizard');
 		} else if (!window.ThisIsAMobileApp && id === 'warn-copy-paste') {
 			var self = this;
 			vex.dialog.alert({
@@ -1088,6 +1123,10 @@ L.Control.Menubar = L.Control.extend({
 				}
 			}
 
+			if (menu[i].desktop == false && window.mode.isDesktop()) {
+				$(aItem).css('display', 'none');
+			}
+
 			if (menu[i].tablet == false && window.mode.isTablet()) {
 				$(aItem).css('display', 'none');
 			}
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index c6d5a71af..1f409a59e 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -757,7 +757,7 @@ L.TileLayer = L.GridLayer.extend({
 	},
 
 	_onJSDialogMsg: function (textMsg) {
-		if (window.mode.isMobile()) {
+		if (window.mode.isMobile() && window.mobileWizard === true) {
 			var msgData = JSON.parse(textMsg.substring('jsdialog:'.length + 1));
 			this._openMobileWizard(msgData);
 		}


More information about the Libreoffice-commits mailing list