Commit Graph

801 Commits

Author SHA1 Message Date
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
Andrew Dolgov cc2ac3a86c FeedTree: add feed debugger to per-feed context menu 2019-04-08 15:51:05 +03:00
Andrew Dolgov b1bb7c6001 Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-14 09:08:52 +03:00
Andrew Dolgov 019f4578bc fix feed icon upload not working, rework form to use FormData/ajax 2019-03-14 09:08:44 +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 a34509c8ae Merge branch 'master' of git.fakecake.org:tt-rss 2019-03-08 10:12:06 +03:00
Andrew Dolgov 19f162dbe3 css: insensitive -> text-muted 2019-03-08 10:11:57 +03:00
Andrew Dolgov 900cdbbb31 Headlines.click: open original article (and mark as read) on alt click on title 2019-03-07 15:40:02 +03:00
Andrew Dolgov ae9ef7fe84 Headlines.click: fix another small issue with expanded mode (2) 2019-03-07 12:16:50 +03:00
Andrew Dolgov 0b8f3909fe Headlines.click: fix another small issue with expanded mode 2019-03-07 12:16:09 +03:00
Andrew Dolgov 84cf95fe8f Headlines.click: open original article when it makes sense to do so 2019-03-07 11:52:10 +03:00
Andrew Dolgov cf6f867feb getRange: handle start == stop 2019-03-07 10:38:50 +03:00
Andrew Dolgov d876cca22a tweak Headlines.click: ctrl-click toggles selection, shift-click selects range 2019-03-07 10:35:48 +03:00
Andrew Dolgov ef6d2b8a4e update notifications to make them more visible
cleanup some minor stuff in pref-users
2019-03-05 20:09:06 +03:00
Andrew Dolgov 70c53257d9 on_catchup_show_next: remove auto-trigger on headlines scroll 2019-02-21 14:22:33 +03:00
Andrew Dolgov 4db13b8a17 simplify preference layout, remove some unnecessary css classes 2019-02-21 12:35:40 +03:00
Andrew Dolgov 6e14e575b3 use separate id for default password warning dialog 2019-02-20 08:39:44 +03:00
Andrew Dolgov 848bb6579c floatingTitle: show collapse button if in expandable mode 2019-02-14 16:20:10 +03:00
Andrew Dolgov 1124c3f00a label display: fix unneeded nested container in headlines, increase overall minimalism, fix label element typo (div1) 2019-02-01 12:42:27 +03:00
Andrew Dolgov dbab03bd4c Feeds.catchupAllFeeds() should be Feeds.catchupAll() 2019-01-31 12:16:56 +03:00
Andrew Dolgov c7c9c5fb0a feedTree: amend previous to check that nodes are actually there (2) 2019-01-28 18:49:58 +03:00
Andrew Dolgov 42e0c7a420 feedTree: amend previous to check that nodes are actually there 2019-01-28 18:48:56 +03:00
Andrew Dolgov 3827e5b944 selectFeed: scroll feed tree to selected row 2019-01-27 23:31:00 +03:00
Andrew Dolgov 8b26b8629f headlines-frame: set is-vfeed attribute if result is virtual feed 2019-01-16 21:33:59 +03:00
Andrew Dolgov c607b7836e onLoaded: clear this.headlines on first page load 2019-01-03 12:36:57 +03:00
Andrew Dolgov f44c6d01b0 fix previous always disabling infscroll 2019-01-03 01:00:09 +03:00
Andrew Dolgov c66db9bde8 headlines onloaded: when appending, check for duplicate IDs 2019-01-02 16:29:08 +03:00
Andrew Dolgov 51b069a1ee display filter tree rules as a list 2018-12-19 12:08:06 +03:00
Andrew Dolgov 8393096947 selectionTogglePublished: fix typo which caused it to mark articles instead 2018-12-18 11:49:26 +03:00
Andrew Dolgov dee210e546 headlines onLoaded: make sure a few more things respect append instead of offset == 0 2018-12-18 07:51:00 +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 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 c3b8b6a2a1 also prevent multiple requests 2018-12-16 12:43:53 +03:00
Andrew Dolgov 54ce930b8d delay counters request on promise completion a bit 2018-12-16 12:41:27 +03:00
Andrew Dolgov 8c49689fda filter test results: remove table bloat 2018-12-14 17:44:53 +03:00
Jordan Galby 47b4a262cf fix missing curly brace
Fix the error:
```
SyntaxError: missing } after property list
```
2018-12-13 15:10:32 +01:00
Andrew Dolgov d3885c5883 App.toggleNightMode: add some fadein/fadeout 2018-12-13 10:20:05 +03:00
Andrew Dolgov d53cdaf815 requestCounters: remove cooldown 2018-12-12 20:06:44 +03:00
Andrew Dolgov 4e41db7ed3 Article.unpack: add placeholder   if data-content is empty 2018-12-12 08:56:02 +03:00
Andrew Dolgov eda4ac2a2b add fallback colors for headline feed titles based on feed name if favicon color is not available 2018-12-12 07:57:37 +03:00
Andrew Dolgov be49b77b14 Revert "use codeflask for user css editor"
This reverts commit daa43e0572.
2018-12-11 20:48:17 +03:00
Andrew Dolgov 721f9ad866 requestIdleCallback: remove hard dependency for now 2018-12-11 17:58:10 +03:00
Andrew Dolgov daa43e0572 use codeflask for user css editor 2018-12-11 14:25:41 +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 071ca5aa96 Error.report: use JS template strings 2018-12-11 12:45:05 +03:00
Andrew Dolgov 2cbc2f5261 bring back frontend sanity check w/ App.checkBrowserFeatures() 2018-12-11 12:30:48 +03:00
Andrew Dolgov f3c04fc5d8 sync modified scores via mutation observer 2018-12-11 10:30:32 +03:00
Andrew Dolgov 25ca144bb7 score: get correct classes for rows/score icons on the client 2018-12-11 10:00:54 +03:00