summaryrefslogtreecommitdiff
path: root/js/prefs.js
AgeCommit message (Collapse)Author
2019-04-14Fix button focus issuesMichael Kuhn
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-13Fix focus issues with hotkeysMichael Kuhn
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-03-11Refactor hotkeys to use keypress instead of keydownMichael Kuhn
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-02-21simplify preference layout, remove some unnecessary css classesAndrew Dolgov
2018-12-09add hotkey (a N) to toggle night.cssAndrew Dolgov
2018-12-05onkeydown handlers: fix default keyboard events not being blocked if necessaryAndrew Dolgov
2018-12-03refactor error reporting to AppBase; keep exception_error() for now as a shimAndrew Dolgov
2018-12-03prefs: Prefs global -> HelpersAndrew Dolgov
2018-12-03refactor OPML export/import code to be less horribleAndrew Dolgov
2018-12-03remove some plugin JS code out of global contextAndrew Dolgov
2018-12-03rework dojo singleton modules to better work with phpstorm completion (ugh) ↵Andrew Dolgov
- declare() is not needed there anyway remove event.observe from login form (not needed) load pluginhost via amd
2018-12-02move Utils to AppBase where it belongsAndrew Dolgov
2018-12-02add AppBase as a shared ancestor for main and prefs app objectsAndrew Dolgov
remove event.observe stuff from startup, unneeded
2018-12-02update notify_* calls to use NotifyAndrew Dolgov
2018-12-02set use strict on JS modules; remove some mostly useless stuff like ↵Andrew Dolgov
get_minified_js()
2018-12-02split main objects to dojo modulesAndrew Dolgov
2018-12-02split several utility objects into separate dojo modulesAndrew Dolgov
2018-12-02edit phrasing of some alert()sAndrew Dolgov
2018-12-02prefs: more of the same, reallyAndrew Dolgov
2018-12-02prefs: remove some more stuff from global context (user management, etc)Andrew Dolgov
2018-12-02prefs: move more global functions into matching classesAndrew Dolgov
2018-12-02prefs: move other tree-related functions to respective treesAndrew Dolgov
2018-12-02embed some pref-feed helper functions into the treeAndrew Dolgov
2018-12-02move some label helper functions to prefLabelTreeAndrew Dolgov
2018-12-02prefs: store active tab for reload, remove most old table row functionsAndrew Dolgov
2018-12-02remove getSelectedTableRowIds (Tables.getSelected)Andrew Dolgov
2018-12-02remove obsolete row selection functionsAndrew Dolgov
move getUrlParam() to Utils
2018-12-02filter dialog fixesAndrew Dolgov
2018-12-01move some more shared stuff to CommonDialogs, Filters, and UtilsAndrew Dolgov
2018-12-01addLabel -> CommonDialogsAndrew Dolgov
2018-12-01hotkeys: simplify prefix timeout handlingAndrew Dolgov
2018-12-01migrate tt-rss.js contents to AppAndrew Dolgov
2018-12-01further effocts to wrap JS stuff into objectsAndrew Dolgov
2018-12-01js-ification: start on some common dialogsAndrew Dolgov
2018-12-01prefs: hotkey handler to AppAndrew Dolgov
2018-12-01prefs: initial objectificationAndrew Dolgov
2018-12-01revert wrong changes in prefs.jsAndrew Dolgov
2018-12-01WIP reshuffling of JS global context into separate logical objectsAndrew Dolgov
2018-12-01minor refactoring: normalize some function names; cleanup; etcAndrew Dolgov
2018-11-30replace 4 space indents with tabsAndrew Dolgov
2018-11-30remove ok = confirm() thingAndrew Dolgov
2018-11-30finish xhrPost migration of js/Andrew Dolgov
2018-11-30remove duplicated code from hotkey actions handlerAndrew Dolgov
more xhrPost() refactoring
2018-11-30editSelectedFeeds: fix missing unset checkboxes properlyAndrew Dolgov
2018-11-30some more xhrPost refactoring (batchEditSave WIP)Andrew Dolgov
2018-11-29set dialogs to constAndrew Dolgov
2018-11-29some more eslint-related stuffAndrew Dolgov
2018-11-29declare globals with letAndrew Dolgov
2018-11-29eslint-related fixesAndrew Dolgov
2018-08-23define custom dojo modules with define() instead of require(), update ↵Andrew Dolgov
startup module dependencies