-
Notifications
You must be signed in to change notification settings - Fork 188
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
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 #2075 Fixes #2046
- Loading branch information
1 parent
ec4db98
commit a5689de
Showing
1 changed file
with
75 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters