mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-144857 Find in Path layout
Layout improvements; filemask checkbox trigger focus movement to filemask field or back to search field
This commit is contained in:
@@ -54,6 +54,7 @@ import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.LocalFileSystem;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.openapi.wm.IdeFocusManager;
|
||||
import com.intellij.openapi.wm.WindowManager;
|
||||
import com.intellij.openapi.wm.impl.IdeFrameImpl;
|
||||
import com.intellij.psi.PsiBundle;
|
||||
@@ -267,6 +268,24 @@ public class FindPopupPanel extends JBPanel implements FindUI {
|
||||
myCbFileFilter.setToolTipText("<html>Use file m<u>a</u>sk(s)");
|
||||
myCbFileFilter.setMargin(JBUI.emptyInsets());
|
||||
myCbFileFilter.setBorder(null);
|
||||
myCbFileFilter.addItemListener(new ItemListener() {
|
||||
@Override
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
if (myCbFileFilter.isSelected()) {
|
||||
myFileMaskField.setEnabled(true);
|
||||
if (myCbFileFilter.getClientProperty("dontRequestFocus") == null) {
|
||||
myFileMaskField.selectAll();
|
||||
IdeFocusManager.getInstance(myProject).requestFocus(myFileMaskField, true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
myFileMaskField.setEnabled(false);
|
||||
if (myCbFileFilter.getClientProperty("dontRequestFocus") == null) {
|
||||
IdeFocusManager.getInstance(myProject).requestFocus(mySearchComponent, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
myCbFileFilter.addItemListener(liveResultsPreviewUpdateListener);
|
||||
myFileMaskField =
|
||||
new TextFieldWithAutoCompletion<String>(myProject, new TextFieldWithAutoCompletion.StringsCompletionProvider(myFileMasks, null),
|
||||
@@ -284,12 +303,6 @@ public class FindPopupPanel extends JBPanel implements FindUI {
|
||||
scheduleResultsUpdate();
|
||||
}
|
||||
});
|
||||
myCbFileFilter.addItemListener(new ItemListener() {
|
||||
@Override
|
||||
public void itemStateChanged(ItemEvent e) {
|
||||
myFileMaskField.setEnabled(myCbFileFilter.isSelected());
|
||||
}
|
||||
});
|
||||
DefaultActionGroup switchContextGroup = new DefaultActionGroup();
|
||||
switchContextGroup.add(new MySwitchContextToggleAction(FindModel.SearchContext.ANY));
|
||||
switchContextGroup.add(new MySwitchContextToggleAction(FindModel.SearchContext.IN_COMMENTS));
|
||||
@@ -587,21 +600,23 @@ public class FindPopupPanel extends JBPanel implements FindUI {
|
||||
|
||||
myCodePreviewComponent = myUsagePreviewPanel.createComponent();
|
||||
splitter.setSecondComponent(myCodePreviewComponent);
|
||||
JPanel scopesPanel = new JPanel(new MigLayout("flowx, gap 26, ins 0"));
|
||||
scopesPanel.add(myScopeSelectionToolbar.getComponent());
|
||||
scopesPanel.add(myScopeDetailsPanel);
|
||||
|
||||
setLayout(new MigLayout("flowx, ins 4, fillx, hidemode 2, gap 0"));
|
||||
add(myTitleLabel, "gapleft 4, sx 2, growx, pushx, growy");
|
||||
add(myCbCaseSensitive);
|
||||
add(myCbPreserveCase);
|
||||
add(myCbWholeWordsOnly);
|
||||
add(myCbCaseSensitive, "gapright 8");
|
||||
add(myCbPreserveCase, "gapright 8");
|
||||
add(myCbWholeWordsOnly, "gapright 8");
|
||||
add(myCbRegularExpressions);
|
||||
add(RegExHelpPopup.createRegExLink("<html><body><b>?</b></body></html>", myCbRegularExpressions, LOG), "gapright 8");
|
||||
add(myCbFileFilter);
|
||||
add(myFileMaskField);
|
||||
add(myFileMaskField, "gapright 8");
|
||||
add(myFilterContextButton, "wrap");
|
||||
add(mySearchTextArea, "pushx, growx, sx 10, gaptop 4, wrap");
|
||||
add(myReplaceTextArea, "pushx, growx, sx 10, wrap");
|
||||
add(myScopeSelectionToolbar.getComponent(), "gaptop 4");
|
||||
add(myScopeDetailsPanel, "sx 9, pushx, growx, wrap");
|
||||
add(scopesPanel, "sx 10, pushx, growx, ax left, wrap, gaptop 4, gapbottom 4");
|
||||
add(splitter, "pushx, growx, growy, pushy, sx 10, wrap, pad 0 -4 0 4");
|
||||
add(bottomPanel, "pushx, growx, dock south, sx 10, pad 0 -4 0 4");
|
||||
|
||||
@@ -665,7 +680,12 @@ public class FindPopupPanel extends JBPanel implements FindUI {
|
||||
myModuleComboBox.setSelectedItem(myModel.getModuleName());
|
||||
}
|
||||
boolean isThereFileFilter = myModel.getFileFilter() != null && !myModel.getFileFilter().isEmpty();
|
||||
myCbFileFilter.setSelected(isThereFileFilter);
|
||||
try {
|
||||
myCbFileFilter.putClientProperty("dontRequestFocus", Boolean.TRUE);
|
||||
myCbFileFilter.setSelected(isThereFileFilter);
|
||||
} finally {
|
||||
myCbFileFilter.putClientProperty("dontRequestFocus", null);
|
||||
}
|
||||
List<String> variants = Arrays.asList(ArrayUtil.reverseArray(FindSettings.getInstance().getRecentFileMasks()));
|
||||
myFileMaskField.setVariants(variants);
|
||||
if (!variants.isEmpty()) {
|
||||
|
||||
Reference in New Issue
Block a user