unify frontend hotkey handlers
This commit is contained in:
parent
772bc83b8d
commit
ee1f45f4c7
34
feedlist.js
34
feedlist.js
|
@ -130,40 +130,6 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) {
|
|||
}
|
||||
}
|
||||
|
||||
function localHotkeyHandler(keycode) {
|
||||
|
||||
if (keycode == 65) { // a
|
||||
return parent.toggleDispRead();
|
||||
}
|
||||
|
||||
if (keycode == 85) { // u
|
||||
if (parent.getActiveFeedId()) {
|
||||
return viewfeed(parent.getActiveFeedId(), 0, "ForceUpdate");
|
||||
}
|
||||
}
|
||||
|
||||
if (keycode == 82) { // r
|
||||
return parent.scheduleFeedUpdate(true);
|
||||
}
|
||||
|
||||
var feedlist = document.getElementById('feedList');
|
||||
|
||||
if (keycode == 74) { // j
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'prev');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
if (keycode == 75) { // k
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'next');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
// alert("KC: " + keycode);
|
||||
|
||||
}
|
||||
|
||||
function toggleCollapseCat(cat) {
|
||||
try {
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
|
|
61
functions.js
61
functions.js
|
@ -14,10 +14,13 @@ function exception_error(location, e) {
|
|||
msg = "Exception: " + e.name + ", " + e.message +
|
||||
"\nFunction: " + location + "()" +
|
||||
"\nLocation: " + base_fname + ":" + e.lineNumber;
|
||||
|
||||
} else {
|
||||
msg = "Exception: " + e + "\nFunction: " + location + "()";
|
||||
}
|
||||
|
||||
debug("<b>EXCEPTION: " + msg + "</b>");
|
||||
|
||||
alert(msg);
|
||||
}
|
||||
|
||||
|
@ -148,6 +151,8 @@ var seq = "";
|
|||
|
||||
function hotkey_handler(e) {
|
||||
|
||||
try {
|
||||
|
||||
var keycode;
|
||||
|
||||
if (!hotkeys_enabled) return;
|
||||
|
@ -164,6 +169,47 @@ function hotkey_handler(e) {
|
|||
seq = seq + "" + keycode;
|
||||
}
|
||||
|
||||
var m_ctx = getMainContext();
|
||||
var f_ctx = getFeedsContext();
|
||||
var h_ctx = getHeadlinesContext();
|
||||
|
||||
if (keycode == 82) { // r
|
||||
return m_ctx.scheduleFeedUpdate(true);
|
||||
}
|
||||
|
||||
if (keycode == 85) { // u
|
||||
if (getActiveFeedId()) {
|
||||
return f_ctx.viewfeed(getActiveFeedId(), 0, "ForceUpdate");
|
||||
}
|
||||
}
|
||||
|
||||
if (keycode == 65) { // a
|
||||
return m_ctx.toggleDispRead();
|
||||
}
|
||||
|
||||
var f_doc = m_ctx.frames["feeds-frame"].document;
|
||||
var feedlist = f_doc.getElementById('feedList');
|
||||
|
||||
if (keycode == 74) { // j
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'prev');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
if (keycode == 75) { // k
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'next');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
if (keycode == 78 || keycode == 40) { // n, down
|
||||
return h_ctx.moveToPost('next');
|
||||
}
|
||||
|
||||
if (keycode == 80 || keycode == 38) { // p, up
|
||||
return h_ctx.moveToPost('prev');
|
||||
}
|
||||
|
||||
if (document.getElementById("piggie")) {
|
||||
|
||||
if (seq.match("807371717369")) {
|
||||
|
@ -177,13 +223,15 @@ function hotkey_handler(e) {
|
|||
if (typeof localHotkeyHandler != 'undefined') {
|
||||
try {
|
||||
localHotkeyHandler(keycode);
|
||||
} catch (e) {
|
||||
exception_error("hotkey_handler, local:", e);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
exception_error("hotkey_handler", e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function cleanSelectedList(element) {
|
||||
var content = document.getElementById(element);
|
||||
|
||||
|
@ -1070,6 +1118,15 @@ function getFeedsContext() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
function getHeadlinesContext() {
|
||||
try {
|
||||
return getMainContext().frames["headlines-frame"];
|
||||
} catch (e) {
|
||||
exception_error("getHeadlinesContext", e);
|
||||
}
|
||||
}
|
||||
|
||||
function debug(msg) {
|
||||
var ctx = getMainContext();
|
||||
|
||||
|
|
35
tt-rss.js
35
tt-rss.js
|
@ -288,41 +288,6 @@ function localPiggieFunction(enable) {
|
|||
}
|
||||
}
|
||||
|
||||
function localHotkeyHandler(keycode) {
|
||||
|
||||
if (keycode == 82) { // r
|
||||
return scheduleFeedUpdate(true);
|
||||
}
|
||||
|
||||
if (keycode == 85) { // u
|
||||
if (getActiveFeedId()) {
|
||||
return viewfeed(getActiveFeedId(), 0, "ForceUpdate");
|
||||
}
|
||||
}
|
||||
|
||||
if (keycode == 65) { // a
|
||||
return toggleDispRead();
|
||||
}
|
||||
|
||||
var f_doc = window.frames["feeds-frame"].document;
|
||||
var feedlist = f_doc.getElementById('feedList');
|
||||
|
||||
if (keycode == 74) { // j
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'prev');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
if (keycode == 75) { // k
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'next');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
// notify("KC: " + keycode);
|
||||
|
||||
}
|
||||
|
||||
// if argument is undefined, current subtitle is not updated
|
||||
// use blank string to clear subtitle
|
||||
function updateTitle(s) {
|
||||
|
|
66
viewfeed.js
66
viewfeed.js
|
@ -23,21 +23,22 @@ if (!xmlhttp_rpc && typeof XMLHttpRequest!='undefined') {
|
|||
|
||||
function view(id, feed_id) {
|
||||
|
||||
parent.debug("loading article: " + id + "/" + feed_id);
|
||||
try {
|
||||
|
||||
var f_document = parent.frames["feeds-frame"].document;
|
||||
var h_document = document;
|
||||
debug("loading article: " + id + "/" + feed_id);
|
||||
|
||||
var f_document = getFeedsContext().document;
|
||||
var m_document = parent.document;
|
||||
|
||||
enableHotkeys();
|
||||
|
||||
var crow = h_document.getElementById("RROW-" + id);
|
||||
var crow = document.getElementById("RROW-" + id);
|
||||
|
||||
crow.className = crow.className.replace("Unread", "");
|
||||
|
||||
cleanSelected("headlinesList");
|
||||
|
||||
var upd_img_pic = h_document.getElementById("FUPDPIC-" + id);
|
||||
var upd_img_pic = document.getElementById("FUPDPIC-" + id);
|
||||
|
||||
if (upd_img_pic) {
|
||||
upd_img_pic.src = "images/blank_icon.gif";
|
||||
|
@ -54,6 +55,9 @@ function view(id, feed_id) {
|
|||
selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false);
|
||||
markHeadline(active_post_id);
|
||||
|
||||
} catch (e) {
|
||||
exception_error("view", e);
|
||||
}
|
||||
}
|
||||
|
||||
function toggleMark(id) {
|
||||
|
@ -155,58 +159,6 @@ function viewfeed(id) {
|
|||
f.viewfeed(id, 0);
|
||||
}
|
||||
|
||||
function localHotkeyHandler(keycode) {
|
||||
|
||||
if (keycode == 78 || keycode == 40) { // n, down
|
||||
return moveToPost('next');
|
||||
}
|
||||
|
||||
if (keycode == 80 || keycode == 38) { // p, up
|
||||
return moveToPost('prev');
|
||||
}
|
||||
|
||||
if (keycode == 65) { // a
|
||||
return parent.toggleDispRead();
|
||||
}
|
||||
|
||||
if (keycode == 85) { // u
|
||||
if (parent.getActiveFeedId()) {
|
||||
return parent.viewfeed(parent.getActiveFeedId(), 0, "ForceUpdate");
|
||||
}
|
||||
}
|
||||
|
||||
if (keycode == 82) { // r
|
||||
return parent.scheduleFeedUpdate(true);
|
||||
}
|
||||
|
||||
var f_doc = parent.frames["feeds-frame"].document;
|
||||
var feedlist = f_doc.getElementById('feedList');
|
||||
|
||||
if (keycode == 74) { // j
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'prev');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
if (keycode == 75) { // k
|
||||
var feed = getActiveFeedId();
|
||||
var new_feed = getRelativeFeedId(feedlist, feed, 'next');
|
||||
if (new_feed) viewfeed(new_feed, 0, '');
|
||||
}
|
||||
|
||||
// FIXME
|
||||
// if (keycode == 85) {
|
||||
// return viewfeed(active_feed_id, active_offset, "ForceUpdate");
|
||||
// }
|
||||
|
||||
if (keycode == 83) { // s
|
||||
selectionToggleMarked();
|
||||
}
|
||||
|
||||
// alert("KC: " + keycode);
|
||||
|
||||
}
|
||||
|
||||
function toggleUnread(id, cmode) {
|
||||
try {
|
||||
if (!xmlhttp_ready(xmlhttp_rpc)) {
|
||||
|
|
Loading…
Reference in New Issue