From 9c3962df81dfbad837d142201b08d9a8ac4ff220 Mon Sep 17 00:00:00 2001 From: "Alex A. Naanou" Date: Fri, 24 May 2013 00:32:42 +0400 Subject: [PATCH] saving and restoring settings now works... Signed-off-by: Alex A. Naanou --- ui/data.js | 36 ++++++++++++++++++++++++++++++++++++ ui/index.html | 3 +++ ui/keybindings3.js | 2 ++ ui/modes.js | 5 ++++- 4 files changed, 45 insertions(+), 1 deletion(-) diff --git a/ui/data.js b/ui/data.js index 69336f34..91b76b09 100755 --- a/ui/data.js +++ b/ui/data.js @@ -577,6 +577,20 @@ function convertDataGen1(data, cmp){ } +function loadSettings(){ + toggleTheme(SETTINGS['theme']) + + if(toggleSingleImageMode('?') == 'on'){ + var w = SETTINGS['screen-images-single-image-mode'] + var p = SETTINGS['single-image-mode-proportions'] + toggleImageProportions(p) + } else { + var w = SETTINGS['screen-images-ribbon-mode'] + } + fitNImages(w) +} + + /********************************************************************** * localStorage @@ -653,6 +667,22 @@ function saveLocalStorageMarks(attr){ } +function loadLocalStorageSettings(attr){ + attr = attr == null ? DATA_ATTR : attr + attr += '_SETTINGS' + SETTINGS = JSON.parse(localStorage[attr]) + + loadSettings() +} + + +function saveLocalStorageSettings(attr){ + attr = attr == null ? DATA_ATTR : attr + attr += '_SETTINGS' + localStorage[attr] = JSON.stringify(SETTINGS) +} + + /********************************************************************** * Extension API (CEF/PhoneGap/...) @@ -920,6 +950,12 @@ function setupDataBindings(viewer){ }) centerView(null, 'css') + if(toggleSingleImageMode('?') == 'on'){ + SETTINGS['screen-images-single-image-mode'] = n + } else { + SETTINGS['screen-images-ribbon-mode'] = n + } + // update previews... // XXX make this update only what needs updating... updateImages() diff --git a/ui/index.html b/ui/index.html index 5e8b6144..79b9eb84 100755 --- a/ui/index.html +++ b/ui/index.html @@ -487,9 +487,12 @@ $(function(){ loadLocalStorageMarks() } + loadLocalStorageSettings() + // XXX stub... //centerView(focusImage($('.image').first()), 'css') updateImages() + }) }) diff --git a/ui/keybindings3.js b/ui/keybindings3.js index da733865..d8acd1e2 100755 --- a/ui/keybindings3.js +++ b/ui/keybindings3.js @@ -202,6 +202,8 @@ var KEYBOARD_CONFIG = { //saveLocalStorage() saveLocalStorageData() saveLocalStorageMarks() + + saveLocalStorageSettings() }) }, Z: { diff --git a/ui/modes.js b/ui/modes.js index 4da5ccda..711ec818 100755 --- a/ui/modes.js +++ b/ui/modes.js @@ -55,7 +55,10 @@ var toggleTheme = createCSSClassToggler('.viewer', 'gray', 'dark', 'light' - ]) + ], + function(action){ + SETTINGS['theme'] = action + }) // NOTE: this confirmsto the css toggler protocol, but is not implemented