Add title to avatar selector

Return focus to proper player after avatar selector closed
This commit is contained in:
drdev
2014-01-22 04:50:24 +00:00
parent 9f76a78b0a
commit 140e44a3bd
2 changed files with 8 additions and 9 deletions

View File

@@ -22,12 +22,9 @@ public class AvatarSelector extends FDialog {
private List<FLabel> selectables = new ArrayList<FLabel>();
private final Map<Integer, SkinImage> avatarMap = FSkin.getAvatars();
public final void show(final AvatarSelector aSelector) {
aSelector.setVisible(true);
aSelector.dispose();
}
public AvatarSelector(final String playerName, final int currentIndex, final Collection<Integer> usedIndices) {
this.setTitle("Select avatar for " + playerName);
public AvatarSelector(final int currentIndex, final Collection<Integer> usedIndices) {
final JPanel pnlAvatarPics = new JPanel(new WrapLayout());
pnlAvatarPics.setOpaque(false);

View File

@@ -691,19 +691,21 @@ public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
final int playerIndex = avatarList.indexOf(avatar);
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()) {
lbl.setCommand(new Command() {
@Override
public void run() {
VSubmenuConstructed.this.setAvatar(avatar, playerIndex, Integer.valueOf(lbl.getName().substring(11)));
aSel.setVisible(false);
avatar.requestFocusInWindow();
}
});
}
aSel.show(aSel);
aSel.setVisible(true);
aSel.dispose();
if (playerIndex < 2) { updateAvatarPrefs(); }
}
@@ -713,9 +715,9 @@ public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
int playerIndex = avatarList.indexOf(avatar);
changePlayerFocus(playerIndex);
avatar.requestFocusInWindow();
setRandomAvatar(avatar, playerIndex);
avatar.requestFocusInWindow();
if (playerIndex < 2) { updateAvatarPrefs(); }
}