Skip to content

Commit a2a1733

Browse files
committed
Applied seconds input settings patch
1 parent 98fa6a9 commit a2a1733

File tree

4 files changed

+17
-2
lines changed

4 files changed

+17
-2
lines changed

assets/javascripts/app/settings.coffee

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class app.Settings
1414
'tips'
1515
'autoInstall'
1616
'spaceScroll'
17+
'spaceTimeout'
1718
]
1819

1920
INTERNAL_KEYS = [
@@ -35,6 +36,7 @@ class app.Settings
3536
analyticsConsent: false
3637
theme: 'auto'
3738
spaceScroll: 1
39+
spaceTimeout: 0.5
3840

3941
constructor: ->
4042
@store = new CookiesStore

assets/javascripts/app/shortcuts.coffee

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,14 @@ class app.Shortcuts
2020

2121
spaceScroll: ->
2222
app.settings.get('spaceScroll')
23-
23+
2424
showTip: ->
2525
app.showTip('KeyNav')
2626
@showTip = null
2727

28+
spaceTimeout: ->
29+
app.settings.get('spaceTimeout')
30+
2831
onKeydown: (event) =>
2932
return if @buggyEvent(event)
3033
result = if event.ctrlKey or event.metaKey
@@ -62,7 +65,7 @@ class app.Shortcuts
6265
@trigger 'escape'
6366
false
6467
when 32
65-
if event.target.type is 'search' and @spaceScroll() and (not @lastKeypress or @lastKeypress < Date.now() - 500)
68+
if event.target.type is 'search' and @spaceScroll() and (not @lastKeypress or @lastKeypress < Date.now() - (@spaceTimeout() * 1000))
6669
@trigger 'pageDown'
6770
false
6871
when 33

assets/javascripts/templates/pages/settings_tmpl.coffee

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ app.templates.settingsPage = (settings) -> """
5959
<label class="_settings-label">
6060
<input type="checkbox" form="settings" name="spaceScroll" value="1"#{if settings.spaceScroll then ' checked' else ''}>Use spacebar to scroll during search
6161
</label>
62+
<label class="_settings-label">
63+
<input type="number" form="settings" name="spaceTimeout" min="0" max="5" value="#{settings.spaceTimeout}"> Delay until you can scroll by pressing space
64+
<small>Time in seconds</small>
65+
</label>
6266
</div>
6367
</div>
6468

assets/javascripts/views/content/settings_page.coffee

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ class app.views.SettingsPage extends app.View
1717
settings.autoInstall = app.settings.get('autoInstall')
1818
settings.analyticsConsent = app.settings.get('analyticsConsent')
1919
settings.spaceScroll = app.settings.get('spaceScroll')
20+
settings.spaceTimeout = app.settings.get('spaceTimeout')
2021
settings.autoSupported = app.settings.autoSupported
2122
settings[layout] = app.settings.hasLayout(layout) for layout in app.settings.LAYOUTS
2223
settings
@@ -45,6 +46,9 @@ class app.views.SettingsPage extends app.View
4546
app.settings.set('spaceScroll', if enable then 1 else 0)
4647
return
4748

49+
setScrollTimeout: (value) ->
50+
app.settings.set('spaceTimeout', value)
51+
4852
toggle: (name, enable) ->
4953
app.settings.set(name, enable)
5054
return
@@ -92,6 +96,8 @@ class app.views.SettingsPage extends app.View
9296
@toggleAnalyticsConsent input.checked
9397
when 'spaceScroll'
9498
@toggleSpaceScroll input.checked
99+
when 'spaceTimeout'
100+
@setScrollTimeout input.value
95101
else
96102
@toggle input.name, input.checked
97103
return

0 commit comments

Comments
 (0)