オートコンプリート、右クリックカーソルNo.42076
suii さん 12/01/28 11:25
 
V5.72 b32 を使用しています。
3つ、おたずねいたします。


1)
エディタ上の To: や From: にオートコンプリートが働きますが、
既にメールアドレスの一部記載があるときの動作について。

"yamada@taro.com" がアドレス帳に登録してあり
To: に間違えて "ymada" と a を欠落してしまいオートコンプリートが働か
なくなったとき、カーソルを y と m の間に移動して a を入力しますと、
アドレス帳にある "ya" を含む全アドレスが出てきます。
これを、既に入力してある前後の文字列からオートコンプリート候補を出す
ことにはできないでしょうか。


2)
秀丸エディタの動作環境で [表示/操作]-[カーソル操作]にある[マウスカー
ソル]-[右ボタンクリックでもカーソル移動する]のチェックを外しても、右
ボタンクリックでカーソルが移動してしまいます。


3)
未読メールは1秒表示で既読へ切り替えの設定にしています。
下記マクロを Ctrl+1 に登録して迷惑メールフィルターでとらえられなかっ
たspamメールを spamアカウント の受信フォルダーに移動しています。

 loaddll "TKInfo.dll";
 #n = dllfunc( "Move", "spam", "受信" );
 if ( !#n ){
     message "移動失敗らしい";
 }
 endmacro;

未読メールとして spamメール, 普通のメール1, 普通のメール2 といった順
番にリストされていた場合、">"キーでspamメールに行が移って1秒以内に
Ctrl+1 を押下しますと「アカウントをまたがって移動しようとしています
〜〜」というダイアログが出て、その下のまだ見ていないメールの行が既読
に変わってしまいます。

それと、上記マクロでの「アカウントをまたがって移動しようとしています
〜〜」というダイアログが出てしまいますが、これを出さずに移動させるに
はどうしたら良いでしょうか。

[ ]
RE:42076 オートコンプリート、右クリックNo.42077
秀まるお2 さん 12/01/28 15:17
 
> エディタ上の To: や From: にオートコンプリートが働きますが、
> 既にメールアドレスの一部記載があるときの動作について。

 カーソルの後ろの文字も単語補完に使うことは可能だと思いますが、それはそ
れで良し悪し的な仕様変更になるので、果たしてそうした方がいいのかどうかは
難しい気がします。

 メールアドレスの前に何か別のメールアドレスを入れたいと思ってタイプする
こともあると思うので、それが効かなくなるのもどうかなぁという気がします。

 カーソル後ろにある文字列も含めた形で候補を検索し、見つからなかったら
カーソル後ろの文字列を取った形で候補を探したらいいような気もしますけども
…。

 ちょっとそういう感じでトライしてみようかと思います。

> 秀丸エディタの動作環境で [表示/操作]-[カーソル操作]にある[マウスカー
> ソル]-[右ボタンクリックでもカーソル移動する]のチェックを外しても、右
> ボタンクリックでカーソルが移動してしまいます。

 すみません。完全にバグってました。大変失礼しました。

 オプション追加した時のテストって、ONにした時のテストはするけどもOFFの
時のテストって忘れがちになってしまいます。

> Ctrl+1 を押下しますと「アカウントをまたがって移動しようとしています
> 〜〜」というダイアログが出て、その下のまだ見ていないメールの行が既読
> に変わってしまいます。

 これも調べてみたら再現出来て、バグが確認出来ました。

 何かメッセージボックスやダイアログボックスを表示している最中には、裏で
勝手に既読切り替えすることが無いように修正させていただきます。

> それと、上記マクロでの「アカウントをまたがって移動しようとしています
> 〜〜」というダイアログが出てしまいますが、これを出さずに移動させるに
> はどうしたら良いでしょうか。

 現状では、SetAutoPushTimerを使うしか無いです。

    loaddll "TKInfo.dll";
 #n = dllfunc("SetAutoPushTimer", 0, "");
    #n = dllfunc( "Move", "spam", "受信" );
 #n = dllfunc("StopAutoPushTimer");

 になります。

 ですが、せっかくなので、Move/Copy関数にもDelete関数と同じように、問い
合わせメッセージを出さなくするオプション追加させていただきます。

    #n = dllfunc( "Move", "spam", "受信", 1 );

 と指定したらメッセージを出さないようにします。(次のβ版にて)

[ ]
RE:42077 オートコンプリート、右クリックNo.42080
suii さん 12/01/29 20:27
 
>> エディタ上の To: や From: にオートコンプリートが働きますが、
>> 既にメールアドレスの一部記載があるときの動作について。
>
> カーソル後ろにある文字列も含めた形で候補を検索し、見つからなかったら
>カーソル後ろの文字列を取った形で候補を探したらいいような気もしますけども
>…。

賛成です。
既に記載されているアドレス上へのタイプですから、出された候補を確定し
た場合は元の対象アドレスは全部消去で置換でいいと思いますがどうでしょ
う。既に"名前"が記載されていたらその"名前"もです。
現在は単に挿入されるだけので、確定後は手作業で前後の文字列を削除する
作業が必要となっています。


>> 秀丸エディタの動作環境で [表示/操作]-[カーソル操作]にある[マウスカー
>> ソル]-[右ボタンクリックでもカーソル移動する]のチェックを外しても、右
>> ボタンクリックでカーソルが移動してしまいます。
>
> すみません。完全にバグってました。大変失礼しました。

余談ですけど、これはもう標準でカーソル移動してオプションなしでもいい
くらいだと思うんですけど、現状は秀丸エディタの方がカーソル移動するオ
プションがないようなので、操作感の統一のためだけに昔の動作を希望する
次第で。
秀丸エディタの方も移動するようになれば、他のWindowsアプリと同じよう
にカーソル移動する設定で使うと思います。


>> それと、上記マクロでの「アカウントをまたがって移動しようとしています
>> 〜〜」というダイアログが出てしまいますが、これを出さずに移動させるに
>> はどうしたら良いでしょうか。
>
> 現状では、SetAutoPushTimerを使うしか無いです。

便利な命令があったんですね。勉強になりました。
早速ご提示いただいたマクロに書き換えてみました。最高です。
改めてメッセージが表示されないオプションが追加されたらそちらも試して
みます。(こっちの方がエレガントですね)

[ ]
RE:42080 オートコンプリート、右クリックNo.42084
秀まるお2 さん 12/01/30 09:33
 
 メールアドレスのオートコンプリートは、カーソル位置より後ろの文字列も含
めて全体でまず候補を探して、それで候補が無ければカーソル位置より前だけ見
てって風にします。(次のβ版で)

 名前も含めての置き換えについても何かご要望があるとしたら、それはまた別
ですけども。

[ ]