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
4db13b8a17
simplify preference layout, remove some unnecessary css classes
2019-02-21 12:35:40 +03:00
Andrew Dolgov
1c8593c1fa
add hotkey (a N) to toggle night.css
2018-12-09 21:17:50 +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
71fc6d45bd
refactor error reporting to AppBase; keep exception_error() for now as a shim
2018-12-03 13:38:13 +03:00
Andrew Dolgov
4d4034091a
prefs: Prefs global -> Helpers
2018-12-03 12:46:00 +03:00
Andrew Dolgov
b3bc638a9f
refactor OPML export/import code to be less horrible
2018-12-03 12:26:49 +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
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
35ded4bc84
edit phrasing of some alert()s
2018-12-02 16:30:32 +03:00
Andrew Dolgov
3a6dae9203
prefs: more of the same, really
2018-12-02 16:29:00 +03:00
Andrew Dolgov
b9869dbc01
prefs: remove some more stuff from global context (user management, etc)
2018-12-02 16:17:36 +03:00
Andrew Dolgov
58e54282d3
prefs: move more global functions into matching classes
2018-12-02 15:30:07 +03:00
Andrew Dolgov
f26d404890
prefs: move other tree-related functions to respective trees
2018-12-02 12:03:28 +03:00
Andrew Dolgov
60cd467694
embed some pref-feed helper functions into the tree
2018-12-02 11:50:53 +03:00
Andrew Dolgov
2e985d1733
move some label helper functions to prefLabelTree
2018-12-02 11:34:57 +03:00
Andrew Dolgov
e23b6e397d
prefs: store active tab for reload, remove most old table row functions
2018-12-02 11:25:32 +03:00
Andrew Dolgov
aa2f119eb6
remove getSelectedTableRowIds (Tables.getSelected)
2018-12-02 10:46:09 +03:00
Andrew Dolgov
874560db54
remove obsolete row selection functions
...
move getUrlParam() to Utils
2018-12-02 10:33:58 +03:00
Andrew Dolgov
da9f83c4ac
filter dialog fixes
2018-12-02 09:55:43 +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
de9509cd31
hotkeys: simplify prefix timeout handling
2018-12-01 22:07:00 +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
44d3aedd38
prefs: hotkey handler to App
2018-12-01 18:10:30 +03:00
Andrew Dolgov
ff708a9357
prefs: initial objectification
2018-12-01 18:08:09 +03:00
Andrew Dolgov
b9984c0ed6
revert wrong changes in prefs.js
2018-12-01 18:05:20 +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
195180b64d
minor refactoring: normalize some function names; cleanup; etc
2018-12-01 11:18:35 +03:00
Andrew Dolgov
02ec3984bd
replace 4 space indents with tabs
2018-11-30 15:07:44 +03:00
Andrew Dolgov
da1a3c2cc5
remove ok = confirm() thing
2018-11-30 13:05:59 +03:00
Andrew Dolgov
fd752a79af
finish xhrPost migration of js/
2018-11-30 13:00:26 +03:00
Andrew Dolgov
7e8be97b66
remove duplicated code from hotkey actions handler
...
more xhrPost() refactoring
2018-11-30 12:46:52 +03:00
Andrew Dolgov
24c618dd6f
editSelectedFeeds: fix missing unset checkboxes properly
2018-11-30 11:55:24 +03:00
Andrew Dolgov
ef129fed2a
some more xhrPost refactoring (batchEditSave WIP)
2018-11-30 10:48:50 +03:00
Andrew Dolgov
9dc5524df1
set dialogs to const
2018-11-29 21:13:41 +03:00
Andrew Dolgov
4508e3103d
some more eslint-related stuff
2018-11-29 21:03:55 +03:00
Andrew Dolgov
8572e0108a
declare globals with let
2018-11-29 20:09:25 +03:00
Andrew Dolgov
424e28db6b
eslint-related fixes
2018-11-29 20:07:23 +03:00
Andrew Dolgov
a3e2f1a9c3
define custom dojo modules with define() instead of require(), update startup module dependencies
2018-08-23 09:56:34 +03:00
Andrew Dolgov
d195c6a62e
gotoExportOpml: js strict mode fix
2018-03-16 15:50:48 +03:00
wn_
a972ab45bd
strict js: various var fixes
2018-03-14 20:02:21 -05:00