Skip to content
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

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

Open
beru opened this issue Apr 28, 2021 · 8 comments
Labels
🐛bug🦋 ■バグ修正(Something isn't working) duplicate 重複【ChangeLog除外】

Comments

@beru
Copy link
Contributor

beru commented Apr 28, 2021

問題内容

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

再現手順

  • ファイルツリーをフローティング表示する
  • ファイルツリーのウィンドウの設定ボタンを押してファイルツリー設定ダイアログを表示する
  • ファイルツリー設定ダイアログを閉じる
  • ファイルツリーのウィンドウを閉じる
  • フォーカスがエディタに戻らない

再現頻度

必ず

問題のカテゴリ

  • プログラムの動作上の問題

環境情報

  • サクラエディタバージョン
  • PC情報
サクラエディタ   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
@beru beru added the 🐛bug🦋 ■バグ修正(Something isn't working) label Apr 28, 2021
@berryzplus
Copy link
Contributor

berryzplus commented Apr 29, 2021

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

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

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

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

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

本当ですか?

@beru
Copy link
Contributor Author

beru commented Apr 29, 2021

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

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

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

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

本当ですか?

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

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

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

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

@berryzplus
Copy link
Contributor

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

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

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

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

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

@berryzplus
Copy link
Contributor

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

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

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

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

@beru
Copy link
Contributor Author

beru commented Apr 30, 2021

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

@usagisita
Copy link
Contributor

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

@beru
Copy link
Contributor Author

beru commented Dec 10, 2021

重複していますね!

@berryzplus
Copy link
Contributor

#708 のタイムスタンプ

beru commented on 17 Dec 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛bug🦋 ■バグ修正(Something isn't working) duplicate 重複【ChangeLog除外】
Projects
None yet
Development

No branches or pull requests

3 participants