ツール項目について要望No.02665
タイチ さん 12/02/15 22:23
 

いつもお世話になっております。

ツール項目のオプションに、発動条件を追加できないでしょうか?
グループメニューの展開時に、条件を満たさない項目は表示されないようにします。

発動条件
◎ 条件なし(←デフォルト)
◎ ファイルリストにフォーカスがある時
  □ 1ファイル選択 (1)
  □ 複数ファイル選択 (2)
  □ 1フォルダ選択 (3)
  □ 複数ファイル選択 (4)
  □ ファイルとフォルダ選択 (5)
  □ 未選択 (6)

上のオプションが追加されたらどういう風にしたいか、という具体例は、
次のような感じです。

発動条件 ツール項目
------------------------------------
(-----6) すべて選択
(123456) 選択の切り替え
(-----6) 1つ上のフォルダへ
(12345-) フォルダへコピー
(12----) テキストエディタで開く
(--34--) 新しいタブで開く
(--3---) 新しい分割で開く
------------------------------------
(ツールのメニューを展開すると、今の選択状態に合うものだけが表示される)

よい説明の順序が思いつかなかったのですが、本当はコンテキストメニューの話です。

コンテキストメニューのカスタマイズをしてみたのですが、フォルダを2つ選択して
右クリックすると、ファイル用の項目が表示されるのは違和感があります。
また、自由に項目を追加できないのも残念です。

そこで、ファイルリストについての3つ設定欄は1つにして、上記のように
項目側に条件を設定すれば、ユーザーはツール整理と同じ設定画面を使えるし
(作る方は大変でしょうけれども…)、今より自由にカスタマイズできるのでないか、
と思いました。

すでにいくつも勝手な要望を出しているので、こんなリクエストもあるんだくらいの
感じでお願いします。すみません。


[ ]
RE:02665 ツール項目について要望No.02668
秀丸担当 さん 12/02/16 11:10
 

>ツール項目のオプションに、発動条件を追加できないでしょうか?
>グループメニューの展開時に、条件を満たさない項目は表示されないようにします。

こういうことができたらコンテキストメニュー風のものが自由に作れて便利そう
ではあります。
あとグループではない根本に適用させるとしたら、Windows7のエクスプローラの
コマンドバー(?)のような使い方もできそうで、ネタということにさせていただ
きます。

現状ではスクリプトを作って、スクリプトから条件に応じて
if(…){
  Command("ツール項目1");
}else{
  Command("ツール項目2");
}
という感じにすると、それぞれの条件にあったグループを表示させるということ
もできるはずでしたが、やってみたらちょうどβ3からツール項目を1〜80まで増
やしていろいろ変更してしまった影響でできなくなってしまっていました。
次のβ版でいままでのようにできるように修正します。
あと、もしできたとしてもグループはウィンドウ左上に表示されてしまうので、
ジェスチャによる実行時はマウスカーソルの位置に表示させるなどの対策もいれ
てみます。

[ ]
RE:02668 ツール項目について要望No.02671
タイチ さん 12/02/16 22:25
 

前向きなコメントありがとうございます。いつか実現できることを期待しています。
調子に乗るわけではないですが、追加でコメントさせて頂きます。

>あと、もしできたとしてもグループはウィンドウ左上に表示されてしまうので、
>ジェスチャによる実行時はマウスカーソルの位置に表示させるなどの対策もいれ
>てみます。

・グループメニューが左上に表示されるのは前から気になっていました。
もしジェスチャ時の表示位置に対応されるのでしたら、ショートカットキーからの起
動時には
現在のフォーカスアイテムの横(アプリケーションキーでメニューを出す時の位置)
に表示される
ように合わせて対応して頂けるとうれしいです。

・中ボタンによるジェスチャが動作していないようです。

・ジェスチャを右クリックで開始する設定の場合、アドレスバーのアイコンを右ドラ
ッグで引っ張れません。
(ジェスチャ優先にはしていないので、ファイルリストのフォルダは右ドラッグでき
ます)

以上、よろしくお願いいたします。

[ ]
RE:02671 ツール項目について要望No.02674
秀丸担当 さん 12/02/17 10:09
 

>前向きなコメントありがとうございます。いつか実現できることを期待しています。

β3でスクリプトでうまくいかなくなってしまっていますが、現状(β2以前)で方
法は違いますが実現そのものはできます。
β5でできるように修正させていただきます。

例えば以下のスクリプトをtest.jsとして保存して、ツール項目のパスを「>>」
ボタンより「スクリプトの参照」して指定します。

