タブの保存と復元No.10218
ももきち さん 22/07/17 00:03
 
秀丸ファイラーにて、作業単位でウィンドウを作成し、別作業を行う時はウィンドウ
を切り替える、といった使い方をすることがあります。
(No.08681の投稿とほぼ同様の使用方法です)

これまではブックマークを使用して、作業用に保存していたウィンドウを開いていた
のですが、ロック状態やタブごとのプロパティの表示名が復元できず、少し不便だっ
たので、設定内容の保存/復元の「現在開いているタブ」で実現してみようと思い試
してみました。

そこで以下の要望があります。

・「現在開いているタブ」の復元を行うと、保存したタブが復元されるのに加えて、
復元前のタブが1つだけ残ることがあります。
  これは意図した動作でしょうか?できれば、復元後は保存していたタブだけが表示
される状態になって欲しいです。

・タブの保存/復元、を実行するのに、以下のように何アクションも必要になり、 頻
繁に行うと手間がかかります。
  「設定内容の保存/復元」を選択→保存/復元を選択→「現在開いているタブ」だけ
チェックONにする→ファイルを決定
 
  「現在開いているタブの保存」「タブを復元」といったコマンド(もしくはスクリ
プト)を作成して頂けないでしょうか。
    コマンドを実行すると、直接ファイル選択ダイアログが開くようなショートカッ
ト動作をイメージしています。
    タブの保存と復元が素早くできると、使いやすくなると思いました。

[ ]
RE:10218 タブの保存と復元No.10219
ももきち さん 22/07/17 20:31
 
すみません、もう1点要望があります。
・現状は、「現在開いているタブ」の保存で「フォルダ配下的にロック」の状態は保
存されるようですが、同様に「ロック」の状態も保存されるようにして欲しいです。

[ ]
RE:10219 タブの保存と復元No.10223
秀丸担当 さん 22/07/19 17:21
 
設定内容の保存で、「現在開いているタブ」を簡単にできたらいいということで、ご
意見参考にさせていただきます。
起動オプションでやる方法もあって、/savereg-onlyと/savereg-flagsで保存、/rest
oreで復元する方法もあります。

保存する例:
"c:\program files\hmfilerclassic\hmfilerclassic.exe" /savereg-only "C:\Folde
r\xxx.hfcreg" /savereg-flags 0x10

復元する例:
"c:\program files\hmfilerclassic\hmfilerclassic.exe" /restore "C:\Folder\xxx.
hfcreg"

これを何らかの方法で実行すればすぐにできます。
秀丸ファイラーClassic自身のブックマーク自身でもいいですし、バッチファイルや
秀丸エディタのプログラム実行でも何でもいいです。

ロックについては、こちらで確認してみた限りでは、ロックも保存・復元できている
ようで、できない場合の条件は不明でした。条件がわかると助かります。

[ ]
RE:10223 タブの保存と復元No.10227
ももきち さん 22/07/19 23:23
 
保存した設定情報をファイルをメールにて送付致しましたので、ご確認お願い致しま
す。

ご提案頂いた起動オプションで実現する方法を試してみます。
(この方法があるのは知っていたのですが、若干用途が違うように思っていたのと、
秀丸ファイラーClassic自身から実行できるとは思ってなかったので、試していませ
んでした。)

また、復元前のタブが1つだけ残ることがある事象についても、ご検討頂けると幸い
です。

[ ]
RE:10227 タブの保存と復元No.10229
秀丸担当 さん 22/07/20 15:38
 
設定ファイル受け取りました。
こちらではロックで復元されたのですが、違いは設定によることと思われます。
[ツール]→[オプション]→[プログラム]のところの「ロックを復元」がONになってい
る場合はロックが復元されました。
この設定に関わらずできるようにしようと思います。
復元前のタブが残るのも修正します。

[ ]
RE:10229 タブの保存と復元No.10234
ももきち さん 22/07/20 20:31
 
