aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2019-04-02 22:46:56 +0200
committerGravatar GitHub <noreply@github.com> 2019-04-02 22:46:56 +0200
commit8599dc29a17da3bdb7fdb264cadc0944f44d9eaf (patch)
tree29b3b44a42e9c96240e183d8216c3a0ae6335446
parent4599d171df48b16eb6f985291c47c97c1ae5dd01 (diff)
Fix control click (#2330)
https://github.com/FreshRSS/FreshRSS/issues/2310
-rw-r--r--p/scripts/main.js31
1 files changed, 19 insertions, 12 deletions
diff --git a/p/scripts/main.js b/p/scripts/main.js
index 04bf50c81..e8b5dbd4f 100644
--- a/p/scripts/main.js
+++ b/p/scripts/main.js
@@ -891,21 +891,28 @@ function init_stream(stream) {
}
};
- stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click
+ stream.onmouseup = function (ev) { // Mouseup enables us to catch middle click, and control+click in IE/Edge
+ if (ev.altKey || ev.metaKey || ev.shiftKey) {
+ return;
+ }
+
let el = ev.target.closest('.item.title > a');
if (el) {
- if (ev.ctrlKey) {
- return; // CTRL+click, it will be manage by previous rule.
- }
- if (ev.which == 2) {
- // If middle click, we want same behaviour as CTRL+click.
- const evc = document.createEvent('click');
- evc.ctrlKey = true;
- el.dispatchEvent(evc);
- } else if (ev.which == 1) {
- // Normal click, just toggle article.
- el.parentElement.click();
+ if (ev.which == 1) {
+ if (ev.ctrlKey) { //Control+click
+ if (context.auto_mark_site) {
+ mark_read(el.closest('.flux'), true);
+ }
+ } else {
+ el.parentElement.click(); //Normal click, just toggle article.
+ }
+ } else if (ev.which == 2 && !ev.ctrlKey) { //Simple middle click: same behaviour as CTRL+click
+ if (context.auto_mark_article) {
+ const new_active = el.closest('.flux');
+ mark_read(new_active, true);
+ }
}
+ return;
}
if (context.auto_mark_site) {