From e8f653bcdd569303786da60f014144239511afdb Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sun, 12 Sep 2021 14:58:38 +0200 Subject: [PATCH] Load portrait images only if column is visible --- .../recorded/AbstractRecordedModelsTab.java | 53 +++++++------------ 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java b/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java index d12444bf..d2cf13a2 100644 --- a/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java +++ b/client/src/main/java/ctbrec/ui/tabs/recorded/AbstractRecordedModelsTab.java @@ -1,26 +1,9 @@ package ctbrec.ui.tabs.recorded; -import static ctbrec.ui.action.AbstractPortraitAction.*; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.time.Instant; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.locks.ReentrantLock; -import java.util.stream.Collectors; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.eventbus.Subscribe; - import ctbrec.Config; import ctbrec.GlobalThreadPool; import ctbrec.Model; @@ -54,30 +37,30 @@ import javafx.collections.ObservableList; import javafx.event.ActionEvent; import javafx.geometry.Insets; import javafx.geometry.Pos; -import javafx.scene.control.Alert; -import javafx.scene.control.Button; -import javafx.scene.control.ContextMenu; -import javafx.scene.control.Label; -import javafx.scene.control.ScrollPane; -import javafx.scene.control.SelectionMode; -import javafx.scene.control.Tab; -import javafx.scene.control.TableCell; -import javafx.scene.control.TableColumn; -import javafx.scene.control.TableRow; -import javafx.scene.control.TextField; -import javafx.scene.control.Tooltip; +import javafx.scene.control.*; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.image.Image; -import javafx.scene.input.ContextMenuEvent; -import javafx.scene.input.KeyCode; -import javafx.scene.input.KeyEvent; -import javafx.scene.input.MouseButton; -import javafx.scene.input.MouseEvent; +import javafx.scene.input.*; import javafx.scene.layout.BorderPane; import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Priority; import javafx.util.Callback; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.time.Instant; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.locks.ReentrantLock; +import java.util.stream.Collectors; + +import static ctbrec.ui.action.AbstractPortraitAction.FORMAT; public abstract class AbstractRecordedModelsTab extends Tab implements TabSelectionListener { private static final Logger LOG = LoggerFactory.getLogger(AbstractRecordedModelsTab.class); @@ -233,7 +216,7 @@ public abstract class AbstractRecordedModelsTab extends Tab implements TabSelect Model mdl = param.getValue().getDelegate(); SimpleObjectProperty imgProperty = new SimpleObjectProperty<>(); Image image = portraitCache.getIfPresent(mdl); - if (image == null) { + if (image == null && portrait.isVisible()) { GlobalThreadPool.submit(() -> portraitCache.put(mdl, loadModelPortrait(mdl))); } imgProperty.set(image);