mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Add title to avatar selector
Return focus to proper player after avatar selector closed
This commit is contained in:
@@ -22,12 +22,9 @@ public class AvatarSelector extends FDialog {
|
|||||||
private List<FLabel> selectables = new ArrayList<FLabel>();
|
private List<FLabel> selectables = new ArrayList<FLabel>();
|
||||||
private final Map<Integer, SkinImage> avatarMap = FSkin.getAvatars();
|
private final Map<Integer, SkinImage> avatarMap = FSkin.getAvatars();
|
||||||
|
|
||||||
public final void show(final AvatarSelector aSelector) {
|
public AvatarSelector(final String playerName, final int currentIndex, final Collection<Integer> usedIndices) {
|
||||||
aSelector.setVisible(true);
|
this.setTitle("Select avatar for " + playerName);
|
||||||
aSelector.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
public AvatarSelector(final int currentIndex, final Collection<Integer> usedIndices) {
|
|
||||||
final JPanel pnlAvatarPics = new JPanel(new WrapLayout());
|
final JPanel pnlAvatarPics = new JPanel(new WrapLayout());
|
||||||
|
|
||||||
pnlAvatarPics.setOpaque(false);
|
pnlAvatarPics.setOpaque(false);
|
||||||
|
|||||||
@@ -691,19 +691,21 @@ public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
|
|||||||
final int playerIndex = avatarList.indexOf(avatar);
|
final int playerIndex = avatarList.indexOf(avatar);
|
||||||
|
|
||||||
changePlayerFocus(playerIndex);
|
changePlayerFocus(playerIndex);
|
||||||
|
avatar.requestFocusInWindow();
|
||||||
|
|
||||||
final AvatarSelector aSel = new AvatarSelector(usedAvatars.get(playerIndex), usedAvatars.values());
|
final AvatarSelector aSel = new AvatarSelector(getPlayerName(playerIndex), usedAvatars.get(playerIndex), usedAvatars.values());
|
||||||
for (final FLabel lbl : aSel.getSelectables()) {
|
for (final FLabel lbl : aSel.getSelectables()) {
|
||||||
lbl.setCommand(new Command() {
|
lbl.setCommand(new Command() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
VSubmenuConstructed.this.setAvatar(avatar, playerIndex, Integer.valueOf(lbl.getName().substring(11)));
|
VSubmenuConstructed.this.setAvatar(avatar, playerIndex, Integer.valueOf(lbl.getName().substring(11)));
|
||||||
aSel.setVisible(false);
|
aSel.setVisible(false);
|
||||||
avatar.requestFocusInWindow();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
aSel.show(aSel);
|
|
||||||
|
aSel.setVisible(true);
|
||||||
|
aSel.dispose();
|
||||||
|
|
||||||
if (playerIndex < 2) { updateAvatarPrefs(); }
|
if (playerIndex < 2) { updateAvatarPrefs(); }
|
||||||
}
|
}
|
||||||
@@ -713,9 +715,9 @@ public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
|
|||||||
int playerIndex = avatarList.indexOf(avatar);
|
int playerIndex = avatarList.indexOf(avatar);
|
||||||
|
|
||||||
changePlayerFocus(playerIndex);
|
changePlayerFocus(playerIndex);
|
||||||
|
avatar.requestFocusInWindow();
|
||||||
|
|
||||||
setRandomAvatar(avatar, playerIndex);
|
setRandomAvatar(avatar, playerIndex);
|
||||||
avatar.requestFocusInWindow();
|
|
||||||
|
|
||||||
if (playerIndex < 2) { updateAvatarPrefs(); }
|
if (playerIndex < 2) { updateAvatarPrefs(); }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user