ご確認有難うございます。お手数おかけしました。
仰る通り[ツール]→[オプション]→[プログラム]→「ロックを復元」がOFFになって
いたことが原因でした。
逆に考えると、この設定がOFFでも起動時は「フォルダ配下的にロック」が復元され
てしまうようですね。
意図した動作でなく容易に対応出来るようでしたら、こちらも修正検討お願いします。

少し話が戻るのですが、
起動オプションを使って、「現在開いているタブ」を設定内容の保存するスクリプト
を作成しようと思っています。
以下のように決まったファイルではなく、「ファイルを保存」ダイアログからフォル
ダやファイル名を決定するようにしたいのですが、スクリプトから「ファイルを保
存」ダイアログや「ファイルを開く」ダイアログを開くことって出来たりするでしょ
うか?
(new ActiveXObjectで出来るかと思い調べてはみたのですがよく分からず、勉強不足
ですみません)

----------
保存する例:
"c:\program files\hmfilerclassic\hmfilerclassic.exe" /savereg-only "C:\Folde
r\xxx.hfcreg" /savereg-flags 0x10
----------

[ ]
RE:10234 タブの保存と復元No.10235
秀丸担当 さん 22/07/21 08:58
 
ファイルの参照ダイアログは、秀丸ファイラーClassicのスクリプトとしては無いです。
COMオブジェクトとして作成できるものであれば一応できて、Web検索するといっぱい
出てくるのですが、やたら条件があったり複雑だったりして、決定打といえるものが
ずっと無く、今も無いような気がします。

ものすごく今さらながらなのですが、秀丸エディタのマクロにもbrowsefileという関
数を最近(V9.16で)追加していて、簡単にできます。
秀丸ファイラーClassicにも同じものを追加しようと思います。


[ ]
RE:10235 タブの保存と復元No.10255
ももきち さん 22/07/23 16:38
 
V1.78β2にて以下が修正されていることを確認しました。
・「ロックの復元」設定に関わらず、ロック、フォルダ配下的にロックの状態が復元
されること。
・タブの復元で実行前のタブが残らないこと
・BrowseFileメソッドによるファイル参照ダイアログ実装

特に、BrowseFileメソッドは簡単にダイアログが表示できて、考えていた動作が実現
できそうです。
大変素早い対応だったので驚きです。対応頂き有難うございました。

[ ]
RE:10235 タブの保存と復元No.10258
ももきち さん 22/07/24 15:54
 
>起動オプションでやる方法もあって、/savereg-onlyと/savereg-flagsで保存、/res
>toreで復元する方法もあります。

ご教示頂いた起動オプションで、「現在開いているタブ」の設定保存を試してみまし
た。
"c:\program files\hmfilerclassic\hmfilerclassic.exe" /savereg-only "C:\Folde
r\xxx.hfcreg" /savereg-flags 0x10
秀丸ファイラーClassicが起動中でも、現在開いているタブが保存されるのではなく、
起動時のタブが保存されるように見えます。
これは意図した動作でしょうか。

また、BrowseFileメソッドで、名前をつけて保存のダイアログが代用ができると思い
試してみました。
ダイアログを表示させて、存在しないファイル名を入力し「開く」を押下すると「フ
ァイルが見つかりません」エラーとなり、名前をつけて保存ダイアログとしては使え
ませんでした。
名前をつけて保存のダイアログのメソッドを実装して頂けないでしょうか。もしくは、
何か実現する方法はないものでしょうか。

[ ]
RE:10258 タブの保存と復元No.10261
秀丸担当 さん 22/07/25 17:01
 

/savereg-onlyの/savereg-flags 0x10は、調べてみたら、現状レジストリ記憶されて
いるものを読み込んで、それを保存するだけでした。
ウィンドウの配置もそうですが、タブを追加したり閉じたりしてもその時点で自動的
に記憶されるので、結果的にできているように見えるところ、自動的に記憶されてい
ない段階がもしあれば、違うことがありえました。
メニューから操作したときと同じような効果が得られるように修正します。

