summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--functions.js2
-rw-r--r--modules/pref-feeds.php31
-rw-r--r--prefs.js84
-rw-r--r--tt-rss.js29
-rw-r--r--tt-rss.php2
5 files changed, 127 insertions, 21 deletions
diff --git a/functions.js b/functions.js
index 0211d2f56..dab019c71 100644
--- a/functions.js
+++ b/functions.js
@@ -1716,3 +1716,5 @@ function getSelectedArticleIds2() {
return ids;
}
+
+
diff --git a/modules/pref-feeds.php b/modules/pref-feeds.php
index 6df9804b2..b8671c4ee 100644
--- a/modules/pref-feeds.php
+++ b/modules/pref-feeds.php
@@ -983,16 +983,35 @@
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");
@@ -1005,9 +1024,9 @@
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;";
diff --git a/prefs.js b/prefs.js
index ac07e8f04..3d95f01c3 100644
--- 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;
+}
+
+
diff --git a/tt-rss.js b/tt-rss.js
index e918af0f8..a18f95cd1 100644
--- 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;
+}
+
+
diff --git a/tt-rss.php b/tt-rss.php
index ca7dd2166..caf8f9c4e 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -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>