From: Richard Fairhurst Date: Tue, 30 Nov 2010 21:35:59 +0000 (+0000) Subject: Remember dimming/sharpening preferences X-Git-Tag: 2.0~282 X-Git-Url: https://git.openstreetmap.org/potlatch2.git/commitdiff_plain/719c21cf3e6b9c4b9a8527390c1e3da07177804a Remember dimming/sharpening preferences --- diff --git a/net/systemeD/halcyon/Map.as b/net/systemeD/halcyon/Map.as index 8a95181a..59f93e67 100644 --- a/net/systemeD/halcyon/Map.as +++ b/net/systemeD/halcyon/Map.as @@ -116,7 +116,7 @@ package net.systemeD.halcyon { // ------------------------------------------------------------------------------------------ // Initialise map at a given lat/lon - public function init(startlat:Number,startlon:Number,startscale:uint=0):void { + public function init(startlat:Number, startlon:Number, startscale:uint=0):void { while (numChildren) { removeChildAt(0); } tileset=new TileSet(this); // 0 - 900913 background @@ -124,7 +124,9 @@ package net.systemeD.halcyon { tileset.blocks=initparams['tileblocks'];// | } // | addChild(tileset); // | - tileset.init(tileparams); // | + tileset.init(tileparams, false, + initparams['background_dim'] ==null ? true : initparams['background_dim'], + initparams['background_sharpen']==null ? false : initparams['background_sharpen']); vectorbg = new Sprite(); // 1 - vector background layers addChild(vectorbg); // | @@ -384,10 +386,18 @@ package net.systemeD.halcyon { public function setDimming(dim:Boolean):void { if (tileset) { tileset.setDimming(dim); } } + public function getDimming():Boolean { + if (tileset) { return tileset.getDimming(); } + return true; + } public function setSharpen(sharpen:Boolean):void { if (tileset) { tileset.setSharpen(sharpen); } } + public function getSharpen():Boolean { + if (tileset) { return tileset.getSharpen(); } + return false; + } // ------------------------------------------------------------------------------------------ // Export (experimental) diff --git a/net/systemeD/halcyon/TileSet.as b/net/systemeD/halcyon/TileSet.as index fe631d2a..9890926e 100644 --- a/net/systemeD/halcyon/TileSet.as +++ b/net/systemeD/halcyon/TileSet.as @@ -36,12 +36,13 @@ package net.systemeD.halcyon { public function TileSet(map:Map) { this.map=map; - alpha=0.5; createSprites(); map.addEventListener(MapEvent.NUDGE_BACKGROUND, nudgeHandler); } - public function init(params:Object, update:Boolean=false):void { + public function init(params:Object, update:Boolean=false, dim:Boolean=true, sharpen:Boolean=false):void { + setDimming(dim); + sharpening=sharpen; baseurl=params.url; scheme =params.scheme ? params.scheme : '900913'; tiles={}; @@ -60,6 +61,9 @@ package net.systemeD.halcyon { public function setDimming(dim:Boolean):void { alpha=dim ? 0.5 : 1; } + public function getDimming():Boolean { + return (alpha<1); + } public function setSharpen(sharpen:Boolean):void { var f:Array=[]; if (sharpen) { f=[sharpenFilter]; } @@ -71,6 +75,9 @@ package net.systemeD.halcyon { } sharpening=sharpen; } + public function getSharpen():Boolean { + return sharpening; + } public function changeScale(scale:uint):void { for (var i:uint=map.MINSCALE; i<=map.MAXSCALE; i++) { diff --git a/net/systemeD/potlatch2/BackgroundSelector.mxml b/net/systemeD/potlatch2/BackgroundSelector.mxml index c06a9526..fc65178a 100644 --- a/net/systemeD/potlatch2/BackgroundSelector.mxml +++ b/net/systemeD/potlatch2/BackgroundSelector.mxml @@ -9,10 +9,10 @@ change="Application.application.bgButton.close(); Imagery.instance().setBackground(background.selectedItem);" dataProvider="{Imagery.instance().getAvailableImagery()}" /> - - + + @@ -29,6 +29,20 @@ import mx.collections.ArrayCollection; import mx.managers.PopUpManager; import net.systemeD.halcyon.Globals; + + public function setDimming(v:Boolean):void { + Application.application.theMap.setDimming(dim.selected); + Application.application.yahoo.alpha = dim.selected ? 0.5 : 1; + var obj:SharedObject=SharedObject.getLocal("user_state"); + obj.setProperty('background_dim',v); + obj.flush(); + } + public function setSharpen(v:Boolean):void { + Application.application.theMap.setSharpen(sharpen.selected); + var obj:SharedObject=SharedObject.getLocal("user_state"); + obj.setProperty('background_sharpen',v); + obj.flush(); + } ]]> diff --git a/net/systemeD/potlatch2/collections/Imagery.as b/net/systemeD/potlatch2/collections/Imagery.as index d27445a1..c74421cb 100644 --- a/net/systemeD/potlatch2/collections/Imagery.as +++ b/net/systemeD/potlatch2/collections/Imagery.as @@ -50,13 +50,11 @@ package net.systemeD.potlatch2.collections { private function onImageryLoad(event:Event):void { var xml:XML = new XML(URLLoader(event.target).data); - var saved:Object; + var saved:Object = {}; var bg:Object; if (SharedObject.getLocal("user_state").data['background_url']) { saved={ name: SharedObject.getLocal("user_state").data['background_name'], url: SharedObject.getLocal("user_state").data['background_url' ] }; - } else { - saved={ url: ''}; } var isSet:Boolean=false; @@ -72,8 +70,8 @@ package net.systemeD.potlatch2.collections { for each (a in set.@*) { obj[a.name().localName]=a.toString(); } for each (a in set.* ) { obj[a.name() ]=a.toString(); } collection.push(obj); - if ((obj.url ==saved.url) || - (obj.name==saved.name && obj.name!='Custom')) { isSet=true; } + if ((saved.url && obj.url ==saved.url) || + (saved.name && obj.name==saved.name && obj.name!='Custom')) { isSet=true; } } // Add user's previous preference (from SharedObject) if we didn't find it in the XML file diff --git a/potlatch2.mxml b/potlatch2.mxml index 9d4d0e86..2ddcd405 100644 --- a/potlatch2.mxml +++ b/potlatch2.mxml @@ -139,12 +139,15 @@ b.graphics.endFill(); _root.addChild(b); - // hard-coded block on Google tiles - var params:Object={}; - for (var k:String in this.loaderInfo.parameters) { + // pass additional parameters to map + var params:Object={}; var k:String; + for (k in this.loaderInfo.parameters) { params[k]=this.loaderInfo.parameters[k]; } - params['tileblocks']=[new RegExp("google","i")]; + for (k in SharedObject.getLocal('user_state').data) { + params[k]=SharedObject.getLocal('user_state').data[k]; + } + params['tileblocks']=[new RegExp("google","i")]; // hard-coded block on Google tiles // create map and Yahoo theMap=new Map(params);