mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
UX-1 new SearchEverywhere popup
* fill search field with text selected in editor
This commit is contained in:
@@ -351,7 +351,7 @@ public abstract class GotoActionBase extends AnAction {
|
||||
}
|
||||
|
||||
IdeEventQueue.getInstance().getPopupManager().closeAllPopups(false);
|
||||
seManager.show(searchProviderID);
|
||||
seManager.show(searchProviderID, getInitialTextForNavigation(evnt.getData(CommonDataKeys.EDITOR)));
|
||||
}
|
||||
|
||||
private static boolean historyEnabled() {
|
||||
|
||||
@@ -582,7 +582,8 @@ public class SearchEverywhereAction extends AnAction implements CustomComponentA
|
||||
}
|
||||
|
||||
IdeEventQueue.getInstance().getPopupManager().closeAllPopups(false);
|
||||
seManager.show(searchProviderID);
|
||||
String text = GotoActionBase.getInitialTextForNavigation(e.getData(CommonDataKeys.EDITOR));
|
||||
seManager.show(searchProviderID, text);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -4,6 +4,7 @@ package com.intellij.ide.actions.searcheverywhere;
|
||||
import com.intellij.openapi.components.ServiceManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* @author Mikhail.Sokolov
|
||||
@@ -16,7 +17,7 @@ public interface SearchEverywhereManager {
|
||||
|
||||
boolean isShown();
|
||||
|
||||
void show(@NotNull String selectedContributorID); //todo change to contributor??? UX-1
|
||||
void show(@NotNull String selectedContributorID, @Nullable String searchText); //todo change to contributor??? UX-1
|
||||
|
||||
String getShownContributorID();
|
||||
|
||||
|
||||
+7
-1
@@ -14,6 +14,7 @@ import com.intellij.ui.SearchTextField;
|
||||
import com.intellij.ui.awt.RelativePoint;
|
||||
import com.intellij.util.ui.UIUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
@@ -51,13 +52,18 @@ public class SearchEverywhereManagerImpl implements SearchEverywhereManager {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show(@NotNull String selectedContributorID) {
|
||||
public void show(@NotNull String selectedContributorID, @Nullable String searchText) {
|
||||
if (isShown()) {
|
||||
setShownContributor(selectedContributorID);
|
||||
}
|
||||
else {
|
||||
mySearchEverywhereUI = createView(myProject, myServiceContributors, myShownContributors);
|
||||
mySearchEverywhereUI.switchToContributor(selectedContributorID);
|
||||
if (searchText != null && !searchText.isEmpty()) {
|
||||
mySearchEverywhereUI.getSearchField().setText(searchText);
|
||||
mySearchEverywhereUI.getSearchField().selectAll();
|
||||
}
|
||||
|
||||
myHistoryIterator = myHistoryList.getIterator(selectedContributorID);
|
||||
myBalloon = JBPopupFactory.getInstance().createComponentPopupBuilder(mySearchEverywhereUI, mySearchEverywhereUI.getSearchField())
|
||||
.setProject(myProject)
|
||||
|
||||
Reference in New Issue
Block a user