History

Add setting to disable smooth scrolling

Thibaut Courouble committed 9 years ago

Commit 71a3c311 parent 29ec9db4 files · +23 −10Browse files

Unified · Split

4 files
  1. assets/javascripts/app/settings.coffee +0 −7
  2. assets/javascripts/templates/pages/settings_tmpl.coffee +10 −0
  3. assets/javascripts/views/content/content.coffee +4 −1
  4. assets/javascripts/views/content/settings_page.coffee +9 −2
assets/javascripts/app/settings.coffee+0−7
@@ -40,13 +40,6 @@ class app.Settings · 39 unmodified lines
4040 @store.set TIPS_KEY, tips.join('/')
4141 return
4242
43− setDark: (value) ->
44− @store.set DARK_KEY, !!value
45− return
46−
47− getDark: ->
48− @store.get DARK_KEY
49−
5043 setLayout: (name, enable) ->
5144 layout = (@store.get(LAYOUT_KEY) || '').split(' ')
5245 $.arrayDelete(layout, '')
assets/javascripts/templates/pages/settings_tmpl.coffee+10−0
@@ -17,6 +17,16 @@ app.templates.settingsPage = (settings) -> """ · 16 unmodified lines
1717 </div>
1818 </div>
1919
20+ <div class="_settings-fieldset">
21+ <h2 class="_settings-legend">Scrolling:</h2>
22+
23+ <div class="_settings-inputs">
24+ <label class="_settings-label">
25+ <input type="checkbox" name="smoothScroll" value="1"#{if settings.smoothScroll then ' checked' else ''}>Use smooth scrolling
26+ </label>
27+ </div>
28+ </div>
29+
2030 <div class="_settings-fieldset">
2131 <h2 class="_settings-legend">Advanced:</h2>
2232
assets/javascripts/views/content/content.coffee+4−1
@@ -64,7 +64,10 @@ class app.views.Content extends app.View · 63 unmodified lines
6464 return
6565
6666 smoothScrollTo: (value) ->
67− $.smoothScroll @scrollEl, value or 0
67+ if app.settings.get('fastScroll')
68+ @scrollTo value
69+ else
70+ $.smoothScroll @scrollEl, value or 0
6871 return
6972
7073 scrollBy: (n) ->
assets/javascripts/views/content/settings_page.coffee+9−2
@@ -13,7 +13,8 @@ class app.views.SettingsPage extends app.View · 12 unmodified lines
1313
1414 currentSettings: ->
1515 settings = {}
16− settings.dark = app.settings.getDark()
16+ settings.dark = app.settings.get('dark')
17+ settings.smoothScroll = !app.settings.get('fastScroll')
1718 settings[layout] = app.settings.hasLayout(layout) for layout in LAYOUTS
1819 settings
1920
@@ -25,7 +26,7 @@ class app.views.SettingsPage extends app.View · 5 unmodified lines
2526 alt = css.getAttribute('data-alt')
2627 css.setAttribute('data-alt', css.getAttribute('href'))
2728 css.setAttribute('href', alt)
28− app.settings.setDark(enable)
29+ app.settings.set('dark', !!enable)
2930 app.appCache?.updateInBackground()
3031 return
3132
@@ -35,6 +36,10 @@ class app.views.SettingsPage extends app.View · 3 unmodified lines
3536 app.appCache?.updateInBackground()
3637 return
3738
39+ toggleSmoothScroll: (enable) ->
40+ app.settings.set('fastScroll', !enable)
41+ return
42+
3843 onChange: (event) =>
3944 input = event.target
4045 switch input.name
@@ -42,6 +47,8 @@ class app.views.SettingsPage extends app.View · 1 unmodified line
4247 @toggleDark input.checked
4348 when 'layout'
4449 @toggleLayout input.value, input.checked
50+ when 'smoothScroll'
51+ @toggleSmoothScroll input.checked
4552 return
4653
4754 onRoute: (route) =>

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t