diff --git a/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatConfigUI.java b/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatConfigUI.java index cfcf50c7..66887948 100644 --- a/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatConfigUI.java @@ -1,5 +1,8 @@ package ctbrec.ui.sites.stripchat; +import java.util.ArrayList; +import java.util.List; + import ctbrec.Config; import ctbrec.sites.stripchat.Stripchat; import ctbrec.ui.DesktopIntegration; @@ -113,6 +116,58 @@ public class StripchatConfigUI extends AbstractConfigUI { GridPane.setColumnSpan(password, 2); layout.add(password, 1, row++); + Label tabsLabel = new Label("Tabs"); + layout.add(tabsLabel, 0, row); + List tabs = getEnabledTabs(); + + GridPane checkboxGrid = new GridPane(); + checkboxGrid.setHgap(10); + checkboxGrid.setVgap(5); + checkboxGrid.setPadding(new Insets(0, 0, 0, 7)); + + CheckBox girls = new CheckBox("Girls"); + girls.setSelected(tabs.contains("girls")); + girls.setOnAction(e -> toggleTab("girls", girls.isSelected())); + checkboxGrid.add(girls, 0, 0); + + CheckBox girlsNew = new CheckBox("Girls New"); + girlsNew.setSelected(tabs.contains("autoTagNew")); + girlsNew.setOnAction(e -> toggleTab("autoTagNew", girlsNew.isSelected())); + checkboxGrid.add(girlsNew, 1, 0); + + CheckBox girlsHD = new CheckBox("Girls HD"); + girlsHD.setSelected(tabs.contains("autoTagHd")); + girlsHD.setOnAction(e -> toggleTab("autoTagHd", girlsHD.isSelected())); + checkboxGrid.add(girlsHD, 2, 0); + + CheckBox mobile = new CheckBox("Mobile"); + mobile.setSelected(tabs.contains("mobile")); + mobile.setOnAction(e -> toggleTab("mobile", mobile.isSelected())); + checkboxGrid.add(mobile, 3, 0); + + CheckBox pvt = new CheckBox("Private"); + pvt.setSelected(tabs.contains("autoTagSpy")); + pvt.setOnAction(e -> toggleTab("autoTagSpy", pvt.isSelected())); + checkboxGrid.add(pvt, 0, 1); + + CheckBox couples = new CheckBox("Couples"); + couples.setSelected(tabs.contains("couples")); + couples.setOnAction(e -> toggleTab("couples", couples.isSelected())); + checkboxGrid.add(couples, 1, 1); + + CheckBox boys = new CheckBox("Boys"); + boys.setSelected(tabs.contains("men")); + boys.setOnAction(e -> toggleTab("men", boys.isSelected())); + checkboxGrid.add(boys, 2, 1); + + CheckBox trans = new CheckBox("Trans"); + trans.setSelected(tabs.contains("trans")); + trans.setOnAction(e -> toggleTab("trans", trans.isSelected())); + checkboxGrid.add(trans, 3, 1); + + layout.add(checkboxGrid, 1, row, 4, 2); + row += 2; + var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(stripchat.getAffiliateLink())); layout.add(createAccount, 1, row++); @@ -142,4 +197,18 @@ public class StripchatConfigUI extends AbstractConfigUI { return layout; } + private void toggleTab(String tab, boolean selected) { + var settings = Config.getInstance().getSettings(); + if (selected) { + settings.stripchatTabs.add(tab); + } else { + settings.stripchatTabs.remove(tab); + } + save(); + } + + private List getEnabledTabs() { + return new ArrayList<>(Config.getInstance().getSettings().stripchatTabs); + } + } diff --git a/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatTabProvider.java b/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatTabProvider.java index 694e5e50..ecd71e9b 100644 --- a/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatTabProvider.java +++ b/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatTabProvider.java @@ -1,5 +1,6 @@ package ctbrec.ui.sites.stripchat; +import ctbrec.Config; import ctbrec.sites.stripchat.Stripchat; import ctbrec.ui.sites.AbstractTabProvider; import ctbrec.ui.tabs.ThumbOverviewTab; @@ -8,7 +9,10 @@ import javafx.scene.control.Tab; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; +// import java.util.Objects; public class StripchatTabProvider extends AbstractTabProvider { @@ -26,15 +30,29 @@ public class StripchatTabProvider extends AbstractTabProvider { @Override protected List getSiteTabs(Scene scene) { List tabs = new ArrayList<>(); - tabs.add(createTab("Girls", MessageFormat.format(urlTemplate, "girls"))); - tabs.add(createTab("Girls New", MessageFormat.format(urlFilterTemplate, "autoTagNew"))); - tabs.add(createTab("Girls HD", MessageFormat.format(urlFilterTemplate, "autoTagHd"))); + + Map tabMap = new HashMap<>(); + tabMap.put("girls", "Girls"); + tabMap.put("autoTagNew", "Girls New"); + tabMap.put("autoTagHd", "Girls HD"); + // tabMap.put("autoTagVr", "Girls VR"); + tabMap.put("mobile", "Mobile"); + tabMap.put("autoTagSpy", "Private"); + tabMap.put("couples", "Couples"); + tabMap.put("men", "Boys"); + tabMap.put("trans", "Trans"); + List enabledTabs = getEnabledTabs(); + for (String tab : enabledTabs) { + String title = tabMap.getOrDefault(tab, tab); + if (tab.contains("auto")) { + tabs.add(createTab(title, MessageFormat.format(urlFilterTemplate, tab))); + } else { + tabs.add(createTab(title, MessageFormat.format(urlTemplate, tab))); + } + + } tabs.add(createTab("Girls VR", MessageFormat.format(urlFilterTemplate, "autoTagVr"))); - tabs.add(createTab("Mobile", MessageFormat.format(urlFilterTemplate, "mobile"))); - tabs.add(createTab("Private", MessageFormat.format(urlFilterTemplate, "autoTagSpy"))); - tabs.add(createTab("Couples", MessageFormat.format(urlTemplate, "couples"))); - tabs.add(createTab("Boys", MessageFormat.format(urlTemplate, "men"))); - tabs.add(createTab("Trans", MessageFormat.format(urlTemplate, "trans"))); + followedTab.setRecorder(recorder); followedTab.setScene(scene); followedTab.setImageAspectRatio(9.0 / 16.0); @@ -55,4 +73,8 @@ public class StripchatTabProvider extends AbstractTabProvider { return tab; } + private List getEnabledTabs() { + return new ArrayList<>(Config.getInstance().getSettings().stripchatTabs); + } + }