Update Deck ImageView

- [Desktop] double right click / [Mobile] multiple tap - add deck to favorites
This commit is contained in:
Anthony Calosa
2021-03-10 09:30:12 +08:00
parent 3864e56c23
commit 0394b65f43
2 changed files with 24 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import forge.ImageCache;
import forge.assets.FSkinProp;
import forge.card.ColorSet;
import forge.deck.DeckProxy;
import forge.deck.io.DeckPreferences;
import forge.game.card.Card;
import forge.game.card.CardView;
import forge.gui.framework.ILocalRepaint;
@@ -226,6 +227,24 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
}
}
@Override
public void onRightDoubleClick(MouseEvent e) {
if (lockInput) { return; }
ItemInfo item = getItemAtPoint(e.getPoint());
if (item != null && item.selected) {
if (item.item instanceof DeckProxy) {
DeckProxy dp = (DeckProxy) item.item;
if (DeckPreferences.getPrefs(dp).getStarCount() > 0)
DeckPreferences.getPrefs(dp).setStarCount(0);
else
DeckPreferences.getPrefs(dp).setStarCount(1);
updateLayout(false);
}
}
}
@Override
public void onMiddleMouseDown(MouseEvent e) {
if (lockInput) { return; }
@@ -1177,6 +1196,9 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
if (deckColor != null) {
CardFaceSymbols.drawColorSet(g, deckColor, bounds.x + bounds.width - (scale*2) + cornerSize, bounds.y + bounds.height/2 - (scale*2), scale, true);
}
//favorite
FSkin.drawImage(g, DeckPreferences.getPrefs(dp).getStarCount() > 0 ? FSkin.getImage(FSkinProp.IMG_STAR_FILLED) : FSkin.getImage(FSkinProp.IMG_STAR_OUTLINE),
bounds.x, bounds.y + bounds.height/2 - (scaleArt*2), scaleArt/2, scaleArt/2);
}
}
g.setColor(Color.white);

View File

@@ -873,6 +873,8 @@ public class ImageView<T extends InventoryItem> extends ItemView<T> {
DeckPreferences.getPrefs(dp).setStarCount(0);
else
DeckPreferences.getPrefs(dp).setStarCount(1);
updateLayout(false);
}
}
}