Andrew Dolgov
bec35200e9
fix some eslint-related stuff
2021-02-19 07:29:21 +03:00
Andrew Dolgov
5475eed452
bring back hash functions
2021-02-19 06:35:37 +03:00
Andrew Dolgov
70fa423026
initial for RIP prototype/scriptaculous
2021-02-18 21:51:18 +03:00
Andrew Dolgov
7f0800537e
silence (or fix) a bunch of eslint warnings
2021-02-12 19:02:09 +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
e37f8cfa78
don't use declare() for static objects with no inheritance because apparently it's not actually needed by AMD
2020-06-04 19:50:13 +03:00
Andrew Dolgov
676cdf6ee4
move isCombinedMode to AppBase so we wouldn't crash in preferences
2020-06-02 21:00:53 +03:00
Andrew Dolgov
409ba0db2d
- RIP smooth scrolling and associated hacks
...
- attempt to make Headlines.move() / Article.cdmMoveToId() behave a bit more intuitively
2020-05-22 21:48:03 +03:00
Andrew Dolgov
9ae9302b6b
implement keyboard-related changes discussed in https://community.tt-rss.org/t/changing-the-amount-of-scroll-by-arrow-key/3452/7
2020-05-17 08:25:51 +03:00
Andrew Dolgov
2558fcbe21
add hotkey "\" to cancel current search
2020-05-09 07:56:06 +03:00
ltGuillaume
19064864bf
Allow setting Insert (45) and Delete (46) as hotkeys
...
These are not reported via keypress either, so handle them via keydown.
2020-05-03 14:35:17 +02:00
Andrew Dolgov
a65749a512
source validationtextarea in main UI
2020-02-28 14:04:29 +03:00
Andrew Dolgov
4e74da590e
af_readability: allow get full text button to work as a toggle; in cdm, scroll to article after embedding
2020-02-28 08:03:25 +03:00
Andrew Dolgov
07b27b375f
update toggle_embed_original hotkey to invoke readability embed instead of removed embed_original plugin
2020-02-27 09:47:20 +03:00
Andrew Dolgov
4a4d7a44fa
onViewModeChanged: set view mode value as a custom body attribute
2020-01-24 16:04:12 +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
Andrew Dolgov
0a10832491
- update descriptions of changed hotkeys
...
- bind noscroll variants of move article hotkeys to n/p by default
- update N/P (i.e. scroll article content) hotkeys to scroll by fraction of viewport height instead of hardcoded pixel distance
- minor fixes w/ checking for undefined
2019-12-11 06:53:32 +03:00
Andrew Dolgov
44ef447c0f
fix fatal error in previous because of event not being passed via Headlines.move()
...
scrollbypages, etc: make event optional anyway
2019-12-09 23:23:54 +03:00
Andrew Dolgov
e7dd634183
exp: auto-disable smooth scrolling for repeat hotkey events
2019-12-09 22:42:43 +03:00
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