From 431d2f60c49c8f9dfd3d5707e4a26e0fcffa921a Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Sat, 1 Dec 2018 15:06:52 +0100 Subject: [PATCH] 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 --- client/src/main/java/ctbrec/ui/JavaFxModel.java | 10 ++++++++++ .../main/java/ctbrec/ui/RecordedModelsTab.java | 2 +- client/src/main/java/ctbrec/ui/ThumbCell.java | 2 +- .../src/main/java/ctbrec/ui/ThumbOverviewTab.java | 2 ++ .../ctbrec/ui/controls/SearchPopoverTreeList.java | 2 +- common/src/main/java/ctbrec/AbstractModel.java | 15 +++++++++++++++ common/src/main/java/ctbrec/Model.java | 2 ++ 7 files changed, 32 insertions(+), 3 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/JavaFxModel.java b/client/src/main/java/ctbrec/ui/JavaFxModel.java index fccdd9e3..99c4fcb6 100644 --- a/client/src/main/java/ctbrec/ui/JavaFxModel.java +++ b/client/src/main/java/ctbrec/ui/JavaFxModel.java @@ -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); + } } diff --git a/client/src/main/java/ctbrec/ui/RecordedModelsTab.java b/client/src/main/java/ctbrec/ui/RecordedModelsTab.java index f14fb35e..e7a397a8 100644 --- a/client/src/main/java/ctbrec/ui/RecordedModelsTab.java +++ b/client/src/main/java/ctbrec/ui/RecordedModelsTab.java @@ -125,7 +125,7 @@ public class RecordedModelsTab extends Tab implements TabSelectionListener { preview.setId("preview"); TableColumn name = new TableColumn<>("Model"); name.setPrefWidth(200); - name.setCellValueFactory(new PropertyValueFactory("name")); + name.setCellValueFactory(new PropertyValueFactory("displayName")); name.setEditable(false); TableColumn url = new TableColumn<>("URL"); url.setCellValueFactory(new PropertyValueFactory("url")); diff --git a/client/src/main/java/ctbrec/ui/ThumbCell.java b/client/src/main/java/ctbrec/ui/ThumbCell.java index cd46672d..ece9efce 100644 --- a/client/src/main/java/ctbrec/ui/ThumbCell.java +++ b/client/src/main/java/ctbrec/ui/ThumbCell.java @@ -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); diff --git a/client/src/main/java/ctbrec/ui/ThumbOverviewTab.java b/client/src/main/java/ctbrec/ui/ThumbOverviewTab.java index 618b0bcd..fce0d327 100644 --- a/client/src/main/java/ctbrec/ui/ThumbOverviewTab.java +++ b/client/src/main/java/ctbrec/ui/ThumbOverviewTab.java @@ -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(' '); } diff --git a/client/src/main/java/ctbrec/ui/controls/SearchPopoverTreeList.java b/client/src/main/java/ctbrec/ui/controls/SearchPopoverTreeList.java index 474e91c6..5b58e3a4 100644 --- a/client/src/main/java/ctbrec/ui/controls/SearchPopoverTreeList.java +++ b/client/src/main/java/ctbrec/ui/controls/SearchPopoverTreeList.java @@ -231,7 +231,7 @@ public class SearchPopoverTreeList extends PopoverTreeList 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()); diff --git a/common/src/main/java/ctbrec/AbstractModel.java b/common/src/main/java/ctbrec/AbstractModel.java index ce8b7ef1..61238759 100644 --- a/common/src/main/java/ctbrec/AbstractModel.java +++ b/common/src/main/java/ctbrec/AbstractModel.java @@ -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 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; diff --git a/common/src/main/java/ctbrec/Model.java b/common/src/main/java/ctbrec/Model.java index 3144f777..e13f2fcd 100644 --- a/common/src/main/java/ctbrec/Model.java +++ b/common/src/main/java/ctbrec/Model.java @@ -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();