From f75687752c0fd24ec59532322a42d762e8be525b Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Sun, 16 Dec 2018 17:19:57 +0100 Subject: [PATCH] Add config setting for stream previews in thumbnails This setting allows to switch stream previews of in the thumbnail views. The little play circle will not show up. --- client/src/main/java/ctbrec/ui/ThumbCell.java | 4 ++- .../java/ctbrec/ui/settings/SettingsTab.java | 26 ++++++++++++++----- common/src/main/java/ctbrec/Settings.java | 1 + 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/ThumbCell.java b/client/src/main/java/ctbrec/ui/ThumbCell.java index cb67fa21..fa3d4746 100644 --- a/client/src/main/java/ctbrec/ui/ThumbCell.java +++ b/client/src/main/java/ctbrec/ui/ThumbCell.java @@ -174,7 +174,9 @@ public class ThumbCell extends StackPane { StackPane.setAlignment(pausedIndicator, Pos.TOP_LEFT); getChildren().add(pausedIndicator); - getChildren().add(createPreviewTrigger()); + if(Config.getInstance().getSettings().previewInThumbnails) { + getChildren().add(createPreviewTrigger()); + } selectionOverlay = new Rectangle(); selectionOverlay.visibleProperty().bind(selectionProperty); diff --git a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java index c06733b2..d0794572 100644 --- a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java +++ b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java @@ -64,6 +64,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { private CheckBox chooseStreamQuality = new CheckBox(); private CheckBox multiplePlayers = new CheckBox(); private CheckBox updateThumbnails = new CheckBox(); + private CheckBox previewInThumbnails = new CheckBox(); private CheckBox showPlayerStarting = new CheckBox(); private RadioButton recordLocal; private RadioButton recordRemote; @@ -422,7 +423,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { Config.getInstance().getSettings().showPlayerStarting = showPlayerStarting.isSelected(); saveConfig(); }); - GridPane.setMargin(l, new Insets(CHECKBOX_MARGIN, 0, 0, 0)); + GridPane.setMargin(l, new Insets(3, 0, 0, 0)); GridPane.setMargin(showPlayerStarting, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); layout.add(showPlayerStarting, 1, row++); @@ -434,7 +435,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { Config.getInstance().getSettings().determineResolution = loadResolution.isSelected(); saveConfig(); }); - GridPane.setMargin(l, new Insets(CHECKBOX_MARGIN, 0, 0, 0)); + GridPane.setMargin(l, new Insets(3, 0, 0, 0)); GridPane.setMargin(loadResolution, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); layout.add(loadResolution, 1, row++); @@ -445,7 +446,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { Config.getInstance().getSettings().chooseStreamQuality = chooseStreamQuality.isSelected(); saveConfig(); }); - GridPane.setMargin(l, new Insets(CHECKBOX_MARGIN, 0, 0, 0)); + GridPane.setMargin(l, new Insets(3, 0, 0, 0)); GridPane.setMargin(chooseStreamQuality, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); layout.add(chooseStreamQuality, 1, row++); @@ -456,10 +457,21 @@ public class SettingsTab extends Tab implements TabSelectionListener { Config.getInstance().getSettings().updateThumbnails = updateThumbnails.isSelected(); saveConfig(); }); - GridPane.setMargin(l, new Insets(CHECKBOX_MARGIN, 0, 0, 0)); - GridPane.setMargin(updateThumbnails, new Insets(CHECKBOX_MARGIN, 0, CHECKBOX_MARGIN, CHECKBOX_MARGIN)); + GridPane.setMargin(l, new Insets(3, 0, 0, 0)); + GridPane.setMargin(updateThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); layout.add(updateThumbnails, 1, row++); + l = new Label("Preview in thumbnails"); + layout.add(l, 0, row); + previewInThumbnails.setSelected(Config.getInstance().getSettings().previewInThumbnails); + previewInThumbnails.setOnAction((e) -> { + Config.getInstance().getSettings().previewInThumbnails = previewInThumbnails.isSelected(); + saveConfig(); + }); + GridPane.setMargin(l, new Insets(3, 0, 0, 0)); + GridPane.setMargin(previewInThumbnails, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); + layout.add(previewInThumbnails, 1, row++); + l = new Label("Start Tab"); layout.add(l, 0, row); startTab = new ComboBox<>(); @@ -468,8 +480,8 @@ public class SettingsTab extends Tab implements TabSelectionListener { saveConfig(); }); layout.add(startTab, 1, row++); - GridPane.setMargin(l, new Insets(0, 0, 0, 0)); - GridPane.setMargin(startTab, new Insets(0, 0, 0, CHECKBOX_MARGIN)); + GridPane.setMargin(l, new Insets(3, 0, 0, 0)); + GridPane.setMargin(startTab, new Insets(CHECKBOX_MARGIN, 0, 0, CHECKBOX_MARGIN)); l = new Label("Colors (Base / Accent)"); layout.add(l, 0, row); diff --git a/common/src/main/java/ctbrec/Settings.java b/common/src/main/java/ctbrec/Settings.java index 168f2e25..eb480855 100644 --- a/common/src/main/java/ctbrec/Settings.java +++ b/common/src/main/java/ctbrec/Settings.java @@ -69,6 +69,7 @@ public class Settings { public List models = new ArrayList<>(); public List eventHandlers = new ArrayList<>(); public boolean determineResolution = false; + public boolean previewInThumbnails = true; public boolean requireAuthentication = false; public boolean chooseStreamQuality = false; public int maximumResolution = 0;