diff options
Diffstat (limited to 'js')
| -rw-r--r-- | js/PrefFilterTree.js | 8 | ||||
| -rw-r--r-- | js/PrefLabelTree.js | 4 | ||||
| -rw-r--r-- | js/functions.js | 6 | ||||
| -rw-r--r-- | js/prefs.js | 19 | ||||
| -rw-r--r-- | js/tt-rss.js | 7 | ||||
| -rw-r--r-- | js/viewfeed.js | 57 |
6 files changed, 63 insertions, 38 deletions
diff --git a/js/PrefFilterTree.js b/js/PrefFilterTree.js index 4e49075bd..d9391c135 100644 --- a/js/PrefFilterTree.js +++ b/js/PrefFilterTree.js @@ -32,6 +32,14 @@ dojo.declare("fox.PrefFilterTree", lib.CheckBoxTree, { dojo.place(param, tnode.rowNode, 'first'); } + if (this.model.store.getValue(args.item, 'id') != 'root') { + var img = dojo.doc.createElement('img'); + img.src ='images/filter.png'; + img.className = 'markedPic'; + tnode._filterIconNode = img; + dojo.place(tnode._filterIconNode, tnode.labelNode, 'before'); + } + return tnode; }, diff --git a/js/PrefLabelTree.js b/js/PrefLabelTree.js index 05a0c15b6..2f7dc0f53 100644 --- a/js/PrefLabelTree.js +++ b/js/PrefLabelTree.js @@ -22,7 +22,7 @@ dojo.declare("fox.PrefLabelTree", lib.CheckBoxTree, { if (type == 'label') { var span = dojo.doc.createElement('span'); span.innerHTML = 'α'; - span.className = 'labelColorIndicator2'; + span.className = 'labelColorIndicator'; span.id = 'LICID-' + bare_id; span.setStyle({ @@ -38,6 +38,6 @@ dojo.declare("fox.PrefLabelTree", lib.CheckBoxTree, { }, getIconClass: function (item, opened) { return (!item || this.model.mayHaveChildren(item)) ? (opened ? "dijitFolderOpened" : "dijitFolderClosed") : "invisible"; - }, + }, }); diff --git a/js/functions.js b/js/functions.js index 8691c1ee5..c75fb95cb 100644 --- a/js/functions.js +++ b/js/functions.js @@ -226,13 +226,13 @@ function notify_real(msg, no_hide, n_type) { no_hide = true; } else if (n_type == 3) { n.className = "notify error"; - msg = "<span><img src='images/sign_excl.svg'></span>" + msg; + msg = "<span><img src='images/alert.png'></span>" + msg; } else if (n_type == 4) { n.className = "notify info"; - msg = "<span><img src='images/sign_info.svg'></span>" + msg; + msg = "<span><img src='images/information.png'></span>" + msg; } - msg += " <span><img src=\"images/close_notify.svg\" class=\"close\" title=\"" + + msg += " <span><img src=\"images/cross.png\" class=\"close\" title=\"" + __("Click to close") + "\" onclick=\"notify('')\"></span>"; // msg = "<img src='images/live_com_loading.gif'> " + msg; diff --git a/js/prefs.js b/js/prefs.js index 287804c6f..67a4a378c 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -1529,25 +1529,6 @@ function clearFeedAccessKeys() { return false; } -function clearArticleAccessKeys() { - - var ok = confirm(__("This will invalidate all previously shared article URLs. Continue?")); - - if (ok) { - notify_progress("Clearing URLs..."); - - var query = "?op=rpc&method=clearArticleKeys"; - - new Ajax.Request("backend.php", { - parameters: query, - onComplete: function(transport) { - notify_info("Shared URLs cleared."); - } }); - } - - return false; -} - function resetFilterOrder() { try { notify_progress("Loading, please wait..."); diff --git a/js/tt-rss.js b/js/tt-rss.js index a1d7d6411..46e282351 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -847,11 +847,16 @@ function hotkey_handler(e) { var keycode = false; var shift_key = false; + var ctrl_key = false; + var alt_key = false; + var meta_key = false; var cmdline = $('cmdline'); shift_key = e.shiftKey; ctrl_key = e.ctrlKey; + alt_key = e.altKey; + meta_key = e.metaKey; if (window.event) { keycode = window.event.keyCode; @@ -893,6 +898,8 @@ function hotkey_handler(e) { // ensure ^*char notation if (shift_key) hotkey = "*" + hotkey; if (ctrl_key) hotkey = "^" + hotkey; + if (alt_key) hotkey = "+" + hotkey; + if (meta_key) hotkey = "%" + hotkey; hotkey = hotkey_prefix ? hotkey_prefix + " " + hotkey : hotkey; hotkey_prefix = false; diff --git a/js/viewfeed.js b/js/viewfeed.js index 5875a9e48..1785fe3f5 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -1274,6 +1274,7 @@ function headlines_scroll_handler(e) { // set topmost child in the buffer as active if (getInitParam("cdm_auto_catchup") == 1 && + getSelectedArticleIds2().length <= 1 && (!isCdmMode() || getInitParam("cdm_expanded"))) { var rows = $$("#headlines-frame > div[id*=RROW]"); @@ -1314,7 +1315,7 @@ function headlines_scroll_handler(e) { if (hsp) hsp.innerHTML = ""; } - if (getInitParam("cdm_expanded") && isCdmMode()) { + if (isCdmMode()) { updateFloatingTitle(); } @@ -1488,6 +1489,12 @@ function cdmCollapseArticle(event, id, unmark) { if (event) Event.stop(event); PluginHost.run(PluginHost.HOOK_ARTICLE_COLLAPSED, id); + + if (row.offsetTop < $("headlines-frame").scrollTop) + scrollToRowId(row.id); + + Element.hide("floatingTitle"); + $("floatingTitle").setAttribute("rowid", false); } } catch (e) { @@ -2214,27 +2221,49 @@ function openSelectedAttachment(elem) { } } +function scrollToRowId(id) { + try { + var row = $(id); + + if (row) + $("headlines-frame").scrollTop = row.offsetTop; + + } catch (e) { + exception_error("scrollToRowId", e); + } +} + function updateFloatingTitle() { try { var hf = $("headlines-frame"); - var child = $("RROW-" + _active_article_id); - if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) { + var elems = $$("#headlines-frame > div[id*=RROW]"); - var header = child.getElementsByClassName("cdmHeader")[0]; + for (var i = 0; i < elems.length; i++) { - if (child.id != $("floatingTitle").getAttribute("rowid")) { - $("floatingTitle").setAttribute("rowid", child.id); - $("floatingTitle").innerHTML = header.innerHTML; + var child = elems[i]; - PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); - } + if (child && child.offsetTop + child.offsetHeight > hf.scrollTop) { - if (child.offsetTop < hf.scrollTop - header.offsetHeight - 100 && - child.offsetTop + child.offsetHeight - hf.scrollTop > 100) - Element.show("floatingTitle"); - else - Element.hide("floatingTitle"); + var header = child.getElementsByClassName("cdmHeader")[0]; + + if (child.id != $("floatingTitle").getAttribute("rowid")) { + $("floatingTitle").setAttribute("rowid", child.id); + $("floatingTitle").innerHTML = header.innerHTML; + $("floatingTitle").firstChild.innerHTML = "<img class='anchor markedPic' src='images/page_white_go.png' onclick=\"scrollToRowId('"+child.id+"')\">" + $("floatingTitle").firstChild.innerHTML; + + PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); + } + + if (child.offsetTop < hf.scrollTop - header.offsetHeight && + child.offsetTop + child.offsetHeight - hf.scrollTop > header.offsetHeight) + Element.show("floatingTitle"); + else + Element.hide("floatingTitle"); + + return; + + } } } catch (e) { |