diff --git a/src/js/filemanager.js b/src/js/filemanager.js index 4c8fa2621..db6dfb37f 100644 --- a/src/js/filemanager.js +++ b/src/js/filemanager.js @@ -926,25 +926,35 @@ app.controller('FileManagerController', ['$scope', '$translate', '$timeout', 'Cl // handle save shortcuts window.addEventListener('keydown', function (event) { if((navigator.platform.match('Mac') ? event.metaKey : event.ctrlKey) && event.key === 's') { - if ($scope.view === 'textEditor') { - $scope.textEditor.save(); - event.preventDefault(); - } + if ($scope.view !== 'textEditor') return; + + event.preventDefault(); + $scope.$apply($scope.textEditor.save); } else if((navigator.platform.match('Mac') ? event.metaKey : event.ctrlKey) && event.key === 'c') { if ($scope.view === 'textEditor') return; if ($scope.selected.length === 0) return; - $scope.actionCopy(); + event.preventDefault(); + $scope.$apply($scope.actionCopy); } else if((navigator.platform.match('Mac') ? event.metaKey : event.ctrlKey) && event.key === 'x') { if ($scope.view === 'textEditor') return; if ($scope.selected.length === 0) return; - $scope.actionCut(); + event.preventDefault(); + $scope.$apply($scope.actionCut); } else if((navigator.platform.match('Mac') ? event.metaKey : event.ctrlKey) && event.key === 'v') { if ($scope.view === 'textEditor') return; if ($scope.clipboard.length === 0) return; - $scope.actionPaste(); + event.preventDefault(); + $scope.$apply($scope.actionPaste); + } else if((navigator.platform.match('Mac') ? event.metaKey : event.ctrlKey) && event.key === 'a') { + if ($scope.view === 'textEditor') return; + + event.preventDefault(); + $scope.$apply($scope.actionSelectAll); + } else if(event.key === 'Escape') { + $scope.$apply(function () { $scope.selected = []; }); } });