Andrew Dolgov
1902a7dcb0
pgup/pgdown hotkey normalization:
...
- pgup/pgdown without modifier scroll headline buffer
- shift+pgup/pgdown work similarly to shift+up/down but operating on pages
2019-12-05 17:00:17 +03:00
Andrew Dolgov
6913158b82
add hotkeys to scroll headlines/articles (whichever is active) by one page
2019-12-04 15:50:49 +03:00
Andrew Dolgov
9368f1a07f
restore feed from URL hash after feedlist init
2019-05-06 21:57:58 +03:00
Michael Kuhn
e38fcd6dea
Fix button focus issues
...
This change introduces derived classes for ComboButton, DropDownButton
and Select that make sure that buttons do not remain focused after their
menus are closed. This allows using hotkeys after closing them.
2019-04-14 12:01:52 +02:00
Michael Kuhn
4a2a90c980
Fix focus issues with hotkeys
...
Since making use of keypress in addition to keydown, hotkeys did not
work in certain scenarios, including clicking on the feed tree expanders
or empty spaces of the toolbar.
This issue is caused by dijit.Tree and dijit.Toolbar implementing the
_KeyNavMixin, which explicitly stops propagation of keypress events.
This change contains two main fixes plus a smaller hotfix:
1. It overrides _onContainerKeydown and _onContainerKeypress for
fox.FeedTree (which inherits from dijit.Tree).
2. It adds fox.Toolbar, which overrides _onContainerKeydown,
_onContainerKeypress and focus. This fixes hotkeys being swallowed
and the first focusable child receiving focus when clicking on an
empty space of the toolbar.
3. It adds the same handling of keydown and keypress to the prefs hotkey
handler as is done in the main hotkey handler.
2019-04-13 22:34:57 +02:00
ltGuillaume
4c72d3b4fc
Add keyboard shortcut 'g r': Go to Recently read
2019-04-12 07:28:45 +00: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
957c44d177
rework git update checking to be initiated by frontend, outside of runtime info output
2018-12-16 19:05:37 +03:00
Andrew Dolgov
721f9ad866
requestIdleCallback: remove hard dependency for now
2018-12-11 17:58:10 +03:00
Andrew Dolgov
7a98105960
remove old fatalError(), move everything to App.Error
...
update exception dialog css
2018-12-11 13:18:38 +03:00
Andrew Dolgov
2cbc2f5261
bring back frontend sanity check w/ App.checkBrowserFeatures()
2018-12-11 12:30:48 +03:00
Andrew Dolgov
ad5a43bf66
sync article selected status via mutation observer
...
remove all rchk-related hacks
2018-12-10 21:19:33 +03:00
Andrew Dolgov
54f02a3b31
add Headlines.renderAgain() to switch between combined/expanded modes faster
2018-12-10 15:06:47 +03:00
Andrew Dolgov
fca78f7417
add qmcToggleNightMode to actions dropdown
2018-12-09 21:20:59 +03:00
Andrew Dolgov
1c8593c1fa
add hotkey (a N) to toggle night.css
2018-12-09 21:17:50 +03:00
Andrew Dolgov
a400a8ffc1
add PluginHost.HOOK_INIT_COMPLETE (and make no_title_counters use it)
2018-12-08 20:06:07 +03:00
Andrew Dolgov
41bf063e46
switchPanelMode: allow modifying layout in combined mode so that widescreen status won't be initially lost if starting in cdm
2018-12-08 09:46:48 +03:00
Andrew Dolgov
bd66a9ef28
render article on the client using headlines data
2018-12-08 09:32:14 +03:00
Andrew Dolgov
05200a3840
rename main toolbar elements to be more consistent
2018-12-05 10:03:58 +03:00
Andrew Dolgov
d3486b15f9
fix collapse_sidebar hotkey action
2018-12-03 20:49:37 +03:00
Andrew Dolgov
e76d1fb995
plugins: mail, mailto: remove code from global context
2018-12-03 14:21:50 +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
8f1881e12c
remove cookie set check
2018-12-03 12:55:07 +03:00
Andrew Dolgov
78cc470193
remove some plugin JS code out of global context
2018-12-03 10:51:14 +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
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
Andrew Dolgov
fda3ad39c8
split several utility objects into separate dojo modules
2018-12-02 17:00:58 +03:00
Andrew Dolgov
874560db54
remove obsolete row selection functions
...
move getUrlParam() to Utils
2018-12-02 10:33:58 +03:00
Andrew Dolgov
0a18d0b1ed
Feeds: shorten some method names
...
finally rename "view as rss"
2018-12-02 08:57:22 +03:00
Andrew Dolgov
6e625555c9
Headlines: shorten selectArticles
2018-12-02 08:34:08 +03:00
Andrew Dolgov
3678315bea
Article, Headlines: shorten several method names
2018-12-02 08:32:13 +03:00
Andrew Dolgov
e5f3b75540
fix some minor linter problems
2018-12-02 07:31:10 +03:00
Andrew Dolgov
1e2d4410d3
move some more shared stuff to CommonDialogs, Filters, and Utils
2018-12-01 22:39:29 +03:00
Andrew Dolgov
bc96eac2ac
addLabel -> CommonDialogs
2018-12-01 22:19:20 +03:00
Andrew Dolgov
cc26be0793
migrate tt-rss.js contents to App
2018-12-01 21:51:00 +03:00
Andrew Dolgov
642c37ea61
further effocts to wrap JS stuff into objects
2018-12-01 21:01:53 +03:00
Andrew Dolgov
4bed9be57d
js-ification: start on some common dialogs
2018-12-01 18:25:32 +03:00
Andrew Dolgov
97df81d8d9
even more objectification of JS
2018-12-01 17:54:16 +03:00
Andrew Dolgov
1d82bd4f19
further objectification
2018-12-01 17:42:21 +03:00
Andrew Dolgov
d86ddbc635
further objectification of JS code
2018-12-01 17:21:26 +03:00
Andrew Dolgov
049a37aa0e
WIP reshuffling of JS global context into separate logical objects
2018-12-01 17:05:35 +03:00
Andrew Dolgov
468faee635
viewfeed: remove (tons of) obsolete code
2018-12-01 12:36:28 +03:00
Andrew Dolgov
195180b64d
minor refactoring: normalize some function names; cleanup; etc
2018-12-01 11:18:35 +03:00
Andrew Dolgov
523e1cb9e8
reduce headlines scrolling timeout
2018-12-01 09:37:51 +03:00
Andrew Dolgov
e84adbba37
rate-limit headlinesScrollHandler via timeout instead of distance scrolled
...
minor floating title cleanup
2018-12-01 09:33:09 +03:00