[rnbrowse-commits] SF.net SVN: rnbrowse:[152] branches/RNBGUI
Brought to you by:
cjsoftuk
|
From: <cjs...@us...> - 2008-08-02 08:32:47
|
Revision: 152
http://rnbrowse.svn.sourceforge.net/rnbrowse/?rev=152&view=rev
Author: cjsoftuk
Date: 2008-08-02 08:32:45 +0000 (Sat, 02 Aug 2008)
Log Message:
-----------
Committing all changes.
Modified Paths:
--------------
branches/RNBGUI/bin-debug/RNBGUI.swf
branches/RNBGUI/src/RNBGUI.mxml
branches/RNBGUI/src/rnbGui_codebehind.as
Modified: branches/RNBGUI/src/RNBGUI.mxml
===================================================================
--- branches/RNBGUI/src/RNBGUI.mxml 2008-08-01 20:59:40 UTC (rev 151)
+++ branches/RNBGUI/src/RNBGUI.mxml 2008-08-02 08:32:45 UTC (rev 152)
@@ -14,7 +14,7 @@
</mx:Canvas>
<mx:Canvas backgroundAlpha="0.2" width="100%" height="100%" id="preload" showEffect="{fadeAndBlurIn}" hideEffect="{fadeAndBlurOut}">
<mx:Box width="100%" height="100%" verticalAlign="center">
- <mx:ProgressBar id="preloadBar" source="ssPic2" mode="event" width="100%" complete="ssPreloadComplete()" labelPlacement="bottom" />
+ <mx:ProgressBar id="preloadBar" width="100%" complete="ssPreloadComplete()" labelPlacement="bottom" />
</mx:Box>
</mx:Canvas>
</mx:Canvas>
@@ -245,7 +245,7 @@
<mx:ApplicationControlBar x="197" y="58" dock="true" height="37" id="appcontrol">
<mx:Canvas height="100%" width="100%">
<mx:LinkBar dataProvider="{viewstack1}" id="linkbar1"/>
- <mx:LinkButton label="Slideshow" click="currentState='Slideshow'; viewstack1.selectedIndex = 0; files.maxRows = 1" id="linkbutton1" right="91" y="2" width="75"/>
+ <mx:LinkButton label="Slideshow" click="currentState='Slideshow'; viewstack1.selectedIndex = 0; files.maxRows = 1; inSSMode=!inSSMode;" id="linkbutton1" right="91" y="2" width="75"/>
<mx:Button label="Logout" click="logout()" y="2" right="0" icon="@Embed(source='../images/door.png')"/>
<mx:HBox left="210" right="174" top="0" bottom="0" id="hbox2" backgroundColor="#F6FF91" cornerRadius="1" borderColor="#000000" borderStyle="solid" borderThickness="1" verticalAlign="middle" horizontalAlign="left">
<mx:Spacer width="0" height="0"/>
Modified: branches/RNBGUI/src/rnbGui_codebehind.as
===================================================================
--- branches/RNBGUI/src/rnbGui_codebehind.as 2008-08-01 20:59:40 UTC (rev 151)
+++ branches/RNBGUI/src/rnbGui_codebehind.as 2008-08-02 08:32:45 UTC (rev 152)
@@ -1,7 +1,8 @@
import flash.display.Loader;
import flash.events.Event;
+import flash.events.ProgressEvent;
import flash.events.TimerEvent;
-import flash.utils.ByteArray;
+import flash.net.URLRequest;
import flash.utils.Timer;
import mx.managers.PopUpManager;
@@ -10,9 +11,13 @@
rnb4_gui var slideShow:Array = new Array();
rnb4_gui var slideShowIndex:int = -1;
rnb4_gui var slideShowEnabled:Boolean = false;
+rnb4_gui var pictureLoader:Loader
+rnb4_gui var timedOut:Boolean= false;
+rnb4_gui var loadedImage:Boolean = false;
rnb4_gui var ssTimer:Timer = new Timer(5000);
-rnb4_gui var ssTimer2:Timer = new Timer(500);
+rnb4_gui var ssTimer2:Timer = new Timer(50);
rnb4_gui var ssPicID:int = 0;
+rnb4_gui var inSSMode:Boolean = false;
rnb4_gui function initAll():void{
files.addEventListener(ListEvent.ITEM_DOUBLE_CLICK,rnb4_gui::DownloadItem);
@@ -47,7 +52,11 @@
rnb4_gui function DownloadItem(event:ListEvent):void {
//Alert.show("DownloadItem called - path = " + files.selectedItem.path);
- ExternalInterface.call("DLFile(\"" + escape(files.selectedItem.path) + "\")");
+ if(this.currentState=="Slideshow"){
+ loadPictureByURL(files.selectedItem.path);
+ }else{
+ ExternalInterface.call("DLFile(\"" + escape(files.selectedItem.path) + "\")");
+ }
}
rnb4_gui function itemClickEvt(event:ListEvent):void {
@@ -108,84 +117,130 @@
rnb4_gui function ssStart():void
{
- //ssTimer.addEventListener(TimerEvent.TIMER,ssOnTimer);
- slideShowEnabled=true;
- ssPic2.addEventListener(Event.COMPLETE, showImage);
+ ssTimer.start();
+ ssTimer.addEventListener(TimerEvent.TIMER,ssOnTimer);
preloadNext();
}
rnb4_gui function ssNext():void
{
- ssOnTimer(null);
+ if(loadedImage){
+ showImage();
+ }else{
+ slideShowIndex++;
+ loadPicture(slideShowIndex);
+ }
}
rnb4_gui function ssPrev():void
{
- slideShowIndex-=2;
- ssOnTimer(null);
+ slideShowIndex-=1;
+ loadPicture(slideShowIndex);
}
rnb4_gui function ssStop():void
{
- //ssTimer.removeEventListener(TimerEvent.TIMER,ssOnTimer);
- //ssTimer.stop();
- ssPic2.removeEventListener(Event.COMPLETE, showImage);
+ ssTimer.removeEventListener(TimerEvent.TIMER,ssOnTimer);
+ ssTimer.stop();
+ if(pictureLoader!=null) pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderDoneB);
+ if(pictureLoader!=null) pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderDone);
slideShowEnabled=false;
}
rnb4_gui function ssOnTimer(te:TimerEvent):void
{
- ssPic.data = ssPic2.data;
- ssPicCont.visible=true;
+ timedOut=true;
+ if(loadedImage) showImage();
+ ssTimer.stop();
+}
+
+rnb4_gui function showImage():void
+{
+ preload.visible=false;
+ if(ssPicID==0){
+ ssPic.source = pictureLoader;
+ ssPicCont.visible=true;
+ ssPicCont2.visible=false;
+ ssPicID=1;
+ }else{
+ ssPic2.source = pictureLoader;
+ ssPicCont2.visible=true;
+ ssPicCont.visible=false;
+ ssPicID=0;
+ }
+ timedOut=false;
+ loadedImage=false;
+ slideShowIndex++;
preloadNext();
- /*if(ssPicID==0){
- if(ssPic2.bytesLoaded==ssPic2.bytesTotal){
- ssPicCont2.visible=true;
- ssPicCont.visible=false;
- var pathArray2:Array = slideShow[slideShowIndex].toString().split("\\");
- file.text=pathArray2[pathArray2.length-1];
- ssPicID=1;
- preloadNext();
- ssTimer.start();
- }else{
- preload.visible=true;
- ssTimer.stop();
- }
+ ssTimer.start();
+ ssTimer.addEventListener(TimerEvent.TIMER,ssOnTimer);
+}
+
+rnb4_gui function loaderDone(e:Event):void
+{
+ loadedImage=true;
+ if(timedOut) showImage();
+}
+
+rnb4_gui function loaderDoneB(e:Event):void
+{
+ preload.visible=false;
+ if(ssPicID==0){
+ ssPic.source = pictureLoader;
+ ssPicCont.visible=true;
+ ssPicCont2.visible=false;
+ ssPicID=1;
}else{
- if(ssPic.bytesLoaded==ssPic.bytesTotal){
- ssPicCont.visible=true;
- ssPicCont2.visible=false;
- var pathArray:Array = slideShow[slideShowIndex].toString().split("\\");
- file.text=pathArray[pathArray.length-1];
- ssPicID=0;
- preloadNext();
- ssTimer.start();
- }else{
- preload.visible=true;
- ssTimer.stop();
- }
- }*/
+ ssPic2.source = pictureLoader;
+ ssPicCont2.visible=true;
+ ssPicCont.visible=false;
+ ssPicID=0;
+ }
+ timedOut=false;
+ loadedImage=false;
}
-rnb4_gui function showImage(e:Event):void
+rnb4_gui function loaderProgress(progEvt:ProgressEvent):void
{
- var imageCopy:Loader = new Loader();
- var ba:ByteArray = ssPic2.loaderInfo.bytes;
- imageCopy.loadBytes(ba);
- ssPic.source = imageCopy;
- ssPicCont.visible=true;
- preloadNext();
+ preloadBar.mode="manual";
+ preloadBar.setProgress(progEvt.bytesLoaded, progEvt.bytesTotal);
+ preload.visible=true;
}
+rnb4_gui function loadPictureByURL(url:String):void
+{
+ if(pictureLoader!=null) pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderDoneB);
+ if(pictureLoader!=null) pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderDone);
+ pictureLoader = new Loader();
+ pictureLoader.load(new URLRequest(rnb4_api::DownloadURL(url)));
+ pictureLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderDoneB);
+ pictureLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress);
+ preloadBar.source=pictureLoader;
+}
+
+rnb4_gui function loadPicture(index:int):void
+{
+ if(pictureLoader!=null) pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderDoneB);
+ if(pictureLoader!=null) pictureLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loaderDone);
+ pictureLoader = new Loader();
+ pictureLoader.load(new URLRequest(rnb4_api::DownloadURL(slideShow[slideShowIndex])));
+ pictureLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderDoneB);
+ pictureLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress);
+ preloadBar.source=pictureLoader;
+}
+
rnb4_gui function preloadNext():void
{
+ //preload.visible=false;
if(slideShow.length==0) return;
- slideShowIndex++;
- if(slideShowIndex<0) slideShowIndex=slideShow.length-1;
- if(slideShowIndex>slideShow.length-1) slideShowIndex=0;
+ if(slideShowIndex<-1) slideShowIndex=slideShow.length-2;
+ if(slideShowIndex>slideShow.length-2) slideShowIndex=-1;
//if(ssPicID==0){
- preloadBar.source="ssPic";
- ssPic2.source=rnb4_api::DownloadURL(slideShow[slideShowIndex]);
+ pictureLoader = new Loader();
+ pictureLoader.load(new URLRequest(rnb4_api::DownloadURL(slideShow[slideShowIndex+1])));
+ pictureLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderDone);
+ //pictureLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress);
+ preloadBar.source=pictureLoader;
/*}else{
preloadBar.source="ssPic";
ssPic.source=rnb4_api::DownloadURL(slideShow[slideShowIndex]);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|