Commit ffc514a3 authored by Alexander.Trofimov's avatar Alexander.Trofimov Committed by Alexander.Trofimov

Поправил баг с перехватом клавиши Ctrl+U

http://bugzserver/show_bug.cgi?id=24202

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@56230 954022d7-b5bf-4e40-9824-e11837661b57
parent 15457312
...@@ -97,6 +97,8 @@ ...@@ -97,6 +97,8 @@
this.vsbApiLockMouse = false; this.vsbApiLockMouse = false;
this.hsbApiLockMouse = false; this.hsbApiLockMouse = false;
this.__handlers = null; // ToDo избавиться от этой переменной!
return this; return this;
} }
...@@ -657,13 +659,13 @@ ...@@ -657,13 +659,13 @@
var ctrlKey = event.metaKey || event.ctrlKey; var ctrlKey = event.metaKey || event.ctrlKey;
var shiftKey = event.shiftKey; var shiftKey = event.shiftKey;
t.__retval = true; var result = true;
function stop(immediate) { function stop(immediate) {
event.stopPropagation(); event.stopPropagation();
immediate ? event.stopImmediatePropagation() : true; immediate ? event.stopImmediatePropagation() : true;
event.preventDefault(); event.preventDefault();
t.__retval = false; result = false;
} }
// для исправления Bug 15902 - Alt забирает фокус из приложения // для исправления Bug 15902 - Alt забирает фокус из приложения
...@@ -675,7 +677,7 @@ ...@@ -675,7 +677,7 @@
var graphicObjects = t.handlers.trigger("getSelectedGraphicObjects"); var graphicObjects = t.handlers.trigger("getSelectedGraphicObjects");
if (!t.isMousePressed && graphicObjects.length && t.enableKeyEvents) { if (!t.isMousePressed && graphicObjects.length && t.enableKeyEvents) {
if (t.handlers.trigger("graphicObjectWindowKeyDown", event)) if (t.handlers.trigger("graphicObjectWindowKeyDown", event))
return true; return result;
} }
// Двигаемся ли мы в выделенной области // Двигаемся ли мы в выделенной области
...@@ -698,7 +700,7 @@ ...@@ -698,7 +700,7 @@
break; break;
} }
return true; return result;
} }
t.skipKeyPress = true; t.skipKeyPress = true;
...@@ -706,7 +708,7 @@ ...@@ -706,7 +708,7 @@
if (!t.isCellEditMode) { if (!t.isCellEditMode) {
if (!t.handlers.trigger("popUpSelectorKeyDown", event)) { if (!t.handlers.trigger("popUpSelectorKeyDown", event)) {
stop(); stop();
return t.__retval; return result;
} }
} }
...@@ -719,7 +721,7 @@ ...@@ -719,7 +721,7 @@
t.strictClose = true; t.strictClose = true;
// При F2 выставляем фокус в редакторе // При F2 выставляем фокус в редакторе
t.handlers.trigger("editCell", 0, 0, /*isCoord*/false, /*isFocus*/true, /*isClearCell*/false, /*isHideCursor*/undefined); t.handlers.trigger("editCell", 0, 0, /*isCoord*/false, /*isFocus*/true, /*isClearCell*/false, /*isHideCursor*/undefined);
return t.__retval; return result;
case 8: // backspace case 8: // backspace
if (isViewerMode || t.isCellEditMode || t.isSelectionDialogMode) {return true;} if (isViewerMode || t.isCellEditMode || t.isSelectionDialogMode) {return true;}
...@@ -734,7 +736,7 @@ ...@@ -734,7 +736,7 @@
if (isViewerMode || t.isCellEditMode || t.isSelectionDialogMode) {return true;} if (isViewerMode || t.isCellEditMode || t.isSelectionDialogMode) {return true;}
// Удаляем содержимое // Удаляем содержимое
t.handlers.trigger("empty"); t.handlers.trigger("empty");
return true; return result;
case 9: // tab case 9: // tab
if (t.isCellEditMode) {return true;} if (t.isCellEditMode) {return true;}
...@@ -769,12 +771,12 @@ ...@@ -769,12 +771,12 @@
// Перехватим Esc и отключим дефалтовую обработку // Перехватим Esc и отключим дефалтовую обработку
stop(); stop();
t.handlers.trigger("stopFormatPainter"); t.handlers.trigger("stopFormatPainter");
return t.__retval; return result;
case 144: //Num Lock case 144: //Num Lock
case 145: //Scroll Lock case 145: //Scroll Lock
if (AscBrowser.isOpera) {stop();} if (AscBrowser.isOpera) {stop();}
return t.__retval; return result;
case 32: // Spacebar case 32: // Spacebar
if (t.isCellEditMode) {return true;} if (t.isCellEditMode) {return true;}
...@@ -795,7 +797,7 @@ ...@@ -795,7 +797,7 @@
} else { } else {
t.handlers.trigger("selectRowsByRange"); t.handlers.trigger("selectRowsByRange");
} }
return t.__retval; return result;
case 33: // PageUp case 33: // PageUp
// Отключим стандартную обработку браузера нажатия PageUp // Отключим стандартную обработку браузера нажатия PageUp
...@@ -832,7 +834,7 @@ ...@@ -832,7 +834,7 @@
stop(); // Отключим стандартную обработку браузера нажатия up stop(); // Отключим стандартную обработку браузера нажатия up
// Если у нас открыто меню для подстановки формулы, то мы не обрабатываем верх/вниз // Если у нас открыто меню для подстановки формулы, то мы не обрабатываем верх/вниз
if (t.isCellEditMode && t.handlers.trigger("isPopUpSelectorOpen")) if (t.isCellEditMode && t.handlers.trigger("isPopUpSelectorOpen"))
return t.__retval; return result;
dr = ctrlKey ? -1.5 : -1; // Движение стрелками (влево-вправо, вверх-вниз) dr = ctrlKey ? -1.5 : -1; // Движение стрелками (влево-вправо, вверх-вниз)
break; break;
...@@ -845,11 +847,11 @@ ...@@ -845,11 +847,11 @@
stop(); // Отключим стандартную обработку браузера нажатия down stop(); // Отключим стандартную обработку браузера нажатия down
// Если у нас открыто меню для подстановки формулы, то мы не обрабатываем верх/вниз // Если у нас открыто меню для подстановки формулы, то мы не обрабатываем верх/вниз
if (t.isCellEditMode && t.handlers.trigger("isPopUpSelectorOpen")) if (t.isCellEditMode && t.handlers.trigger("isPopUpSelectorOpen"))
return t.__retval; return result;
// Обработка Alt + down // Обработка Alt + down
if (!isViewerMode && !t.isCellEditMode && !t.isSelectionDialogMode && event.altKey) { if (!isViewerMode && !t.isCellEditMode && !t.isSelectionDialogMode && event.altKey) {
t.handlers.trigger("showAutoComplete"); t.handlers.trigger("showAutoComplete");
return t.__retval; return result;
} }
dr = ctrlKey ? +1.5 : +1; // Движение стрелками (влево-вправо, вверх-вниз) dr = ctrlKey ? +1.5 : +1; // Движение стрелками (влево-вправо, вверх-вниз)
break; break;
...@@ -877,28 +879,31 @@ ...@@ -877,28 +879,31 @@
case 88: // cut Ctrl + x case 88: // cut Ctrl + x
case 89: // redo Ctrl + y case 89: // redo Ctrl + y
case 90: // undo Ctrl + z case 90: // undo Ctrl + z
if (isViewerMode || t.isSelectionDialogMode) {stop(); return false;} if (isViewerMode || t.isSelectionDialogMode) {stop(); return result;}
case 65: // select all Ctrl + a case 65: // select all Ctrl + a
case 67: // copy Ctrl + c case 67: // copy Ctrl + c
if (t.isCellEditMode) { return true; } if (t.isCellEditMode) { return true; }
case 80: // print Ctrl + p case 80: // print Ctrl + p
if (t.isCellEditMode) { stop(); return false; } if (t.isCellEditMode) { stop(); return result; }
if (!ctrlKey) { t.skipKeyPress = false; return true; } if (!ctrlKey) { t.skipKeyPress = false; return true; }
if (67 !== event.which && 86 !== event.which && 88 !== event.which)
stop();
// Вызовем обработчик // Вызовем обработчик
if (!t.__handlers) { if (!t.__handlers) {
t.__handlers = { t.__handlers = {
53: function () {stop(); t.handlers.trigger("setFontAttributes", "s");}, 53: function () {t.handlers.trigger("setFontAttributes", "s");},
65: function () {stop(); t.handlers.trigger("changeSelection", /*isStartPoint*/true, 65: function () {t.handlers.trigger("changeSelection", /*isStartPoint*/true,
0, 0, /*isCoord*/true, /*isSelectMode*/false);}, 0, 0, /*isCoord*/true, /*isSelectMode*/false);},
66: function () {stop(); t.handlers.trigger("setFontAttributes", "b");}, 66: function () {t.handlers.trigger("setFontAttributes", "b");},
73: function () {stop(); t.handlers.trigger("setFontAttributes", "i");}, 73: function () {t.handlers.trigger("setFontAttributes", "i");},
85: function () {stop(); t.handlers.trigger("setFontAttributes", "u");}, 85: function () {t.handlers.trigger("setFontAttributes", "u");},
80: function () {stop(); t.handlers.trigger("print");}, 80: function () {t.handlers.trigger("print");},
//83: function () {stop(); t.handlers.trigger("save");}, //83: function () {t.handlers.trigger("save");},
67: function () {t.handlers.trigger("copy");}, 67: function () {t.handlers.trigger("copy");},
86: function () { 86: function () {
if (!window.GlobalPasteFlag) if (!window.GlobalPasteFlag)
...@@ -925,12 +930,12 @@ ...@@ -925,12 +930,12 @@
} }
}, },
88: function () {t.handlers.trigger("cut");}, 88: function () {t.handlers.trigger("cut");},
89: function () {stop(); t.handlers.trigger("redo");}, 89: function () {t.handlers.trigger("redo");},
90: function () {stop(); t.handlers.trigger("undo");} 90: function () {t.handlers.trigger("undo");}
}; };
} }
t.__handlers[event.which](); t.__handlers[event.which]();
return t.__retval; return result;
case 61: // Firefox, Opera (+/=) case 61: // Firefox, Opera (+/=)
case 187: // +/= case 187: // +/=
...@@ -986,7 +991,7 @@ ...@@ -986,7 +991,7 @@
} }
} }
return t.__retval; return result;
}; };
/** @param event {KeyboardEvent} */ /** @param event {KeyboardEvent} */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment