-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
指定した検索条件を履歴に残したい (PatchUnicode-1046 各履歴のお気に入り) #1640
base: master
Are you sure you want to change the base?
Conversation
✅ Build sakura 1.0.3696 completed (commit 0d85756bbd by @dep5) |
試していないで書き込みますが、外部コマンド実行か何かで、履歴の1番目をアクティブな変数として使用しているコードがあったような気がします。 |
ファイル履歴で使える「お気に入り」の機能を、 現状の説明では、何をどうしたいのかがほとんど読み取れないので、そこを教えてほしいです。 既存パッチ取り込みとしてやるから焦点がボケるんでは?と思いました。 |
✅ Build sakura 1.0.3700 completed (commit 3bbac4eafc by @dep5) |
✅ Build sakura 1.0.3701 completed (commit 97c52304aa by @dep5) |
#1639 でアドバイスをいただいた、誤ったAuthorに関連付けされていたのを直しました。 |
usagisitaさん 外部コマンド実行・ファイル名を指定して実行で |
dep5さん、困っていることは(少なくとも自分は)わかりました。 こんなことを書ける立場じゃないとは思いましたが、 #1622 や #1639 でも感じられた、次の点を指摘しておきます。
#1640 (comment) |
オリジナルからの変更内容は以下の通りです v0.2 バージョン番号を最新に変えた |
パッチを適用したビルドを数年使用してきて便利なので投稿してみただけですので |
ようやく分かってきました。そういうこと(c++開発者ではない)っすね。 それなら、誰かが引き継いで機能取込までもっていく方向ではどうでしょうか? 現状が既に実績のあるマージコードであってもベースが色々変わってるので、追加の修正やら確認がいると思っています。 |
この点気が付けなかったです。申し訳ありませんでした。 |
dep5さん、誤った対応をしてしまい申し訳ありませんでした。
軽く調べたところ、これらの項目は「履歴とお気に入りの管理ダイアログ」でユーザーが管理することはできませんが、履歴自体は内部で持っています。 |
kazasakuさん この機能を追加してもよいとなったら、あとはできたらみなさんにおまかせしたいです。 |
履歴の性質が異なるので、単純に「お気に入り」を有効にする対応ではマズそうに思います。
ファイル履歴は、新しく追加できなくなっても困らないです。新しい履歴が登録できないだけなので。 取込しようとしているパッチでこのあたりの仕様を考慮できているようには見えないので、 |
sakura.iniを編集して、MAXの履歴をすべてお気に入りに入れた状態でテストしてみました。 しかし、ツールバーに追加した検索ボックスを使った場合は 履歴に追加されなくても実行できるなら、それでいいかなと思っていましたが |
「履歴とお気に入りの管理」でしかお気に入りは設定できないのだから |
SonarCloud Quality Gate failed. |
✅ Build sakura 1.0.3720 completed (commit 9fb1b4f07c by @dep5) |
SonarCloud Quality Gate failed. |
✅ Build sakura 1.0.3967 completed (commit 583d529c41 by @dep5) |
#1640 (comment) sakura_core/dlg/CDlgFavorite.cppのCDlgFavorite::OnNotify(NMHDR* pNMHDR)に
というコードを追加するとチェックボックスをOFFにできるが、ONにできないようになります。
このように変更します。 クリック動作が反映される前にメソッドでチェックボックスをONにすることで |
ぼく個人の主観的な見解ですが、 リストビューの項目がクリックされた場合、 の正当性を疑っています。 チェック付きの項目をクリックしたときに行うことは2つです。 チェックボックスを直接触る処理を書いてしまうと、状態の記録が漏れる要因になります。 |
berryzplusさん https://eternalwindows.jp/control/listview/listview07.html
この動作には遅延があるようで、その間にチェックを入れることで スペースキーを押しっぱなしで高速にチェックしたり、 チェックの状態が履歴に反映されるタイミングを考えても、 しかし、たまたま見つけた裏技のようなものです。 |
履歴最大値までお気に入りに設定した場合に問題があると指摘があったのでrevertしましたが |
✅ Build sakura 1.0.4137 completed (commit 3893a185c6 by @dep5) |
ほかの人のコミットが大量に混入したコミットになってしまったのでやり直しました |
✅ Build sakura 1.0.4140 completed (commit c68c0839f9 by @dep5) |
SonarCloud Quality Gate failed. |
✅ Build sakura 1.0.4146 completed (commit 2072ee9931 by @dep5) |
✅ Build sakura 1.0.4214 completed (commit da0a17384c by @dep5) |
SonarCloud Quality Gate failed. |
PR の目的
何度も検索すると検索条件が検索履歴から消えてしまいます。
そうならないように、また使いたい検索条件を保護するために
Mocaさん作の
PatchUnicode-1046 各履歴のお気に入り を適用します
カテゴリ
PR の背景
検索や置換の履歴がいっぱいになると必要な検索語句も履歴からいずれ消えてしまいます。
履歴に残すために、お気に入り機能を使います
PR のメリット
お気に入りに入れることでそれを検索履歴に残し続けます。
検索、置換、GREPファイル、GREPフォルダ、コマンド、カレントディレクトリ
以上のタブで同様のことが可能です。
PR のデメリット (トレードオフとかあれば)
Grepダイアログには「除外ファイル」、「除外フォルダ」もありますが
これには対応していません。
オリジナルで対応しているものだけです。
お気に入りに指定できるのは25個までです。
コマンド、カレントディレクトリは27個までです。
お気に入りに指定した分だけ履歴として使える個数は減るので注意してください。
仕様・動作説明
ファイル・フォルダにはお気に入りに入れることで履歴に残すことができましたが、
この機能を検索・置換・GREPファイル・GREPフォルダ・コマンド・カレントディレクトリも対象にします。
ファイル・フォルダ以外でもお気に入り機能が使えます
PR の影響範囲
履歴の最大数と同じだけお気に入りにすると、問題があるという指摘に対応するために
ダイアログでチェックを入れられるのは検索条件は25個までにしています。
テスト内容
テスト1
手順
関連 issue, PR
参考資料
https://eternalwindows.jp/control/listview/listview07.html
適用前
適用後
チェックは合計25個まで