diff --git a/src/js/controller/navigation.js b/src/js/controller/navigation.js index 429f542..f05e060 100644 --- a/src/js/controller/navigation.js +++ b/src/js/controller/navigation.js @@ -126,16 +126,23 @@ define(function(require) { return; } - if (e.keyCode === 78 && scope.state.writer && !scope.state.writer.open) { + var modifier = e.ctrlKey || e.metaKey; + + if (modifier && e.keyCode === 78 && scope.state.writer && !scope.state.writer.open) { // n -> new mail e.preventDefault(); scope.state.writer.write(); - } else if (e.keyCode === 82 && scope.state.writer && !scope.state.writer.open && scope.state.mailList.selected) { + } else if (modifier && e.keyCode === 82 && scope.state.writer && !scope.state.writer.open && scope.state.mailList.selected) { // r -> reply e.preventDefault(); scope.state.writer.write(scope.state.mailList.selected); + } else if (modifier && e.keyCode === 83 && scope.state.writer && !scope.state.writer.open && scope.state.mailList.synchronize) { + // s -> sync folder + e.preventDefault(); + scope.state.mailList.synchronize(); + } else if (e.keyCode === 27 && scope.state.writer.open) { // escape -> close writer e.preventDefault(); @@ -150,11 +157,6 @@ define(function(require) { // escape -> close nav view e.preventDefault(); scope.state.nav.toggle(false); - - } else if (e.keyCode === 83 && scope.state.writer && !scope.state.writer.open && scope.state.mailList.synchronize) { - // s -> sync folder - e.preventDefault(); - scope.state.mailList.synchronize(); } scope.$apply(); diff --git a/src/tpl/mail-list.html b/src/tpl/mail-list.html index 1c87899..b841711 100644 --- a/src/tpl/mail-list.html +++ b/src/tpl/mail-list.html @@ -5,7 +5,7 @@