summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2020-05-23 08:53:18 +0300
committerAndrew Dolgov <[email protected]>2020-05-23 08:53:18 +0300
commit19893d33e35d05eb104bfc53174b9f112318d479 (patch)
tree724ccc953c80b635faf8ec35f0df9f3d1b3a187d
parentebb373987a38d6109fb235c1e0722f5fd024d4ed (diff)
only bind up/down in 3 panel mode
-rw-r--r--include/functions.php6
-rw-r--r--js/AppBase.js27
2 files changed, 22 insertions, 11 deletions
diff --git a/include/functions.php b/include/functions.php
index 8739af052..4d54f7e35 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -1098,6 +1098,8 @@
return $hotkeys;
}
+ // {3} - 3 panel mode only
+ // {C} - combined mode only
function get_hotkeys_map() {
$hotkeys = array(
"k" => "next_feed",
@@ -1108,8 +1110,8 @@
"P" => "article_page_up",
"*(33)|Shift+PgUp" => "article_page_up",
"*(34)|Shift+PgDn" => "article_page_down",
- "(38)|Up" => "prev_article_or_scroll",
- "(40)|Down" => "next_article_or_scroll",
+ "{3}(38)|Up" => "prev_article_or_scroll",
+ "{3}(40)|Down" => "next_article_or_scroll",
"*(38)|Shift+Up" => "article_scroll_up",
"*(40)|Shift+Down" => "article_scroll_down",
"^(38)|Ctrl+Up" => "prev_article_noscroll",
diff --git a/js/AppBase.js b/js/AppBase.js
index 4aa500e5b..8f9d71653 100644
--- a/js/AppBase.js
+++ b/js/AppBase.js
@@ -134,6 +134,17 @@ define(["dojo/_base/declare"], function (declare) {
}
},
+ getActionByHotkeySequence: function (sequence) {
+ const hotkeys_map = App.getInitParam("hotkeys");
+
+ for (const seq in hotkeys_map[1]) {
+ if (hotkeys_map[1].hasOwnProperty(seq)) {
+ if (seq == sequence) {
+ return hotkeys_map[1][seq];
+ }
+ }
+ }
+ },
keyeventToAction: function(event) {
const hotkeys_map = App.getInitParam("hotkeys");
@@ -177,18 +188,16 @@ define(["dojo/_base/declare"], function (declare) {
hotkey_name = keychar ? keychar : "(" + keycode + ")";
}
- const hotkey_full = this.hotkey_prefix ? this.hotkey_prefix + " " + hotkey_name : hotkey_name;
+ let hotkey_full = this.hotkey_prefix ? this.hotkey_prefix + " " + hotkey_name : hotkey_name;
this.hotkey_prefix = false;
- let action_name = false;
+ let action_name = this.getActionByHotkeySequence(hotkey_full);
- for (const sequence in hotkeys_map[1]) {
- if (hotkeys_map[1].hasOwnProperty(sequence)) {
- if (sequence == hotkey_full) {
- action_name = hotkeys_map[1][sequence];
- break;
- }
- }
+ // check for mode-specific hotkey
+ if (!action_name) {
+ hotkey_full = (App.isCombinedMode() ? "{C}" : "{3}") + hotkey_full;
+
+ action_name = this.getActionByHotkeySequence(hotkey_full);
}
console.log('keyeventToAction', hotkey_full, '=>', action_name);