mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-193321 non-project items checkbox loses its state on switch
This commit is contained in:
+2
-1
@@ -61,11 +61,12 @@ public class ActionSearchEverywhereContributor implements SearchEverywhereContri
|
||||
|
||||
ContributorSearchResult.Builder<Object> builder = ContributorSearchResult.builder();
|
||||
myProvider.filterElements(pattern, element -> {
|
||||
if (progressIndicator.isCanceled()) return false;
|
||||
|
||||
if (!everywhere && element.value instanceof GotoActionModel.ActionWrapper && !((GotoActionModel.ActionWrapper) element.value).isAvailable()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (progressIndicator.isCanceled()) return false;
|
||||
if (element == null) {
|
||||
LOG.error("Null action has been returned from model");
|
||||
return true;
|
||||
|
||||
+10
-10
@@ -91,6 +91,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
|
||||
private int myCalcThreadRestartRequestId = 0;
|
||||
private final Object myWorkerRestartRequestLock = new Object();
|
||||
private final Alarm listOperationsAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, ApplicationManager.getApplication());
|
||||
private final Alarm emptyListAlarm = new Alarm(Alarm.ThreadToUse.SWING_THREAD, ApplicationManager.getApplication());
|
||||
|
||||
private Runnable searchFinishedHandler = () -> {};
|
||||
|
||||
@@ -617,15 +618,13 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
|
||||
}
|
||||
|
||||
private void handleEmptyResults() {
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
if (!nonProjectCheckBoxLocked && !isUseNonProjectItems() && !getSearchPattern().isEmpty()) {
|
||||
setUseNonProjectItems(true);
|
||||
return;
|
||||
}
|
||||
|
||||
hideHint();
|
||||
});
|
||||
assert EventQueue.isDispatchThread() : "Must be EDT";
|
||||
if (!nonProjectCheckBoxLocked && !isUseNonProjectItems() && !getSearchPattern().isEmpty()) {
|
||||
setUseNonProjectItems(true);
|
||||
return;
|
||||
}
|
||||
|
||||
hideHint();
|
||||
}
|
||||
|
||||
@SuppressWarnings("Duplicates") //todo remove suppress #UX-1
|
||||
@@ -670,6 +669,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
|
||||
|
||||
private void resetList() {
|
||||
listOperationsAlarm.cancelAllRequests();
|
||||
emptyListAlarm.cancelAllRequests();
|
||||
listOperationsAlarm.addRequest(() -> {
|
||||
Dimension oldSize = getPreferredSize();
|
||||
myResultsList.getEmptyText().setText(IdeBundle.message("label.choosebyname.searching"));
|
||||
@@ -692,7 +692,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
|
||||
}
|
||||
|
||||
if (!anyFound) {
|
||||
handleEmptyResults();
|
||||
emptyListAlarm.addRequest(() -> handleEmptyResults(), 50);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -728,7 +728,7 @@ public class SearchEverywhereUI extends BorderLayoutPanel implements Disposable,
|
||||
ScrollingUtil.ensureSelectionExists(myResultsList);
|
||||
}
|
||||
firePropertyChange("preferredSize", oldSize, getPreferredSize());
|
||||
}, 0);
|
||||
}, 50);
|
||||
|
||||
return found;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user