Correctly focus game canvas when requesting focus

Correctly focus game canvas when requesting ClientUI focus. Also, move
the call to OSXUtil.requestFocus() to clientUI.

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-03-03 03:58:01 +01:00
parent 40ec85ac7e
commit b9cde8a787
2 changed files with 15 additions and 10 deletions

View File

@@ -43,7 +43,6 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.client.config.RuneLiteConfig;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.util.OSType;
import net.runelite.client.util.OSXUtil;
@Singleton
@Slf4j
@@ -99,14 +98,7 @@ public class Notifier
if (runeLiteConfig.requestFocusOnNotification())
{
if (OSType.getOSType() == OSType.MacOS)
{
OSXUtil.requestFocus();
}
else
{
clientUI.requestFocus();
}
clientUI.requestFocus();
}
if (runeLiteConfig.enableTrayNotifications())

View File

@@ -24,6 +24,7 @@
*/
package net.runelite.client.ui;
import com.google.common.eventbus.Subscribe;
import java.applet.Applet;
import java.awt.AWTException;
import java.awt.BorderLayout;
@@ -57,7 +58,6 @@ import javax.swing.ToolTipManager;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.plaf.FontUIResource;
import com.google.common.eventbus.Subscribe;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
@@ -65,6 +65,7 @@ import net.runelite.api.GameState;
import net.runelite.api.events.ConfigChanged;
import net.runelite.client.RuneLite;
import net.runelite.client.RuneLiteProperties;
import net.runelite.client.util.OSType;
import net.runelite.client.util.OSXUtil;
import org.pushingpixels.substance.api.skin.SubstanceGraphiteLookAndFeel;
import org.pushingpixels.substance.internal.utils.SubstanceCoreUtilities;
@@ -371,6 +372,18 @@ public class ClientUI extends JFrame
add(container);
}
@Override
public void requestFocus()
{
if (OSType.getOSType() == OSType.MacOS)
{
OSXUtil.requestFocus();
}
super.requestFocus();
giveClientFocus();
}
private void revalidateMinimumSize()
{
// The JFrame only respects minimumSize if it was set by setMinimumSize, for some reason. (atleast on windows/native)