summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--browser/src/canvas/sections/AutoFillMarkerSection.ts3
-rw-r--r--browser/src/control/Control.AutoFillOptions.ts3
-rw-r--r--browser/src/control/Control.JSDialog.js11
-rw-r--r--browser/src/control/Control.Tabs.js4
-rw-r--r--browser/src/layer/tile/CalcTileLayer.js2
-rw-r--r--browser/src/layer/tile/CanvasTileLayer.js15
-rw-r--r--kit/ChildSession.cpp3
7 files changed, 15 insertions, 26 deletions
diff --git a/browser/src/canvas/sections/AutoFillMarkerSection.ts b/browser/src/canvas/sections/AutoFillMarkerSection.ts
index 4ade9f689c..1d1c02cc9d 100644
--- a/browser/src/canvas/sections/AutoFillMarkerSection.ts
+++ b/browser/src/canvas/sections/AutoFillMarkerSection.ts
@@ -197,8 +197,6 @@ class AutoFillMarkerSection extends CanvasSectionObject {
this.sectionProperties.docLayer._postMouseEvent('buttonup', pos.x, pos.y, 1, 1, 0);
}
- this.map._docLayer.isAutoFillFromOnMouseUp = true;
-
this.map.scrollingIsHandled = false;
this.stopPropagating();
e.stopPropagation();
@@ -240,7 +238,6 @@ class AutoFillMarkerSection extends CanvasSectionObject {
}
public onMouseLeave () {
- this.map._docLayer.isAutoFillFromOnMouseUp = false;
this.sectionProperties.mapPane.style.cursor = 'default';
}
diff --git a/browser/src/control/Control.AutoFillOptions.ts b/browser/src/control/Control.AutoFillOptions.ts
index 05c0224427..15a58a802b 100644
--- a/browser/src/control/Control.AutoFillOptions.ts
+++ b/browser/src/control/Control.AutoFillOptions.ts
@@ -85,7 +85,6 @@ class AutoFillOptions extends L.Control.AutoCompletePopup {
}
closeMentionPopup(ev: CloseMessageEvent) {
- this.map._docLayer.isAutoFillFromOnMouseUp = false;
super.closePopup();
if (!ev.typingMention) {
this.map._docLayer._typingMention = false;
@@ -94,8 +93,6 @@ class AutoFillOptions extends L.Control.AutoCompletePopup {
}
callback(objectType: any, eventType: any, object: any, index: number) {
- this.map._docLayer.isAutoFillFromOnMouseUp = false;
-
if (eventType === 'close') {
this.closeMentionPopup({ typingMention: false } as CloseMessageEvent);
} else if (eventType === 'select' || eventType === 'activate') {
diff --git a/browser/src/control/Control.JSDialog.js b/browser/src/control/Control.JSDialog.js
index 40324bf3a4..a794921d8e 100644
--- a/browser/src/control/Control.JSDialog.js
+++ b/browser/src/control/Control.JSDialog.js
@@ -605,15 +605,8 @@ L.Control.JSDialog = L.Control.extend({
this.close(autoFilterDialogId, true);
}
- if (dialog.isAutoFillPopup) {
- var isAutoFillFromOnMouseUp = this.map._docLayer.isAutoFillFromOnMouseUp;
-
- // hide AutoFill popup if it does not come from onMouseUp event (see AutoFillMarkerSection.ts)
- if (!isAutoFillFromOnMouseUp)
- this.close(autoFilterDialogId)
- else
- this.map._docLayer.isAutoFillFromOnMouseUp = false;
- }
+ if (dialog.isAutoFillPopup)
+ this.close(autoFilterDialogId);
}
},
diff --git a/browser/src/control/Control.Tabs.js b/browser/src/control/Control.Tabs.js
index af8054e6a9..8413004627 100644
--- a/browser/src/control/Control.Tabs.js
+++ b/browser/src/control/Control.Tabs.js
@@ -416,14 +416,10 @@ L.Control.Tabs = L.Control.extend({
_showSheet: function() {
this._map.showPage();
- // required for AutoFill popup on empty cells
- this._map._docLayer.isAutoFillFromOnMouseUp = false;
},
_hideSheet: function() {
this._map.hidePage(this._tabForContextMenu);
- // hiding the active sheet should close the AutoFill popup
- this._map._docLayer.isAutoFillFromOnMouseUp = false;
},
_handleDragStart: function(e) {
diff --git a/browser/src/layer/tile/CalcTileLayer.js b/browser/src/layer/tile/CalcTileLayer.js
index 752b4f5a73..6e8910a14b 100644
--- a/browser/src/layer/tile/CalcTileLayer.js
+++ b/browser/src/layer/tile/CalcTileLayer.js
@@ -88,7 +88,7 @@ L.CalcTileLayer = L.CanvasTileLayer.extend({
app.sectionContainer.addSection(new app.definitions.AutoFillMarkerSection());
this.insertMode = false;
- this.isAutoFillFromOnMouseUp = false;
+ this.autoFillLocation = {};
this._resetInternalState();
this._sheetSwitch = new L.SheetSwitchViewRestore(map);
this._sheetGrid = true;
diff --git a/browser/src/layer/tile/CanvasTileLayer.js b/browser/src/layer/tile/CanvasTileLayer.js
index a9ef8cb1be..1664be7e60 100644
--- a/browser/src/layer/tile/CanvasTileLayer.js
+++ b/browser/src/layer/tile/CanvasTileLayer.js
@@ -1440,6 +1440,9 @@ L.CanvasTileLayer = L.Layer.extend({
else if (textMsg.startsWith('cellautofillarea:')) {
this._onCellAutoFillAreaMsg(textMsg);
}
+ else if (textMsg.startsWith('cellactions:')) {
+ this._onCellActionsMsg();
+ }
else if (textMsg.startsWith('complexselection:')) {
if (this._map._clip)
this._map._clip.onComplexSelection(textMsg.substr('complexselection:'.length));
@@ -3216,18 +3219,18 @@ L.CanvasTileLayer = L.Layer.extend({
var topLeftPixels = this._twipsToCorePixels(topLeftTwips);
var offsetPixels = this._twipsToCorePixels(offset);
this._cellAutoFillAreaPixels = L.LOUtil.createRectangle(topLeftPixels.x, topLeftPixels.y, offsetPixels.x, offsetPixels.y);
-
- // if comes from onMouseUp event of AutoFillMarkerSection.ts, open AutoFill popup with location data
- if (this._map._docLayer.isAutoFillFromOnMouseUp) {
- // TODO: don't open AutoFill popup if empty cells are selected
- this._map.fire('sendautofilllocation', { data: topLeftPixels });
- }
+ this._map._docLayer.autoFillLocation = { data: topLeftPixels };
}
else {
this._cellAutoFillAreaPixels = null;
}
},
+ _onCellActionsMsg: function () {
+ // TODO: don't open AutoFill popup if empty cells are selected
+ this._map.fire('sendautofilllocation', this._map._docLayer.autoFillLocation);
+ },
+
_onDialogPaintMsg: function(textMsg, img) {
var command = app.socket.parseServerCmd(textMsg);
diff --git a/kit/ChildSession.cpp b/kit/ChildSession.cpp
index 8bf2492069..67855796ad 100644
--- a/kit/ChildSession.cpp
+++ b/kit/ChildSession.cpp
@@ -3191,6 +3191,9 @@ void ChildSession::loKitCallback(const int type, const std::string& payload)
case LOK_CALLBACK_CELL_AUTO_FILL_AREA:
sendTextFrame("cellautofillarea: " + payload);
break;
+ case LOK_CALLBACK_CELL_ACTIONS:
+ sendTextFrame("cellactions: " + payload);
+ break;
case LOK_CALLBACK_TABLE_SELECTED:
sendTextFrame("tableselected: " + payload);
break;