Add setting to disable smooth scrolling

pull/570/merge
Thibaut Courouble 8 years ago
parent 29ec9db263
commit 71a3c31145

@ -40,13 +40,6 @@ class app.Settings
@store.set TIPS_KEY, tips.join('/') @store.set TIPS_KEY, tips.join('/')
return return
setDark: (value) ->
@store.set DARK_KEY, !!value
return
getDark: ->
@store.get DARK_KEY
setLayout: (name, enable) -> setLayout: (name, enable) ->
layout = (@store.get(LAYOUT_KEY) || '').split(' ') layout = (@store.get(LAYOUT_KEY) || '').split(' ')
$.arrayDelete(layout, '') $.arrayDelete(layout, '')

@ -17,6 +17,16 @@ app.templates.settingsPage = (settings) -> """
</div> </div>
</div> </div>
<div class="_settings-fieldset">
<h2 class="_settings-legend">Scrolling:</h2>
<div class="_settings-inputs">
<label class="_settings-label">
<input type="checkbox" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>Use smooth scrolling
</label>
</div>
</div>
<div class="_settings-fieldset"> <div class="_settings-fieldset">
<h2 class="_settings-legend">Advanced:</h2> <h2 class="_settings-legend">Advanced:</h2>

@ -64,7 +64,10 @@ class app.views.Content extends app.View
return return
smoothScrollTo: (value) -> smoothScrollTo: (value) ->
$.smoothScroll @scrollEl, value or 0 if app.settings.get('fastScroll')
@scrollTo value
else
$.smoothScroll @scrollEl, value or 0
return return
scrollBy: (n) -> scrollBy: (n) ->

@ -13,7 +13,8 @@ class app.views.SettingsPage extends app.View
currentSettings: -> currentSettings: ->
settings = {} settings = {}
settings.dark = app.settings.getDark() settings.dark = app.settings.get('dark')
settings.smoothScroll = !app.settings.get('fastScroll')
settings[layout] = app.settings.hasLayout(layout) for layout in LAYOUTS settings[layout] = app.settings.hasLayout(layout) for layout in LAYOUTS
settings settings
@ -25,7 +26,7 @@ class app.views.SettingsPage extends app.View
alt = css.getAttribute('data-alt') alt = css.getAttribute('data-alt')
css.setAttribute('data-alt', css.getAttribute('href')) css.setAttribute('data-alt', css.getAttribute('href'))
css.setAttribute('href', alt) css.setAttribute('href', alt)
app.settings.setDark(enable) app.settings.set('dark', !!enable)
app.appCache?.updateInBackground() app.appCache?.updateInBackground()
return return
@ -35,6 +36,10 @@ class app.views.SettingsPage extends app.View
app.appCache?.updateInBackground() app.appCache?.updateInBackground()
return return
toggleSmoothScroll: (enable) ->
app.settings.set('fastScroll', !enable)
return
onChange: (event) => onChange: (event) =>
input = event.target input = event.target
switch input.name switch input.name
@ -42,6 +47,8 @@ class app.views.SettingsPage extends app.View
@toggleDark input.checked @toggleDark input.checked
when 'layout' when 'layout'
@toggleLayout input.value, input.checked @toggleLayout input.value, input.checked
when 'smoothScroll'
@toggleSmoothScroll input.checked
return return
onRoute: (route) => onRoute: (route) =>

Loading…
Cancel
Save