Merge pull request #3499 from WooxSolo/client-close-remember-fix
Fix remember screen bounds for KEEP_GAME_SIZE
This commit is contained in:
@@ -755,6 +755,8 @@ public class ClientUI
|
||||
{
|
||||
final Rectangle bounds = frame.getBounds();
|
||||
|
||||
if (config.automaticResizeType() == ExpandResizeType.KEEP_GAME_SIZE)
|
||||
{
|
||||
// Try to contract sidebar
|
||||
if (sidebarOpen)
|
||||
{
|
||||
@@ -766,6 +768,7 @@ public class ClientUI
|
||||
{
|
||||
bounds.width -= pluginPanel.getWrappedPanel().getPreferredSize().width;
|
||||
}
|
||||
}
|
||||
|
||||
configManager.unsetConfiguration(CONFIG_GROUP, CONFIG_CLIENT_MAXIMIZED);
|
||||
configManager.setConfiguration(CONFIG_GROUP, CONFIG_CLIENT_BOUNDS, bounds);
|
||||
|
||||
@@ -119,7 +119,7 @@ public class ContainableFrame extends JFrame
|
||||
|
||||
if (wouldExpandThroughEdge)
|
||||
{
|
||||
if (!isFrameCloseToRightEdge())
|
||||
if (!isFrameCloseToRightEdge() || isFrameCloseToLeftEdge())
|
||||
{
|
||||
// Move the window to the edge
|
||||
newWindowX = (int)(screenBounds.getX() + screenBounds.getWidth()) - getWidth();
|
||||
@@ -186,6 +186,12 @@ public class ContainableFrame extends JFrame
|
||||
return (getExtendedState() & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH;
|
||||
}
|
||||
|
||||
private boolean isFrameCloseToLeftEdge()
|
||||
{
|
||||
Rectangle screenBounds = getGraphicsConfiguration().getBounds();
|
||||
return Math.abs(getX() - screenBounds.getX()) <= SCREEN_EDGE_CLOSE_DISTANCE;
|
||||
}
|
||||
|
||||
private boolean isFrameCloseToRightEdge()
|
||||
{
|
||||
Rectangle screenBounds = getGraphicsConfiguration().getBounds();
|
||||
|
||||
Reference in New Issue
Block a user