Add support for display names

Add display name to model and use it in GUI. The actual sites don't
set it yet. If the display name is not set, getDisplayName returns
getName instead
This commit is contained in:
0xboobface 2018-12-01 15:06:52 +01:00
parent 7192856c87
commit 431d2f60c4
7 changed files with 32 additions and 3 deletions

View File

@ -197,4 +197,14 @@ public class JavaFxModel implements Model {
delegate.setSuspended(suspended);
pausedProperty.set(suspended);
}
@Override
public String getDisplayName() {
return delegate.getDisplayName();
}
@Override
public void setDisplayName(String name) {
delegate.setDisplayName(name);
}
}

View File

@ -125,7 +125,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener {
preview.setId("preview");
TableColumn<JavaFxModel, String> name = new TableColumn<>("Model");
name.setPrefWidth(200);
name.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("name"));
name.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("displayName"));
name.setEditable(false);
TableColumn<JavaFxModel, String> url = new TableColumn<>("URL");
url.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("url"));

View File

@ -116,7 +116,7 @@ public class ThumbCell extends StackPane {
StackPane.setMargin(resolutionBackground, new Insets(2));
getChildren().add(resolutionBackground);
name = new Text(model.getName());
name = new Text(model.getDisplayName());
name.setFill(Color.WHITE);
name.setFont(new Font("Sansserif", 16));
name.setTextAlignment(TextAlignment.CENTER);

View File

@ -752,6 +752,8 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
String[] tokens = filter.split(" ");
StringBuilder searchTextBuilder = new StringBuilder(m.getName());
searchTextBuilder.append(' ');
searchTextBuilder.append(m.getDisplayName());
searchTextBuilder.append(' ');
for (String tag : m.getTags()) {
searchTextBuilder.append(tag).append(' ');
}

View File

@ -231,7 +231,7 @@ public class SearchPopoverTreeList extends PopoverTreeList<Model> implements Pop
} else {
follow.setVisible(model.getSite().supportsFollow());
title.setVisible(true);
title.setText(model.getName());
title.setText(model.getDisplayName());
this.model = model;
URL anonymousPng = getClass().getResource("/anonymous.png");
String previewUrl = Optional.ofNullable(model.getPreview()).orElse(anonymousPng.toString());

View File

@ -14,6 +14,7 @@ public abstract class AbstractModel implements Model {
private String url;
private String name;
private String displayName;
private String preview;
private String description;
private List<String> tags = new ArrayList<>();
@ -46,6 +47,20 @@ public abstract class AbstractModel implements Model {
this.name = name;
}
@Override
public String getDisplayName() {
if(displayName != null) {
return displayName;
} else {
return getName();
}
}
@Override
public void setDisplayName(String name) {
this.displayName = name;
}
@Override
public String getPreview() {
return preview;

View File

@ -15,6 +15,8 @@ import ctbrec.sites.Site;
public interface Model {
public String getUrl();
public void setUrl(String url);
public String getDisplayName();
public void setDisplayName(String name);
public String getName();
public void setName(String name);
public String getPreview();