mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-95546 Last breakpoint dialog position isn't saved so it's shown every time on the old place
This commit is contained in:
@@ -60,6 +60,12 @@ public class MasterDetailPopupBuilder implements MasterController {
|
||||
|
||||
private final DetailController myDetailController = new DetailController(this);
|
||||
|
||||
private boolean myUseDimensionServiceForXYLocation;
|
||||
|
||||
public void setUseDimensionServiceForXYLocation(boolean useDimensionServiceForXYLocation) {
|
||||
myUseDimensionServiceForXYLocation = useDimensionServiceForXYLocation;
|
||||
}
|
||||
|
||||
|
||||
public String getDimensionServiceKey() {
|
||||
return myDimensionServiceKey;
|
||||
@@ -150,7 +156,8 @@ public class MasterDetailPopupBuilder implements MasterController {
|
||||
setSettingButton(toolBar).
|
||||
setSouthComponent(footerPanel).
|
||||
setCancelOnWindowDeactivation(myCancelOnWindowDeactivation).
|
||||
setCancelOnClickOutside(myCancelOnClickOutside);
|
||||
setCancelOnClickOutside(myCancelOnClickOutside).
|
||||
setUseDimensionServiceForXYLocation(myUseDimensionServiceForXYLocation);
|
||||
|
||||
|
||||
if (myDoneRunnable != null) {
|
||||
|
||||
@@ -19,9 +19,11 @@ package com.intellij.openapi.ui.popup;
|
||||
import com.intellij.openapi.actionSystem.DataProvider;
|
||||
import com.intellij.openapi.actionSystem.PlatformDataKeys;
|
||||
import com.intellij.openapi.util.Computable;
|
||||
import com.intellij.openapi.util.DimensionService;
|
||||
import com.intellij.openapi.util.Pair;
|
||||
import com.intellij.ui.*;
|
||||
import com.intellij.ui.ActiveComponent;
|
||||
import com.intellij.ui.ListScrollingUtil;
|
||||
import com.intellij.ui.ScreenUtil;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import com.intellij.ui.awt.RelativePoint;
|
||||
import com.intellij.ui.components.JBScrollPane;
|
||||
import com.intellij.ui.components.JBViewport;
|
||||
@@ -81,6 +83,7 @@ public class PopupChooserBuilder {
|
||||
private boolean myModalContext;
|
||||
private boolean myCloseOnEnter = true;
|
||||
private boolean myCancelOnWindowDeactivation = true;
|
||||
private boolean myUseForXYLocation;
|
||||
|
||||
public PopupChooserBuilder setCancelOnClickOutside(boolean cancelOnClickOutside) {
|
||||
myCancelOnClickOutside = cancelOnClickOutside;
|
||||
@@ -163,6 +166,11 @@ public class PopupChooserBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public PopupChooserBuilder setUseDimensionServiceForXYLocation(boolean use) {
|
||||
myUseForXYLocation = use;
|
||||
return this;
|
||||
}
|
||||
|
||||
public PopupChooserBuilder setCancelCallback(Computable<Boolean> callback) {
|
||||
myCancelCallback = callback;
|
||||
return this;
|
||||
@@ -283,7 +291,7 @@ public class PopupChooserBuilder {
|
||||
builder.addListener(each);
|
||||
}
|
||||
|
||||
builder.setDimensionServiceKey(null, myDimensionServiceKey, false)
|
||||
builder.setDimensionServiceKey(null, myDimensionServiceKey, myUseForXYLocation)
|
||||
.setRequestFocus(myRequestFocus)
|
||||
.setResizable(myForceResizable)
|
||||
.setMovable(myForceMovable)
|
||||
|
||||
+3
-5
@@ -17,8 +17,6 @@ package com.intellij.xdebugger.impl.breakpoints.ui.tree;
|
||||
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.ex.CheckboxAction;
|
||||
import com.intellij.openapi.keymap.Keymap;
|
||||
import com.intellij.openapi.keymap.KeymapManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.ui.popup.JBPopupFactory;
|
||||
@@ -125,6 +123,7 @@ public class BreakpointMasterDetailPopupBuilder {
|
||||
myPopupBuilder = new MasterDetailPopupBuilder(myProject);
|
||||
if (!myPlainView) {
|
||||
myPopupBuilder.setDimensionServiceKey(getClass().getName());
|
||||
myPopupBuilder.setUseDimensionServiceForXYLocation(true);
|
||||
myPopupBuilder.setCancelOnClickOutside(false);
|
||||
}
|
||||
myPopupBuilder.setCancelOnWindowDeactivation(false);
|
||||
@@ -253,9 +252,8 @@ public class BreakpointMasterDetailPopupBuilder {
|
||||
}
|
||||
});
|
||||
|
||||
final Keymap keymap = KeymapManager.getInstance().getActiveKeymap();
|
||||
final Shortcut[] generateShortcuts = keymap.getShortcuts("Generate");
|
||||
myAddAction.registerCustomShortcutSet(new CustomShortcutSet(generateShortcuts), myPopup.getContent());
|
||||
final ShortcutSet newShortcut = CommonShortcuts.getNew();
|
||||
myAddAction.registerCustomShortcutSet(newShortcut, myPopup.getContent());
|
||||
|
||||
new GotoSourceAction();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user