2013年6月6日木曜日

カーソル移動を素早くする(改)

挙動を微妙に修正。
今まではカーソルがディレクトリ上なら最初のファイルに移していたが、最初のディレクトリに移るようにする。

cursormove.js
//!*script


// 最初のエントリの位置を計算
var fn;

for (var i = 0; i < 3; i++) {
  if (PPx.Entry(i).Name != "." && (PPx.Entry(i).Name != "..") ) {
    fn = i
    break;
  }
}

// カーソルが最初の時
if (PPx.EntryIndex == fn) {
  // ファイルなら最後へ
  if (PPx.EntrySize != 0){
    PPx.EntryIndex = PPx.EntryAllCount - 1;
    PPx.Quit();
  }
  // フォルダの場合
  for (var i = 0; i < PPx.EntryAllCount; i++) {
    // ファイルがあれば最初のファイルへ移す
    if (PPx.Entry(i).Size != 0) {
      PPx.EntryIndex = i;
      break;
      }
    // ディレクトリのみなら最後へ移す
    else {PPx.EntryIndex = PPx.EntryAllCount;}
  }}
// カーソルが最初のファイルの時は最後に
else if (PPx.EntrySize != 0 && PPx.Entry(PPx.EntryIndex - 1).Size == 0) {
  PPx.EntryIndex = PPx.EntryAllCount - 1;
  }
// それ以外は最初へ移す
else {PPx.EntryIndex = fn;}

以下を編集して取込
Ctrl+Eに割り振る。
KC_main = { ; PPcメイン窓
^E ,*script %0\Script\cursormove.js
}


追記 2013/12/11


ルートフォルダでもうまく動作するようにした

0 件のコメント:

コメントを投稿