Prevent showing add to favorites and change preferred art except on Constructed editor

This commit is contained in:
drdev
2014-07-31 21:28:03 +00:00
parent 849a56bfd5
commit ce7a5d9fcd

View File

@@ -805,55 +805,57 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
} }
} }
//add option to add or remove card from favorites if (parentScreen.getEditorType() == EditorType.Constructed) {
final CardPreferences prefs = CardPreferences.getPrefs(card); //add option to add or remove card from favorites
if (prefs.getStarCount() == 0) { final CardPreferences prefs = CardPreferences.getPrefs(card);
menu.addItem(new FMenuItem("Add to Favorites", FSkinImage.STAR_FILLED, new FEventHandler() { if (prefs.getStarCount() == 0) {
@Override menu.addItem(new FMenuItem("Add to Favorites", FSkinImage.STAR_FILLED, new FEventHandler() {
public void handleEvent(FEvent e) { @Override
prefs.setStarCount(1); public void handleEvent(FEvent e) {
CardPreferences.save(); prefs.setStarCount(1);
} CardPreferences.save();
}));
}
else {
menu.addItem(new FMenuItem("Remove from Favorites", FSkinImage.STAR_OUTINE, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
prefs.setStarCount(0);
CardPreferences.save();
}
}));
}
//if card has more than one art option, add item to change user's preferred art
final List<PaperCard> artOptions = FModel.getMagicDb().getCommonCards().getAllCards(card.getName());
if (artOptions != null && artOptions.size() > 1) {
menu.addItem(new FMenuItem("Change Preferred Art", FSkinImage.SETTINGS, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
//sort options so current option is on top and selected by default
List<PaperCard> sortedOptions = new ArrayList<PaperCard>();
sortedOptions.add(card);
for (PaperCard option : artOptions) {
if (option != card) {
sortedOptions.add(option);
}
} }
GuiChoose.oneOrNone("Select preferred art for " + card.getName(), sortedOptions, new Callback<PaperCard>() { }));
@Override }
public void run(PaperCard result) { else {
if (result != null) { menu.addItem(new FMenuItem("Remove from Favorites", FSkinImage.STAR_OUTINE, new FEventHandler() {
if (result != card) { @Override
cardManager.replaceAll(card, result); public void handleEvent(FEvent e) {
} prefs.setStarCount(0);
prefs.setPreferredArt(result.getEdition() + CardDb.NameSetSeparator + result.getArtIndex()); CardPreferences.save();
CardPreferences.save(); }
}));
}
//if card has more than one art option, add item to change user's preferred art
final List<PaperCard> artOptions = FModel.getMagicDb().getCommonCards().getAllCards(card.getName());
if (artOptions != null && artOptions.size() > 1) {
menu.addItem(new FMenuItem("Change Preferred Art", FSkinImage.SETTINGS, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
//sort options so current option is on top and selected by default
List<PaperCard> sortedOptions = new ArrayList<PaperCard>();
sortedOptions.add(card);
for (PaperCard option : artOptions) {
if (option != card) {
sortedOptions.add(option);
} }
} }
}); GuiChoose.oneOrNone("Select preferred art for " + card.getName(), sortedOptions, new Callback<PaperCard>() {
} @Override
})); public void run(PaperCard result) {
if (result != null) {
if (result != card) {
cardManager.replaceAll(card, result);
}
prefs.setPreferredArt(result.getEdition() + CardDb.NameSetSeparator + result.getArtIndex());
CardPreferences.save();
}
}
});
}
}));
}
} }
} }
} }