if(GetFocusTarget()==1){
  //ファイル一覧にフォーカス
  var cSel=GetSelectedCount();
  if(cSel==0){
    //選択なし
    Message("選択がありません");
  }else if(cSel==1){
    //1つ選択
    var iItem=GetNextItem(-1,2);
    if(IsFolder(iItem)){
      Message("1つのフォルダ選択");
    } else {
      Message("1つのファイル選択");
    }
  } else {
    //複数選択
    var iItem=GetNextItem(-1,2);
    var cFolder=0;
    while( iItem >= 0 ) {
      if(IsFolder(iItem))cFolder++;
      iItem=GetNextItem(iItem,2);
    }
    if(cSel==cFolder){
        Message("複数のフォルダ選択");
    } else if( cFolder == 0 ) {
        Message("複数のファイル選択");
    } else {
        Message("複数のファイルとフォルダ選択");
    }
  }
}


それぞれ条件に応じたメッセージが出ますが、Messageの部分を
Command("ツール項目1");
という感じにて、グループのツール項目を指定しておくとそれに応じたコンテキ
ストメニュー風のグループを表示できることになります。
(ただグループがいくつも並んで邪魔かもしれません)


>・グループメニューが左上に表示されるのは前から気になっていました。
>もしジェスチャ時の表示位置に対応されるのでしたら、ショートカットキーからの起
>動時には
>現在のフォーカスアイテムの横(アプリケーションキーでメニューを出す時の位置)
>に表示される
>ように合わせて対応して頂けるとうれしいです。

今回コンテキストメニュー風ということでそのようにもできたらいいですが、基
本的にブックマーク/ツールなので、普通に登録されたフォルダやファイルのこ
ともあると思います。
必ずしも選択されれたファイルを対象とするわけではないので、常に選択の位置
に出るのはそれはそれで違和感が出るケースがあると思います。


>・中ボタンによるジェスチャが動作していないようです。

こちらで試してみたところでは、動作しているようです。
ジェスチャ設定の「詳細」で、中ボタンをOFFにしていると効かないこともある
と思います。

ちなみに個人的なことですが手元の IntelliMouse Explorer 4.0 では物理的に
中ボタンがすごく押しにくくて、ホイールを回さないように垂直に力を込めて押
さないと効かないので、効かない、と思ったりすることがありますが、慎重に押
すと効くようです。


>・ジェスチャを右クリックで開始する設定の場合、アドレスバーのアイコンを右ドラ
>ッグで引っ張れません。

確かにそのとおりでした。
このアイコンは当初はショートカットの作成専用で、右ドラッグは意味のないも
のでしたが、その後ショートカットの作成優先+コピーや移動も可、に対応した
ので、右ドラッグは意味があるようになりました。
できたらいいので検討させていただきます。

[ ]
RE:02674 ツール項目について要望No.02679
タイチ さん 12/02/17 20:59
 

お手数をお掛けしております。何と言うか、全体的に申し訳ありません。


・ツールのコンテキストメニュー風な使い方について

正直、スクリプトだと結構面倒だと思っていたのです。
実際にスクリプトを作って頂いて、意外にシンプルに実現できることが分かりました。

このやり方なら、拡張子に対応したメニューを出したり、ドライブごとに違うメニ
ューを出すなど、
他の条件も自分で好きに設定できるのでとても良いです。

ですので、そもそもの私の要望は取り下げさせてください。


・グループメニューの表示位置について

>必ずしも選択されれたファイルを対象とするわけではないので、常に選択の位置
>に出るのはそれはそれで違和感が出るケースがあると思います。

それに気付かなかったわけではないのですが、ユーザーの視線はだいたいフォーカス
近辺に
あるはずだから、どんなメニューにせよ左上に出るよりましだろう、と思って投稿し
てしまいました。
冷静になってみると、確かに選択ファイルの隣に出ると変なメニューもありそうです。
コンテキストメニューにこだわりすぎていた気はします。

言い訳をもう一つ加えさせて頂くと、現状だとツールバーに配置したグループも、シ
ョートカットで
出すとウィンドウ左上に展開されます。それで、メニューの表示位置については割と
未検討なのかも
と誤解しました(これはツールバーの該当ボタンの下に展開した方が自然だと思いま
す)。

良い折衷案はなさそうですし、どうやっても打鍵数には全く影響しないので、この要
望も却下で
お願いします。


・中ボタンによるジェスチャ

私の間違いでした。正しく動作しています。ヘルプをきちんと読んでいませんでした。


丁寧に対応して頂いた上にスクリプトまで作って下さり、β5対応と大変お手数をお
掛けしました。
しばらくスクリプトの使い方を研究しようと思います。
どうもありがとうございました。


[ ]