From c6f5750e1b979dd445d9035c875582a4197e2565 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sat, 11 Dec 2021 18:41:42 +0100 Subject: [PATCH] Add setting for recording tab per site --- client/src/main/java/ctbrec/ui/settings/SettingsTab.java | 4 ++++ .../src/main/java/ctbrec/ui/sites/AbstractTabProvider.java | 7 +++++-- common/src/main/java/ctbrec/Settings.java | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java index b13febf2..fea75547 100644 --- a/client/src/main/java/ctbrec/ui/settings/SettingsTab.java +++ b/client/src/main/java/ctbrec/ui/settings/SettingsTab.java @@ -125,6 +125,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { private SimpleIntegerProperty port; private SimpleStringProperty path; private SimpleStringProperty downloadFilename; + private SimpleBooleanProperty recordedModelsPerSite; private SimpleBooleanProperty requireAuthentication; private SimpleBooleanProperty totalModelCountInTitle; private SimpleBooleanProperty transportLayerSecurity; @@ -192,6 +193,7 @@ public class SettingsTab extends Tab implements TabSelectionListener { port = new SimpleIntegerProperty(null, "httpPort", settings.httpPort); path = new SimpleStringProperty(null, "servletContext", settings.servletContext); downloadFilename = new SimpleStringProperty(null, "downloadFilename", settings.downloadFilename); + recordedModelsPerSite = new SimpleBooleanProperty(null, "recordedModelsPerSite", settings.recordedModelsPerSite); requireAuthentication = new SimpleBooleanProperty(null, "requireAuthentication", settings.requireAuthentication); requireAuthentication.addListener(this::requireAuthenticationChanged); totalModelCountInTitle = new SimpleBooleanProperty(null, "totalModelCountInTitle", settings.totalModelCountInTitle); @@ -237,7 +239,9 @@ public class SettingsTab extends Tab implements TabSelectionListener { Setting.of("Minimize to tray", minimizeToTray, "Removes the app from the task bar, if minimized"), Setting.of("Add models from clipboard", monitorClipboard, "Monitor clipboard for model URLs and automatically add them to the recorder").needsRestart(), Setting.of("Show confirmation dialogs", confirmationDialogs, "Show confirmation dialogs for irreversible actions"), + Setting.of("Recording tab per site", recordedModelsPerSite, "Add a Recording tab for each site").needsRestart(), Setting.of("Start Tab", startTab)), + Group.of("Player", Setting.of("Player", mediaPlayer), Setting.of("Start parameters", mediaPlayerParams), diff --git a/client/src/main/java/ctbrec/ui/sites/AbstractTabProvider.java b/client/src/main/java/ctbrec/ui/sites/AbstractTabProvider.java index d269a4ef..3eb8f67e 100644 --- a/client/src/main/java/ctbrec/ui/sites/AbstractTabProvider.java +++ b/client/src/main/java/ctbrec/ui/sites/AbstractTabProvider.java @@ -1,5 +1,6 @@ package ctbrec.ui.sites; +import ctbrec.Config; import ctbrec.recorder.Recorder; import ctbrec.sites.Site; import ctbrec.ui.tabs.TabProvider; @@ -22,8 +23,10 @@ public abstract class AbstractTabProvider implements TabProvider { @Override public List getTabs(Scene scene) { var tabs = getSiteTabs(scene); - var recordingTab = new RecordedModelsPerSiteTab("Recording", recorder, site); - tabs.add(recordingTab); + if (Config.getInstance().getSettings().recordedModelsPerSite) { + var recordingTab = new RecordedModelsPerSiteTab("Recording", recorder, site); + tabs.add(recordingTab); + } return tabs; } diff --git a/common/src/main/java/ctbrec/Settings.java b/common/src/main/java/ctbrec/Settings.java index 2ccee7d7..48158097 100644 --- a/common/src/main/java/ctbrec/Settings.java +++ b/common/src/main/java/ctbrec/Settings.java @@ -150,6 +150,7 @@ public class Settings { public Map recordedModelsTableColumnVisibility = new HashMap<>(); public Map recordedModelsTableColumnWidth = new HashMap<>(); public String recordedModelsTableSortColumn = ""; + public boolean recordedModelsPerSite = false; public String recordedModelsTableSortType = ""; public List recordingsTableColumnOrder = new ArrayList<>(); public Map recordingsTableColumnVisibility = new HashMap<>();