display special dialog when new articles are available in the current feed instead of reloading it

This commit is contained in:
Andrew Dolgov 2009-10-13 19:05:36 +04:00
parent f4280bdd13
commit 37e93d6cca
4 changed files with 42 additions and 2 deletions

View File

@ -157,7 +157,7 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
} }
enableHotkeys(); enableHotkeys();
hideAuxDlg();
closeInfoBox(); closeInfoBox();
Form.enable("main_toolbar_form"); Form.enable("main_toolbar_form");

View File

@ -532,7 +532,7 @@ function parse_counters(reply, scheduled_call) {
if (feedctr && feedu && feedr) { if (feedctr && feedu && feedr) {
if (feedu.innerHTML != ctr && id == getActiveFeedId() && scheduled_call) { if (feedu.innerHTML != ctr && id == getActiveFeedId() && scheduled_call) {
viewCurrentFeed(); displayNewContentPrompt(id);
} }
var row_needs_hl = (ctr > 0 && ctr > parseInt(feedu.innerHTML)); var row_needs_hl = (ctr > 0 && ctr > parseInt(feedu.innerHTML));
@ -2194,4 +2194,25 @@ function hotkey_prefix_timeout() {
} }
} }
function hideAuxDlg() {
try {
Element.hide('auxDlg');
} catch (e) {
exception_error("hideAuxDlg", e);
}
}
function displayNewContentPrompt(id) {
try {
var msg = __("New articles in &laquo;%s&raquo;. <a href='#' onclick='viewCurrentFeed()'>Click to view</a>.");
msg = msg.replace("%s", getFeedName(id));
$('auxDlg').innerHTML = msg;
Element.show('auxDlg');
} catch (e) {
exception_error("displayNewContentPrompt", e);
}
}

View File

@ -2238,3 +2238,21 @@ div#cmdline {
height : 18px; height : 18px;
width : 18px; width : 18px;
} }
div#auxDlg {
position : absolute;
z-index : 3;
bottom : 10px;
right : 10px;
padding : 5px;
border-width : 1px;
border-style : solid;
border-color : #d7c47a;
background-color : #fff7d5;
color : black;
text-align : center;
}
div#auxDlg a {
color : #4684ff;
}

View File

@ -105,6 +105,7 @@ window.onload = init;
<div id="infoBoxShadow" style="display : none"><div id="infoBox">&nbsp;</div></div> <div id="infoBoxShadow" style="display : none"><div id="infoBox">&nbsp;</div></div>
<div id="cmdline" style="display : none"></div> <div id="cmdline" style="display : none"></div>
<div id="auxDlg" style="zdisplay : none"></div>
<div id="errorBoxShadow" style="display : none"> <div id="errorBoxShadow" style="display : none">
<div id="errorBox"> <div id="errorBox">