Open beru opened 3 years ago
ファイルツリーをフローティング表示時にファイルツリー設定ダイアログを表示して閉じてからファイルツリーを閉じるとフォーカスがエディタに戻らない
どうあるのが正しいと言ってます?
ファイルツリーをフローティング表示時に ファイルツリー設定ダイアログを表示して閉じてから ファイルツリーを閉じるとフォーカスがエディタに戻らない
問題の内容を分析すると 「ファイルツリーを閉じた直後のフォーカスはエディタに設定されるべきでは?」 と言ってるような気がします。
つまり、フローティング状態のファイルツリーを閉じるイベントには「フォーカスをエディタに戻す責任」があると言ってます。
本当ですか?
どうあるのが正しいと言ってます?
サクラエディタ側にウィンドウのフォーカスを戻してほしいです。
問題の内容を分析すると 「ファイルツリーを閉じた直後のフォーカスはエディタに設定されるべきでは?」 と言ってるような気がします。
つまり、フローティング状態のファイルツリーを閉じるイベントには「フォーカスをエディタに戻す責任」があると言ってます。
本当ですか?
常にフォーカスをエディタに戻すべきなのかどうかはわかりません。
この操作の間に他のアプリケーションをアクティブにしていないのにも関わらず他のアプリがアクティブになってしまう挙動が変だと感じました。
フォーカスという言葉を使いましたがアクティブウィンドウという用語の方が正確かもしれません。
どうあるのが正しいと言ってます?
サクラエディタ側にウィンドウのフォーカスを戻してほしいです。
それであれば妥当だと思います。
「フローティングウインドウは、閉じられるときにメインウインドウにフォーカスを返す責任を持つ」 というのは妥当な気がします。
果たすべき責任を果たしていないのはバグなので、 どっかで対処できたらいいなぁと思います。
👆のコメントは、サクラエディタのメインウインドウには、フォーカスを受け取ることのできる部品が2つ以上あることを理解してないと意味不明なのかも知れないです。
メインウインドウ(CEditWnd) ┣ツールバー ┃┗検索ボックス ┗スプリッターウインドウ(ビューは最大4分割で表示できますが、ビューの親にあたるウインドウ) ┗エディタビュー(CEditView)
フローティング状態のウインドウの責任は、閉じられるときに「フォーカス所有権をメインウインドウに返す」というところまでだと思います。返したあとのフォーカスが最終的にどこにあたるかまでは責任範囲じゃないように思いました。
当初課題のかきっぷりだと、CEditWnd::GetActiveViewにSetFocusしそうな感じだったので、あえて突っ込んでみました。
他のアプリがアクティブになってしまうという事を自分がきちんと最初から書くべきでしたね。
ファイルツリーからファイルツリー設定を開いた後に閉じてファイルツリーも閉じるとエディタじゃないウィンドウに切り替わる #708
重複していますね!
beru commented on 17 Dec 2018
かなり前から存在していた不具合のようです。
問題内容
件名が長いですが件名の通りの挙動が問題だと感じました。
再現手順
再現頻度
必ず
問題のカテゴリ
環境情報