げ、放置スクリプトがあった
ちょっとファイルの整理をしていたら、作りかけのまま放置されていたスクリプトが見つかった。
2007年8月だからCS3が出た2ヵ月後ぐらいに作っていたもの。放置されていたからには当然このままでは動かない。けれど捨てるには惜しい。もしかしてこれをネタにしていけば結構書くことがあるかも。
ということで現状のまま公開。そのうち解説とか書けるといいなあ。
/**************************************************************************/ /* 特定の時間保存していない場合に警告する */ /* by お~まち */ /* 2007.08.27 Version 1.00 */ /**************************************************************************/ #targetengine "session" limitMinutes = 0.2; //警告するまでの時間(分) //開いているドキュメントのリストを操作 var docList = new Array(); app.eventListeners.add("afterNew", addList, false); app.eventListeners.add("afterOpen", addList, false); app.eventListeners.add("afterRevert", updateList, false); app.eventListeners.add("afterSave", updateList, false); app.eventListeners.add("afterSaveAs", updateList, false); app.eventListeners.add("beforeClose", removeList, false); /* チェックを行うイベントのタイミング(ツールパネル、効かない) addEL(app.menuActions.item("$ID/Selection Tool")); //選択ツール addEL(app.menuActions.item("$ID/Direct Selection Tool")); //ダイレクト選択ツール addEL(app.menuActions.item("$ID/kCropToolStringKey")); //ポジションツール addEL(app.menuActions.item("$ID/Pen Tool")); //ペンツール addEL(app.menuActions.item("$ID/Add Anchor Point Tool")); //アンカーポイントを追加ツール addEL(app.menuActions.item("$ID/Remove Anchor Point Tool")); //アンカーポイントを削除 addEL(app.menuActions.item("$ID/Convert Direction Point Tool")); //アンカーポイントの切り換えツール addEL(app.menuActions.item("$ID/Type Tool")); //横組み文字ツール addEL(app.menuActions.item("$ID/Vertical Type Tool")); //縦組み文字ツール addEL(app.menuActions.item("$ID/Path Type Horz Tool")); //横組みパスツール addEL(app.menuActions.item("$ID/Path Type Vert Tool")); //縦組みパスツール addEL(app.menuActions.item("$ID/Pencil Tool")); //鉛筆ツール addEL(app.menuActions.item("$ID/Smooth Tool")); //スムーズツール addEL(app.menuActions.item("$ID/Erase Tool")); //消しゴムツール addEL(app.menuActions.item("$ID/Line Tool")); //線ツール addEL(app.menuActions.item("$ID/Rectangle Frame Tool")); //長方形フレームツール addEL(app.menuActions.item("$ID/Oval Frame Tool")); //楕円形フレームツール addEL(app.menuActions.item("$ID/Polygon Frame Tool")); //多角形フレームツール addEL(app.menuActions.item("$ID/Rectangle Tool")); //長方形ツール addEL(app.menuActions.item("$ID/Oval Tool")); //楕円形ツール addEL(app.menuActions.item("$ID/Polygon Tool")); //多角形ツール addEL(app.menuActions.item("$ID/FrameGrid Horz Tool")); //横組みグリッドツール addEL(app.menuActions.item("$ID/FrameGrid Vert Tool")); //縦組みグリッドツール addEL(app.menuActions.item("$ID/$$$/ToolName/PushButtonTool")); //ボタンツール addEL(app.menuActions.item("$ID/Scissors Tool")); //はさみツール addEL(app.menuActions.item("$ID/Rotate Tool")); //回転ツール addEL(app.menuActions.item("$ID/Scale Tool")); //拡大 / 縮小ツール addEL(app.menuActions.item("$ID/Shear Tool")); //シアーツール addEL(app.menuActions.item("$ID/Gradient Tool")); //グラデーションスウォッチツール addEL(app.menuActions.item("$ID/kGradientFeatherTool")); //グラデーションぼかしツール addEL(app.menuActions.item("$ID/Free Transform Tool")); //自由変形ツール addEL(app.menuActions.item("$ID/Note Tool")); //注釈ツール addEL(app.menuActions.item("$ID/Eyedropper Tool")); //スポイトツール addEL(app.menuActions.item("$ID/Measure Tool")); //ものさしツール addEL(app.menuActions.item("$ID/Grabber Hand Tool")); //手のひらツール addEL(app.menuActions.item("$ID/Zoom Tool")); //ズームツール addEL(app.menuActions.item("$ID/Swap Fill and Stroke Colors")); //塗りと線のカラーを入れ替える addEL(app.menuActions.item("$ID/Toggle Fill and Stroke")); //塗りと線を入れ替え addEL(app.menuActions.item("$ID/Apply Default Fill and Stroke Colors")); //初期値の塗りと線のカラーを適用 addEL(app.menuActions.item("$ID/Toggle Text and Object Control")); //テキストとオブジェクトコントロールを切り替える addEL(app.menuActions.item("$ID/ApplyColor")); //カラーを適用 addEL(app.menuActions.item("$ID/ApplyGradient")); //グラデーションを適用 addEL(app.menuActions.item("$ID/ApplyNone")); //適用なし addEL(app.menuActions.item("$ID/Normal View Mode Tool")); //標準モード addEL(app.menuActions.item("$ID/Preview Mode Tool")); //プレビューモード addEL(app.menuActions.item("$ID/Bleed Mode Tool")); //裁ち落としモード addEL(app.menuActions.item("$ID/Slug Mode Tool")); //印刷可能領域モード */ //チェックを行うイベントのタイミング(その他) addEL(app.menuActions.item("$ID/Cut")); addEL(app.menuActions.item("$ID/Copy"); addEL(app.menuActions.item("$ID/Paste"); addEL(app.menuActions.item("$ID/Zoom In")); //ズームイン addEL(app.menuActions.item("$ID/Zoom Out")); //ズームアウト addEL(app.menuActions.item("$ID/ToggleViewSetting")); //デフォルトとプレビュー表示設定間を切り替える addEL(app.menuActions.item("$ID/ToggleControlPanelTextMode")); //コントロールパネル内での文字と段落モード切り替え function addEL (myMenu) { myMenu.eventListeners.add("afterInvoke", cktime, false); } //最終保存からの時間を調べて、過ぎてたら警告を出す function cktime () { for (i = 0; i < docList.length; i++) { if (docList[i] != "" ) { var docName = docList[i].split("\t")[0]; var myLimit = parseInt(docList[i].split("\t")[1]); var d = new Date(); if (d.getTime() > myLimit ) { alert("ドキュメント '" + docName + "' は\n" + "最後に保存(もしくは新規作成)されてから " + limitMinutes + " 分経過しました。\n" + "そろそろ保存したほうがいいですよ。"); } } } } //開いているドキュメントのリストに追加 function addList (e) { var myStr = e.parent.name + "\t"; var d = new Date(); var myLimit = d.getTime() + limitMinutes * 60 * 1000; myStr += myLimit.toString(); docList.push(myStr); } //開いているドキュメントのリストから削除 function removeList (e) { var myStr = e.parent.name; for (i = 0; i < docList.length; i++) { if (docList[i].split("\t")[0] == myStr ) { docList[i] = ""; break; } } } //開いているドキュメントのリストの保存時間を更新 function updateList (e) { var myStr = e.parent.name; for (i = 0; i < docList.length; i++) { if (docList[i].split("\t")[0] == myStr ) { var d = new Date(); var myLimit = d.getTime() + limitMinutes * 60 * 1000; docList[i] = myStr + "\t" + myLimit.toString(); break; } } }