折角DnD用にIDataObjectを実装したので、クリップボードを使ったフォルダ間のCut&Pasteも実装しておきましょう。Explorerだと良く使うんですが、QMAILだとメニューからメール移動が割と簡単にできるのであまり使わないかも知れないですけど。
IDataObjectでクリップボードのCut&Pasteをした場合、今のままだとちょっと問題がある。というのは内部データを直に持たせているため、たとえば、Copy -> QMAIL終了 -> Pasteみたいなことをされたりとか、Copy -> Copyしたメールを削除 -> Pasteみたいなことをされると存在しない内部データを参照して落ちてしまいかねない。後者は変更をフックすればいいけれど、前者は今みたいに内部データを直に持たせているとどうしようもない。
というわけで、QMAIL URN?でも登場させてみるか?。
urn:qmail://<account>/<folder>/<validity>/<id>
みたいな感じでurnにしてからクリップボードに入れておいて、貼り付けるときにはパースしてから元に戻すと。
これって,外部エディタ起動時にも当てはまりますか?
..めったには使いませんけど,時々秀丸に流し込んだりしてますもんで..(^^ゞ
これってクリップボード関係ですか?
ここで書いているのはリストビューからCut&Pasteした時の話なので、外部エディタにコピーするときにはまた別の話になると思いますです。