]> git.wh0rd.org - tt-rss.git/blobdiff - prefs.js
interface tweaks, add info/question/exclamation pics
[tt-rss.git] / prefs.js
index c6daa6b6b6e1b8eda3a25a994647aa4797d2721c..a072ef03c70281f6385a81f6a3d4d70b6191396d 100644 (file)
--- a/prefs.js
+++ b/prefs.js
@@ -12,6 +12,8 @@ var xmlhttp = Ajax.getTransport();
 
 var init_params = new Array();
 
+var caller_subop = false;
+
 function expand_feed_callback() {
        if (xmlhttp.readyState == 4) {
                try {   
@@ -32,17 +34,13 @@ function feedlist_callback() {
                        container.innerHTML=xmlhttp.responseText;
                        selectTab("feedConfig", true);
 
-                       if (active_feed_cat) {
-                               var row = document.getElementById("FCATR-" + active_feed_cat);
-                               if (row) {
-                                       if (!row.className.match("Selected")) {
-                                               row.className = row.className + "Selected";
-                                       }               
-                               }
-                               var checkbox = document.getElementById("FCCHK-" + active_feed_cat);
-                               if (checkbox) {
-                                       checkbox.checked = true;
-                               }
+                       if (caller_subop) {
+                               var tuple = caller_subop.split(":");
+                               if (tuple[0] == 'editFeed') {
+                                       window.setTimeout('editFeed('+tuple[1]+')', 100);
+                               }                               
+
+                               caller_subop = false;
                        }
 
                        notify("");
@@ -220,7 +218,7 @@ function addFeed() {
        } else {
                notify("Adding feed...");
 
-               xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&feed_url=" +
+               xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=add&from=tt-rss&feed_url=" +
                        param_escape(link.value), true);
                xmlhttp.onreadystatechange=feedlist_callback;
                xmlhttp.send(null);
@@ -245,9 +243,9 @@ function addFeedCat() {
        } else {
                notify("Adding feed category...");
 
-               xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=addCat&cat=" +
+               xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=add&cat=" +
                        param_escape(cat.value), true);
-               xmlhttp.onreadystatechange=feedlist_callback;
+               xmlhttp.onreadystatechange=infobox_callback;
                xmlhttp.send(null);
 
                link.value = "";
@@ -365,9 +363,9 @@ function editFeedCat(cat) {
 
        active_feed_cat = cat;
 
-       xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCat&id=" +
+       xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=edit&id=" +
                param_escape(cat), true);
-       xmlhttp.onreadystatechange=feedlist_callback;
+       xmlhttp.onreadystatechange=infobox_callback;
        xmlhttp.send(null);
 
 }
@@ -549,9 +547,9 @@ function removeSelectedFeedCats() {
                if (ok) {
                        notify("Removing selected categories...");
        
-                       xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=removeCats&ids="+
+                       xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats&action=remove&ids="+
                                param_escape(sel_rows.toString()), true);
-                       xmlhttp.onreadystatechange=feedlist_callback;
+                       xmlhttp.onreadystatechange=infobox_callback;
                        xmlhttp.send(null);
                }
 
@@ -589,8 +587,8 @@ function feedCatEditCancel() {
 
 //     notify("Operation cancelled.");
 
-       xmlhttp.open("GET", "backend.php?op=pref-feeds", true);
-       xmlhttp.onreadystatechange=feedlist_callback;
+       xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats", true);
+       xmlhttp.onreadystatechange=infobox_callback;
        xmlhttp.send(null);
 
        return false;
@@ -637,7 +635,7 @@ function feedCatEditSave() {
        var query = Form.serialize("feed_cat_edit_form");
 
        xmlhttp.open("GET", "backend.php?" + query, true);
-       xmlhttp.onreadystatechange=feedlist_callback;
+       xmlhttp.onreadystatechange=infobox_callback;
        xmlhttp.send(null);
 
        active_feed_cat = false;
@@ -730,7 +728,7 @@ function labelEditSave() {
                return
        }
 
-       if (!is_opera()) {
+/*     if (!is_opera()) {
 
                var sql_exp = document.forms["label_edit_form"].sql_exp.value;
                var description = document.forms["label_edit_form"].description.value;
@@ -744,7 +742,7 @@ function labelEditSave() {
                        alert("Caption field cannot be blank.");
                        return false;
                }
-       }
+       } */
 
        closeInfoBox();
 
@@ -796,14 +794,14 @@ function filterEditSave() {
                return
        }
 
-       if (!is_opera()) {
+/*     if (!is_opera()) {
                var reg_exp = document.forms["filter_edit_form"].reg_exp.value;
        
                if (reg_exp.length == 0) {
                        alert("Filter expression field cannot be blank.");
                        return;
                }
-       }
+       } */
 
        notify("Saving filter...");
 
@@ -1123,7 +1121,7 @@ function updatePrefsList() {
 
 }
 
-function selectTab(id, noupdate) {
+function selectTab(id, noupdate, subop) {
 
 //     alert(id);
 
@@ -1136,6 +1134,11 @@ function selectTab(id, noupdate) {
                        return
                }
 
+               try {
+                       var c = document.getElementById('prefContent'); 
+                       c.scrollTop = 0;
+               } catch (e) { };
+
                if (!noupdate) {
 
                        debug("selectTab: " + id + "(NU: " + noupdate + ")");
@@ -1248,6 +1251,14 @@ function init_second_stage() {
 
                document.onkeydown = pref_hotkey_handler;
 
+               var tab = getURLParam('tab');
+               
+               caller_subop = getURLParam('subop');
+
+               if (tab) {
+                       active_tab = tab;
+               }
+
                if (navigator.userAgent.match("Opera")) {       
                        setTimeout("selectTab()", 500);
                } else {
@@ -1435,7 +1446,7 @@ function selectPrefRows(kind, select) {
                } else if (kind == "fcat") {
                        opbarid = "catOpToolbar";
                        nrow = "FCATR-";
-                       nchk = "FCHK-";
+                       nchk = "FCCHK-";
                        lname = "prefFeedCatList";
                } else if (kind == "filter") {
                        opbarid = "filterOpToolbar";
@@ -1537,4 +1548,25 @@ function pref_hotkey_handler(e) {
        }
 }
 
+function userSwitch() {
+       var chooser = document.getElementById("userSwitch");
+       var user = chooser[chooser.selectedIndex].value;
+       window.location = "prefs.php?swu=" + user;
+}
+
+function editFeedCats() {
+       if (!xmlhttp_ready(xmlhttp)) {
+               printLockingError();
+               return
+       }
+
+       xmlhttp.open("GET", "backend.php?op=pref-feeds&subop=editCats", true);
+       xmlhttp.onreadystatechange=infobox_callback;
+       xmlhttp.send(null);
+}
+
+function showFeedsWithErrors() {
+       displayDlg('feedUpdateErrors');
+}
+