forked from j62/ctbrec
1
0
Fork 0

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); delegate.setSuspended(suspended);
pausedProperty.set(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"); preview.setId("preview");
TableColumn<JavaFxModel, String> name = new TableColumn<>("Model"); TableColumn<JavaFxModel, String> name = new TableColumn<>("Model");
name.setPrefWidth(200); name.setPrefWidth(200);
name.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("name")); name.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("displayName"));
name.setEditable(false); name.setEditable(false);
TableColumn<JavaFxModel, String> url = new TableColumn<>("URL"); TableColumn<JavaFxModel, String> url = new TableColumn<>("URL");
url.setCellValueFactory(new PropertyValueFactory<JavaFxModel, String>("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)); StackPane.setMargin(resolutionBackground, new Insets(2));
getChildren().add(resolutionBackground); getChildren().add(resolutionBackground);
name = new Text(model.getName()); name = new Text(model.getDisplayName());
name.setFill(Color.WHITE); name.setFill(Color.WHITE);
name.setFont(new Font("Sansserif", 16)); name.setFont(new Font("Sansserif", 16));
name.setTextAlignment(TextAlignment.CENTER); name.setTextAlignment(TextAlignment.CENTER);

View File

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

View File

@ -231,7 +231,7 @@ public class SearchPopoverTreeList extends PopoverTreeList<Model> implements Pop
} else { } else {
follow.setVisible(model.getSite().supportsFollow()); follow.setVisible(model.getSite().supportsFollow());
title.setVisible(true); title.setVisible(true);
title.setText(model.getName()); title.setText(model.getDisplayName());
this.model = model; this.model = model;
URL anonymousPng = getClass().getResource("/anonymous.png"); URL anonymousPng = getClass().getResource("/anonymous.png");
String previewUrl = Optional.ofNullable(model.getPreview()).orElse(anonymousPng.toString()); 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 url;
private String name; private String name;
private String displayName;
private String preview; private String preview;
private String description; private String description;
private List<String> tags = new ArrayList<>(); private List<String> tags = new ArrayList<>();
@ -46,6 +47,20 @@ public abstract class AbstractModel implements Model {
this.name = name; 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 @Override
public String getPreview() { public String getPreview() {
return preview; return preview;

View File

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