summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/PrefFilterTree.js8
-rw-r--r--js/PrefLabelTree.js4
-rw-r--r--js/functions.js6
-rw-r--r--js/prefs.js19
-rw-r--r--js/tt-rss.js7
-rw-r--r--js/viewfeed.js57
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) {