Add check that the preview URL is not blank in SearchPopoverTreeList

This commit is contained in:
0xb00bface 2023-06-16 21:50:35 +02:00
parent 9cf4bacae1
commit 4d978e2ee6
1 changed files with 14 additions and 20 deletions

View File

@ -31,17 +31,10 @@
*/
package ctbrec.ui.controls;
import java.net.URL;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ctbrec.Config;
import ctbrec.GlobalThreadPool;
import ctbrec.Model;
import ctbrec.StringUtil;
import ctbrec.recorder.Recorder;
import ctbrec.ui.action.PlayAction;
import ctbrec.ui.action.SetThumbAsPortraitAction;
@ -52,19 +45,20 @@ import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Cursor;
import javafx.scene.Node;
import javafx.scene.control.Button;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.ListView;
import javafx.scene.control.MenuItem;
import javafx.scene.control.Skin;
import javafx.scene.control.*;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.ContextMenuEvent;
import javafx.scene.input.MouseButton;
import javafx.scene.input.MouseEvent;
import javafx.scene.shape.Rectangle;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.net.URL;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
/**
* Popover page that displays a list of samples and sample categories for a given SampleCategory.
@ -85,7 +79,7 @@ public class SearchPopoverTreeList extends PopoverTreeList<Model> implements Pop
@Override
protected void itemClicked(Model model) {
if(model == null) {
if (model == null) {
return;
}
@ -163,8 +157,8 @@ public class SearchPopoverTreeList extends PopoverTreeList<Model> implements Pop
addEventHandler(ContextMenuEvent.CONTEXT_MENU_REQUESTED, event -> {
popup = new CustomMouseBehaviorContextMenu();
ModelMenuContributor.newContributor(this, Config.getInstance(), recorder) //
.withStartStopCallback(m -> setCursor(Cursor.DEFAULT)) //
.contributeToMenu(List.of(model), popup);
.withStartStopCallback(m -> setCursor(Cursor.DEFAULT)) //
.contributeToMenu(List.of(model), popup);
var useImageAsPortrait = new MenuItem("Use As Portrait");
useImageAsPortrait.setOnAction(e -> new SetThumbAsPortraitAction(this, model, thumb.getImage()).execute());
popup.getItems().add(useImageAsPortrait);
@ -253,7 +247,7 @@ public class SearchPopoverTreeList extends PopoverTreeList<Model> implements Pop
this.model = model;
URL anonymousPng = getClass().getResource("/anonymous.png");
String previewUrl = Optional.ofNullable(model.getPreview()).orElse(anonymousPng.toString());
if(!Objects.equals(System.getenv("CTBREC_DEV"), "1")) {
if (!Objects.equals(System.getenv("CTBREC_DEV"), "1") && StringUtil.isNotBlank(previewUrl)) {
Image img = new Image(previewUrl, true);
thumb.setImage(img);
} else {
@ -349,4 +343,4 @@ public class SearchPopoverTreeList extends PopoverTreeList<Model> implements Pop
public void setRecorder(Recorder recorder) {
this.recorder = recorder;
}
}
}