summaryrefslogtreecommitdiff
path: root/prefs.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-01-13 18:31:51 +0300
committerAndrew Dolgov <[email protected]>2010-01-13 18:31:51 +0300
commitd9084cf22059f709e935c6c0755d2b69c21b3a87 (patch)
tree546788700196fbeb06afc2e87aa837a51e16a905 /prefs.js
parent57c7aa0f335d1cfef65646c958b838fd69a9ba5d (diff)
implement settings profiles (bump schema)
Diffstat (limited to 'prefs.js')
-rw-r--r--prefs.js120
1 files changed, 118 insertions, 2 deletions
diff --git a/prefs.js b/prefs.js
index 59e455443..cc0a8e978 100644
--- a/prefs.js
+++ b/prefs.js
@@ -121,6 +121,26 @@ function notify_callback2(transport) {
notify_info(transport.responseText);
}
+function init_profile_inline_editor() {
+ try {
+
+ if ($("prefFeedCatList")) {
+ var elems = $("prefFeedCatList").getElementsByTagName("SPAN");
+
+ for (var i = 0; i < elems.length; i++) {
+ if (elems[i].id && elems[i].id.match("FCATT-")) {
+ var id = elems[i].id.replace("FCATT-", "");
+ new Ajax.InPlaceEditor(elems[i],
+ 'backend.php?op=rpc&subop=saveprofile&id=' + id);
+ }
+ }
+ }
+
+ } catch (e) {
+ exception_error("init_profile_inline_editor", e);
+ }
+}
+
function init_cat_inline_editor() {
try {
@@ -267,6 +287,28 @@ function addFeed() {
}
+function addPrefProfile() {
+
+ var profile = $("fadd_profile");
+
+ if (profile.value.length == 0) {
+ alert(__("Can't add profile: no name specified."));
+ } else {
+ notify_progress("Adding profile...");
+
+ var query = "?op=rpc&subop=addprofile&title=" +
+ param_escape(profile.value);
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ editProfiles();
+ } });
+
+ }
+}
+
+
function addFeedCat() {
var cat = $("fadd_cat");
@@ -616,6 +658,34 @@ function purgeSelectedFeeds() {
return false;
}
+function removeSelectedPrefProfiles() {
+
+ var sel_rows = getSelectedFeedCats();
+
+ if (sel_rows.length > 0) {
+
+ var ok = confirm(__("Remove selected profiles? Active and default profiles will not be removed."));
+
+ if (ok) {
+ notify_progress("Removing selected profiles...");
+
+ var query = "?op=rpc&subop=remprofiles&ids="+
+ param_escape(sel_rows.toString());
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ editProfiles();
+ } });
+ }
+
+ } else {
+ alert(__("No profiles selected."));
+ }
+
+ return false;
+}
+
function removeSelectedFeedCats() {
var sel_rows = getSelectedFeedCats();
@@ -1207,7 +1277,7 @@ function validatePrefsReset() {
}
} catch (e) {
- exception_error("validatePrefsSave", e);
+ exception_error("validatePrefsReset", e);
}
return false;
@@ -1282,6 +1352,11 @@ function selectPrefRows(kind, select) {
nrow = "UMRR-";
nchk = "UMCHK-";
lname = "prefUserList";
+ } else if (kind == "fbrowse") {
+ opbarid = "browseOpToolbar";
+ nrow = "FBROW-";
+ nchk = "FBCHK-";
+ lname = "browseFeedList";
}
if (opbarid) {
@@ -1685,7 +1760,12 @@ function validatePrefsSave() {
new Ajax.Request("backend.php", {
parameters: query,
onComplete: function(transport) {
- notify_callback2(transport);
+ var msg = transport.responseText;
+ if (msg.match("PREFS_THEME_CHANGED")) {
+ window.location.reload();
+ } else {
+ notify_info(msg);
+ }
} });
}
@@ -2104,3 +2184,39 @@ function mouse_up_handler(e) {
function inPreferences() {
return true;
}
+
+function editProfiles() {
+ displayDlg('editPrefProfiles', false, function() {
+ init_profile_inline_editor();
+ });
+}
+
+function activatePrefProfile() {
+
+ var sel_rows = getSelectedFeedCats();
+
+ if (sel_rows.length == 1) {
+
+ var ok = confirm(__("Activate selected profile?"));
+
+ if (ok) {
+ notify_progress("Loading, please wait...");
+
+ var query = "?op=rpc&subop=setprofile&id="+
+ param_escape(sel_rows.toString());
+
+ new Ajax.Request("backend.php", {
+ parameters: query,
+ onComplete: function(transport) {
+ window.location.reload();
+ } });
+ }
+
+ } else {
+ alert(__("Please choose a profile to activate."));
+ }
+
+ return false;
+}
+
+