Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
97
Src/resources/skins/Winamp Modern/scripts/configtarget.m
Normal file
97
Src/resources/skins/Winamp Modern/scripts/configtarget.m
Normal file
|
@ -0,0 +1,97 @@
|
|||
#include <lib/std.mi>
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
Global GuiObject target;
|
||||
Global ComponentBucket buck;
|
||||
// ------------------------------------------------------------------------------------
|
||||
Function turnAllOffExcept(GuiObject except);
|
||||
Function turnOn(GuiObject obj);
|
||||
Function turnOff(GuiObject obj);
|
||||
// ------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// init
|
||||
// ------------------------------------------------------------------------------------
|
||||
System.onScriptLoaded() {
|
||||
target = getScriptGroup().findObject("skin.config.target");
|
||||
buck = getScriptGroup().findObject("my.bucket");
|
||||
|
||||
// turn off all
|
||||
GuiObject o = NULL;
|
||||
turnAllOffExcept(o);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// save scroller position
|
||||
// ------------------------------------------------------------------------------------
|
||||
System.onScriptUnloading() {
|
||||
if (buck) {
|
||||
setPrivateInt("configmenu", "last_scroll", buck.getScroll());
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// turn on last open
|
||||
// ------------------------------------------------------------------------------------
|
||||
buck.onStartup() {
|
||||
setScroll(getPrivateInt("configmenu", "last_scroll", 0));
|
||||
Group g = buck.enumChildren(getPrivateInt("configmenu", "last_page", 0));
|
||||
if (!g) g = buck.enumChildren(0);
|
||||
if (!g) return;
|
||||
ToggleButton btn = g.getObject("btn");
|
||||
if (btn) btn.leftClick();
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// this is called by the bucket button to switch to a new group
|
||||
// ------------------------------------------------------------------------------------
|
||||
target.onAction(String action, String param, int x, int y, int p1, int p2, GuiObject source) {
|
||||
if (getToken(action,";",0) == "switchto") {
|
||||
String grp = getToken(action, ";", 1);
|
||||
String is_subpage = getToken(action, ";", 2);
|
||||
target.setXmlParam("groupid", grp);
|
||||
|
||||
if (is_subpage!="subpage") turnAllOffExcept(source.getParent()); // getParent because the source is the button itself, the parent is the whole group item in the bucket
|
||||
}
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
// turn off all buttons except for the parameter, also save last_page param based on param item
|
||||
// ------------------------------------------------------------------------------------
|
||||
turnAllOffExcept(GuiObject except) {
|
||||
if (!buck) return;
|
||||
int i=0;
|
||||
// enumerate all inserted groups, turn them off if they're not our exception
|
||||
while (i<buck.getNumChildren()) {
|
||||
GuiObject obj = buck.enumChildren(i);
|
||||
if (obj == except) { // otherwise record last page
|
||||
setPrivateInt("configmenu", "last_page", i);
|
||||
i++;
|
||||
continue;
|
||||
}
|
||||
if (obj == NULL) { break; } // shoundnt happen
|
||||
turnOff(obj);
|
||||
i++;
|
||||
}
|
||||
// turn on the clicked item
|
||||
if (except) turnOn(except);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
turnOn(GuiObject obj) {
|
||||
Group gobj = obj;
|
||||
|
||||
// otherwise we just need this :
|
||||
ToggleButton tg = gobj.getObject("btn");
|
||||
tg.setActivated(1);
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------------------
|
||||
turnOff(GuiObject obj) {
|
||||
Group gobj = obj;
|
||||
|
||||
// otherwise we just need this :
|
||||
ToggleButton tg = gobj.getObject("btn");
|
||||
tg.setActivated(0);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue