|
|
@@ -253,6 +253,17 @@ function add(ts)
|
|
|
end
|
|
|
end
|
|
|
|
|
|
+function save_trigger(name)
|
|
|
+ if triggers.active[name] then
|
|
|
+ local slist = get_names(triggers.active[name])
|
|
|
+ if #slist > 0 then
|
|
|
+ tctx:set("uci_trigger", name, "sections", slist)
|
|
|
+ end
|
|
|
+ else
|
|
|
+ tctx:delete("uci_trigger", name)
|
|
|
+ end
|
|
|
+end
|
|
|
+
|
|
|
function set(data, cursor)
|
|
|
assert(data ~= nil)
|
|
|
if cursor == nil then
|
|
|
@@ -296,10 +307,7 @@ function set(data, cursor)
|
|
|
if section[".name"] then
|
|
|
active[section[".name"]] = true
|
|
|
end
|
|
|
- local slist = get_names(triggers.active[t.id])
|
|
|
- if #slist > 0 then
|
|
|
- tctx:set("uci_trigger", t.id, "sections", slist)
|
|
|
- end
|
|
|
+ save_trigger(t.id)
|
|
|
end
|
|
|
tctx:save("uci_trigger")
|
|
|
end
|
|
|
@@ -335,6 +343,46 @@ function get_active()
|
|
|
return slist
|
|
|
end
|
|
|
|
|
|
+function set_active(trigger, sections)
|
|
|
+ if triggers == nil then
|
|
|
+ load_state()
|
|
|
+ end
|
|
|
+ if not triggers.list[trigger] then
|
|
|
+ return
|
|
|
+ end
|
|
|
+ if triggers.active[trigger] == nil then
|
|
|
+ tctx:set("uci_trigger", trigger, "trigger")
|
|
|
+ triggers.active[trigger] = {}
|
|
|
+ end
|
|
|
+ local active = triggers.active[trigger]
|
|
|
+ if triggers.list[trigger].section_only or sections ~= nil then
|
|
|
+ for i, t in ipairs(sections) do
|
|
|
+ triggers.active[trigger][t] = true
|
|
|
+ end
|
|
|
+ end
|
|
|
+ save_trigger(trigger)
|
|
|
+ tctx:save("uci_trigger")
|
|
|
+end
|
|
|
+
|
|
|
+function clear_active(trigger, sections)
|
|
|
+ if triggers == nil then
|
|
|
+ load_state()
|
|
|
+ end
|
|
|
+ if triggers.list[trigger] == nil or triggers.active[trigger] == nil then
|
|
|
+ return
|
|
|
+ end
|
|
|
+ local active = triggers.active[trigger]
|
|
|
+ if not triggers.list[trigger].section_only or sections == nil then
|
|
|
+ triggers.active[trigger] = nil
|
|
|
+ else
|
|
|
+ for i, t in ipairs(sections) do
|
|
|
+ triggers.active[trigger][t] = false
|
|
|
+ end
|
|
|
+ end
|
|
|
+ save_trigger(trigger)
|
|
|
+ tctx:save("uci_trigger")
|
|
|
+end
|
|
|
+
|
|
|
function run(ts)
|
|
|
if ts == nil then
|
|
|
ts = get_active()
|