mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
Updated focus handling in home screen.
This commit is contained in:
@@ -69,38 +69,6 @@ public final class FView extends JFrame {
|
||||
// After events and shortcuts are assembled, instantiate all different state screens
|
||||
Singletons.getView().instantiateCachedUIStates();
|
||||
|
||||
// Open previous menu on first run, or constructed.
|
||||
// Focus is reset when the frame becomes visible,
|
||||
// so the call to show the menu must happen here.
|
||||
final ForgePreferences.HomeMenus lastMenu =
|
||||
ForgePreferences.HomeMenus.valueOf(Singletons.getModel().getPreferences().getPref(FPref.UI_HOMEMENU));
|
||||
|
||||
switch(lastMenu) {
|
||||
case draft:
|
||||
Singletons.getView().getViewHome().getBtnDraft().grabFocus();
|
||||
Singletons.getView().getViewHome().showDraftMenu();
|
||||
break;
|
||||
case sealed:
|
||||
Singletons.getView().getViewHome().getBtnSealed().grabFocus();
|
||||
Singletons.getView().getViewHome().showSealedMenu();
|
||||
break;
|
||||
case quest:
|
||||
Singletons.getView().getViewHome().getBtnQuest().grabFocus();
|
||||
Singletons.getView().getViewHome().showQuestMenu();
|
||||
break;
|
||||
case settings:
|
||||
Singletons.getView().getViewHome().getBtnSettings().grabFocus();
|
||||
Singletons.getView().getViewHome().showSettingsMenu();
|
||||
break;
|
||||
case utilities:
|
||||
Singletons.getView().getViewHome().getBtnUtilities().grabFocus();
|
||||
Singletons.getView().getViewHome().showUtilitiesMenu();
|
||||
break;
|
||||
default:
|
||||
Singletons.getView().getViewHome().getBtnConstructed().grabFocus();
|
||||
Singletons.getView().getViewHome().showConstructedMenu();
|
||||
}
|
||||
|
||||
// Frame styling
|
||||
FView.this.setMinimumSize(new Dimension(800, 600));
|
||||
FView.this.setLocationRelativeTo(null);
|
||||
@@ -125,6 +93,21 @@ public final class FView extends JFrame {
|
||||
FView.this.splash = null;
|
||||
|
||||
FView.this.setVisible(true);
|
||||
|
||||
// Open previous menu on first run, or constructed.
|
||||
// Focus is reset when the frame becomes visible,
|
||||
// so the call to show the menu must happen here.
|
||||
final ForgePreferences.HomeMenus lastMenu =
|
||||
ForgePreferences.HomeMenus.valueOf(Singletons.getModel().getPreferences().getPref(FPref.UI_HOMEMENU));
|
||||
|
||||
switch(lastMenu) {
|
||||
case draft: Singletons.getView().getViewHome().showDraftMenu(); break;
|
||||
case sealed: Singletons.getView().getViewHome().showSealedMenu(); break;
|
||||
case quest: Singletons.getView().getViewHome().showQuestMenu(); break;
|
||||
case settings: Singletons.getView().getViewHome().showSettingsMenu(); break;
|
||||
case utilities: Singletons.getView().getViewHome().showUtilitiesMenu(); break;
|
||||
default: Singletons.getView().getViewHome().showConstructedMenu();
|
||||
}
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JLayeredPane} */
|
||||
|
||||
@@ -179,8 +179,6 @@ public class ViewHomeUI extends FPanel {
|
||||
/** Opens menu for constructed mode. */
|
||||
public void showConstructedMenu() {
|
||||
clearToggles();
|
||||
btnConstructed.setToggled(true);
|
||||
btnConstructed.grabFocus();
|
||||
pnlContent.removeAll();
|
||||
pnlContent.add(constructed, "w 100%!, h 100%!");
|
||||
pnlContent.revalidate();
|
||||
@@ -188,6 +186,13 @@ public class ViewHomeUI extends FPanel {
|
||||
|
||||
Singletons.getControl().getControlHome().getControlConstructed().updateDeckSelectionCheckboxes();
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||
public void run() {
|
||||
btnConstructed.setToggled(true);
|
||||
btnConstructed.grabFocus();
|
||||
}
|
||||
});
|
||||
|
||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||
ForgePreferences.HomeMenus.constructed.toString());
|
||||
Singletons.getModel().getPreferences().save();
|
||||
@@ -196,14 +201,18 @@ public class ViewHomeUI extends FPanel {
|
||||
/** Opens menu for draft mode. */
|
||||
public void showDraftMenu() {
|
||||
clearToggles();
|
||||
btnDraft.setToggled(true);
|
||||
btnDraft.grabFocus();
|
||||
|
||||
pnlContent.removeAll();
|
||||
pnlContent.add(draft, "w 100%!, h 100%!");
|
||||
pnlContent.revalidate();
|
||||
pnlContent.repaint();
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||
public void run() {
|
||||
btnDraft.setToggled(true);
|
||||
btnDraft.grabFocus();
|
||||
}
|
||||
});
|
||||
|
||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||
ForgePreferences.HomeMenus.draft.toString());
|
||||
Singletons.getModel().getPreferences().save();
|
||||
@@ -212,14 +221,18 @@ public class ViewHomeUI extends FPanel {
|
||||
/** Opens menu for sealed mode. */
|
||||
public void showSealedMenu() {
|
||||
clearToggles();
|
||||
btnSealed.setToggled(true);
|
||||
btnSealed.grabFocus();
|
||||
|
||||
pnlContent.removeAll();
|
||||
pnlContent.add(sealed, "w 100%!, h 100%!");
|
||||
pnlContent.revalidate();
|
||||
pnlContent.repaint();
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||
public void run() {
|
||||
btnSealed.setToggled(true);
|
||||
btnSealed.grabFocus();
|
||||
}
|
||||
});
|
||||
|
||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||
ForgePreferences.HomeMenus.sealed.toString());
|
||||
Singletons.getModel().getPreferences().save();
|
||||
@@ -248,7 +261,6 @@ public class ViewHomeUI extends FPanel {
|
||||
/** Opens menu for settings. */
|
||||
public void showSettingsMenu() {
|
||||
clearToggles();
|
||||
|
||||
pnlContent.removeAll();
|
||||
pnlContent.add(settings, "w 99%!, h 95%!, gaptop 2.5%, gapleft 0.5%");
|
||||
pnlContent.revalidate();
|
||||
@@ -269,14 +281,18 @@ public class ViewHomeUI extends FPanel {
|
||||
/** Opens menu for utilities. */
|
||||
public void showUtilitiesMenu() {
|
||||
clearToggles();
|
||||
btnUtilities.setToggled(true);
|
||||
btnUtilities.grabFocus();
|
||||
|
||||
pnlContent.removeAll();
|
||||
pnlContent.add(utilities, "w 100%!, h 100%!");
|
||||
pnlContent.revalidate();
|
||||
pnlContent.repaint();
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||
public void run() {
|
||||
btnUtilities.setToggled(true);
|
||||
btnUtilities.grabFocus();
|
||||
}
|
||||
});
|
||||
|
||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||
ForgePreferences.HomeMenus.utilities.toString());
|
||||
Singletons.getModel().getPreferences().save();
|
||||
@@ -311,7 +327,7 @@ public class ViewHomeUI extends FPanel {
|
||||
public ViewQuest getViewQuest() {
|
||||
return this.quest;
|
||||
}
|
||||
|
||||
|
||||
/** @return {@link forge.view.home.ViewSettings} */
|
||||
public ViewSettings getViewSettings() {
|
||||
return this.settings;
|
||||
|
||||
Reference in New Issue
Block a user