From b02f263c47f9ac68af23b71f1aa030724a2c9ad6 Mon Sep 17 00:00:00 2001 From: ccd0 Date: Sat, 22 Aug 2015 07:36:41 -0700 Subject: [PATCH] Convert settings imported from older versions. --- src/General/Main.coffee | 15 ++++----------- src/General/Settings.coffee | 12 ++++++++++++ 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/General/Main.coffee b/src/General/Main.coffee index 08184bf76..b66891f91 100755 --- a/src/General/Main.coffee +++ b/src/General/Main.coffee @@ -87,17 +87,10 @@ Main = upgrade: (items) -> {previousversion} = items - items2 = {previousversion: g.VERSION} - compareString = previousversion.replace(/\d+/g, (x) -> ('0000'+x)[-5..]) - - if compareString < '00001.00011.00008.00000' - unless items['Fixed Thread Watcher']? - items2['Fixed Thread Watcher'] = items['Toggleable Thread Watcher'] ? true - unless items['Exempt Archives from Encryption']? - items2['Exempt Archives from Encryption'] = items['Except Archives from Encryption'] ? false - - $.extend items, items2 - $.set items2, -> + changes = {previousversion: g.VERSION} + $.extend changes, Settings.upgrade(items, previousversion) + $.extend items, changes + $.set changes, -> if items['Show Updated Notifications'] ? true el = $.el 'span', <%= html(meta.name + ' has been updated to version ${g.VERSION}.') %> diff --git a/src/General/Settings.coffee b/src/General/Settings.coffee index 36ae5001d..5f3d95f21 100755 --- a/src/General/Settings.coffee +++ b/src/General/Settings.coffee @@ -268,9 +268,21 @@ Settings = (data.Conf['watchedThreads'].boards[boardID] or= {})[threadID] = excerpt: threadData.textContent data + upgrade: (data, version) -> + changes = {} + compareString = version.replace(/\d+/g, (x) -> ('0000'+x)[-5..]) + if compareString < '00001.00011.00008.00000' + unless data['Fixed Thread Watcher']? + changes['Fixed Thread Watcher'] = data['Toggleable Thread Watcher'] ? true + unless data['Exempt Archives from Encryption']? + changes['Exempt Archives from Encryption'] = data['Except Archives from Encryption'] ? false + changes + loadSettings: (data, cb) -> if data.version.split('.')[0] is '2' # https://github.com/loadletter/4chan-x data = Settings.convertFrom.loadletter data + else if data.version isnt g.VERSION + $.extend data.Conf, Settings.upgrade(data.Conf, data.version) $.clear (err) -> return cb err if err $.set data.Conf, cb