Commit Graph

27 Commits

Author SHA1 Message Date
Andrew Dolgov 3bf40f3ba8 _active_feed_id: set to undefined on startup to prevent unneeded Feed.open() if reloadCurrent is called because of a non-default main toolbar value 2019-05-07 19:10:11 +03:00
Andrew Dolgov 9368f1a07f restore feed from URL hash after feedlist init 2019-05-06 21:57:58 +03:00
Andrew Dolgov 6479c07324 js: add PluginHost.HOOK_COUNTERS_PROCESSED 2019-05-06 09:50:46 +03:00
Andrew Dolgov 2411cc8d1c js: add PluginHost.HOOK_COUNTERS_RECEIVED 2019-05-06 09:49:04 +03:00
Michael Kuhn e74f7bde22 Refactor hotkeys to use keypress instead of keydown
keydown returns the "raw" key in event.which. Depending on the keyboard
layout, this may not be what is wanted. For example, on a German
keyboard, Shift+7 has to be pressed to get a slash. However, event.which
will be 55, which corresponds to "7". In the keypress event, however,
event.which will be 47, which corresponds to "/".

Sadly, several important keys (such as escape and the arrow keys) do not
trigger a keypress event. Therefore, they have to be handled using a
keydown event.

This change refactors the hotkey support to make use of keypress events
whenever possible. This will make hotkeys work regardless of the user's
keyboard layout. Escape and arrow keys are still handled via keydown
events.

There should be only one change in behavior: I could not make Ctrl+/
work and therefore rebound the help dialog to "?".
2019-03-11 12:01:27 +01:00
Andrew Dolgov 6e14e575b3 use separate id for default password warning dialog 2019-02-20 08:39:44 +03:00
Andrew Dolgov 8effabd075 append headline buffer if requested, don't just use offset 2018-12-16 21:15:08 +03:00
Andrew Dolgov d53cdaf815 requestCounters: remove cooldown 2018-12-12 20:06:44 +03:00
Andrew Dolgov d9bf0f17c6 sync unread state to server via mutation observer 2018-12-10 20:50:44 +03:00
Andrew Dolgov dc84e10ba1 catchupFeedInGroup: overhaul
1. less hacky way to catchup actually unread headlines
2. don't fade rows away because it's inconsistent with different mark-as-read functions
3. fix stuck progress alert
2018-12-09 13:52:21 +03:00
Andrew Dolgov 76885fc5ad viewfeed: general code cleanup 2018-12-07 21:22:51 +03:00
Andrew Dolgov 8f75b06835 implement feed grouping display, remove unneeded server vgrlf passing 2018-12-07 21:11:50 +03:00
Andrew Dolgov e075e6141b json-viewfeed updates 2018-12-07 18:24:56 +03:00
Andrew Dolgov b09a58a570 call Headlines.scrollhandler() on window resize 2018-12-06 13:25:04 +03:00
Andrew Dolgov f89ecda9b8 Feeds.updateRandom: fix calling wrong RPC method 2018-12-06 12:19:05 +03:00
Andrew Dolgov 05200a3840 rename main toolbar elements to be more consistent 2018-12-05 10:03:58 +03:00
Andrew Dolgov 85adef06f4 onkeydown handlers: fix default keyboard events not being blocked if necessary 2018-12-05 09:11:12 +03:00
Andrew Dolgov 9814ac608c Headlines.click: do not set article active if it already is
Headlines.onLoaded: reset active article if not called in append mode
2018-12-05 07:41:55 +03:00
Andrew Dolgov 71fc6d45bd refactor error reporting to AppBase; keep exception_error() for now as a shim 2018-12-03 13:38:13 +03:00
Andrew Dolgov 84affc7b1d rework dojo singleton modules to better work with phpstorm completion (ugh) - declare() is not needed there anyway
remove event.observe from login form (not needed)
load pluginhost via amd
2018-12-03 09:33:44 +03:00
Andrew Dolgov 5ead558e43 move Utils to AppBase where it belongs 2018-12-02 22:08:18 +03:00
Andrew Dolgov ac8361e6f6 add AppBase as a shared ancestor for main and prefs app objects
remove event.observe stuff from startup, unneeded
2018-12-02 21:52:50 +03:00
Andrew Dolgov 526389b2d3 update notify_* calls to use Notify 2018-12-02 20:56:30 +03:00
wn_ 87850ca1aa Fix 'document.onkeydown' handler 2018-12-02 11:21:37 -06:00
Andrew Dolgov d9c5c93cef move some more stuff out of common.js
rework client-side cookie functions a bit
limit dojo cachebust based on server scripts modification time
remove param_escape()
2018-12-02 20:07:57 +03:00
Andrew Dolgov f89924f7a1 set use strict on JS modules; remove some mostly useless stuff like get_minified_js() 2018-12-02 18:38:27 +03:00
Andrew Dolgov 807ff07454 split main objects to dojo modules 2018-12-02 17:18:59 +03:00