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

Find/Replace Overlay: Lost in Manifest editor #2075

Closed
2 tasks done
Tracked by #2021
HeikoKlare opened this issue Jul 12, 2024 · 0 comments · Fixed by #2085
Closed
2 tasks done
Tracked by #2021

Find/Replace Overlay: Lost in Manifest editor #2075

HeikoKlare opened this issue Jul 12, 2024 · 0 comments · Fixed by #2085
Labels
bug Something isn't working

Comments

@HeikoKlare
Copy link
Contributor

Let's make sure issue is not already fixed in latest builds first.

Steps to reproduce

  • Open any MANIFEST.MF file.
  • Press CTRL+F / CMD+F to open the find/replace overlay.
  • Click into the Manifest editor.

I expected: the overlay to still be present and the focus to be in the Manifest editor

But got: the overlay is hidden and cannot be reopened without closing and reopening the editor

find_replace_manifest_lost

Tested under this environment:

  • OS & version: Windows 11
  • Eclipse IDE/Platform version (as shown in Help > About): I20240711-1800

Community

  • I understand reporting an issue to this OSS project does not mandate anyone to fix it. Other contributors may consider the issue, or not, at their own convenience. The most efficient way to get it fixed is that I fix it myself and contribute it back as a good quality patch to the project.
@HeikoKlare HeikoKlare added the bug Something isn't working label Jul 12, 2024
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 12, 2024
…atform#2075

The FindReplaceOverlay is sometimes hidden unintendedly when switching
focus to the underlying editor, which is not a standard text / source
code editor, such as a Manifest editor. The reason is a faulty
identification of whether the target part is displayed.

This change corrects the visibility determination of the overlay by
comparing the FindReplaceTargets of active and target part instead of
comparing the part itself.

Fixes eclipse-platform#2075
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 16, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 16, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 16, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 16, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 16, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
HeikoKlare added a commit to HeikoKlare/eclipse.platform.ui that referenced this issue Jul 16, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
lathapatil pushed a commit to lathapatil/eclipse.platform.ui that referenced this issue Oct 21, 2024
…form#2075 eclipse-platform#2046

The FindReplaceOverlay is currently only supposed to be shown when the
target editor is visible. Sometimes it is even hidden unintendedly when
switching focus to the underlying editor, which is not a single editor
but encapsulated in a MultiPageEditorPart, which has different pages.
Switching between the pages of that multi-page part, even to pages
without a text editor, does not recalculate the visibility of the
overlay. The reason for this behavior is a faulty identification of
whether the target part is displayed.

This change reimplements the visibility handling for the
FindReplaceOverlay based on the target part's visibility. It's goal is
to show the overlay if, and only if, the target part is visible, no
matter whether it is encapsulated into a multi-editor part or not.
- It encapsulates all target-visility-related functionality into a
nested class. This class tracks and exposes the visibility state.
- It adds an IPageChangedListener to get notified about page changes in
MultiPageEditorParts.
- It reduces the recalculation of the visibility state to part/page
change cases in which the target part is involved.

Fixes eclipse-platform#2075
Fixes eclipse-platform#2046
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
1 participant