diff --git a/apps/documenteditor/main/app/controller/Links.js b/apps/documenteditor/main/app/controller/Links.js
index 4c3a5d09e..64cdb0c9c 100644
--- a/apps/documenteditor/main/app/controller/Links.js
+++ b/apps/documenteditor/main/app/controller/Links.js
@@ -299,7 +299,7 @@ define([
primary: 'yes',
callback: _.bind(function (btn) {
if (btn == 'yes') {
- this.api.asc_RemoveAllFootnotes();
+ this.api.asc_RemoveAllFootnotes(true, false);
}
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
}, this)
diff --git a/apps/documenteditor/mobile/app/controller/Main.js b/apps/documenteditor/mobile/app/controller/Main.js
index c6ebdce25..e0c573ddd 100644
--- a/apps/documenteditor/mobile/app/controller/Main.js
+++ b/apps/documenteditor/mobile/app/controller/Main.js
@@ -1002,6 +1002,18 @@ define([
config.msg = this.errorBadImageUrl;
break;
+ case Asc.c_oAscError.ID.SessionAbsolute:
+ config.msg = this.errorSessionAbsolute;
+ break;
+
+ case Asc.c_oAscError.ID.SessionIdle:
+ config.msg = this.errorSessionIdle;
+ break;
+
+ case Asc.c_oAscError.ID.SessionToken:
+ config.msg = this.errorSessionToken;
+ break;
+
case Asc.c_oAscError.ID.DataEncrypted:
config.msg = this.errorDataEncrypted;
break;
@@ -1561,7 +1573,10 @@ define([
textHasMacros: 'The file contains automatic macros.
Do you want to run macros?',
textRemember: 'Remember my choice',
textYes: 'Yes',
- textNo: 'No'
+ textNo: 'No',
+ errorSessionAbsolute: 'The document editing session has expired. Please reload the page.',
+ errorSessionIdle: 'The document has not been edited for quite a long time. Please reload the page.',
+ errorSessionToken: 'The connection to the server has been interrupted. Please reload the page.'
}
})(), DE.Controllers.Main || {}))
});
\ No newline at end of file
diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json
index 736e32c6c..bb225ba44 100644
--- a/apps/documenteditor/mobile/locale/en.json
+++ b/apps/documenteditor/mobile/locale/en.json
@@ -187,6 +187,9 @@
"DE.Controllers.Main.errorMailMergeSaveFile": "Merge failed.",
"DE.Controllers.Main.errorProcessSaveResult": "Saving is failed.",
"DE.Controllers.Main.errorServerVersion": "The editor version has been updated. The page will be reloaded to apply the changes.",
+ "DE.Controllers.Main.errorSessionAbsolute": "The document editing session has expired. Please reload the page.",
+ "DE.Controllers.Main.errorSessionIdle": "The document has not been edited for quite a long time. Please reload the page.",
+ "DE.Controllers.Main.errorSessionToken": "The connection to the server has been interrupted. Please reload the page.",
"DE.Controllers.Main.errorStockChart": "Incorrect row order. To build a stock chart place the data on the sheet in the following order:
opening price, max price, min price, closing price.",
"DE.Controllers.Main.errorUpdateVersion": "The file version has been changed. The page will be reloaded.",
"DE.Controllers.Main.errorUpdateVersionOnDisconnect": "Internet connection has been restored, and the file version has been changed.
Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.",
diff --git a/apps/presentationeditor/mobile/app/controller/Main.js b/apps/presentationeditor/mobile/app/controller/Main.js
index 06f12f856..b6f03d99e 100644
--- a/apps/presentationeditor/mobile/app/controller/Main.js
+++ b/apps/presentationeditor/mobile/app/controller/Main.js
@@ -926,6 +926,18 @@ define([
config.msg = this.errorBadImageUrl;
break;
+ case Asc.c_oAscError.ID.SessionAbsolute:
+ config.msg = this.errorSessionAbsolute;
+ break;
+
+ case Asc.c_oAscError.ID.SessionIdle:
+ config.msg = this.errorSessionIdle;
+ break;
+
+ case Asc.c_oAscError.ID.SessionToken:
+ config.msg = this.errorSessionToken;
+ break;
+
case Asc.c_oAscError.ID.DataEncrypted:
config.msg = this.errorDataEncrypted;
break;
@@ -1507,7 +1519,10 @@ define([
textHasMacros: 'The file contains automatic macros.
Do you want to run macros?',
textRemember: 'Remember my choice',
textYes: 'Yes',
- textNo: 'No'
+ textNo: 'No',
+ errorSessionAbsolute: 'The document editing session has expired. Please reload the page.',
+ errorSessionIdle: 'The document has not been edited for quite a long time. Please reload the page.',
+ errorSessionToken: 'The connection to the server has been interrupted. Please reload the page.'
}
})(), PE.Controllers.Main || {}))
});
\ No newline at end of file
diff --git a/apps/presentationeditor/mobile/locale/en.json b/apps/presentationeditor/mobile/locale/en.json
index 138af097c..24a2a395f 100644
--- a/apps/presentationeditor/mobile/locale/en.json
+++ b/apps/presentationeditor/mobile/locale/en.json
@@ -116,6 +116,9 @@
"PE.Controllers.Main.errorKeyExpire": "Key descriptor expired",
"PE.Controllers.Main.errorProcessSaveResult": "Saving is failed.",
"PE.Controllers.Main.errorServerVersion": "The editor version has been updated. The page will be reloaded to apply the changes.",
+ "PE.Controllers.Main.errorSessionAbsolute": "The document editing session has expired. Please reload the page.",
+ "PE.Controllers.Main.errorSessionIdle": "The document has not been edited for quite a long time. Please reload the page.",
+ "PE.Controllers.Main.errorSessionToken": "The connection to the server has been interrupted. Please reload the page.",
"PE.Controllers.Main.errorStockChart": "Incorrect row order. To build a stock chart place the data on the sheet in the following order:
opening price, max price, min price, closing price.",
"PE.Controllers.Main.errorUpdateVersion": "The file version has been changed. The page will be reloaded.",
"PE.Controllers.Main.errorUpdateVersionOnDisconnect": "Internet connection has been restored, and the file version has been changed.
Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.",
diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js
index a10a6859d..159d6368c 100644
--- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js
+++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js
@@ -1560,40 +1560,54 @@ define([
},
'command+shift+=,ctrl+shift+=': function(e) {
if (me.editMode && !me.toolbar.btnAddCell.isDisabled()) {
- var items = me.toolbar.btnAddCell.menu.items,
- arr = [];
- for (var i=0; i<4; i++)
- arr.push({caption: items[i].caption, value: items[i].value, disabled: items[i].isDisabled()});
- (new SSE.Views.CellsAddDialog({
- title: me.txtInsertCells,
- items: arr,
- handler: function (dlg, result) {
- if (result=='ok') {
- me.api.asc_insertCells(dlg.getSettings());
+ var cellinfo = me.api.asc_getCellInfo(),
+ selectionType = cellinfo.asc_getSelectionType();
+ if (selectionType === Asc.c_oAscSelectionType.RangeRow || selectionType === Asc.c_oAscSelectionType.RangeCol) {
+ me.api.asc_insertCells(selectionType === Asc.c_oAscSelectionType.RangeRow ? Asc.c_oAscInsertOptions.InsertRows :Asc.c_oAscInsertOptions.InsertColumns );
+ Common.NotificationCenter.trigger('edit:complete', me.toolbar);
+ } else {
+ var items = me.toolbar.btnAddCell.menu.items,
+ arr = [];
+ for (var i=0; i<4; i++)
+ arr.push({caption: items[i].caption, value: items[i].value, disabled: items[i].isDisabled()});
+ (new SSE.Views.CellsAddDialog({
+ title: me.txtInsertCells,
+ items: arr,
+ handler: function (dlg, result) {
+ if (result=='ok') {
+ me.api.asc_insertCells(dlg.getSettings());
+ }
+ Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
- Common.NotificationCenter.trigger('edit:complete', me.toolbar);
- }
- })).show();
+ })).show();
+ }
}
return false;
},
'command+shift+-,ctrl+shift+-': function(e) {
if (me.editMode && !me.toolbar.btnDeleteCell.isDisabled()) {
- var items = me.toolbar.btnDeleteCell.menu.items,
- arr = [];
- for (var i=0; i<4; i++)
- arr.push({caption: items[i].caption, value: items[i].value, disabled: items[i].isDisabled()});
- (new SSE.Views.CellsAddDialog({
- title: me.txtDeleteCells,
- items: arr,
- handler: function (dlg, result) {
- if (result=='ok') {
- me.api.asc_deleteCells(dlg.getSettings());
+ var cellinfo = me.api.asc_getCellInfo(),
+ selectionType = cellinfo.asc_getSelectionType();
+ if (selectionType === Asc.c_oAscSelectionType.RangeRow || selectionType === Asc.c_oAscSelectionType.RangeCol) {
+ me.api.asc_deleteCells(selectionType === Asc.c_oAscSelectionType.RangeRow ? Asc.c_oAscDeleteOptions.DeleteRows :Asc.c_oAscDeleteOptions.DeleteColumns );
+ Common.NotificationCenter.trigger('edit:complete', me.toolbar);
+ } else {
+ var items = me.toolbar.btnDeleteCell.menu.items,
+ arr = [];
+ for (var i=0; i<4; i++)
+ arr.push({caption: items[i].caption, value: items[i].value, disabled: items[i].isDisabled()});
+ (new SSE.Views.CellsAddDialog({
+ title: me.txtDeleteCells,
+ items: arr,
+ handler: function (dlg, result) {
+ if (result=='ok') {
+ me.api.asc_deleteCells(dlg.getSettings());
+ }
+ Common.NotificationCenter.trigger('edit:complete', me.toolbar);
}
- Common.NotificationCenter.trigger('edit:complete', me.toolbar);
- }
- })).show();
+ })).show();
+ }
}
return false;