Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions forge-core/src/main/java/forge/deck/DeckBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public abstract class DeckBase implements Serializable, Comparable<DeckBase>, In

private String name;
private transient String directory;
private transient String sourceFileName;
private String comment = null;

/**
Expand Down Expand Up @@ -86,6 +87,14 @@ public void setDirectory(String directory0) {
directory = directory0;
}

public String getSourceFileName() {
return sourceFileName;
}

public void setSourceFileName(final String sourceFileName0) {
sourceFileName = sourceFileName0;
}

public String getUniqueKey() {
if (directory == null) { return name; }
return directory + "/" + name;
Expand Down
2 changes: 1 addition & 1 deletion forge-core/src/main/java/forge/deck/io/DeckStorage.java
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ protected Deck read(final File file) {

if (result != null) {
result.setDirectory(file.getParent().substring(rootDir.length()));
result.setSourceFileName(file.getName());
}
return result;
}
Expand All @@ -107,4 +108,3 @@ protected FilenameFilter getFileFilter() {
return DCK_FILE_FILTER;
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,17 @@ public DecksComboBox() {
}

public void refresh(final DeckType deckType, final boolean isForCommander) {
if(isForCommander){
setModel(new DefaultComboBoxModel<>(DeckType.CommanderOptions));
}else {
setModel(new DefaultComboBoxModel<>(DeckType.ConstructedOptions));
suppressActionListeners();
try {
if(isForCommander){
setModel(new DefaultComboBoxModel<>(DeckType.CommanderOptions));
}else {
setModel(new DefaultComboBoxModel<>(DeckType.ConstructedOptions));
}
setDisplayedDeckType(deckType);
} finally {
unsuppressActionListeners();
}
setSelectedItem(deckType);
}

private ActionListener getDeckTypeComboListener() {
Expand Down Expand Up @@ -69,6 +74,27 @@ public void setDeckType(final DeckType valueOf) {
setSelectedItem(selectedDeckType);
}

public void setDisplayedDeckType(final DeckType deckType) {
selectedDeckType = deckType;
suppressActionListeners();
try {
boolean isInModel = false;
for (int i = 0; i < getItemCount(); i++) {
if (getItemAt(i) == deckType) {
isInModel = true;
break;
}
}
if (isInModel) {
setSelectedItem(deckType);
} else {
super.setText(deckType.toString());
}
} finally {
unsuppressActionListeners();
}
}

@Override
public void setText(final String text0) {
selectedDeckType = null; //ensure selecting current deck type again raises event
Expand Down
Loading