Allow $.set to save multiple items at once.

Fix importing watched threads from v2.
This commit is contained in:
Nicolas Stepien 2013-04-02 13:34:34 +02:00
parent a961c993a2
commit ded92b94c2
2 changed files with 38 additions and 20 deletions

View File

@ -227,7 +227,11 @@ $.extend $,
items = $.item key, val
chrome.storage.sync.get items, cb
set: (key, val) ->
chrome.storage.sync.set $.item key, val
items = if arguments.length is 2
$.item key, val
else
key
chrome.storage.sync.set items
<% } else if (type === 'userjs') { %>
do ->
# http://www.opera.com/docs/userjs/specs/#scriptstorage
@ -257,13 +261,20 @@ do ->
if val = scriptStorage[g.NAMESPACE + key]
items[key] = JSON.parse val
cb items
$.set = (key, val) ->
key = g.NAMESPACE + key
val = JSON.stringify val
if key of $.syncing
# for `storage` events
localStorage.setItem key, val
scriptStorage[key] = val
$.set = do ->
set = (key, val) ->
key = g.NAMESPACE + key
val = JSON.stringify val
if key of $.syncing
# for `storage` events
localStorage.setItem key, val
scriptStorage[key] = val
(key, val) ->
if arguments.length is 1
for key, val of key
set key, val
else
set key, val
<% } else { %>
# http://wiki.greasespot.net/Main_Page
delete: (key) ->
@ -285,11 +296,18 @@ do ->
if val = GM_getValue g.NAMESPACE + key
items[key] = JSON.parse val
cb items
set: (key, val) ->
key = g.NAMESPACE + key
val = JSON.stringify val
if key of $.syncing
# for `storage` events
localStorage.setItem key, val
GM_setValue key, val
set: do ->
set = (key, val) ->
key = g.NAMESPACE + key
val = JSON.stringify val
if key of $.syncing
# for `storage` events
localStorage.setItem key, val
GM_setValue key, val
(key, val) ->
if arguments.length is 1
for key, val of key
set key, val
else
set key, val
<% } %>

View File

@ -226,8 +226,9 @@ Settings =
new Notification 'info', el, 60
else
$.on d, '4chanXInitFinished', Settings.open
$.set 'lastupdate', Date.now()
$.set 'previousversion', g.VERSION
$.set
lastupdate: Date.now()
previousversion: g.VERSION
Settings.addSection 'Main', Settings.main
Settings.addSection 'Filter', Settings.filter
@ -477,9 +478,8 @@ Settings =
continue unless key of data.Conf
data.Conf[key] = data.Conf[key].replace(/ctrl|alt|meta/g, (s) -> "#{s[0].toUpperCase()}#{s[1..]}").replace /(^|.+\+)[A-Z]$/g, (s) ->
"Shift+#{s[0...-1]}#{s[-1..].toLowerCase()}"
for key, val of data.Conf
$.set key, val
$.set 'WatchedThreads', data.WatchedThreads
data.Conf.WatchedThreads = data.WatchedThreads
$.set data.Conf
convertSettings: (data, map) ->
for prevKey, newKey of map
data.Conf[newKey] = data.Conf[prevKey] if newKey