diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index b90fd5848..bb854553d 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -1208,7 +1208,7 @@ class Pref_Feeds extends Handler_Protected { print '
'; - print "
"; #toolbar + print "
"; #toolbar print "
execute([$_SESSION['uid']]); - print "
"; + print "
"; print "
". "" . __('Select').""; print "
"; @@ -1506,7 +1506,7 @@ class Pref_Feeds extends Handler_Protected { FROM ttrss_feeds WHERE last_error != '' AND owner_uid = ?"); $sth->execute([$_SESSION['uid']]); - print "
"; + print "
"; print "
". "" . __('Select').""; print "
"; diff --git a/classes/pref/filters.php b/classes/pref/filters.php index 37a7236ee..9663bfdd0 100755 --- a/classes/pref/filters.php +++ b/classes/pref/filters.php @@ -354,7 +354,7 @@ class Pref_Filters extends Handler_Protected { print "
".__("Match")."
"; print "
"; - print "
"; + print "
"; print "
". "" . __('Select').""; @@ -414,7 +414,7 @@ class Pref_Filters extends Handler_Protected { print "
"; - print "
"; + print "
"; print "
". "" . __('Select').""; @@ -757,7 +757,7 @@ class Pref_Filters extends Handler_Protected { print "
"; print "
"; - print "
"; + print "
"; if (array_key_exists("search", $_REQUEST)) { $_SESSION["prefs_filter_search"] = $filter_search; @@ -856,7 +856,7 @@ class Pref_Filters extends Handler_Protected { print "
".__("Match")."
"; print "
"; - print "
"; + print "
"; print "
". "" . __('Select').""; @@ -885,7 +885,7 @@ class Pref_Filters extends Handler_Protected { print "
"; - print "
"; + print "
"; print "
". "" . __('Select').""; diff --git a/classes/pref/labels.php b/classes/pref/labels.php index 5dadddab4..90cb32214 100644 --- a/classes/pref/labels.php +++ b/classes/pref/labels.php @@ -251,7 +251,7 @@ class Pref_Labels extends Handler_Protected { print "
"; print "
"; - print "
"; + print "
"; print "
". "" . __('Select').""; diff --git a/classes/pref/prefs.php b/classes/pref/prefs.php index d75b47f87..fbc7f000a 100644 --- a/classes/pref/prefs.php +++ b/classes/pref/prefs.php @@ -1021,7 +1021,7 @@ class Pref_Prefs extends Handler_Protected { } function editPrefProfiles() { - print "
"; + print "
"; print "
". "" . __('Select').""; diff --git a/classes/pref/users.php b/classes/pref/users.php index 7b75bb872..12be1207f 100644 --- a/classes/pref/users.php +++ b/classes/pref/users.php @@ -313,7 +313,7 @@ class Pref_Users extends Handler_Protected { print "
"; print "
"; - print "
"; + print "
"; $user_search = trim(clean($_REQUEST["search"])); diff --git a/index.php b/index.php index c35b3d5c6..3a2029289 100644 --- a/index.php +++ b/index.php @@ -145,7 +145,7 @@
-
+
diff --git a/js/FeedTree.js b/js/FeedTree.js index 976848d28..99685a781 100755 --- a/js/FeedTree.js +++ b/js/FeedTree.js @@ -2,7 +2,10 @@ define(["dojo/_base/declare", "dojo/dom-construct", "dijit/Tree", "dijit/Menu"], function (declare, domConstruct) { return declare("fox.FeedTree", dijit.Tree, { - _onKeyPress: function(/* Event */ e) { + _onContainerKeydown: function(/* Event */ e) { + return; // Stop dijit.Tree from interpreting keystrokes + }, + _onContainerKeypress: function(/* Event */ e) { return; // Stop dijit.Tree from interpreting keystrokes }, _createTreeNode: function(args) { diff --git a/js/Toolbar.js b/js/Toolbar.js new file mode 100755 index 000000000..6d2c20058 --- /dev/null +++ b/js/Toolbar.js @@ -0,0 +1,14 @@ +/* global dijit */ +define(["dojo/_base/declare", "dijit/Toolbar"], function (declare) { + return declare("fox.Toolbar", dijit.Toolbar, { + _onContainerKeydown: function(/* Event */ e) { + return; // Stop dijit.Toolbar from interpreting keystrokes + }, + _onContainerKeypress: function(/* Event */ e) { + return; // Stop dijit.Toolbar from interpreting keystrokes + }, + focus: function() { + return; // Stop dijit.Toolbar from focusing the first child on click + }, + }); +}); diff --git a/js/prefs.js b/js/prefs.js index ae6286330..69b7899ec 100755 --- a/js/prefs.js +++ b/js/prefs.js @@ -53,7 +53,8 @@ require(["dojo/_base/kernel", "fox/PrefFilterStore", "fox/PrefFeedTree", "fox/PrefFilterTree", - "fox/PrefLabelTree"], function (dojo, declare, ready, parser, AppBase) { + "fox/PrefLabelTree", + "fox/Toolbar"], function (dojo, declare, ready, parser, AppBase) { ready(function () { try { @@ -118,6 +119,10 @@ require(["dojo/_base/kernel", hotkeyHandler: function (event) { if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") return; + // Arrow buttons and escape are not reported via keypress, handle them via keydown. + // escape = 27, left = 37, up = 38, right = 39, down = 40 + if (event.type == "keydown" && event.which != 27 && (event.which < 37 || event.which > 40)) return; + const action_name = App.keyeventToAction(event); if (action_name) { diff --git a/js/tt-rss.js b/js/tt-rss.js index eaedecd22..5db742f07 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -54,7 +54,8 @@ require(["dojo/_base/kernel", "fox/Headlines", "fox/Article", "fox/FeedStoreModel", - "fox/FeedTree"], function (dojo, declare, ready, parser, AppBase) { + "fox/FeedTree", + "fox/Toolbar"], function (dojo, declare, ready, parser, AppBase) { ready(function () { try { @@ -203,7 +204,7 @@ require(["dojo/_base/kernel", isCombinedMode: function() { return App.getInitParam("combined_display_mode"); }, - hotkeyHandler(event) { + hotkeyHandler: function(event) { if (event.target.nodeName == "INPUT" || event.target.nodeName == "TEXTAREA") return; // Arrow buttons and escape are not reported via keypress, handle them via keydown.