From ac8e94bd9a068379274ca81e4cab0b05b84d1458 Mon Sep 17 00:00:00 2001
From: Samuel Clay
Date: Wed, 22 May 2013 14:24:25 -0700
Subject: [PATCH] Adding new keyboard shortcut prefs.
---
.../js/newsblur/reader/reader_preferences.js | 88 ++++++++++++++++++-
templates/base.html | 2 +
templates/profile/stripe_form.xhtml | 2 +-
3 files changed, 90 insertions(+), 2 deletions(-)
diff --git a/media/js/newsblur/reader/reader_preferences.js b/media/js/newsblur/reader/reader_preferences.js
index f2f38e760..c6193a6e5 100644
--- a/media/js/newsblur/reader/reader_preferences.js
+++ b/media/js/newsblur/reader/reader_preferences.js
@@ -37,7 +37,8 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
$.make('div', { className: 'NB-modal-tabs' }, [
$.make('div', { className: 'NB-modal-tab NB-active NB-modal-tab-general' }, 'General'),
$.make('div', { className: 'NB-modal-tab NB-modal-tab-feeds' }, 'Feeds'),
- $.make('div', { className: 'NB-modal-tab NB-modal-tab-stories' }, 'Stories')
+ $.make('div', { className: 'NB-modal-tab NB-modal-tab-stories' }, 'Stories'),
+ $.make('div', { className: 'NB-modal-tab NB-modal-tab-keyboard' }, 'Keyboard')
]),
$.make('div', { className: 'NB-modal-loading' }),
$.make('h2', { className: 'NB-modal-title' }, [
@@ -605,6 +606,77 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
'Show all comments'
])
])
+ ]),
+ $.make('div', { className: 'NB-tab NB-tab-keyboard' }, [
+ (NEWSBLUR.Globals.is_premium && $.make('div', { className: 'NB-preferences-notpremium' }, [
+ 'You must have a ',
+ $.make('div', { className: 'NB-splash-link NB-premium-link' }, 'premium account'),
+ ' to change keyboard shortcuts.'
+ ])),
+ $.make('div', { className: 'NB-preference NB-preference-keyboard-verticalarrows' }, [
+ $.make('div', { className: 'NB-preference-options' }, [
+ $.make('div', [
+ $.make('input', {
+ id: 'NB-preference-keyboard-verticalarrows-1',
+ type: 'radio',
+ name: 'keyboard_verticalarrows',
+ value: 'story',
+ disabled: !NEWSBLUR.Globals.is_premium
+ }),
+ $.make('label', { 'for': 'NB-preference-keyboard-verticalarrows-1' }, 'Navigate between stories')
+ ]),
+ $.make('div', [
+ $.make('input', {
+ id: 'NB-preference-keyboard-verticalarrows-2',
+ type: 'radio',
+ name: 'keyboard_verticalarrows',
+ value: 'scroll',
+ disabled: !NEWSBLUR.Globals.is_premium
+ }),
+ $.make('label', { 'for': 'NB-preference-keyboard-verticalarrows-2' }, 'Scroll up/down in story')
+ ])
+ ]),
+ $.make('div', { className: 'NB-preference-label'}, [
+ $.make('div', { className: 'NB-keyboard-shortcut-key' }, [
+ '↓'
+ ]),
+ $.make('div', { className: 'NB-keyboard-shortcut-key' }, [
+ '↑'
+ ])
+ ])
+ ]),
+ $.make('div', { className: 'NB-preference NB-preference-keyboard-horizontalarrows' }, [
+ $.make('div', { className: 'NB-preference-options' }, [
+ $.make('div', [
+ $.make('input', {
+ id: 'NB-preference-keyboard-horizontalarrows-1',
+ type: 'radio',
+ name: 'keyboard_horizontalarrows',
+ value: 'view',
+ disabled: !NEWSBLUR.Globals.is_premium
+ }),
+ $.make('label', { 'for': 'NB-preference-keyboard-horizontalarrows-1' }, 'Switch views (original, feed, text, story)')
+ ]),
+ $.make('div', [
+ $.make('input', {
+ id: 'NB-preference-keyboard-horizontalarrows-2',
+ type: 'radio',
+ name: 'keyboard_horizontalarrows',
+ value: 'site',
+ disabled: !NEWSBLUR.Globals.is_premium
+ }),
+ $.make('label', { 'for': 'NB-preference-keyboard-horizontalarrows-2' }, 'Open the next site/folder')
+ ])
+ ]),
+ $.make('div', { className: 'NB-preference-label'}, [
+ $.make('div', { className: 'NB-keyboard-shortcut-key' }, [
+ '←'
+ ]),
+ $.make('div', { className: 'NB-keyboard-shortcut-key' }, [
+ '→'
+ ])
+ ])
+ ])
])
]),
$.make('div', { className: 'NB-modal-submit NB-modal-submit-form' }, [
@@ -739,6 +811,18 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
return false;
}
});
+ $('input[name=keyboard_verticalarrows]', $modal).each(function() {
+ if ($(this).val() == NEWSBLUR.Preferences.keyboard_verticalarrows) {
+ $(this).attr('checked', true);
+ return false;
+ }
+ });
+ $('input[name=keyboard_horizontalarrows]', $modal).each(function() {
+ if ($(this).val() == NEWSBLUR.Preferences.keyboard_horizontalarrows) {
+ $(this).attr('checked', true);
+ return false;
+ }
+ });
var order = NEWSBLUR.Preferences['default_order'];
var read_filter = NEWSBLUR.Preferences['default_read_filter'];
$('.NB-preference-view-setting-order-oldest', $modal).toggleClass('NB-active', order == 'oldest');
@@ -858,6 +942,8 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
newtab = 'feeds';
} else if ($t.hasClass('NB-modal-tab-stories')) {
newtab = 'stories';
+ } else if ($t.hasClass('NB-modal-tab-keyboard')) {
+ newtab = 'keyboard';
}
self.resize_modal();
self.switch_tab(newtab);
diff --git a/templates/base.html b/templates/base.html
index 6e35966a1..a6b50c051 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -48,6 +48,8 @@
'hide_read_feeds' : 0,
'show_tooltips' : 1,
'feed_order' : 'ALPHABETICAL',
+ 'keyboard_verticalarrows' : 'story',
+ 'keyboard_horizontalarrows': 'view',
'ssl' : 0,
'open_feed_action' : 0,
'read_story_delay' : 0,
diff --git a/templates/profile/stripe_form.xhtml b/templates/profile/stripe_form.xhtml
index 0e09d8e10..7c1867971 100644
--- a/templates/profile/stripe_form.xhtml
+++ b/templates/profile/stripe_form.xhtml
@@ -21,7 +21,7 @@
{% if new_user_queue_position == 0 %}
You are at the front of the line! Just a few more minutes
until you receive your free invite to use NewsBlur.
{% else %}
- There {{ new_user_queue_position|pluralize:"is,are" }} {{ new_user_queue_position }} {{ new_user_queue_position|pluralize:"person,people" }} in front of you{% if new_user_queue_behind %} (and {{ new_user_queue_behind }} {{ new_user_queue_behind|pluralize:"person,people" }} behind you){% endif %}, {{ new_user_queue_position|pluralize:",all" }} patiently waiting
on their free accounts on NewsBlur.
+ There {{ new_user_queue_position|pluralize:"is,are" }} {{ new_user_queue_position|commify }} {{ new_user_queue_position|pluralize:"person,people" }} in front of you{% if new_user_queue_behind %} (and {{ new_user_queue_behind|commify }} {{ new_user_queue_behind|pluralize:"person,people" }} behind you){% endif %}, {{ new_user_queue_position|pluralize:",all" }} patiently waiting
on their free accounts on NewsBlur.
{% endif %}
By going premium you can get full and immediate access to NewsBlur.