]> git.wh0rd.org - tt-rss.git/commitdiff
rework feed-prefs ops toolbar
authorAndrew Dolgov <fox@madoka.spb.ru>
Thu, 18 Oct 2007 04:51:29 +0000 (05:51 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Thu, 18 Oct 2007 04:51:29 +0000 (05:51 +0100)
functions.js
modules/pref-feeds.php
prefs.js
tt-rss.js
tt-rss.php

index 0211d2f56ffd7a187b88e48082c16bbbc0b57f21..dab019c7108e77f941493106ced29594815a6cc0 100644 (file)
@@ -1716,3 +1716,5 @@ function getSelectedArticleIds2() {
 
        return ids;
 }
+
+
index 6df9804b229e44172f27dea3830a45436c1162ee..b8671c4ee22b018b2c57375a2249e16b83547264 100644 (file)
                        print "</table>";
 
                        print "<p><span id=\"feedOpToolbar\">";
-       
-                       print "<input type=\"submit\" class=\"button\" disabled=\"true\"
+
+                       print "<select id=\"feedActionChooser\" onchange=\"feedActionChange()\">
+                               <option value=\"facDefault\" selected>".__('Actions...')."</option>
+                               <option disabled>--------</option>
+                               <option style=\"color : #5050aa\" disabled>".__('Selection:')."</option>
+                               <option value=\"facEdit\">&nbsp;&nbsp;".__('Edit')."</option>
+                               <option value=\"facPurge\">&nbsp;&nbsp;".__('Purge')."</option>
+                               <option value=\"facClear\">&nbsp;&nbsp;".__('Clear feed data')."</option>
+                               <option value=\"facUnsubscribe\">&nbsp;&nbsp;".__('Unsubscribe')."</option>";
+
+                               if (get_pref($link, 'ENABLE_FEED_CATS')) {
+
+                                       print "<option disabled>--------</option>
+                                       <option style=\"color : #5050aa\" disabled>".__('Other:')."</option>
+                                       <option value=\"facEditCats\">&nbsp;&nbsp;".__('Edit categories')."
+                                       </option>";
+                               }
+
+                               print "</select>";
+
+                       /* print "<input type=\"submit\" class=\"button\" disabled=\"true\"
                                onclick=\"javascript:editSelectedFeed()\" value=\"".__('Edit')."\">
                        <input type=\"submit\" class=\"button\" disabled=\"true\"
                                onclick=\"javascript:removeSelectedFeeds()\" 
-                               value=\"".__('Unsubscribe')."\">";
+                               value=\"".__('Unsubscribe')."\">"; */
 
                        if (get_pref($link, 'ENABLE_FEED_CATS')) {
 
-                               print "&nbsp;|&nbsp;";                          
+                               print "&nbsp;|&nbsp;" . __('Selection:');                               
 
                                print_feed_cat_select($link, "sfeed_set_fcat", "", "disabled");
 
 
                        if (get_pref($link, 'ENABLE_FEED_CATS')) {
 
-                               print " <input type=\"submit\" class=\"button\"
+/*                             print " <input type=\"submit\" class=\"button\"
                                        onclick=\"javascript:editFeedCats()\" value=\"".
-                                       __("Edit categories")."\">";
+                                       __("Edit categories")."\">"; */
 
 #                              print "&nbsp;|&nbsp;";                          
 
index ac07e8f048741bf27d4b8d2fdc1eac87adb96453..3d95f01c3f840bf1884d2e3618e3e61cb8712729 100644 (file)
--- a/prefs.js
+++ b/prefs.js
@@ -668,6 +668,38 @@ function removeSelectedFeeds() {
        return false;
 }
 
+function clearSelectedFeeds() {
+
+       if (!xmlhttp_ready(xmlhttp)) {
+               printLockingError();
+               return
+       }
+
+       var sel_rows = getSelectedFeeds();
+
+       if (sel_rows.length > 1) {
+               alert(__("Please select only one feed."));
+               return;
+       }
+
+       if (sel_rows.length > 0) {
+
+               var ok = confirm(__("Erase all non-starred articles in selected feed?"));
+
+               if (ok) {
+                       notify_progress("Clearing selected feed...");
+                       clearFeedArticles(sel_rows[0]);
+               }
+
+       } else {
+
+               alert(__("No feeds are selected."));
+
+       }
+       
+       return false;
+}
+
 function removeSelectedFeedCats() {
 
        if (!xmlhttp_ready(xmlhttp)) {
@@ -1781,3 +1813,55 @@ function validatePrefsSave() {
 
        return false;
 }
+
+function feedActionChange() {
+       try {
+               var chooser = document.getElementById("feedActionChooser");
+               var opid = chooser[chooser.selectedIndex].value;
+
+               chooser.selectedIndex = 0;
+               feedActionGo(opid);
+       } catch (e) {
+               exception_error("feedActionChange", e);
+       }
+}
+
+function feedActionGo(op) {    
+       try {
+               if (op == "facEdit") {
+                       editSelectedFeed();
+               }
+
+               if (op == "facClear") {
+                       clearSelectedFeeds();
+               }
+
+               if (op == "facPurge") {
+                       purgeSelectedFeeds();
+               }
+
+               if (op == "facUnsubscribe") {
+                       removeSelectedFeeds();
+               }
+
+       } catch (e) {
+               exception_error("feedActionGo", e);
+
+       }
+}
+
+function clearFeedArticles(feed_id) {
+
+       notify_progress("Clearing feed...");
+
+       var query = "backend.php?op=pref-feeds&quiet=1&subop=clear&id=" + feed_id;
+
+       new Ajax.Request(query, {
+               onComplete: function(transport) {
+                               notify('');
+                       } });
+
+       return false;
+}
+
+
index e918af0f8e7deabc2befcf948b25b77be67df4fb..a18f95cd1cbb42f8230cfb0bad6038cc82104e99 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -525,20 +525,6 @@ function unsubscribeFeed(feed_id) {
        return false;
 }
 
-function clearFeedArticles(feed_id) {
-
-       notify_progress("Clearing feed...");
-
-       var query = "backend.php?op=pref-feeds&quiet=1&subop=clear&id=" + feed_id;
-
-       new Ajax.Request(query, {
-               onComplete: function(transport) {
-                               dlg_frefresh_callback(transport, feed_id);
-                       } });
-
-       return false;
-}
-
 
 function updateFeedTitle(t) {
        active_title_text = t;
@@ -729,3 +715,18 @@ function labelEditSave() {
 
 }
 
+function clearFeedArticles(feed_id) {
+
+       notify_progress("Clearing feed...");
+
+       var query = "backend.php?op=pref-feeds&quiet=1&subop=clear&id=" + feed_id;
+
+       new Ajax.Request(query, {
+               onComplete: function(transport) {
+                               dlg_frefresh_callback(transport, feed_id);
+                       } });
+
+       return false;
+}
+
+
index ca7dd2166cccbf84453c37d19515bcc7c174d26e..caf8f9c4e4275c32fcc80c797fef96c446a54038 100644 (file)
@@ -134,7 +134,7 @@ window.onload = init;
                                        <option style="color : #5050aa" disabled><?php echo __('Feed actions:') ?></option>
                                        <option value="qmcAddFeed"><?php echo __('&nbsp;&nbsp;Subscribe to feed') ?></option>
                                        <option value="qmcEditFeed"><?php echo __('&nbsp;&nbsp;Edit this feed') ?></option>
-                                       <option value="qmcClearFeed"><?php echo __('&nbsp;&nbsp;Clear articles') ?></option>
+                                       <!-- <option value="qmcClearFeed"><?php echo __('&nbsp;&nbsp;Clear articles') ?></option> -->
                                        <option value="qmcRemoveFeed"><?php echo __('&nbsp;&nbsp;Unsubscribe') ?></option>
                                        <option disabled>--------</option>
                                        <option style="color : #5050aa" disabled><?php echo __('All feeds:') ?></option>