User Tools

Site Tools


script_slideshow

====== About the script ====== * Purpose : This script will make your Panel scroll automatically, like a slideshow * Author : F43nd1r * Idea : Pierre Hébert * Current Version : 3.0 * Link : https://plus.google.com/115366157037831519359/posts/84DvszxGQXA * Video : https://plus.google.com/115366157037831519359/posts/9eUTw8cCCpi ====== Changelog ====== * Version 1.0 (1/4/2014): initial release in wiki * Version 2.0 (27/7/2014): complete new coded, only one Script * Version 3.0 (7/9/2014): added vertical support, added desktop support, switched from panelID to itemID ====== How to use the script ====== * set up the configuration at the beginning of the script. * if you want the slideshow to start automatically, set the script in the resumed and the paused event of the container * if you want to start and stop it manually create a shortcut to the spcript or set it to other events * every time you perform that action, the slideshow will be toggled * watch it sliding! ====== Issues and hints ====== * if something goes wrong, first to try is restart launcher //please report all bugs in the g+ community// ====== Script code ====== <sxh javascript;>//config var waitingTime=3000;//time between page switches, in ms, not exact var itemID=0x000001;//if you take the ID from hierachy, put a '0x' in front of it, the ID of any item in the container var notify=false;//mainly for debug, creates toasts with status var vertical=false;//false for horizontal, true for vertical //endconfig //start if((typeof running==='undefined'||!running)) { var c=LL.getItemById(itemID).getParent(); if(c==null) { if(notify)Android.makeNewToast("Failed to load panel",true).show(); return; } running=true; start(); } //stop else { running=false; } function start() { if(!vertical) { w=c.getWidth(); if(w==0) { setTimeout(start,50); return; } box=c.getBoundingBox(); l=box.getLeft(); d=box.getRight()-l; y=c.getPositionY(); } else { h=c.getHeight(); if(h==0) { setTimeout(start,50); return; } box=c.getBoundingBox(); t=box.getTop(); b=box.getBottom()-t; x=c.getPositionX(); } if(notify)Android.makeNewToast("Slideshow started",true).show(); step(); } function step() { if(!running) { if(notify)Android.makeNewToast("Slideshow stopped",true).show(); return; } if(typeof a==='undefined')a=0; a+=2; if(a>=waitingTime) { var goTo=(!vertical?((Math.floor(c.getPositionX()/w)*w-l+w)%d+l):((Math.floor(c.getPositionY()/h)*h-t+h)%b+t)); c.setPosition(vertical?x:goTo,!vertical?y:goTo); a=0; } setTimeout(step,1); } </sxh>

script_slideshow.txt · Last modified: 2016/06/28 12:16 by f43nd1r