Add check that the preview URL is not blank in SearchPopoverTreeList
This commit is contained in:
parent
9cf4bacae1
commit
4d978e2ee6
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue