mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
Adding space keyboard shortcut. Premium only.
This commit is contained in:
parent
1f349779a2
commit
9737905b5d
4 changed files with 167 additions and 41 deletions
|
@ -7920,7 +7920,8 @@ form.opml_import_form input {
|
|||
|
||||
.NB-modal-preferences .NB-preference {
|
||||
overflow: hidden;
|
||||
margin: 12px 0 12px;
|
||||
margin: 12px 0 0;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .05);
|
||||
padding: 12px;
|
||||
background-color: #F7F7F5;
|
||||
border-radius: 4px;
|
||||
|
@ -7968,6 +7969,14 @@ form.opml_import_form input {
|
|||
font-weight: bold;
|
||||
}
|
||||
|
||||
.NB-modal-preferences .NB-preferences-notpremium {
|
||||
padding: 6px 12px;
|
||||
background-color: #FEF4D9;
|
||||
text-align: center;
|
||||
margin: 12px 0;
|
||||
border-radius: 3px;
|
||||
border-bottom: 1px solid rgba(0, 0, 0, .1);
|
||||
}
|
||||
.NB-modal-preferences .NB-preference-view {
|
||||
padding-bottom: 4px;
|
||||
}
|
||||
|
@ -8067,7 +8076,8 @@ form.opml_import_form input {
|
|||
-webkit-box-shadow:2px 2px 0 #D0D0D0;
|
||||
box-shadow:2px 2px 0 #D0D0D0;
|
||||
}
|
||||
.NB-modal-preferences .NB-preference-readstorydelay .NB-tangle-readstorydelay {
|
||||
.NB-modal-preferences .NB-preference-readstorydelay .NB-tangle-readstorydelay,
|
||||
.NB-modal-preferences .NB-preference-slider {
|
||||
display: inline-block;
|
||||
margin: 0 16px 0 8px;
|
||||
top: 2px;
|
||||
|
|
|
@ -784,37 +784,45 @@
|
|||
},
|
||||
|
||||
page_in_story: function(amount, direction) {
|
||||
amount = parseInt(amount, 10) / 100.0;
|
||||
var page_height = this.$s.$story_pane.height();
|
||||
if (NEWSBLUR.assets.preference('story_layout') == 'list') {
|
||||
page_height = this.$s.$story_titles.height();
|
||||
}
|
||||
var scroll_height = parseInt(page_height * amount, 10);
|
||||
|
||||
this.scroll_in_story(scroll_height, direction);
|
||||
},
|
||||
|
||||
scroll_in_story: function(amount, direction) {
|
||||
var dir = '+';
|
||||
if (direction == -1) {
|
||||
dir = '-';
|
||||
}
|
||||
// NEWSBLUR.log(['page_in_story', this.$s.$story_pane, direction, page_height, scroll_height]);
|
||||
// NEWSBLUR.log(['scroll_in_story', this.$s.$story_pane, direction, amount]);
|
||||
if (NEWSBLUR.assets.preference('story_layout') == 'list') {
|
||||
scroll_height = parseInt(this.$s.$story_titles.height() * amount, 10);
|
||||
this.$s.$story_titles.scrollTo({
|
||||
top: dir+'='+scroll_height,
|
||||
top: dir+'='+amount,
|
||||
left:'+=0'
|
||||
}, 130, {queue: false});
|
||||
} else if (this.story_view == 'page' &&
|
||||
!this.flags['page_view_showing_feed_view'] &&
|
||||
!this.flags['temporary_story_view']) {
|
||||
this.$s.$feed_iframe.scrollTo({
|
||||
top: dir+'='+scroll_height,
|
||||
top: dir+'='+amount,
|
||||
left:'+=0'
|
||||
}, 130, {queue: false});
|
||||
} else if ((this.story_view == 'feed' &&
|
||||
!this.flags['temporary_story_view']) ||
|
||||
this.flags['page_view_showing_feed_view']) {
|
||||
this.$s.$feed_stories.scrollTo({
|
||||
top: dir+'='+scroll_height,
|
||||
top: dir+'='+amount,
|
||||
left:'+=0'
|
||||
}, 130, {queue: false});
|
||||
} else if (this.story_view == 'text' ||
|
||||
this.flags['temporary_story_view']) {
|
||||
this.$s.$text_view.scrollTo({
|
||||
top: dir+'='+scroll_height,
|
||||
top: dir+'='+amount,
|
||||
left:'+=0'
|
||||
}, 130, {queue: false});
|
||||
}
|
||||
|
@ -5350,11 +5358,21 @@
|
|||
});
|
||||
$document.bind('keydown', 'down', function(e) {
|
||||
e.preventDefault();
|
||||
self.show_next_story(1);
|
||||
if (NEWSBLUR.assets.preference('keyboard_verticalarrows') == 'scroll') {
|
||||
var amount = NEWSBLUR.assets.preference('arrow_scroll_spacing');
|
||||
self.scroll_in_story(amount, 1);
|
||||
} else {
|
||||
self.show_next_story(1);
|
||||
}
|
||||
});
|
||||
$document.bind('keydown', 'up', function(e) {
|
||||
e.preventDefault();
|
||||
self.show_next_story(-1);
|
||||
if (NEWSBLUR.assets.preference('keyboard_verticalarrows') == 'scroll') {
|
||||
var amount = NEWSBLUR.assets.preference('arrow_scroll_spacing');
|
||||
self.scroll_in_story(amount, -1);
|
||||
} else {
|
||||
self.show_next_story(-1);
|
||||
}
|
||||
});
|
||||
$document.bind('keydown', 'j', function(e) {
|
||||
e.preventDefault();
|
||||
|
@ -5382,11 +5400,19 @@
|
|||
});
|
||||
$document.bind('keydown', 'left', function(e) {
|
||||
e.preventDefault();
|
||||
self.switch_taskbar_view_direction(-1);
|
||||
if (NEWSBLUR.assets.preference('keyboard_horizontalarrows') == 'site') {
|
||||
self.show_next_feed(-1);
|
||||
} else {
|
||||
self.switch_taskbar_view_direction(-1);
|
||||
}
|
||||
});
|
||||
$document.bind('keydown', 'right', function(e) {
|
||||
e.preventDefault();
|
||||
self.switch_taskbar_view_direction(1);
|
||||
if (NEWSBLUR.assets.preference('keyboard_horizontalarrows') == 'site') {
|
||||
self.show_next_feed(1);
|
||||
} else {
|
||||
self.switch_taskbar_view_direction(1);
|
||||
}
|
||||
});
|
||||
$document.bind('keydown', 'h', function(e) {
|
||||
e.preventDefault();
|
||||
|
@ -5418,11 +5444,13 @@
|
|||
});
|
||||
$document.bind('keydown', 'space', function(e) {
|
||||
e.preventDefault();
|
||||
self.page_in_story(0.4, 1);
|
||||
var amount = NEWSBLUR.assets.preference('space_scroll_spacing');
|
||||
self.page_in_story(amount, 1);
|
||||
});
|
||||
$document.bind('keydown', 'shift+space', function(e) {
|
||||
e.preventDefault();
|
||||
self.page_in_story(0.65, -1);
|
||||
var amount = NEWSBLUR.assets.preference('space_scroll_spacing');
|
||||
self.page_in_story(amount, -1);
|
||||
});
|
||||
$document.bind('keydown', 'shift+u', function(e) {
|
||||
e.preventDefault();
|
||||
|
|
|
@ -608,11 +608,43 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-tab NB-tab-keyboard' }, [
|
||||
(NEWSBLUR.Globals.is_premium && $.make('div', { className: 'NB-preferences-notpremium' }, [
|
||||
(!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'),
|
||||
$.make('span', { className: 'NB-splash-link NB-premium-link' }, 'premium account'),
|
||||
' to change keyboard shortcuts.'
|
||||
])),
|
||||
$.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 between 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-preference NB-preference-keyboard-verticalarrows' }, [
|
||||
$.make('div', { className: 'NB-preference-options' }, [
|
||||
$.make('div', [
|
||||
|
@ -633,7 +665,13 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
value: 'scroll',
|
||||
disabled: !NEWSBLUR.Globals.is_premium
|
||||
}),
|
||||
$.make('label', { 'for': 'NB-preference-keyboard-verticalarrows-2' }, 'Scroll up/down in story')
|
||||
$.make('label', { 'for': 'NB-preference-keyboard-verticalarrows-2' }, [
|
||||
'Scroll up/down in story by ',
|
||||
$.make('span', { className: 'NB-tangle-arrowscrollspacing-control NB-preference-slider', 'data-var': 'arrow' }),
|
||||
$.make('span', { className: 'NB-tangle-arrowscrollspacing' }, '100'),
|
||||
'px.',
|
||||
$.make('input', { name: 'arrow_scroll_spacing', value: NEWSBLUR.Preferences.arrow_scroll_spacing, type: 'hidden' })
|
||||
])
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference-label'}, [
|
||||
|
@ -645,35 +683,20 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
])
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference NB-preference-keyboard-horizontalarrows' }, [
|
||||
$.make('div', { className: 'NB-preference NB-preference-keyboard-spacebar' }, [
|
||||
$.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')
|
||||
'Page down by ',
|
||||
$.make('span', { className: 'NB-tangle-spacescrollspacing-control NB-preference-slider', 'data-var': 'space' }),
|
||||
' ',
|
||||
$.make('span', { className: 'NB-tangle-spacescrollspacing' }, '40%'),
|
||||
' of the screen',
|
||||
$.make('input', { name: 'space_scroll_spacing', value: NEWSBLUR.Preferences.space_scroll_spacing, type: 'hidden' })
|
||||
])
|
||||
]),
|
||||
$.make('div', { className: 'NB-preference-label'}, [
|
||||
$.make('div', { className: 'NB-keyboard-shortcut-key' }, [
|
||||
'←'
|
||||
]),
|
||||
$.make('div', { className: 'NB-keyboard-shortcut-key' }, [
|
||||
'→'
|
||||
'space'
|
||||
])
|
||||
])
|
||||
])
|
||||
|
@ -823,6 +846,9 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
return false;
|
||||
}
|
||||
});
|
||||
$('input[name=arrow_scroll_spacing]', $modal).val(NEWSBLUR.Preferences.arrow_scroll_spacing);
|
||||
$('input[name=space_scroll_spacing]', $modal).val(NEWSBLUR.Preferences.space_scroll_spacing);
|
||||
|
||||
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');
|
||||
|
@ -846,7 +872,27 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
value: NEWSBLUR.Preferences.read_story_delay > 0 ? NEWSBLUR.Preferences.read_story_delay : 1,
|
||||
slide: _.bind(this.slide_read_story_delay_slider, this)
|
||||
});
|
||||
$(".NB-tangle-arrowscrollspacing-control", $modal).slider({
|
||||
range: 'min',
|
||||
min: 20,
|
||||
max: 500,
|
||||
step: 20,
|
||||
value: NEWSBLUR.Preferences.arrow_scroll_spacing,
|
||||
slide: _.bind(this.slide_arrow_scroll_spacing_slider, this),
|
||||
disabled: !NEWSBLUR.Globals.is_premium
|
||||
});
|
||||
$(".NB-tangle-spacescrollspacing-control", $modal).slider({
|
||||
range: 'min',
|
||||
min: 10,
|
||||
max: 100,
|
||||
step: 10,
|
||||
value: NEWSBLUR.Preferences.space_scroll_spacing,
|
||||
slide: _.bind(this.slide_space_scroll_spacing_slider, this),
|
||||
disabled: !NEWSBLUR.Globals.is_premium
|
||||
});
|
||||
this.slide_read_story_delay_slider();
|
||||
this.slide_arrow_scroll_spacing_slider();
|
||||
this.slide_space_scroll_spacing_slider();
|
||||
},
|
||||
|
||||
slide_read_story_delay_slider: function(e, ui) {
|
||||
|
@ -860,7 +906,34 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
slide_arrow_scroll_spacing_slider: function(e, ui) {
|
||||
var value = (ui && ui.value) || NEWSBLUR.Preferences.arrow_scroll_spacing;
|
||||
if (!NEWSBLUR.Globals.is_premium) {
|
||||
value = NEWSBLUR.Preferences.arrow_scroll_spacing;
|
||||
}
|
||||
$(".NB-tangle-arrowscrollspacing", this.$modal).text(value);
|
||||
$("input[name=arrow_scroll_spacing]", this.$modal).val(value);
|
||||
if (NEWSBLUR.Preferences.keyboard_verticalarrows == 'scroll' || ui) {
|
||||
$("#NB-preference-keyboard-verticalarrows-2", this.$modal).attr('checked', true);
|
||||
if (ui) {
|
||||
this.enable_save();
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
slide_space_scroll_spacing_slider: function(e, ui) {
|
||||
var value = (ui && ui.value) || NEWSBLUR.Preferences.space_scroll_spacing;
|
||||
if (!NEWSBLUR.Globals.is_premium) {
|
||||
value = NEWSBLUR.Preferences.space_scroll_spacing;
|
||||
}
|
||||
$(".NB-tangle-spacescrollspacing", this.$modal).text(value + "%");
|
||||
$("input[name=space_scroll_spacing]", this.$modal).val(value);
|
||||
if (ui) {
|
||||
this.enable_save();
|
||||
}
|
||||
},
|
||||
|
||||
serialize_preferences: function() {
|
||||
var preferences = {};
|
||||
|
||||
|
@ -873,6 +946,9 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
$('input[type=checkbox]', this.$modal).each(function() {
|
||||
preferences[$(this).attr('name')] = $(this).is(':checked');
|
||||
});
|
||||
$('input[type=hidden]', this.$modal).each(function() {
|
||||
preferences[$(this).attr('name')] = $(this).val();
|
||||
});
|
||||
preferences['default_order'] = $('.NB-preference-view-setting-order li.NB-active', this.$modal).hasClass('NB-preference-view-setting-order-oldest') ? 'oldest' : 'newest';
|
||||
preferences['default_read_filter'] = $('.NB-preference-view-setting-read-filter li.NB-active', this.$modal).hasClass('NB-preference-view-setting-read-filter-unread') ? 'unread' : 'all';
|
||||
|
||||
|
@ -912,6 +988,12 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
});
|
||||
},
|
||||
|
||||
close_and_load_feedchooser: function() {
|
||||
this.close(function() {
|
||||
NEWSBLUR.reader.open_feedchooser_modal();
|
||||
});
|
||||
},
|
||||
|
||||
change_view_setting: function(view, setting) {
|
||||
if (view == 'order') {
|
||||
$('.NB-preference-view-setting-order-oldest').toggleClass('NB-active', setting == 'oldest');
|
||||
|
@ -969,6 +1051,10 @@ _.extend(NEWSBLUR.ReaderPreferences.prototype, {
|
|||
|
||||
self.close();
|
||||
});
|
||||
$.targetIs(e, { tagSelector: '.NB-premium-link' }, function($t, $p) {
|
||||
e.preventDefault();
|
||||
self.close_and_load_feedchooser();
|
||||
});
|
||||
$.targetIs(e, { tagSelector: '.segmented-control.NB-preference-view-setting-order li' }, function($t, $p) {
|
||||
e.preventDefault();
|
||||
var order = $t.hasClass('NB-preference-view-setting-order-oldest') ? 'oldest' : 'newest';
|
||||
|
|
|
@ -50,6 +50,8 @@
|
|||
'feed_order' : 'ALPHABETICAL',
|
||||
'keyboard_verticalarrows' : 'story',
|
||||
'keyboard_horizontalarrows': 'view',
|
||||
'space_scroll_spacing' : 40,
|
||||
'arrow_scroll_spacing' : 100,
|
||||
'ssl' : 0,
|
||||
'open_feed_action' : 0,
|
||||
'read_story_delay' : 0,
|
||||
|
|
Loading…
Add table
Reference in a new issue