Skip to content

Instantly share code, notes, and snippets.

@milligramme
Created September 10, 2010 12:58
Show Gist options
  • Save milligramme/573583 to your computer and use it in GitHub Desktop.
Save milligramme/573583 to your computer and use it in GitHub Desktop.
indesign sort printer preset
/**
* sort printer preset
*
* Created by mg on 2010-09-10.
*/
var pp = app.printerPresets;
var ppL = pp.length
var pp_count_arr = getSquence(ppL);//get array [1,2,3.....ppL]
//scriptUI dlg
var dlg = new Window('dialog',"new", undefined);
var dlgArr = [];
for (var i=1; i < pp.length; i++) {
grp = dlg.add('group', undefined ,{orientation:'row'});
grp.add('statictext',undefined,pp[i].name,{multiline:false});//preset name
var ddlst = grp.add('dropdownlist',undefined, pp_count_arr);
// $.writeln("index::"+pp[i].index+" name::"+pp[i].name);
dlgArr.push([pp[i].name, pp[i].index, ddlst]);//array for name, index, ddlst
};
okb = dlg.add('button',undefined,"OK",{name:'ok'});
okb.onClick = function(){
dlg.close();
}
dlg.show();
resortArr = [];
for (var ii=0; ii < dlgArr.length; ii++) {
// $.writeln("make hash::"+dlgArr[ii][2].selection.text+"=="+dlgArr[ii][1]);
resortArr[""+dlgArr[ii][2].selection.text] = [dlgArr[ii][0], dlgArr[ii][1]];
};
// $.writeln('resortArr===='+resortArr)
for (var iii=1; iii < resortArr.length; iii++) {
// $.writeln("sortin..."+resortArr[""+iii][0])
resortObj(pp, resortArr[""+iii][0]);
// $.writeln(pp.everyItem().name.join('\n'));
};
function resortObj (pp, i) {
// $.writeln("workin..."+i);
var ppn = pp.itemByName(i).name;
var newpp = pp.itemByName(i).duplicate();
pp.itemByName(i).remove();
newpp.name = ppn;
}
function getSquence(ppL){
var arr=[];
for(a=1; a < ppL; a++){
arr.push(a);};
return arr
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment