sakura-editor / sakura

SAKURA Editor (Japanese text editor for MS Windows)
https://sakura-editor.github.io/
Other
1.23k stars 162 forks source link

ファイルツリーをフローティング表示時にファイルツリー設定ダイアログを表示して閉じてからファイルツリーを閉じるとフォーカスがエディタに戻らない #1649

Open beru opened 3 years ago

beru commented 3 years ago

問題内容

件名が長いですが件名の通りの挙動が問題だと感じました。

再現手順

再現頻度

必ず

問題のカテゴリ

環境情報

サクラエディタ   v2.4.2.3711 64bit dev Alpha Version
(GitHash 2e01db29680d5105d754c27e04906467a05a45b8)
(GitURL https://github.com/sakura-editor/sakura.git)

      Compile Info: V_A641916 WPR WIN601/I800/C000/N601
      Last Modified: 2021/4/27 15:04:06
berryzplus commented 3 years ago

ファイルツリーをフローティング表示時にファイルツリー設定ダイアログを表示して閉じてからファイルツリーを閉じるとフォーカスがエディタに戻らない

どうあるのが正しいと言ってます?

ファイルツリーをフローティング表示時に ファイルツリー設定ダイアログを表示して閉じてから ファイルツリーを閉じるとフォーカスがエディタに戻らない

問題の内容を分析すると 「ファイルツリーを閉じた直後のフォーカスはエディタに設定されるべきでは?」 と言ってるような気がします。

つまり、フローティング状態のファイルツリーを閉じるイベントには「フォーカスをエディタに戻す責任」があると言ってます。

本当ですか?

beru commented 3 years ago

どうあるのが正しいと言ってます?

サクラエディタ側にウィンドウのフォーカスを戻してほしいです。

問題の内容を分析すると 「ファイルツリーを閉じた直後のフォーカスはエディタに設定されるべきでは?」 と言ってるような気がします。

つまり、フローティング状態のファイルツリーを閉じるイベントには「フォーカスをエディタに戻す責任」があると言ってます。

本当ですか?

常にフォーカスをエディタに戻すべきなのかどうかはわかりません。

  1. サクラエディタを起動
  2. メニューの検索のファイルツリーを選んでファイルツリーのフローティングウィンドウを表示
  3. ファイルツリーのフローティングウィンドウの設定ボタンを押してファイルツリー設定ダイアログを表示
  4. ファイルツリー設定ダイアログを閉じる
  5. ファイルツリーのフローティングウィンドウを閉じる

この操作の間に他のアプリケーションをアクティブにしていないのにも関わらず他のアプリがアクティブになってしまう挙動が変だと感じました。

フォーカスという言葉を使いましたがアクティブウィンドウという用語の方が正確かもしれません。

berryzplus commented 3 years ago

どうあるのが正しいと言ってます?

サクラエディタ側にウィンドウのフォーカスを戻してほしいです。

それであれば妥当だと思います。

「フローティングウインドウは、閉じられるときにメインウインドウにフォーカスを返す責任を持つ」 というのは妥当な気がします。

果たすべき責任を果たしていないのはバグなので、 どっかで対処できたらいいなぁと思います。

berryzplus commented 3 years ago

👆のコメントは、サクラエディタのメインウインドウには、フォーカスを受け取ることのできる部品が2つ以上あることを理解してないと意味不明なのかも知れないです。

 メインウインドウ(CEditWnd)   ┣ツールバー   ┃┗検索ボックス   ┗スプリッターウインドウ(ビューは最大4分割で表示できますが、ビューの親にあたるウインドウ)    ┗エディタビュー(CEditView)

フローティング状態のウインドウの責任は、閉じられるときに「フォーカス所有権をメインウインドウに返す」というところまでだと思います。返したあとのフォーカスが最終的にどこにあたるかまでは責任範囲じゃないように思いました。

当初課題のかきっぷりだと、CEditWnd::GetActiveViewにSetFocusしそうな感じだったので、あえて突っ込んでみました。

beru commented 3 years ago

他のアプリがアクティブになってしまうという事を自分がきちんと最初から書くべきでしたね。

usagisita commented 2 years ago

ファイルツリーからファイルツリー設定を開いた後に閉じてファイルツリーも閉じるとエディタじゃないウィンドウに切り替わる #708

beru commented 2 years ago

重複していますね!

berryzplus commented 2 years ago

708 のタイムスタンプ

beru commented on 17 Dec 2018

かなり前から存在していた不具合のようです。