summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.rst3
-rw-r--r--js/app/directives/itemshortcuts.coffee8
-rw-r--r--js/public/app.js9
3 files changed, 18 insertions, 2 deletions
diff --git a/README.rst b/README.rst
index a4fa9353d..09d54281c 100644
--- a/README.rst
+++ b/README.rst
@@ -107,7 +107,8 @@ Keyboard shortcuts
* **Previous item**: p / k / left arrow
* **Star current item**: s / i
* **Keep current item unread**: u
-* **Star item and jump to next one**: h
+* **Star item and jump to next one**: h
+* **Open current item**: o
Mobile Clients
--------------
diff --git a/js/app/directives/itemshortcuts.coffee b/js/app/directives/itemshortcuts.coffee
index 9045ea949..1d01a41a2 100644
--- a/js/app/directives/itemshortcuts.coffee
+++ b/js/app/directives/itemshortcuts.coffee
@@ -79,6 +79,10 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) ->
$item.find('.star').trigger('click')
+ openCurrentItem = (scrollArea) ->
+ $item = getCurrentItem(scrollArea)
+ $item.find('.item_title a').trigger('click')
+
$($window.document).keydown (e) ->
# only activate if no input elements is focused
@@ -112,5 +116,9 @@ angular.module('News').directive 'itemShortcuts', ['$window', ($window) ->
starCurrentItem(scrollArea)
jumpToNextItem(scrollArea)
+ # o
+ else if e.keyCode == 79
+ openCurrentItem(scrollArea)
+
] \ No newline at end of file
diff --git a/js/public/app.js b/js/public/app.js
index 7a2da9d99..bd8afeac7 100644
--- a/js/public/app.js
+++ b/js/public/app.js
@@ -146,7 +146,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
angular.module('News').directive('itemShortcuts', [
'$window', function($window) {
return function(scope, elm, attr) {
- var getCurrentItem, jumpTo, jumpToNextItem, jumpToPreviousItem, keepUnreadCurrentItem, starCurrentItem;
+ var getCurrentItem, jumpTo, jumpToNextItem, jumpToPreviousItem, keepUnreadCurrentItem, openCurrentItem, starCurrentItem;
jumpTo = function($scrollArea, $item) {
var position;
position = $item.offset().top - $scrollArea.offset().top + $scrollArea.scrollTop();
@@ -212,6 +212,11 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
$item = getCurrentItem(scrollArea);
return $item.find('.star').trigger('click');
};
+ openCurrentItem = function(scrollArea) {
+ var $item;
+ $item = getCurrentItem(scrollArea);
+ return $item.find('.item_title a').trigger('click');
+ };
return $($window.document).keydown(function(e) {
var focused, scrollArea;
focused = $(':focus');
@@ -228,6 +233,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
} else if (e.keyCode === 72) {
starCurrentItem(scrollArea);
return jumpToNextItem(scrollArea);
+ } else if (e.keyCode === 79) {
+ return openCurrentItem(scrollArea);
}
}
});