]> git.wh0rd.org - tt-rss.git/commitdiff
properly select next unread feed in feedlist when catching up
authorAndrew Dolgov <fox@bah.spb.su>
Fri, 23 Jan 2009 14:20:36 +0000 (15:20 +0100)
committerAndrew Dolgov <fox@bah.spb.su>
Fri, 23 Jan 2009 14:20:36 +0000 (15:20 +0100)
functions.js
tt-rss.css
tt-rss.php
viewfeed.js

index cb38ff37d8f37b18be4de64a0ce8e40c3999463e..ebf9232e54aa9dfc9943cb3b2989ffb40bd392ab 100644 (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) {
-
-       Element.hide("dialog_overlay");
+function closeErrorBox() {
 
-       var box = document.getElementById('infoBox');
-       var shadow = document.getElementById('infoBoxShadow');
+       if (Element.visible("extendedErrorBox")) {
+               Element.hide("dialog_overlay");
+       
+               Element.hide("extendedErrorBox");
 
-       if (shadow) {
-               shadow.style.display = "none";
-       } else if (box) {
-               box.style.display = "none";
+               enableHotkeys();
        }
 
-       if (cleanup) box.innerHTML = "&nbsp;";
+       return false;
+}
+
+function closeInfoBox(cleanup) {
 
-       enableHotkeys();
+       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;
 }
index 26c2729c6a736cd9b3da7141ed6a5958054e0428..96502b5603763011d3cbd8ae5a6be589529bc8b9 100644 (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;
+}
index f56c143104237e6794a44525751590afeac22c94..8f1dadd9e8349d929b2b4a0d440562599fd62111 100644 (file)
 
        <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")) {
index 513350497460f0de0ad8f1e5564129d560600dab..489a014d6125f2bdc50e5cbb805f754a780a0238 100644 (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);
        }
 }