履歴

----------------------------------------------------------------------------
                  fileMV 更新、メモなど 
----------------------------------------------------------------------------


   ファイラ(おもに あふ や explorer など)の動作を参考に。
   tabasaFTPから作り変え。
   直接の動機は、mp3録音機器から長すぎるファイル(カセットから録音状態にして放置)
   の先頭だけコピーするために。ファイラを作ろうと思ったのではないです。
   そのうちに「あふ」を見つけて、クローンのような方向性になっています。
   (でも使い込んでもいないので、気ままに自分の欲しい機能を入れてるかな。2007/11)

   ver.目安としては、3つ目の数字はバグフィックス、4つ目は内部書き換え(処理を関数化とか小さい改変)のみです。
   名前は、ファイル移動用に作ったのでとりあえずfileMV。

   ! .. 検討課題
   済 .. 修正済み
   予定 .. そんな気分


   2007/4/4 ver.0.00 
   2007/4/5 ver.0.14.2 複数ファイルコピー、削除
    ( LVS_SINGLESELあるなし、FindFirstFile、FindNextFileで一個ずつ処理。
     ver.0.15.0 タブで移動、エンターで実行など、キー操作
     ver.0.16.0 長さ指定でコピー
     ver.0.17.0 %指定で先頭部分コピー(50%などと記入)
     ver.0.18.0 改行キーの処理改善
     ver.0.19.0 グループ保存
     ver.0.20.0 空容量表示
   2007/4/11 ver.0.20.1 左右入れ替え
       ! 現状、シングルタスクなのでコピーなど終わるまでいじれない
     ver.0.25.0 キー設定 
     ver.0.26.0 起動時に左画面にフォーカス。
       ! マウスで選択時の動作が一部変?
     ver.0.27.2 ↑多分修正
     ver.0.28.1 同じ名前で同じフォルダにカット(いちおう元のファイルは".$$$"をつけて残る)
     0.29 幅変更
     0.30 送るメニュー(c:\windows\sendto\,フォルダ変更できない)
     0.32 コマンド登録
      ([command]1=notepad %s,などとしてAlt+1で実行、まだまだ…とりあえずファイル名だけ使用)
       リスト高さ1/2(最小以上) に変更
       起動時のサイズ、幅(初期ファイルのwx)が0ならwinデフォルトに修正


    ( 公開版 )
     0.33 shift+右クリックで検索メニュー 
	   (該当アイテムだけをリスト表示、ワイルドカード(?*)使用)
     0.34 *検索* 
       (現在のリストで指定文字列を検索し選択状態にする、ワイルドカードなし)
     0.342 コマンドラインで$P(パス)$F(ファイル)の使用を追加
     0.35 ファイル名比較して同じ物を選択。選択の反転。
       いらないソース削除
       $O(逆窓パス),$L(左パス),$R(右パス)追加
       ! ソートが逆窓適用になるときがある?
     0.351 キー設定リスト添付
     0.36
       キー入力項目ほぼメニュー項目に追いつく(もう少し効率あげる方法は)
       ! メニュー見づらい
       コマンド登録(手動)は400個までに
       ! とはいえ呼び出しはとりあえず番号指定なのでやりにくい
       色変えた、みんなが好きそうな怪しげな黒…
       ! 微妙に中途半端 余白が。ちらつきも。
       ! リストに触ってからキー操作有効、そうでないときが分かりにくい
     0.361.1 左右入れ替えのあとのソートが逆画面なのを修正
     0.361.2 ログ設定
     0.362.0 ヘッダ消す、ソートをキー入力で項目に拡張子追加
       !  「逆窓と同じフォルダ」でソート逆窓になる
       !  ドライブ表示の文字列 >済
       !  エンターで実行しない場合がある ShellExecute引数? >済?
     0.363.0 拡張子で色(ひとつ)
     0.363.1 「右クリック>送る」のパス修正
       !  遅くなっていくなあ
       コマンドでwindowsの環境変数を使用可(%Temp%などど)
       フォルダ欄、タブキーで下位フォルダを入力(いまいち不完全)
	   D&D受け入れ片方、フォルダのみ
	   マウスの乗ったほうにフォーカスを移すモード
       (filemv.iniに [setting] mousemv=TRUE )
       !  2Gあたりからマイナス表示になる
       !  リスト下のほうなど上書きしないからか消えない
     0.37 zip32j.dllを使った圧縮。"zip -r nn.zip namae"(nnは選択最初のファイル名)でいっこずつ追加
       !  1Gほど圧縮テスト500Mずつ2つになってしまったなぜ?
          中間ファイルを.zipに変えれば解凍は出来た
       !  icon 表示切り替えがうまくない
       !  list幅操作うまくいかない
       !  予定:D&Dぽいこと。クリックメニュー切り替え(済)。フォルダ、選択以外などリストから外す操作。
       !        登録変数(済)。
     0.372 unlha32.dllを使った圧縮。"a nn.lzh -x1r2a2 namae"(nnは選択最初のファイル名)でいっこずつ追加
       !  予定:exe,batなど実行まえに警告(on,off)しようか
       エディタで開くばあいデフォルトのを使うように変更
       独自変数、環境変数と同じ書式。 (%変数名%)
       filemv.ini に
          [env]
          hensu=置き換え文字列
       などと追加。%は付けない。変数名は多分漢字とかでもいい。
       優先順位
         独自変数 > win環境変数 > $Fなど ( > %s,ファイル名に置き換え。これはやめるかも)
       !  コマンド、終わらないと戻ってこない。system()->ShellExecute()に変えた
	   フォルダ入力欄、フォルダじゃなさそうなときはコマンドとして実行、変数も有効
	   コマンド、空白処理
     0.376 
       unlha32.dllを使った解凍。
       ファイルサイズ(マイナス表示を)とりあえず4Gまで表示するよう修正(%d>%u)、ソートもitoa>itof
       フォルダをdropで「開く」の処理修正。「コピー」にするほうがいいか。
       bmp 表示。続けて bmp だとうまくいかない(済)
       jpg 表示(susie plug-in 'ifjpeg.spi' を起動フォルダに)
       jpg 拡大。領域計算雑なのでバグなのでやめようか
       spiファイルをドロップでそのパスをiniに記録(使うのは現在はifjpeg.spiだけ)
       フォーカスの移動、ESCキーで [ list > edit > file-edit ] のループに変更。
       表示していないときもフォーカスはある、画像表示のときもlist,edit,file-editのどれかに。そこがわかりずらい
       titileにパス表示。
       !  選択状態の動作(色)がおかしくなった >済
       予定:入力実行コマンドを記録?(済)
       フォルダと拡張子設定してあればspi探して表示。毎回調べるのは能率悪いか
       !  画像表示は微妙に縮尺計算が
       消去しないので、前の画像に重ね書き。変えるかも
       最初に開くフォルダを修正
     0.383 vbmp3.dll を使ってmp3,wav の再生(Shift + Enter)。Shift + Enter かエスケープで停止。
       履歴にコマンドも残す。入力欄Ctrl+←で履歴表示
       予定:「履歴「his」で履歴をリスト表示?フォルダ移動の利便どうにか
             「key」でキー設定リスト表示とか。
             ドライブ利用率円グラフ。履歴欄、「C+.」でインクリメンタル・サーチ?
             名前むふにするとか
             入力欄を消す(リストのみ)モード
             mp3、ヘッダを読んで時間指定で長さ計算してコピーとか
     0.39
       入力欄、「?...」で検索+選択
     0.41
       fenrirのinstant.iniに準じたコマンド置き換え(/n > notepad くらいしかテストはしてない)
        パス情報もすでにあるもの検索して利用するのもいいかもな、などと考える
       タイトルバー消すモード。
       mp3など音声、vbmp3.dllなくてもmciで再生。
       mciで映像再生。シフト+エンターで設定拡張子のもの再生。(設定しなくてもメニューで強制できる)
       ウィンドウ内部で再生と思ったが(command系関数)、表示しない場合があり(サイズ変えたりすると表示したり)わからず断念。
       外部ウィンドウを開く(string系関数を使用)。
       コマンド入力と自動検索、バッファ処理ミスでの不具合修正。(一文字入力のたびにコマンドバッファ書き換えたため)
       比較:サイズ、日付の違うものを選択。(分かりにくい)
       !  起動が遅い
       !  画像描画、内部仮想ビューに描いてコピーと思ったがうまくいかず断念中。
       !  仮想リストビューというのを使うと速いらしいが書換え量気になり保留中。

       入力欄に his:R his:L (あるいは Ctrl + (Shift+) H )で履歴リスト表示
       予定:選択の合計サイズ
     0.421
       shift+M 右クリックメニュー切り替え.(マウスだけでの操作向け)表示はちょっと変

       !  Ctrl+UP/Down の動作を SetKeyboardState で(選択の切り替えしないよう)変えようとしたが駄目。
           やり方を全面的に変えないと無理か、キー割り当て変更の一貫性がなくなる。
          (リストビューの操作はいじっていないため。)
     0.422 右クリックメニューの表示を早く。
       !  選択を解除するのはどうにもならないかなあ。Ctrl使えばいいんですが(リストビューの仕様)。
       画像表示オフ(デフォルト)での動作、Shift+Enter で表示。拡張子はjpg,bmpのみ、とりあえず変えられない。
       !  というのは、拡張子判定しようとして失敗、眠いので(?)保留中。あいかわらず描画手抜きで変なところもありつつ。

       実行(メニュー)
       マウスのみで複数選択するため、Control-Keyを押した状態にするメニュー。同じメニューまたは左Controlで解除。

     0.43
       フォルダ名入力、補完
      (現在のフォルダ d:\abc の場合、 d:\abc\de と入れタブキーを押すとdeで始まるサブフォルダ候補を表示。Enterで移動、Esc またはフォーカス移動で解除)
       ( Shift+Tab で逆向きにと思ったが簡単ではなさそなので保留)

       予定:履歴に実行したファイルも入れる?
     0.44
       マウスジェスチャ 「R←:戻る」「R→:進む」 (始点終点のみで判断)

     0.45
       マウスジェスチャ、「R↑↓:編集/再生/表示」「R↓←:実行」「R↑:上のフォルダに移動」 追加(判断方法を変更)
       (いまのとこ機能は固定.感度にぶい?大きめに動かすといいかも)
       ファイル名に空白があるとき再生できないのを修正(""で囲う)

     0.464
       キー設定ファイルないときも読み込むせいで起動が遅かったのを修正(usbで1分)
       読み込みルーチンも変えた(ないときはスキップ)

       !  名前変更できない不具合
       !  ジェスチャ、斜め作ってみたが難しいのでまだオフ

   2007/5/18
     0.47
       マウスジェスチャ、カスタマイズ(いちおう)対応。filemv.iniに
       [mouseTrans]
       DUD=40107
       などとエディタで追加。動作コマンドの長さは10とかでも多分動く。
       上の場合は動作コマンド「右クリック下上下」をメニューの「IDM_DirEDIT_SW」に置き換える。
       対応は source の resource.h を参照。値が40000〜60000の間にない場合は無視される。
       filemv.iniの書換えはソフトを終了してから行ってください。

       (ソース解析できないと設定も無理だな…)
       ジェスチャ実行中はステータスバーに「DU..」などと表示されます。音も出すといいかな。

     0.472
       アドレス欄に「mouse:」でマウスジェスチャ設定リスト。
       メニューを選び、右クリックメニュー>編集でジェスチャ文字列(DRDRなど)を指定。
       ( D:下、R:右、U:上、L:左 )

       RRR(右、すこし左、右、すこし左、右:あるいは長さ判定)なども出来るようにしようか
       いまいち

     0.48
       タブ化。連動しない部分もあり。保存はまだ。
     0.481
       タブ、保存(メニュー>窓グループ>現在の状態を保存)。二画面優先なので分かりにくい面も。
       マウスジェスチャ、デフォルトでオンにした。(終了時にオン・オフ保存)

     0.482
       マウスジェスチャ、斜め判定改善して追加。デフォルトではオフ。

     0.483
       マウスジェスチャ、軌跡を表示。

     0.486
       マウスジェスチャ、デフォルトでオンになってなかったのを修正。
       斜めも誤判定減ったので、デフォルトでオン。
       回転の向きは色は変えるがまだジェスチャでの使用は考え中.
       ジェスチャはあまり動きが遅いといまのところ反応しない。
       (判定で色が変わるので色を目安にしてください)
       !  履歴リスト表示でバグ?(クリックで落ちる場合あり)
       ジェスチャ、小さい丸(上げ下げの長さと距離で判定)でマルチラインのテスト。
         仕様(仮):マウスボタン上げで'X'、次の下げまで判定休止
       ジェスチャ用文字列バッファ1000、ポイント保存バッファは10000に。なんとなく。2分ぐらいはもつ?
       (ループさせればいいが、なんとなくしていない)

       予定:キーを設定表示に加える
       ジェスチャの文字は Up Down Left Right HidariUe MigiUe(下は小文字)の頭文字、変えるかも
       予定:ESCでジェスチャ解除 マルチも解除。
            座標の前にメッセージの数。
            リストの外に行っても線を描く?
       (まう筋つかってみた。便利。設定のない動きはスルーして(元のソフトにメッセージ)くれればいいんだけどそうもいかないのか。)
       右下に座標表示した。見た目以外あんまり意味はないか。
       基点座標を(0,0)表示にした。

       外部からドラッグされたファイルのコピー(ひとつ)
         ドラッグの処理は現在次のどれか。
           ファイルコピー、
           フォルダならフォルダ移動、
           ファイルがspiならSuziePlugInフォルダに設定

     0.489.1
       新規作成でのエラー(ダイアログ呼び出し時の引数変更によるもの)修正など細かい修正
       交点はまだ作業中というか使うのやめるかな
       回転数を使おうか。(右回り3.5回分とか)
       座標表示欄には「データ番号:x、y」、ジェスチャ終了時は「データ数:文字数、参考数値(交点)」。

       音声再生(mci)の終了していた場合の処理を修正

       -----------------------
       なんとなく一息
       しばらくは小さい修正か

     0.50
       ルートの上に仮想メイン(ドライブ一覧と履歴などの特殊フォルダ一覧)を追加
         (ドライブのルート表示のときに上に移動すると表示)
       mouse:ではメニューに対応するキーも表示、とりあえず表示するだけ
         例:sca+Q ... Shift + Ctrl + Alt + Q
             xFF ... キーの16進数表示 (0xFF=10進数で255)

         右クリックメニューをいじりたいが内部的に保留、タブまわりも難しそうで保留

       タブないところをダブルクリックで新規タブ開く

       予定: 右窓実行ファイル選択、左窓データファイル選択>実行、のメニュー
               ドラッグ&ドロップでファイルのあるフォルダを開く選択肢(ファイルの場合、いまはコピー)

       -----------------------
   2007/11
     0.51
       簡易表示、改行コード LF,CR でも改行するように。適当
     0.51.1
       右クリックメニューにmenuを出すメニュー(自分で忘れたので)
	   予定:memoモード付けようか。保存しなくても抜けたら自動で保存。
	      あるいは改行で保存とか。修正では新しいファイルに保存。
	      古いものは捨てない、ノートのような感じ?
	      戻るのはページをめくるように。ファイル名は1,2,3...とか。
	      あるいは巻紙。

     0.52.0
	   memoモード付けてみた。
	    F12、ESC で切り替え。文書簡易表示画面の全画面の
	    ときとメモのときの違いがないので分かりにくい。
	   (タイトルにはmemoと表示)
	    モード切替かソフト終了のときに変更があれば保存。
	    編集できるサイズは30kbyteまで。

	    パス、ファイル名はとりあえず手動でiniファイルを編集してください。
	   部分コピー、キャンセル時のリロードをしない。
	   右再読み込みが出来ないのを修正。
	   現在のモードが分からない場合は ESC でフォーカスを移動するといいです。
	    
     0.52.2
	   vol? 改行修正
	   Ctrl+Alt+UP ウィンドウ構成変更、Ctrl+Alt+Down の逆。
     0.52.3
	   リストモードと全画面簡易表示モードを ESC で切り替える。
	   ! フォルダ選択で簡易表示きりかえてしまう
     0.52.4
	   menu > file > 新しいメモ 。
	    現在のメモを連番でリネーム。
	    memofile=memo-.txt の場合は memo-_000.txt,memo-_001.txt,.. と増えていく。
	    最新は memo-.txt のまま。
     0.52.5
	   memoモードで、メモと同じフォルダに key.log.txt を取る(memoに加えた文字すべて)

     0.52.6
	   memoモード調整。消し忘れてたメッセージダイアログ。
	   保存失敗の時は画面消さないようにした。いまいち不安定か。
	    key.log.txt のほうは追加モードなので予備として。
	   Ctrl+Rクリック でとりあえずファイルメニュー。
	   Shift+Rクリック でサブ・メニュー(menuオン/オフ)
	   困った時はESCキー、という方向で。

	   ! キャレットを最後に

     0.52.7
	   簡易編集画面、先頭に$>abcd の時 Ctrl+S で memoのフォルダに abcd.txt を作り保存、$.abcd なら現在のフォルダに。いまいち。

     0.52.71
	   ファイルをドロップした時、コピー・キャンセルならフォルダへ移動。

     0.52.8
	   フォルダ名入力のフォーカスがタブ、リストと連動していなかったのを修正。まだちょっと。
	     大幅に書き直さないと自分でもややこしい。
	   フォルダ名入力欄でShift+ENTER でEXPLORER で開く。

     0.53.00
	   $.filename を簡易編集画面の先頭に表示。
	   先頭行を変えなければ Ctrl+S で上書きになるので注意。バックアップは現状ではなしです。
	   大きいファイルには対応しません。edit classを使用しているだけなので。
     0.53.01
	   保存は win標準(Shift-JIS、改行:CR+LF) になっています。
     0.53.2
	   フォルダ入力欄、/でメインに移動
	   ! 簡易表示読み込みがおかしいものがある、 先頭が 0x0a のもの?
     0.53.2
	   簡易表示、ほぼ修正。
     0.53.4
	   clip:nameでhis:を表示するバグ修正。
	   ! clipにコピーできなくなっている。フォーカスが他のソフトから戻った後の動作が左右ちぐはぐ。
     0.54.0
	   メニュー>設定>左をtreeとする
	     左リストのフォルダをクリックすると右の窓で開くモードを追加。
     0.54.1
	   tree mode, どちらのリストでも効くように変更。トグルスイッチ
	     tree表示はしないから名前がよくない
     0.54.2
	   tree mode, フォルダを開くきっかけを「選択」から「左ダブルクリック」に変更。逆窓はスイッチ連動のほうがいいか保留。
	   右リスト用メニュー(いまは実際はカレントリスト用)の再読み込み部おかしくなったので修正(currentを使う。内部の話)。
	     まだ窓の「左、右」と「選択、非選択」が混乱しているコードあり。
     0.54.3
	   マウスゼスチャ登録ウィンドウで空の文字列でOKを押したとき、登録してしまう(=>右クリックだけで実行する設定になる)のを修正。(命令を無効にする)
     0.55.0
	   マウスゼスチャ,色を変更できるようにした。filemv.iniに書く。赤緑青がRGB(255,255,255)の形式で設定される。
	     例
	     [setting]
	     mousecolor=on
	     (略)
	     [mousecolor]
	     0_R=10
	     0_G=20
	     0_B=30
	     1_R=10
	     1_G=120
	     1_B=30
	     (略)
	     14_R=210
	     14_G=20
	     14_B=30
     0.55.1
	   コマンド入力改良。単体の場合%%でくくらなくてもいいように。
	   firefoxなどと登録してあればfolder名入力欄に入力してエンターで実行。
     0.56.0
	   folder入力欄に「ff=c:\..\firefox.exe」の形で入力してコマンド変数を設定出来るようにした。
	   コマンド変数のリスト表示メニュー。
     0.57.a.0
	   Lua 組み込みテスト。lua.lua は起動フォルダに置く。サイズが大きくなってしまう。当たり前。
     0.57.dll.1
	   lua 関連をdllにした。
	    menu>ver.>luatesで、
	    ファイル名をlua.luaで変換してdialog表示するテストだけ。
	    lua.luaを書き換えればすぐ変更、実行できる。
	    現在は、luaファイルは同じフォルダに置かなければ呼び出せない。
	    luaの文法などについては http://wikiwiki.jp/lua/ などを参照。
	   lua 関連をビルドするには http://hammm.dw.land.to/lua/ の lua-5.1.3-mbenc.zip が必要。
	   lua本家のものでは試していない。
	   DLLと切り離したバージョンでは、実行時に動的リンクなので必要ない。
	   lua.luaとmoflua.dllなど、lua関連はなくても本体は動くようにする方向。
	   libのビルド関係はこちらに書いた > http://lua.g.hatena.ne.jp/hatecha/?word=%2a%5bvc%2b%2b%5d



--------- todo

前回終了時のtabで起動
保存時の改行をもとのと同じにする
$R.filenameで右に保存とか。
Ctrl+S 保存、拡張子をみて新しい時だけは注意を表示
$.full-path, pathつきならそのパスに保存
文字コード処理
バイナリの16進表示、書き込み、
タブを閉じるメニュー
窓グループ、消すメニュー。保存方法かえる?



オープンソース ----------------------------------------------
   
   再配布、改変等、自由です。