BrowseFileメソッドは、確かに保存には向きませんでした。
存在しないファイルを問い合わせる形式にするか、保存用とオプションで指定するか
何らかの方法を作ろうと思います。
現状で無理やりですが、いったん*.*にしてから、ファイル一覧背景の新規作成から
テキストファイルを作成して、そのファイル名を変えると強引にはできると思います。

[ ]
RE:10261 タブの保存と復元No.10281
ももきち さん 22/07/30 10:53
 
V1.78β3 にて、/savereg-onlyの/savereg-flags 0x10が、現在開いているタブ状態
が保存され、期待通りの動作になることを確認しました。
ご対応有頂き難うございました。


>BrowseFileメソッドは、確かに保存には向きませんでした。

V1.78β3 にて、以下の変更があったので、試してみました。
「・browseFileメソッドで、新規作成時の問い合わせを出すように修正。」

一応、ダイアログから新規でファイルを保存することはできるようになりました。
ただ、以下の動作が違和感を感じました。

<ダイアログ表示が不要かもパターン>
1.名前を付けてファイルの保存操作
2.存在しないファイル名を入力する
3.「XXXXは見つかりません。新規作成しますか?」ダイアログで「はい」選択
4.ファイルの保存動作
→「3.」のダイアログ表示が冗長(秀丸エディタでも表示されないと思います)

<既存ファイルのファイル名判定が微妙なパターン>
1.事前にファイル名が「xxx.aaa」というファイルを作成しておく
2.browseFile()のワイルドカード指定を"*.aaa"にして、browseFile()をコールして
ダイアログを表示する
  (ダイアログ内の「ファイルの種類」が「*.aaa」になる)
3.開いたダイアログで、1.のファイルが格納しているフォルダに移動する。
4.ダイアログでファイル名に「xxx」を入力して「開く」を選択。
5.保存されるファイル名は「xxx.aaa」になり、既に存在するファイルになるはずが、
「xxx.aaaは見つかりません。・・」ダイアログ表示さてしまう。

さらに、保存ダイアログにデフォルトのファイル名を表示できて欲しかったり、ファ
イルの保存のダイアログ機能は、browseFileメソッドと完全に分けた方が良い気がし
ました。

あわせて、フォルダを選択するダイアログがあっても良いと思いました。
→開くファイル選択、保存ファイル選択、開くフォルダ選択、と一通りのファイル操
作ダイアログが揃います。

[ ]
RE:10281 タブの保存と復元No.10285
秀丸担当 さん 22/08/01 11:15
 
ご確認ありがとうございます。
browseFileは、簡単かつ最低限のことができればいいですが、保存用ものもあっても
いいかもしれません。
もとは秀丸エディタ用に簡単にできるようにしたものですが、秀丸エディタの場合は
開くダイアログの種類が何パターンもあります。
Vistaタイプでは新規ファイル名は入力できないという制約があったりして早速バグ
を出したりしてしまったのですが、1つ機能を増やすのでもややこしいことになって
います。
秀丸ファイラーClassicの場合は自前のもの1つなので、比較的簡単ではありますが、
一応秀丸エディタと合わせておきたいところです。
最低限のものという意味では、フォルダ選択ダイアログもあったらいいです。
ご意見参考にさせていただきます。

[ ]
RE:10285 タブの保存と復元No.10289
ももきち さん 22/08/01 20:51
 
秀丸エディタとの互換性の観点からも、一筋縄でいかない事承知しました。

BrowseFileメソッドでは、
・既存のファイルの確認や新規ファイルの作成を行わない
・ファイル参照ダイアログを開いて、「開く」を選択すると、戻り値に「入力された
ファイル名」を返すだけ
・ファイルの有無チェックやファイル作成処理は、スクリプト(マクロ)側で行っても
らう。
とすれば、シンプルで、「開く」や「保存」で使用できる汎用的なメソッドになるよ
うに思いました。

特に本件コメントは不要です。お手数おかけしました。

[ ]