properly select next unread feed in feedlist when catching up

This commit is contained in:
Andrew Dolgov 2009-01-23 15:20:36 +01:00
parent 5c432ba490
commit e8a429e3f8
4 changed files with 104 additions and 15 deletions

View file

@ -16,7 +16,43 @@ function is_opera() {
return window.opera;
}
function exception_error_ext(location, e, ext_info) {
var msg = format_exception_error(location, e);
var ebc = document.getElementById("xebContent");
disableHotkeys();
if (ebc) {
Element.show("dialog_overlay");
Element.show("extendedErrorBox");
if (ext_info) {
if (ext_info.responseText) {
ext_info = ext_info.responseText;
}
}
ebc.innerHTML =
"<div><b>Error message:</b></div>" +
"<pre>" + msg + "</pre>" +
"<div><b>Additional information:</b></div>" +
"<textarea readonly=\"1\">" + ext_info + "</textarea>";
} else {
alert(msg);
}
}
function exception_error(location, e, silent) {
var msg = format_exception_error(location, e);
if (!silent) {
alert(msg);
}
}
function format_exception_error(location, e) {
var msg;
if (e.fileName) {
@ -34,11 +70,10 @@ function exception_error(location, e, silent) {
debug("<b>EXCEPTION: " + msg + "</b>");
if (!silent) {
alert(msg);
}
return msg;
}
function disableHotkeys() {
hotkeys_enabled = false;
}
@ -1243,22 +1278,33 @@ function leading_zero(p) {
return s;
}
function closeInfoBox(cleanup) {
function closeErrorBox() {
Element.hide("dialog_overlay");
if (Element.visible("extendedErrorBox")) {
Element.hide("dialog_overlay");
Element.hide("extendedErrorBox");
var box = document.getElementById('infoBox');
var shadow = document.getElementById('infoBoxShadow');
if (shadow) {
shadow.style.display = "none";
} else if (box) {
box.style.display = "none";
enableHotkeys();
}
if (cleanup) box.innerHTML = "&nbsp;";
return false;
}
enableHotkeys();
function closeInfoBox(cleanup) {
if (Element.visible("infoBoxShadow")) {
Element.hide("dialog_overlay");
var shadow = document.getElementById('infoBoxShadow');
var box = document.getElementById('infoBoxShadow');
Element.hide(shadow);
if (cleanup) box.innerHTML = "&nbsp;";
enableHotkeys();
}
return false;
}

View file

@ -2083,3 +2083,38 @@ ul#headlineActionsBody li.insensitive:hover {
cursor : normal;
color : gray;
}
div#extendedErrorBox {
left : 25%;
top : 70px;
width : 50%;
z-index : 999;
position : absolute;
min-width : 600px;
background-color : #ffcccc;
border : 1px solid #ff0000;
font-size : 12px;
}
div#extendedErrorBox div#xebTitle {
background-color : #ff0000;
color : white;
padding : 4px 2px 4px 10px;
color : white;
font-weight : bold;
font-size : 12px;
}
div#extendedErrorBox div#xebContent {
font-size : 12px;
padding : 10px;
}
div#extendedErrorBox textarea {
width : 100%;
height : 200px;
}
div#extendedErrorBox input {
margin-bottom : 10px;
}

View file

@ -51,6 +51,14 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<div id="extendedErrorBox" style="display : none">
<div id="xebTitle">Fatal Exception</div>
<div id="xebContent">&nbsp;</div>
<div align='center'>
<input type="submit" onclick="closeErrorBox()" value="Close this window"/>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
if (navigator.userAgent.match("Opera")) {

View file

@ -234,7 +234,7 @@ function headlines_callback2(transport, feed_cur_page) {
remove_splash();
} catch (e) {
exception_error("headlines_callback2", e);
exception_error_ext("headlines_callback2", e, transport);
}
}