1
0
mirror of https://tt-rss.org/git/tt-rss.git synced 2024-06-22 11:36:38 +02:00
Commit Graph

136 Commits

Author SHA1 Message Date
Andrew Dolgov
810afdaf5a prevent creation of filter rules matching no feeds 2021-02-21 12:28:25 +03:00
Andrew Dolgov
660a1bbe01 * switch to xhr.post() almost everywhere
* call App.handlerpcjson() automatically on json request (if possible)
 * show net/log indicators in prefs
2021-02-19 13:44:56 +03:00
Andrew Dolgov
3d11c61f32 * OPML import: don't reload everything, just feed tree
* dialogs: use auto-destroying dialog for almost all dialogs instead of destroying them manually
* some general dialog-related cleanup
2021-02-12 15:22:10 +03:00
Andrew Dolgov
88027d7a39 fix various minor issues reported by eslint 2020-06-04 23:27:22 +03:00
Andrew Dolgov
9d28b3ac50 unify prefs/main App objects, remove fake classes, use single static App object instead 2020-06-04 22:19:23 +03:00
Andrew Dolgov
30ed5d7c3c same, but for preferences 2020-06-04 20:04:17 +03:00
Andrew Dolgov
f24ece85a6 add validationtextarea control, use it for filter match editor 2020-02-28 13:53:45 +03:00
Andrew Dolgov
07f4878d59 workaround for a race condition between dojo.parse() and tt-rss loading proper day/night css on startup because of firefox async CSS loader 2019-12-15 11:57:26 +03:00
Andrew Dolgov
0d6add5d7f show alert() if fatal exception happens while initializing base app objects and app.error is not available 2019-12-14 09:39:44 +03:00
Andrew Dolgov
0237dee980 implement automatic night mode detection using MQL
add separate light.css to force light theme
remove manual night mode toggle and related code
2019-12-12 20:09:43 +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
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