diff --git a/src/main/java/com/commafeed/backend/model/UserSettings.java b/src/main/java/com/commafeed/backend/model/UserSettings.java index 888657e6..ef7c711d 100644 --- a/src/main/java/com/commafeed/backend/model/UserSettings.java +++ b/src/main/java/com/commafeed/backend/model/UserSettings.java @@ -68,4 +68,7 @@ public class UserSettings extends AbstractModel { @Column(length = Integer.MAX_VALUE) private String customCss; + @Column(name = "scroll_speed") + private int scrollSpeed; + } diff --git a/src/main/java/com/commafeed/frontend/model/Settings.java b/src/main/java/com/commafeed/frontend/model/Settings.java index 6decfe6e..4ed6d5a7 100644 --- a/src/main/java/com/commafeed/frontend/model/Settings.java +++ b/src/main/java/com/commafeed/frontend/model/Settings.java @@ -38,5 +38,8 @@ public class Settings implements Serializable { @ApiProperty(value = "user's custom css for the website") private String customCss; + + @ApiProperty(value = "user's preferred scroll speed when navigating between entries") + private int scrollSpeed; } diff --git a/src/main/java/com/commafeed/frontend/rest/resources/UserREST.java b/src/main/java/com/commafeed/frontend/rest/resources/UserREST.java index b20bc20e..05ebdb17 100644 --- a/src/main/java/com/commafeed/frontend/rest/resources/UserREST.java +++ b/src/main/java/com/commafeed/frontend/rest/resources/UserREST.java @@ -79,6 +79,7 @@ public class UserREST extends AbstractREST { s.setTheme(settings.getTheme()); s.setCustomCss(settings.getCustomCss()); s.setLanguage(settings.getLanguage()); + s.setScrollSpeed(settings.getScrollSpeed()); } else { s.setReadingMode(ReadingMode.unread.name()); s.setReadingOrder(ReadingOrder.desc.name()); @@ -88,6 +89,7 @@ public class UserREST extends AbstractREST { s.setSocialButtons(true); s.setScrollMarks(true); s.setLanguage("en"); + s.setScrollSpeed(400); } return Response.ok(s).build(); } @@ -116,6 +118,7 @@ public class UserREST extends AbstractREST { s.setCustomCss(settings.getCustomCss()); s.setSocialButtons(settings.isSocialButtons()); s.setLanguage(settings.getLanguage()); + s.setScrollSpeed(settings.getScrollSpeed()); userSettingsDAO.saveOrUpdate(s); return Response.ok().build(); diff --git a/src/main/resources/changelogs/db.changelog-1.4.xml b/src/main/resources/changelogs/db.changelog-1.4.xml new file mode 100644 index 00000000..6a0d773c --- /dev/null +++ b/src/main/resources/changelogs/db.changelog-1.4.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + diff --git a/src/main/resources/changelogs/db.changelog-master.xml b/src/main/resources/changelogs/db.changelog-master.xml index c6b5d944..79395852 100644 --- a/src/main/resources/changelogs/db.changelog-master.xml +++ b/src/main/resources/changelogs/db.changelog-master.xml @@ -7,5 +7,6 @@ + \ No newline at end of file diff --git a/src/main/resources/i18n/en.properties b/src/main/resources/i18n/en.properties index 9411512c..9dc6b0ea 100644 --- a/src/main/resources/i18n/en.properties +++ b/src/main/resources/i18n/en.properties @@ -67,6 +67,8 @@ settings.general.show_unread=Show feeds and categories with no unread entries settings.general.social_buttons=Show social sharing buttons settings.general.scroll_marks=In expanded view, scrolling through entries mark them as read settings.appearance=Appearance +settings.scroll_speed=Scrolling speed when navigating between entries (in milliseconds) +settings.scroll_speed.help=set to 0 to disable settings.theme=Theme settings.submit_your_theme=Submit your theme settings.custom_css=Custom CSS diff --git a/src/main/webapp/js/controllers.js b/src/main/webapp/js/controllers.js index 66e9a808..401ac976 100644 --- a/src/main/webapp/js/controllers.js +++ b/src/main/webapp/js/controllers.js @@ -785,10 +785,11 @@ module.controller('FeedListCtrl', [ return; } else { var scrollTop = elemTop - $('#toolbar').outerHeight(); + var speed = SettingsService.settings.scrollSpeed; watch_scrolling = false; $('html, body').animate({ scrollTop : scrollTop - }, 400, 'swing', function() { + }, speed, 'swing', function() { watch_scrolling = true; }); } diff --git a/src/main/webapp/templates/settings.html b/src/main/webapp/templates/settings.html index fc5285de..4e5fb178 100644 --- a/src/main/webapp/templates/settings.html +++ b/src/main/webapp/templates/settings.html @@ -55,6 +55,11 @@
+
+ + + ${settings.scroll_speed.help} +