Skip to content

Commit ed50b35

Browse files
vogellaCopilot
andcommitted
Improve Problems view filter dialog UX and fix vanishing markers
This commit addresses several usability issues with the Problems view filter configuration dialog: Fix: Markers vanish when filter scope depends on selection When the filter scope was set to 'Selected resource', 'Selected and children', or 'Same project' and no resource was selected in the explorer, selectByScope() would return false for all markers, making them all disappear. Now, when no resources are selected, these selection-dependent scopes fall back to showing all markers (ON_ANY behavior) instead of showing nothing. UX: Replace scope radio buttons with compact combo dropdown The 5 verbose radio buttons for scope selection are replaced with a single Combo dropdown that takes much less vertical space. The working set 'Select...' button is shown/hidden dynamically based on the selected scope. Mnemonic characters are stripped from labels since they are not applicable in Combo items. UX: Disable configurations when 'Show all items' is checked The configurations group is now properly disabled when 'Show all items' is checked, making it clear that individual filter settings have no effect in that mode. UX: Collapse advanced filter sections by default The type filter configuration (which most users rarely change) now starts collapsed, while scope and severity/description remain expanded. This reduces visual clutter for the common case. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent ed75400 commit ed50b35

File tree

4 files changed

+143
-208
lines changed

4 files changed

+143
-208
lines changed

bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/FiltersConfigurationDialog.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,9 @@ private void updateShowAll(boolean showAll) {
233233
updateConfigComposite(!showAll);
234234
updateLimitTextEnablement();
235235

236+
// Disable the configurations group when showing all items
237+
setEnabled(!showAll, configComposite);
238+
236239
if (showAll) {
237240
previouslyChecked = configsTable.getCheckedElements();
238241
configsTable.setAllChecked(false);
@@ -414,10 +417,16 @@ private void createConfigDesc(Composite parent) {
414417

415418
configAreas = generator.createFilterConfigurationFields();
416419

420+
// Scope and severity/description are always expanded (most used)
417421
createFieldArea(toolkit, form, scopeArea, true);
418422
Iterator<FilterConfigurationArea> areas = configAreas.iterator();
423+
boolean isFirst = true;
419424
while (areas.hasNext()) {
420-
createFieldArea(toolkit, form, areas.next(), true);
425+
FilterConfigurationArea area = areas.next();
426+
// First config area (severity/description) is always expanded,
427+
// subsequent areas (types) start collapsed to reduce clutter
428+
createFieldArea(toolkit, form, area, isFirst);
429+
isFirst = false;
421430
}
422431
}
423432

bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/views/markers/MarkerFieldFilterGroup.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -649,6 +649,11 @@ public boolean selectByFilters(MarkerEntry entry) {
649649

650650
public boolean selectByScope(MarkerEntry entry, IResource[] resources) {
651651
int scopeVal = getScope();
652+
// When no resources are selected and scope depends on selection,
653+
// fall back to showing all markers to avoid confusing empty results
654+
if (resources.length == 0 && scopeVal != ON_ANY && scopeVal != ON_WORKING_SET) {
655+
return true;
656+
}
652657
switch (scopeVal) {
653658
case MarkerFieldFilterGroup.ON_ANY: {
654659
return true;

0 commit comments

Comments
 (0)