mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +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
|
// After events and shortcuts are assembled, instantiate all different state screens
|
||||||
Singletons.getView().instantiateCachedUIStates();
|
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
|
// Frame styling
|
||||||
FView.this.setMinimumSize(new Dimension(800, 600));
|
FView.this.setMinimumSize(new Dimension(800, 600));
|
||||||
FView.this.setLocationRelativeTo(null);
|
FView.this.setLocationRelativeTo(null);
|
||||||
@@ -125,6 +93,21 @@ public final class FView extends JFrame {
|
|||||||
FView.this.splash = null;
|
FView.this.splash = null;
|
||||||
|
|
||||||
FView.this.setVisible(true);
|
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} */
|
/** @return {@link javax.swing.JLayeredPane} */
|
||||||
|
|||||||
@@ -179,8 +179,6 @@ public class ViewHomeUI extends FPanel {
|
|||||||
/** Opens menu for constructed mode. */
|
/** Opens menu for constructed mode. */
|
||||||
public void showConstructedMenu() {
|
public void showConstructedMenu() {
|
||||||
clearToggles();
|
clearToggles();
|
||||||
btnConstructed.setToggled(true);
|
|
||||||
btnConstructed.grabFocus();
|
|
||||||
pnlContent.removeAll();
|
pnlContent.removeAll();
|
||||||
pnlContent.add(constructed, "w 100%!, h 100%!");
|
pnlContent.add(constructed, "w 100%!, h 100%!");
|
||||||
pnlContent.revalidate();
|
pnlContent.revalidate();
|
||||||
@@ -188,6 +186,13 @@ public class ViewHomeUI extends FPanel {
|
|||||||
|
|
||||||
Singletons.getControl().getControlHome().getControlConstructed().updateDeckSelectionCheckboxes();
|
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,
|
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||||
ForgePreferences.HomeMenus.constructed.toString());
|
ForgePreferences.HomeMenus.constructed.toString());
|
||||||
Singletons.getModel().getPreferences().save();
|
Singletons.getModel().getPreferences().save();
|
||||||
@@ -196,14 +201,18 @@ public class ViewHomeUI extends FPanel {
|
|||||||
/** Opens menu for draft mode. */
|
/** Opens menu for draft mode. */
|
||||||
public void showDraftMenu() {
|
public void showDraftMenu() {
|
||||||
clearToggles();
|
clearToggles();
|
||||||
btnDraft.setToggled(true);
|
|
||||||
btnDraft.grabFocus();
|
|
||||||
|
|
||||||
pnlContent.removeAll();
|
pnlContent.removeAll();
|
||||||
pnlContent.add(draft, "w 100%!, h 100%!");
|
pnlContent.add(draft, "w 100%!, h 100%!");
|
||||||
pnlContent.revalidate();
|
pnlContent.revalidate();
|
||||||
pnlContent.repaint();
|
pnlContent.repaint();
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||||
|
public void run() {
|
||||||
|
btnDraft.setToggled(true);
|
||||||
|
btnDraft.grabFocus();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||||
ForgePreferences.HomeMenus.draft.toString());
|
ForgePreferences.HomeMenus.draft.toString());
|
||||||
Singletons.getModel().getPreferences().save();
|
Singletons.getModel().getPreferences().save();
|
||||||
@@ -212,14 +221,18 @@ public class ViewHomeUI extends FPanel {
|
|||||||
/** Opens menu for sealed mode. */
|
/** Opens menu for sealed mode. */
|
||||||
public void showSealedMenu() {
|
public void showSealedMenu() {
|
||||||
clearToggles();
|
clearToggles();
|
||||||
btnSealed.setToggled(true);
|
|
||||||
btnSealed.grabFocus();
|
|
||||||
|
|
||||||
pnlContent.removeAll();
|
pnlContent.removeAll();
|
||||||
pnlContent.add(sealed, "w 100%!, h 100%!");
|
pnlContent.add(sealed, "w 100%!, h 100%!");
|
||||||
pnlContent.revalidate();
|
pnlContent.revalidate();
|
||||||
pnlContent.repaint();
|
pnlContent.repaint();
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||||
|
public void run() {
|
||||||
|
btnSealed.setToggled(true);
|
||||||
|
btnSealed.grabFocus();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||||
ForgePreferences.HomeMenus.sealed.toString());
|
ForgePreferences.HomeMenus.sealed.toString());
|
||||||
Singletons.getModel().getPreferences().save();
|
Singletons.getModel().getPreferences().save();
|
||||||
@@ -248,7 +261,6 @@ public class ViewHomeUI extends FPanel {
|
|||||||
/** Opens menu for settings. */
|
/** Opens menu for settings. */
|
||||||
public void showSettingsMenu() {
|
public void showSettingsMenu() {
|
||||||
clearToggles();
|
clearToggles();
|
||||||
|
|
||||||
pnlContent.removeAll();
|
pnlContent.removeAll();
|
||||||
pnlContent.add(settings, "w 99%!, h 95%!, gaptop 2.5%, gapleft 0.5%");
|
pnlContent.add(settings, "w 99%!, h 95%!, gaptop 2.5%, gapleft 0.5%");
|
||||||
pnlContent.revalidate();
|
pnlContent.revalidate();
|
||||||
@@ -269,14 +281,18 @@ public class ViewHomeUI extends FPanel {
|
|||||||
/** Opens menu for utilities. */
|
/** Opens menu for utilities. */
|
||||||
public void showUtilitiesMenu() {
|
public void showUtilitiesMenu() {
|
||||||
clearToggles();
|
clearToggles();
|
||||||
btnUtilities.setToggled(true);
|
|
||||||
btnUtilities.grabFocus();
|
|
||||||
|
|
||||||
pnlContent.removeAll();
|
pnlContent.removeAll();
|
||||||
pnlContent.add(utilities, "w 100%!, h 100%!");
|
pnlContent.add(utilities, "w 100%!, h 100%!");
|
||||||
pnlContent.revalidate();
|
pnlContent.revalidate();
|
||||||
pnlContent.repaint();
|
pnlContent.repaint();
|
||||||
|
|
||||||
|
SwingUtilities.invokeLater(new Runnable() { @Override
|
||||||
|
public void run() {
|
||||||
|
btnUtilities.setToggled(true);
|
||||||
|
btnUtilities.grabFocus();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
Singletons.getModel().getPreferences().setPref(FPref.UI_HOMEMENU,
|
||||||
ForgePreferences.HomeMenus.utilities.toString());
|
ForgePreferences.HomeMenus.utilities.toString());
|
||||||
Singletons.getModel().getPreferences().save();
|
Singletons.getModel().getPreferences().save();
|
||||||
@@ -311,7 +327,7 @@ public class ViewHomeUI extends FPanel {
|
|||||||
public ViewQuest getViewQuest() {
|
public ViewQuest getViewQuest() {
|
||||||
return this.quest;
|
return this.quest;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return {@link forge.view.home.ViewSettings} */
|
/** @return {@link forge.view.home.ViewSettings} */
|
||||||
public ViewSettings getViewSettings() {
|
public ViewSettings getViewSettings() {
|
||||||
return this.settings;
|
return this.settings;
|
||||||
|
|||||||
Reference in New Issue
Block a user