Remove duplicate functions to separate class
This commit is contained in:
parent
0b1209147c
commit
7bd51fb6e2
|
@ -0,0 +1,15 @@
|
||||||
|
package ctbrec.ui.settings;
|
||||||
|
|
||||||
|
public enum Sites {
|
||||||
|
BONGACAMS,
|
||||||
|
CAM4,
|
||||||
|
CAMSODA,
|
||||||
|
CHATURBATE,
|
||||||
|
DREAMCAM,
|
||||||
|
FLIRT4FREE,
|
||||||
|
SHOWUP,
|
||||||
|
STREAMATE,
|
||||||
|
STREAMRAY,
|
||||||
|
STRIPCHAT,
|
||||||
|
XLOVECAM
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
package ctbrec.ui.settings;
|
||||||
|
|
||||||
|
import ctbrec.Config;
|
||||||
|
import ctbrec.Settings;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
public class TabUtils {
|
||||||
|
public static void toggleTab(Sites site, String tab, boolean selected) {
|
||||||
|
var settings = Config.getInstance().getSettings();
|
||||||
|
List<String> siteTabs = getTabsForSite(settings, site);
|
||||||
|
|
||||||
|
if (selected) {
|
||||||
|
if (!siteTabs.contains(tab)) {
|
||||||
|
siteTabs.add(tab);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
siteTabs.remove(tab);
|
||||||
|
}
|
||||||
|
save();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<String> getEnabledTabs(Sites site) {
|
||||||
|
var settings = Config.getInstance().getSettings();
|
||||||
|
return new ArrayList<>(getTabsForSite(settings, site));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper to dynamically get the correct tab list from settings
|
||||||
|
private static List<String> getTabsForSite(Settings settings, Sites site) {
|
||||||
|
return switch (site) {
|
||||||
|
case BONGACAMS -> settings.bongaTabs;
|
||||||
|
case CAM4 -> settings.cam4Tabs;
|
||||||
|
case CAMSODA -> settings.camsodaTabs;
|
||||||
|
case CHATURBATE -> settings.chaturbateTabs;
|
||||||
|
case DREAMCAM -> settings.dreamcamTabs;
|
||||||
|
case FLIRT4FREE -> settings.flirt4freeTabs;
|
||||||
|
case SHOWUP -> settings.showupTabs;
|
||||||
|
case STREAMATE -> settings.streamateTabs;
|
||||||
|
case STREAMRAY -> settings.streamrayTabs;
|
||||||
|
case STRIPCHAT -> settings.stripchatTabs;
|
||||||
|
case XLOVECAM -> settings.xlovecamTabs;
|
||||||
|
default -> throw new IllegalArgumentException("Unknown site: " + site);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void save() {
|
||||||
|
try {
|
||||||
|
Config.getInstance().save();
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("Couldn't save config", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,8 +14,9 @@ import javafx.scene.control.PasswordField;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
|
|
||||||
public class BongaCamsConfigUI extends AbstractConfigUI {
|
public class BongaCamsConfigUI extends AbstractConfigUI {
|
||||||
private BongaCams bongaCams;
|
private BongaCams bongaCams;
|
||||||
|
@ -89,7 +90,7 @@ public class BongaCamsConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.BONGACAMS);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -98,32 +99,32 @@ public class BongaCamsConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Female");
|
||||||
female.setSelected(tabs.contains("female"));
|
female.setSelected(tabs.contains("female"));
|
||||||
female.setOnAction(e -> toggleTab("female", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.BONGACAMS, "female", female.isSelected()));
|
||||||
checkboxGrid.add(female, 0, 0);
|
checkboxGrid.add(female, 0, 0);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("male"));
|
male.setSelected(tabs.contains("male"));
|
||||||
male.setOnAction(e -> toggleTab("male", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.BONGACAMS, "male", male.isSelected()));
|
||||||
checkboxGrid.add(male, 1, 0);
|
checkboxGrid.add(male, 1, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("couples"));
|
couples.setSelected(tabs.contains("couples"));
|
||||||
couples.setOnAction(e -> toggleTab("couples", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.BONGACAMS, "couples", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 2, 0);
|
checkboxGrid.add(couples, 2, 0);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("trans"));
|
trans.setSelected(tabs.contains("trans"));
|
||||||
trans.setOnAction(e -> toggleTab("trans", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.BONGACAMS, "trans", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 0, 1);
|
checkboxGrid.add(trans, 0, 1);
|
||||||
|
|
||||||
CheckBox newModels = new CheckBox("New");
|
CheckBox newModels = new CheckBox("New");
|
||||||
newModels.setSelected(tabs.contains("new"));
|
newModels.setSelected(tabs.contains("new"));
|
||||||
newModels.setOnAction(e -> toggleTab("new", newModels.isSelected()));
|
newModels.setOnAction(e -> TabUtils.toggleTab(Sites.BONGACAMS, "new", newModels.isSelected()));
|
||||||
checkboxGrid.add(newModels, 1, 1);
|
checkboxGrid.add(newModels, 1, 1);
|
||||||
|
|
||||||
CheckBox mobile = new CheckBox("Mobile");
|
CheckBox mobile = new CheckBox("Mobile");
|
||||||
mobile.setSelected(tabs.contains("mobile"));
|
mobile.setSelected(tabs.contains("mobile"));
|
||||||
mobile.setOnAction(e -> toggleTab("mobile", mobile.isSelected()));
|
mobile.setOnAction(e -> TabUtils.toggleTab(Sites.BONGACAMS, "mobile", mobile.isSelected()));
|
||||||
checkboxGrid.add(mobile, 2, 1);
|
checkboxGrid.add(mobile, 2, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 3, 2);
|
layout.add(checkboxGrid, 1, row, 3, 2);
|
||||||
|
@ -146,20 +147,4 @@ public class BongaCamsConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.bongaTabs.contains(tab)) {
|
|
||||||
settings.bongaTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.bongaTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().bongaTabs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
package ctbrec.ui.sites.bonga;
|
package ctbrec.ui.sites.bonga;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.bonga.BongaCams;
|
import ctbrec.sites.bonga.BongaCams;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||||
|
@ -12,6 +11,8 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
|
|
||||||
public class BongaCamsTabProvider extends AbstractTabProvider {
|
public class BongaCamsTabProvider extends AbstractTabProvider {
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ public class BongaCamsTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("male", "Male");
|
tabMap.put("male", "Male");
|
||||||
tabMap.put("couples", "Couples");
|
tabMap.put("couples", "Couples");
|
||||||
tabMap.put("trans", "Trans");
|
tabMap.put("trans", "Trans");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.BONGACAMS);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
case "female":
|
case "female":
|
||||||
|
@ -76,9 +77,4 @@ public class BongaCamsTabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(recorder);
|
tab.setRecorder(recorder);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().bongaTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.cam4;
|
package ctbrec.ui.sites.cam4;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.cam4.Cam4;
|
import ctbrec.sites.cam4.Cam4;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -77,7 +78,7 @@ public class Cam4ConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.CAM4);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -86,37 +87,37 @@ public class Cam4ConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Female");
|
||||||
female.setSelected(tabs.contains("female"));
|
female.setSelected(tabs.contains("female"));
|
||||||
female.setOnAction(e -> toggleTab("female", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "female", female.isSelected()));
|
||||||
checkboxGrid.add(female, 0, 0);
|
checkboxGrid.add(female, 0, 0);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("male"));
|
male.setSelected(tabs.contains("male"));
|
||||||
male.setOnAction(e -> toggleTab("male", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "male", male.isSelected()));
|
||||||
checkboxGrid.add(male, 1, 0);
|
checkboxGrid.add(male, 1, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("couples"));
|
couples.setSelected(tabs.contains("couples"));
|
||||||
couples.setOnAction(e -> toggleTab("couples", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "couples", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 2, 0);
|
checkboxGrid.add(couples, 2, 0);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("shemale"));
|
trans.setSelected(tabs.contains("shemale"));
|
||||||
trans.setOnAction(e -> toggleTab("shemale", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "shemale", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 3, 0);
|
checkboxGrid.add(trans, 3, 0);
|
||||||
|
|
||||||
CheckBox newModels = new CheckBox("New");
|
CheckBox newModels = new CheckBox("New");
|
||||||
newModels.setSelected(tabs.contains("new"));
|
newModels.setSelected(tabs.contains("new"));
|
||||||
newModels.setOnAction(e -> toggleTab("new", newModels.isSelected()));
|
newModels.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "new", newModels.isSelected()));
|
||||||
checkboxGrid.add(newModels, 0, 1);
|
checkboxGrid.add(newModels, 0, 1);
|
||||||
|
|
||||||
CheckBox hdModels = new CheckBox("HD");
|
CheckBox hdModels = new CheckBox("HD");
|
||||||
hdModels.setSelected(tabs.contains("hd"));
|
hdModels.setSelected(tabs.contains("hd"));
|
||||||
hdModels.setOnAction(e -> toggleTab("hd", hdModels.isSelected()));
|
hdModels.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "hd", hdModels.isSelected()));
|
||||||
checkboxGrid.add(hdModels, 1, 1);
|
checkboxGrid.add(hdModels, 1, 1);
|
||||||
|
|
||||||
CheckBox mobile = new CheckBox("Mobile");
|
CheckBox mobile = new CheckBox("Mobile");
|
||||||
mobile.setSelected(tabs.contains("mobile"));
|
mobile.setSelected(tabs.contains("mobile"));
|
||||||
mobile.setOnAction(e -> toggleTab("mobile", mobile.isSelected()));
|
mobile.setOnAction(e -> TabUtils.toggleTab(Sites.CAM4, "mobile", mobile.isSelected()));
|
||||||
checkboxGrid.add(mobile, 2, 1);
|
checkboxGrid.add(mobile, 2, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 4, 2);
|
layout.add(checkboxGrid, 1, row, 4, 2);
|
||||||
|
@ -138,21 +139,4 @@ public class Cam4ConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.cam4Tabs.contains(tab)) {
|
|
||||||
settings.cam4Tabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.cam4Tabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().cam4Tabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ctbrec.ui.sites.cam4;
|
package ctbrec.ui.sites.cam4;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.cam4.Cam4;
|
import ctbrec.sites.cam4.Cam4;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -31,7 +32,7 @@ public class Cam4TabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("couples", "Couples");
|
tabMap.put("couples", "Couples");
|
||||||
tabMap.put("hd", "HD");
|
tabMap.put("hd", "HD");
|
||||||
tabMap.put("mobile", "Mobile");
|
tabMap.put("mobile", "Mobile");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.CAM4);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
|
@ -74,9 +75,4 @@ public class Cam4TabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(recorder);
|
tab.setRecorder(recorder);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().cam4Tabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.camsoda;
|
package ctbrec.ui.sites.camsoda;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.camsoda.Camsoda;
|
import ctbrec.sites.camsoda.Camsoda;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -16,7 +17,6 @@ import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.PasswordField;
|
import javafx.scene.control.PasswordField;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
// import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
|
|
||||||
public class CamsodaConfigUI extends AbstractConfigUI {
|
public class CamsodaConfigUI extends AbstractConfigUI {
|
||||||
|
@ -78,46 +78,46 @@ public class CamsodaConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.CAMSODA);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
checkboxGrid.setVgap(5);
|
checkboxGrid.setVgap(5);
|
||||||
checkboxGrid.setPadding(new Insets(0, 0, 0, 7));
|
checkboxGrid.setPadding(new Insets(0, 0, 0, 7));
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Girls");
|
||||||
female.setSelected(tabs.contains("f"));
|
female.setSelected(tabs.contains("f"));
|
||||||
female.setOnAction(e -> toggleTab("f", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "f", female.isSelected()));
|
||||||
checkboxGrid.add(female, 0, 0);
|
checkboxGrid.add(female, 0, 0);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Guys");
|
||||||
male.setSelected(tabs.contains("m"));
|
male.setSelected(tabs.contains("m"));
|
||||||
male.setOnAction(e -> toggleTab("m", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "m", male.isSelected()));
|
||||||
checkboxGrid.add(male, 1, 0);
|
checkboxGrid.add(male, 1, 0);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("t"));
|
trans.setSelected(tabs.contains("t"));
|
||||||
trans.setOnAction(e -> toggleTab("t", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "t", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 2, 0);
|
checkboxGrid.add(trans, 2, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("c"));
|
couples.setSelected(tabs.contains("c"));
|
||||||
couples.setOnAction(e -> toggleTab("c", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "c", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 3, 0);
|
checkboxGrid.add(couples, 3, 0);
|
||||||
|
|
||||||
CheckBox isNew = new CheckBox("New");
|
CheckBox isNew = new CheckBox("New");
|
||||||
isNew.setSelected(tabs.contains("isNew"));
|
isNew.setSelected(tabs.contains("isNew"));
|
||||||
isNew.setOnAction(e -> toggleTab("isNew", isNew.isSelected()));
|
isNew.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "isNew", isNew.isSelected()));
|
||||||
checkboxGrid.add(isNew, 0, 1);
|
checkboxGrid.add(isNew, 0, 1);
|
||||||
|
|
||||||
CheckBox voyeur = new CheckBox("Voyeur");
|
CheckBox voyeur = new CheckBox("Voyeur");
|
||||||
voyeur.setSelected(tabs.contains("isVoyeur"));
|
voyeur.setSelected(tabs.contains("isVoyeur"));
|
||||||
voyeur.setOnAction(e -> toggleTab("isVoyeur", voyeur.isSelected()));
|
voyeur.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "isVoyeur", voyeur.isSelected()));
|
||||||
checkboxGrid.add(voyeur, 1, 1);
|
checkboxGrid.add(voyeur, 1, 1);
|
||||||
|
|
||||||
CheckBox all = new CheckBox("All");
|
CheckBox all = new CheckBox("All");
|
||||||
all.setSelected(tabs.contains("all"));
|
all.setSelected(tabs.contains("all"));
|
||||||
all.setOnAction(e -> toggleTab("all", all.isSelected()));
|
all.setOnAction(e -> TabUtils.toggleTab(Sites.CAMSODA, "all", all.isSelected()));
|
||||||
checkboxGrid.add(all, 2, 1);
|
checkboxGrid.add(all, 2, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 4, 2);
|
layout.add(checkboxGrid, 1, row, 4, 2);
|
||||||
|
@ -139,21 +139,4 @@ public class CamsodaConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.camsodaTabs.contains(tab)) {
|
|
||||||
settings.camsodaTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.camsodaTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().camsodaTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package ctbrec.ui.sites.camsoda;
|
package ctbrec.ui.sites.camsoda;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.camsoda.Camsoda;
|
import ctbrec.sites.camsoda.Camsoda;
|
||||||
import ctbrec.sites.camsoda.CamsodaModel;
|
import ctbrec.sites.camsoda.CamsodaModel;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -36,13 +37,13 @@ public class CamsodaTabProvider extends AbstractTabProvider {
|
||||||
|
|
||||||
Map<String, String> tabMap = new HashMap<>();
|
Map<String, String> tabMap = new HashMap<>();
|
||||||
tabMap.put("all", "All");
|
tabMap.put("all", "All");
|
||||||
tabMap.put("m", "Male");
|
tabMap.put("m", "Guys");
|
||||||
tabMap.put("f", "Female");
|
tabMap.put("f", "Girls");
|
||||||
tabMap.put("c", "Couples");
|
tabMap.put("c", "Couples");
|
||||||
tabMap.put("t", "Trans");
|
tabMap.put("t", "Trans");
|
||||||
tabMap.put("isNew", "New");
|
tabMap.put("isNew", "New");
|
||||||
tabMap.put("isVoyeur", "Voyeur");
|
tabMap.put("isVoyeur", "Voyeur");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.CAMSODA);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
|
@ -80,9 +81,4 @@ public class CamsodaTabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(recorder);
|
tab.setRecorder(recorder);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().camsodaTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,14 @@ import ctbrec.Config;
|
||||||
import ctbrec.sites.chaturbate.Chaturbate;
|
import ctbrec.sites.chaturbate.Chaturbate;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class ChaturbateConfigUi extends AbstractConfigUI {
|
public class ChaturbateConfigUi extends AbstractConfigUI {
|
||||||
|
@ -104,7 +105,7 @@ public class ChaturbateConfigUi extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.CHATURBATE);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -113,82 +114,82 @@ public class ChaturbateConfigUi extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Female");
|
||||||
female.setSelected(tabs.contains("f"));
|
female.setSelected(tabs.contains("f"));
|
||||||
female.setOnAction(e -> toggleTab("f", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "f", female.isSelected()));
|
||||||
checkboxGrid.add(female, 0, 0);
|
checkboxGrid.add(female, 0, 0);
|
||||||
|
|
||||||
CheckBox newFemale = new CheckBox("New Female");
|
CheckBox newFemale = new CheckBox("New Female");
|
||||||
newFemale.setSelected(tabs.contains("nf"));
|
newFemale.setSelected(tabs.contains("nf"));
|
||||||
newFemale.setOnAction(e -> toggleTab("nf", newFemale.isSelected()));
|
newFemale.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "nf", newFemale.isSelected()));
|
||||||
checkboxGrid.add(newFemale, 1, 0);
|
checkboxGrid.add(newFemale, 1, 0);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("m"));
|
male.setSelected(tabs.contains("m"));
|
||||||
male.setOnAction(e -> toggleTab("m", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "m", male.isSelected()));
|
||||||
checkboxGrid.add(male, 2, 0);
|
checkboxGrid.add(male, 2, 0);
|
||||||
|
|
||||||
CheckBox newMale = new CheckBox("New Male");
|
CheckBox newMale = new CheckBox("New Male");
|
||||||
newMale.setSelected(tabs.contains("nm"));
|
newMale.setSelected(tabs.contains("nm"));
|
||||||
newMale.setOnAction(e -> toggleTab("nm", newMale.isSelected()));
|
newMale.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "nm", newMale.isSelected()));
|
||||||
checkboxGrid.add(newMale, 3, 0);
|
checkboxGrid.add(newMale, 3, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("c"));
|
couples.setSelected(tabs.contains("c"));
|
||||||
couples.setOnAction(e -> toggleTab("c", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "c", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 0, 1);
|
checkboxGrid.add(couples, 0, 1);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("t"));
|
trans.setSelected(tabs.contains("t"));
|
||||||
trans.setOnAction(e -> toggleTab("t", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "t", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 1, 1);
|
checkboxGrid.add(trans, 1, 1);
|
||||||
|
|
||||||
CheckBox pvt = new CheckBox("Private");
|
CheckBox pvt = new CheckBox("Private");
|
||||||
pvt.setSelected(tabs.contains("xp"));
|
pvt.setSelected(tabs.contains("xp"));
|
||||||
pvt.setOnAction(e -> toggleTab("xp", pvt.isSelected()));
|
pvt.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "xp", pvt.isSelected()));
|
||||||
checkboxGrid.add(pvt, 2, 1);
|
checkboxGrid.add(pvt, 2, 1);
|
||||||
|
|
||||||
CheckBox hidden = new CheckBox("Hidden");
|
CheckBox hidden = new CheckBox("Hidden");
|
||||||
hidden.setSelected(tabs.contains("xh"));
|
hidden.setSelected(tabs.contains("xh"));
|
||||||
hidden.setOnAction(e -> toggleTab("xh", hidden.isSelected()));
|
hidden.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "xh", hidden.isSelected()));
|
||||||
checkboxGrid.add(hidden, 3, 1);
|
checkboxGrid.add(hidden, 3, 1);
|
||||||
|
|
||||||
CheckBox gaming = new CheckBox("Gaming");
|
CheckBox gaming = new CheckBox("Gaming");
|
||||||
gaming.setSelected(tabs.contains("xg"));
|
gaming.setSelected(tabs.contains("xg"));
|
||||||
gaming.setOnAction(e -> toggleTab("xg", gaming.isSelected()));
|
gaming.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "xg", gaming.isSelected()));
|
||||||
checkboxGrid.add(gaming, 0, 2);
|
checkboxGrid.add(gaming, 0, 2);
|
||||||
|
|
||||||
CheckBox feat = new CheckBox("Featured");
|
CheckBox feat = new CheckBox("Featured");
|
||||||
feat.setSelected(tabs.contains("ft"));
|
feat.setSelected(tabs.contains("ft"));
|
||||||
feat.setOnAction(e -> toggleTab("ft", feat.isSelected()));
|
feat.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "ft", feat.isSelected()));
|
||||||
checkboxGrid.add(feat, 1, 2);
|
checkboxGrid.add(feat, 1, 2);
|
||||||
|
|
||||||
CheckBox top = new CheckBox("Top Rated");
|
CheckBox top = new CheckBox("Top Rated");
|
||||||
top.setSelected(tabs.contains("ar"));
|
top.setSelected(tabs.contains("ar"));
|
||||||
top.setOnAction(e -> toggleTab("ar", top.isSelected()));
|
top.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "ar", top.isSelected()));
|
||||||
checkboxGrid.add(top, 2, 2);
|
checkboxGrid.add(top, 2, 2);
|
||||||
|
|
||||||
CheckBox trend = new CheckBox("Trending");
|
CheckBox trend = new CheckBox("Trending");
|
||||||
trend.setSelected(tabs.contains("at"));
|
trend.setSelected(tabs.contains("at"));
|
||||||
trend.setOnAction(e -> toggleTab("at", trend.isSelected()));
|
trend.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "at", trend.isSelected()));
|
||||||
checkboxGrid.add(trend, 3, 2);
|
checkboxGrid.add(trend, 3, 2);
|
||||||
|
|
||||||
CheckBox asiaOther = new CheckBox("Asia/Oth");
|
CheckBox asiaOther = new CheckBox("Asia/Oth");
|
||||||
asiaOther.setSelected(tabs.contains("AS,O"));
|
asiaOther.setSelected(tabs.contains("AS,O"));
|
||||||
asiaOther.setOnAction(e -> toggleTab("AS,O", asiaOther.isSelected()));
|
asiaOther.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "AS,O", asiaOther.isSelected()));
|
||||||
checkboxGrid.add(asiaOther, 0, 3);
|
checkboxGrid.add(asiaOther, 0, 3);
|
||||||
|
|
||||||
CheckBox euRu = new CheckBox("Eu/Ru");
|
CheckBox euRu = new CheckBox("Eu/Ru");
|
||||||
euRu.setSelected(tabs.contains("ER"));
|
euRu.setSelected(tabs.contains("ER"));
|
||||||
euRu.setOnAction(e -> toggleTab("ER", euRu.isSelected()));
|
euRu.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "ER", euRu.isSelected()));
|
||||||
checkboxGrid.add(euRu, 1, 3);
|
checkboxGrid.add(euRu, 1, 3);
|
||||||
|
|
||||||
CheckBox nthAm = new CheckBox("Nth Am");
|
CheckBox nthAm = new CheckBox("Nth Am");
|
||||||
nthAm.setSelected(tabs.contains("NA"));
|
nthAm.setSelected(tabs.contains("NA"));
|
||||||
nthAm.setOnAction(e -> toggleTab("NA", nthAm.isSelected()));
|
nthAm.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "NA", nthAm.isSelected()));
|
||||||
checkboxGrid.add(nthAm, 2, 3);
|
checkboxGrid.add(nthAm, 2, 3);
|
||||||
|
|
||||||
CheckBox sthAm = new CheckBox("Sth Am");
|
CheckBox sthAm = new CheckBox("Sth Am");
|
||||||
sthAm.setSelected(tabs.contains("SA"));
|
sthAm.setSelected(tabs.contains("SA"));
|
||||||
sthAm.setOnAction(e -> toggleTab("SA", sthAm.isSelected()));
|
sthAm.setOnAction(e -> TabUtils.toggleTab(Sites.CHATURBATE, "SA", sthAm.isSelected()));
|
||||||
checkboxGrid.add(sthAm, 3, 3);
|
checkboxGrid.add(sthAm, 3, 3);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 4, 4);
|
layout.add(checkboxGrid, 1, row, 4, 4);
|
||||||
|
@ -215,19 +216,4 @@ public class ChaturbateConfigUi extends AbstractConfigUI {
|
||||||
|
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.chaturbateTabs.contains(tab)) {
|
|
||||||
settings.chaturbateTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.chaturbateTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().chaturbateTabs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ctbrec.ui.sites.chaturbate;
|
package ctbrec.ui.sites.chaturbate;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.chaturbate.Chaturbate;
|
import ctbrec.sites.chaturbate.Chaturbate;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
|
@ -36,13 +37,14 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("nm", "New Male");
|
tabMap.put("nm", "New Male");
|
||||||
tabMap.put("c", "Couples");
|
tabMap.put("c", "Couples");
|
||||||
tabMap.put("t", "Trans");
|
tabMap.put("t", "Trans");
|
||||||
|
tabMap.put("ft", "Featured");
|
||||||
tabMap.put("xp", "Private");
|
tabMap.put("xp", "Private");
|
||||||
tabMap.put("xh", "Hidden");
|
tabMap.put("xh", "Hidden");
|
||||||
tabMap.put("xg", "Gaming");
|
tabMap.put("xg", "Gaming");
|
||||||
tabMap.put("ar", "Top Rated");
|
tabMap.put("ar", "Top Rated");
|
||||||
tabMap.put("at", "Trending");
|
tabMap.put("at", "Trending");
|
||||||
|
|
||||||
for (String tab : getEnabledTabs()) {
|
for (String tab : TabUtils.getEnabledTabs(Sites.CHATURBATE)) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
case "ft":
|
case "ft":
|
||||||
|
@ -52,7 +54,6 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
|
||||||
case "m":
|
case "m":
|
||||||
case "c":
|
case "c":
|
||||||
case "t":
|
case "t":
|
||||||
// String title = tabMap.getOrDefault(tab, tab);
|
|
||||||
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false&genders=" + tab));
|
tabs.add(createTab(title, apiUrl + "/roomlist/room-list/?enable_recommendations=false&genders=" + tab));
|
||||||
break;
|
break;
|
||||||
case "nf":
|
case "nf":
|
||||||
|
@ -137,8 +138,4 @@ public class ChaturbateTabProvider extends AbstractTabProvider {
|
||||||
var updateService = new ChaturbateApiUpdateService(apiUrl, (Chaturbate) site);
|
var updateService = new ChaturbateApiUpdateService(apiUrl, (Chaturbate) site);
|
||||||
return createTab(title, updateService);
|
return createTab(title, updateService);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().chaturbateTabs);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,18 +1,17 @@
|
||||||
package ctbrec.ui.sites.dreamcam;
|
package ctbrec.ui.sites.dreamcam;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.dreamcam.Dreamcam;
|
import ctbrec.sites.dreamcam.Dreamcam;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
// import javafx.scene.control.ToggleGroup;
|
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.CheckBox;
|
import javafx.scene.control.CheckBox;
|
||||||
// import javafx.scene.control.RadioButton;
|
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
|
@ -59,29 +58,29 @@ public class DreamcamConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.DREAMCAM);
|
||||||
|
|
||||||
HBox checkboxContainer = new HBox(10);
|
HBox checkboxContainer = new HBox(10);
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Girls");
|
CheckBox female = new CheckBox("Girls");
|
||||||
female.setSelected(tabs.contains("girls"));
|
female.setSelected(tabs.contains("girls"));
|
||||||
female.setOnAction(e -> toggleTab("girls", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.DREAMCAM, "girls", female.isSelected()));
|
||||||
HBox.setMargin(female, new Insets(0, 0, 0, 7));
|
HBox.setMargin(female, new Insets(0, 0, 0, 7));
|
||||||
checkboxContainer.getChildren().add(female);
|
checkboxContainer.getChildren().add(female);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Boys");
|
CheckBox male = new CheckBox("Men");
|
||||||
male.setSelected(tabs.contains("men"));
|
male.setSelected(tabs.contains("men"));
|
||||||
male.setOnAction(e -> toggleTab("men", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.DREAMCAM, "men", male.isSelected()));
|
||||||
checkboxContainer.getChildren().add(male);
|
checkboxContainer.getChildren().add(male);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("couples"));
|
couples.setSelected(tabs.contains("couples"));
|
||||||
couples.setOnAction(e -> toggleTab("couples", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.DREAMCAM, "couples", couples.isSelected()));
|
||||||
checkboxContainer.getChildren().add(couples);
|
checkboxContainer.getChildren().add(couples);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("trans"));
|
trans.setSelected(tabs.contains("trans"));
|
||||||
trans.setOnAction(e -> toggleTab("trans", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.DREAMCAM, "trans", trans.isSelected()));
|
||||||
checkboxContainer.getChildren().add(trans);
|
checkboxContainer.getChildren().add(trans);
|
||||||
|
|
||||||
layout.add(checkboxContainer, 1, row, 4, 1);
|
layout.add(checkboxContainer, 1, row, 4, 1);
|
||||||
|
@ -95,21 +94,4 @@ public class DreamcamConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.dreamcamTabs.contains(tab)) {
|
|
||||||
settings.dreamcamTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.dreamcamTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().dreamcamTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
package ctbrec.ui.sites.dreamcam;
|
package ctbrec.ui.sites.dreamcam;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.dreamcam.Dreamcam;
|
import ctbrec.sites.dreamcam.Dreamcam;
|
||||||
// import ctbrec.sites.dreamcam.DreamcamModel;
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
// import java.util.Objects;
|
|
||||||
|
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Tab;
|
import javafx.scene.control.Tab;
|
||||||
|
@ -27,10 +26,10 @@ public class DreamcamTabProvider extends AbstractTabProvider {
|
||||||
|
|
||||||
Map<String, String> tabMap = new HashMap<>();
|
Map<String, String> tabMap = new HashMap<>();
|
||||||
tabMap.put("girls", "Girls");
|
tabMap.put("girls", "Girls");
|
||||||
tabMap.put("men", "Boys");
|
tabMap.put("men", "Men");
|
||||||
tabMap.put("couples", "Couples");
|
tabMap.put("couples", "Couples");
|
||||||
tabMap.put("trans", "Trans");
|
tabMap.put("trans", "Trans");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.DREAMCAM);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
tabs.add(createTab(title, API_URL + "&tag-categories=" + tab));
|
tabs.add(createTab(title, API_URL + "&tag-categories=" + tab));
|
||||||
|
@ -46,9 +45,4 @@ public class DreamcamTabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(recorder);
|
tab.setRecorder(recorder);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().dreamcamTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.flirt4free;
|
package ctbrec.ui.sites.flirt4free;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.flirt4free.Flirt4Free;
|
import ctbrec.sites.flirt4free.Flirt4Free;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -77,7 +78,7 @@ public class Flirt4FreeConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.FLIRT4FREE);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -86,27 +87,27 @@ public class Flirt4FreeConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Female");
|
||||||
female.setSelected(tabs.contains("female"));
|
female.setSelected(tabs.contains("female"));
|
||||||
female.setOnAction(e -> toggleTab("female", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.FLIRT4FREE, "female", female.isSelected()));
|
||||||
checkboxGrid.add(female, 0, 0);
|
checkboxGrid.add(female, 0, 0);
|
||||||
|
|
||||||
CheckBox newModels = new CheckBox("Girls New");
|
CheckBox newModels = new CheckBox("Girls New");
|
||||||
newModels.setSelected(tabs.contains("hd"));
|
newModels.setSelected(tabs.contains("hd"));
|
||||||
newModels.setOnAction(e -> toggleTab("hd", newModels.isSelected()));
|
newModels.setOnAction(e -> TabUtils.toggleTab(Sites.FLIRT4FREE, "hd", newModels.isSelected()));
|
||||||
checkboxGrid.add(newModels, 1, 0);
|
checkboxGrid.add(newModels, 1, 0);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("male"));
|
male.setSelected(tabs.contains("male"));
|
||||||
male.setOnAction(e -> toggleTab("male", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.FLIRT4FREE, "male", male.isSelected()));
|
||||||
checkboxGrid.add(male, 2, 0);
|
checkboxGrid.add(male, 2, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("couples"));
|
couples.setSelected(tabs.contains("couples"));
|
||||||
couples.setOnAction(e -> toggleTab("couples", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.FLIRT4FREE, "couples", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 0, 1);
|
checkboxGrid.add(couples, 0, 1);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("trans"));
|
trans.setSelected(tabs.contains("trans"));
|
||||||
trans.setOnAction(e -> toggleTab("trans", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.FLIRT4FREE, "trans", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 1, 1);
|
checkboxGrid.add(trans, 1, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 3, 2);
|
layout.add(checkboxGrid, 1, row, 3, 2);
|
||||||
|
@ -128,21 +129,4 @@ public class Flirt4FreeConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.flirt4freeTabs.contains(tab)) {
|
|
||||||
settings.flirt4freeTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.flirt4freeTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().flirt4freeTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package ctbrec.ui.sites.flirt4free;
|
package ctbrec.ui.sites.flirt4free;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.flirt4free.Flirt4Free;
|
import ctbrec.sites.flirt4free.Flirt4Free;
|
||||||
import ctbrec.sites.flirt4free.Flirt4FreeModel;
|
import ctbrec.sites.flirt4free.Flirt4FreeModel;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -32,10 +33,10 @@ public class Flirt4FreeTabProvider extends AbstractTabProvider {
|
||||||
Map<String, String> tabMap = new HashMap<>();
|
Map<String, String> tabMap = new HashMap<>();
|
||||||
tabMap.put("female", "Girls");
|
tabMap.put("female", "Girls");
|
||||||
tabMap.put("new", "New Girls");
|
tabMap.put("new", "New Girls");
|
||||||
tabMap.put("male", "Male");
|
tabMap.put("male", "Guys");
|
||||||
tabMap.put("couples", "Couples");
|
tabMap.put("couples", "Couples");
|
||||||
tabMap.put("trans", "Trans");
|
tabMap.put("trans", "Trans");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.FLIRT4FREE);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
|
@ -74,9 +75,4 @@ public class Flirt4FreeTabProvider extends AbstractTabProvider {
|
||||||
s.setPeriod(Duration.seconds(60));
|
s.setPeriod(Duration.seconds(60));
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().flirt4freeTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.showup;
|
package ctbrec.ui.sites.showup;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.showup.Showup;
|
import ctbrec.sites.showup.Showup;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -78,24 +79,24 @@ public class ShowupConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.SHOWUP);
|
||||||
|
|
||||||
HBox checkboxContainer = new HBox(10);
|
HBox checkboxContainer = new HBox(10);
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Female");
|
||||||
female.setSelected(tabs.contains("female"));
|
female.setSelected(tabs.contains("female"));
|
||||||
female.setOnAction(e -> toggleTab("female", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.SHOWUP, "female", female.isSelected()));
|
||||||
HBox.setMargin(female, new Insets(0, 0, 0, 8));
|
HBox.setMargin(female, new Insets(0, 0, 0, 8));
|
||||||
checkboxContainer.getChildren().add(female);
|
checkboxContainer.getChildren().add(female);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("m"));
|
male.setSelected(tabs.contains("male"));
|
||||||
male.setOnAction(e -> toggleTab("m", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.SHOWUP, "male", male.isSelected()));
|
||||||
checkboxContainer.getChildren().add(male);
|
checkboxContainer.getChildren().add(male);
|
||||||
|
|
||||||
CheckBox all = new CheckBox("All");
|
CheckBox all = new CheckBox("All");
|
||||||
all.setSelected(tabs.contains("all"));
|
all.setSelected(tabs.contains("all"));
|
||||||
all.setOnAction(e -> toggleTab("all", all.isSelected()));
|
all.setOnAction(e -> TabUtils.toggleTab(Sites.SHOWUP, "all", all.isSelected()));
|
||||||
checkboxContainer.getChildren().add(all);
|
checkboxContainer.getChildren().add(all);
|
||||||
|
|
||||||
layout.add(checkboxContainer, 1, row, 3, 1);
|
layout.add(checkboxContainer, 1, row, 3, 1);
|
||||||
|
@ -117,21 +118,4 @@ public class ShowupConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.showupTabs.contains(tab)) {
|
|
||||||
settings.showupTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.showupTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().showupTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ctbrec.ui.sites.showup;
|
package ctbrec.ui.sites.showup;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.showup.Showup;
|
import ctbrec.sites.showup.Showup;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -11,7 +12,6 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
// import java.util.Objects;
|
|
||||||
|
|
||||||
public class ShowupTabProvider extends AbstractTabProvider {
|
public class ShowupTabProvider extends AbstractTabProvider {
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ public class ShowupTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("female", "Women");
|
tabMap.put("female", "Women");
|
||||||
tabMap.put("male", "Men");
|
tabMap.put("male", "Men");
|
||||||
tabMap.put("all", "All");
|
tabMap.put("all", "All");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.SHOWUP);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
tabs.add(createTab(title, tab));
|
tabs.add(createTab(title, tab));
|
||||||
|
@ -50,8 +50,4 @@ public class ShowupTabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(site.getRecorder());
|
tab.setRecorder(site.getRecorder());
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().showupTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.streamate;
|
package ctbrec.ui.sites.streamate;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.streamate.Streamate;
|
import ctbrec.sites.streamate.Streamate;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -16,7 +17,6 @@ import javafx.scene.control.Label;
|
||||||
import javafx.scene.control.PasswordField;
|
import javafx.scene.control.PasswordField;
|
||||||
import javafx.scene.control.TextField;
|
import javafx.scene.control.TextField;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
// import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.layout.Priority;
|
import javafx.scene.layout.Priority;
|
||||||
|
|
||||||
public class StreamateConfigUI extends AbstractConfigUI {
|
public class StreamateConfigUI extends AbstractConfigUI {
|
||||||
|
@ -78,7 +78,7 @@ public class StreamateConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.STREAMATE);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -87,32 +87,32 @@ public class StreamateConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Girls");
|
CheckBox female = new CheckBox("Girls");
|
||||||
female.setSelected(tabs.contains("f,ff"));
|
female.setSelected(tabs.contains("f,ff"));
|
||||||
female.setOnAction(e -> toggleTab("f,ff", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMATE, "f,ff", female.isSelected()));
|
||||||
checkboxGrid.add(female, 0, 0);
|
checkboxGrid.add(female, 0, 0);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Guys");
|
CheckBox male = new CheckBox("Guys");
|
||||||
male.setSelected(tabs.contains("m"));
|
male.setSelected(tabs.contains("m"));
|
||||||
male.setOnAction(e -> toggleTab("m", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMATE, "m", male.isSelected()));
|
||||||
checkboxGrid.add(male, 1, 0);
|
checkboxGrid.add(male, 1, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("mf,mm"));
|
couples.setSelected(tabs.contains("mf,mm"));
|
||||||
couples.setOnAction(e -> toggleTab("mf,mm", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMATE, "mf,mm", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 2, 0);
|
checkboxGrid.add(couples, 2, 0);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("tm2f,tf2m"));
|
trans.setSelected(tabs.contains("tm2f,tf2m"));
|
||||||
trans.setOnAction(e -> toggleTab("tm2f,tf2m", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMATE, "tm2f,tf2m", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 0, 1);
|
checkboxGrid.add(trans, 0, 1);
|
||||||
|
|
||||||
CheckBox newGirls = new CheckBox("Girls New");
|
CheckBox newGirls = new CheckBox("Girls New");
|
||||||
newGirls.setSelected(tabs.contains("fn"));
|
newGirls.setSelected(tabs.contains("fn"));
|
||||||
newGirls.setOnAction(e -> toggleTab("fn", newGirls.isSelected()));
|
newGirls.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMATE, "fn", newGirls.isSelected()));
|
||||||
checkboxGrid.add(newGirls, 1, 1);
|
checkboxGrid.add(newGirls, 1, 1);
|
||||||
|
|
||||||
CheckBox newModels = new CheckBox("New");
|
CheckBox newModels = new CheckBox("New");
|
||||||
newModels.setSelected(tabs.contains("new"));
|
newModels.setSelected(tabs.contains("new"));
|
||||||
newModels.setOnAction(e -> toggleTab("new", newModels.isSelected()));
|
newModels.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMATE, "new", newModels.isSelected()));
|
||||||
checkboxGrid.add(newModels, 2, 1);
|
checkboxGrid.add(newModels, 2, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 3, 2);
|
layout.add(checkboxGrid, 1, row, 3, 2);
|
||||||
|
@ -134,21 +134,4 @@ public class StreamateConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.streamateTabs.contains(tab)) {
|
|
||||||
settings.streamateTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.streamateTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().streamateTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ctbrec.ui.sites.streamate;
|
package ctbrec.ui.sites.streamate;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.streamate.Streamate;
|
import ctbrec.sites.streamate.Streamate;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -31,7 +32,7 @@ public class StreamateTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("tm2f,tf2m", "Trans");
|
tabMap.put("tm2f,tf2m", "Trans");
|
||||||
tabMap.put("fn", "Girls New");
|
tabMap.put("fn", "Girls New");
|
||||||
tabMap.put("new", "New");
|
tabMap.put("new", "New");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.STREAMATE);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
|
@ -70,9 +71,4 @@ public class StreamateTabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(recorder);
|
tab.setRecorder(recorder);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().streamateTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,19 @@
|
||||||
package ctbrec.ui.sites.streamray;
|
package ctbrec.ui.sites.streamray;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.streamray.Streamray;
|
import ctbrec.sites.streamray.Streamray;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
// import javafx.scene.control.ToggleGroup;
|
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.CheckBox;
|
import javafx.scene.control.CheckBox;
|
||||||
// import javafx.scene.control.RadioButton;
|
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
import javafx.scene.layout.GridPane;
|
import javafx.scene.layout.GridPane;
|
||||||
// import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
|
|
||||||
public class StreamrayConfigUI extends AbstractConfigUI {
|
public class StreamrayConfigUI extends AbstractConfigUI {
|
||||||
|
@ -61,24 +59,24 @@ public class StreamrayConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.STREAMRAY);
|
||||||
|
|
||||||
HBox checkboxContainer = new HBox(10);
|
HBox checkboxContainer = new HBox(10);
|
||||||
|
|
||||||
CheckBox female = new CheckBox("Female");
|
CheckBox female = new CheckBox("Female");
|
||||||
female.setSelected(tabs.contains("F"));
|
female.setSelected(tabs.contains("F"));
|
||||||
female.setOnAction(e -> toggleTab("F", female.isSelected()));
|
female.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMRAY, "F", female.isSelected()));
|
||||||
HBox.setMargin(female, new Insets(0, 0, 0, 7));
|
HBox.setMargin(female, new Insets(0, 0, 0, 7));
|
||||||
checkboxContainer.getChildren().add(female);
|
checkboxContainer.getChildren().add(female);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("M"));
|
male.setSelected(tabs.contains("M"));
|
||||||
male.setOnAction(e -> toggleTab("M", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMRAY, "M", male.isSelected()));
|
||||||
checkboxContainer.getChildren().add(male);
|
checkboxContainer.getChildren().add(male);
|
||||||
|
|
||||||
CheckBox all = new CheckBox("Trans");
|
CheckBox all = new CheckBox("Trans");
|
||||||
all.setSelected(tabs.contains("TS"));
|
all.setSelected(tabs.contains("TS"));
|
||||||
all.setOnAction(e -> toggleTab("TS", all.isSelected()));
|
all.setOnAction(e -> TabUtils.toggleTab(Sites.STREAMRAY, "TS", all.isSelected()));
|
||||||
checkboxContainer.getChildren().add(all);
|
checkboxContainer.getChildren().add(all);
|
||||||
|
|
||||||
layout.add(checkboxContainer, 1, row, 4, 1);
|
layout.add(checkboxContainer, 1, row, 4, 1);
|
||||||
|
@ -92,21 +90,4 @@ public class StreamrayConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.streamrayTabs.contains(tab)) {
|
|
||||||
settings.streamrayTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.streamrayTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().streamrayTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package ctbrec.ui.sites.streamray;
|
package ctbrec.ui.sites.streamray;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.streamray.Streamray;
|
import ctbrec.sites.streamray.Streamray;
|
||||||
import ctbrec.sites.streamray.StreamrayModel;
|
import ctbrec.sites.streamray.StreamrayModel;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -32,7 +33,7 @@ public class StreamrayTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("F", "Female");
|
tabMap.put("F", "Female");
|
||||||
tabMap.put("M", "Male");
|
tabMap.put("M", "Male");
|
||||||
tabMap.put("TS", "Trans");
|
tabMap.put("TS", "Trans");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.STREAMRAY);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
tabs.add(createTab(title, m -> Objects.equals(tab, m.getGender())));
|
tabs.add(createTab(title, m -> Objects.equals(tab, m.getGender())));
|
||||||
|
@ -63,8 +64,4 @@ public class StreamrayTabProvider extends AbstractTabProvider {
|
||||||
public Tab getFollowedTab() {
|
public Tab getFollowedTab() {
|
||||||
return followedTab;
|
return followedTab;
|
||||||
}
|
}
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().streamrayTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.stripchat;
|
package ctbrec.ui.sites.stripchat;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.stripchat.Stripchat;
|
import ctbrec.sites.stripchat.Stripchat;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -119,7 +120,7 @@ public class StripchatConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.STRIPCHAT);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -128,23 +129,23 @@ public class StripchatConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox girls = new CheckBox("Girls");
|
CheckBox girls = new CheckBox("Girls");
|
||||||
girls.setSelected(tabs.contains("girls"));
|
girls.setSelected(tabs.contains("girls"));
|
||||||
girls.setOnAction(e -> toggleTab("girls", girls.isSelected()));
|
girls.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "girls", girls.isSelected()));
|
||||||
checkboxGrid.add(girls, 0, 0);
|
checkboxGrid.add(girls, 0, 0);
|
||||||
|
|
||||||
CheckBox girlsNew = new CheckBox("Girls New");
|
CheckBox girlsNew = new CheckBox("Girls New");
|
||||||
girlsNew.setSelected(tabs.contains("autoTagNew"));
|
girlsNew.setSelected(tabs.contains("autoTagNew"));
|
||||||
girlsNew.setOnAction(e -> toggleTab("autoTagNew", girlsNew.isSelected()));
|
girlsNew.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "autoTagNew", girlsNew.isSelected()));
|
||||||
checkboxGrid.add(girlsNew, 1, 0);
|
checkboxGrid.add(girlsNew, 1, 0);
|
||||||
|
|
||||||
CheckBox girlsHD = new CheckBox("Girls HD");
|
CheckBox girlsHD = new CheckBox("Girls HD");
|
||||||
girlsHD.setSelected(tabs.contains("autoTagHd"));
|
girlsHD.setSelected(tabs.contains("autoTagHd"));
|
||||||
girlsHD.setOnAction(e -> toggleTab("autoTagHd", girlsHD.isSelected()));
|
girlsHD.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "autoTagHd", girlsHD.isSelected()));
|
||||||
checkboxGrid.add(girlsHD, 2, 0);
|
checkboxGrid.add(girlsHD, 2, 0);
|
||||||
|
|
||||||
CheckBox girlsVR = new CheckBox("Girls VR");
|
CheckBox girlsVR = new CheckBox("Girls VR");
|
||||||
girlsVR.setSelected(tabs.contains("autoTagVr"));
|
girlsVR.setSelected(tabs.contains("autoTagVr"));
|
||||||
girlsVR.setOnAction(e -> {
|
girlsVR.setOnAction(e -> {
|
||||||
toggleTab("autoTagVr", girlsVR.isSelected());
|
TabUtils.toggleTab(Sites.STRIPCHAT, "autoTagVr", girlsVR.isSelected());
|
||||||
settings.stripchatVR = girlsVR.isSelected();
|
settings.stripchatVR = girlsVR.isSelected();
|
||||||
vr.setSelected(girlsVR.isSelected());
|
vr.setSelected(girlsVR.isSelected());
|
||||||
save();
|
save();
|
||||||
|
@ -153,27 +154,27 @@ public class StripchatConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox mobile = new CheckBox("Mobile");
|
CheckBox mobile = new CheckBox("Mobile");
|
||||||
mobile.setSelected(tabs.contains("mobile"));
|
mobile.setSelected(tabs.contains("mobile"));
|
||||||
mobile.setOnAction(e -> toggleTab("mobile", mobile.isSelected()));
|
mobile.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "mobile", mobile.isSelected()));
|
||||||
checkboxGrid.add(mobile, 4, 0);
|
checkboxGrid.add(mobile, 4, 0);
|
||||||
|
|
||||||
CheckBox pvt = new CheckBox("Private");
|
CheckBox pvt = new CheckBox("Private");
|
||||||
pvt.setSelected(tabs.contains("autoTagSpy"));
|
pvt.setSelected(tabs.contains("autoTagSpy"));
|
||||||
pvt.setOnAction(e -> toggleTab("autoTagSpy", pvt.isSelected()));
|
pvt.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "autoTagSpy", pvt.isSelected()));
|
||||||
checkboxGrid.add(pvt, 0, 1);
|
checkboxGrid.add(pvt, 0, 1);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("couples"));
|
couples.setSelected(tabs.contains("couples"));
|
||||||
couples.setOnAction(e -> toggleTab("couples", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "couples", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 1, 1);
|
checkboxGrid.add(couples, 1, 1);
|
||||||
|
|
||||||
CheckBox boys = new CheckBox("Boys");
|
CheckBox boys = new CheckBox("Boys");
|
||||||
boys.setSelected(tabs.contains("men"));
|
boys.setSelected(tabs.contains("men"));
|
||||||
boys.setOnAction(e -> toggleTab("men", boys.isSelected()));
|
boys.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "men", boys.isSelected()));
|
||||||
checkboxGrid.add(boys, 2, 1);
|
checkboxGrid.add(boys, 2, 1);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("trans"));
|
trans.setSelected(tabs.contains("trans"));
|
||||||
trans.setOnAction(e -> toggleTab("trans", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.STRIPCHAT, "trans", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 3, 1);
|
checkboxGrid.add(trans, 3, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 5, 2);
|
layout.add(checkboxGrid, 1, row, 5, 2);
|
||||||
|
@ -207,21 +208,4 @@ public class StripchatConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.stripchatTabs.contains(tab)) {
|
|
||||||
settings.stripchatTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.stripchatTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().stripchatTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ctbrec.ui.sites.stripchat;
|
package ctbrec.ui.sites.stripchat;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.stripchat.Stripchat;
|
import ctbrec.sites.stripchat.Stripchat;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
@ -12,7 +13,6 @@ import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
// import java.util.Objects;
|
|
||||||
|
|
||||||
public class StripchatTabProvider extends AbstractTabProvider {
|
public class StripchatTabProvider extends AbstractTabProvider {
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ public class StripchatTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("couples", "Couples");
|
tabMap.put("couples", "Couples");
|
||||||
tabMap.put("men", "Boys");
|
tabMap.put("men", "Boys");
|
||||||
tabMap.put("trans", "Trans");
|
tabMap.put("trans", "Trans");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.STRIPCHAT);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
if (tab.contains("auto") || (tab.contains("mobile"))) {
|
if (tab.contains("auto") || (tab.contains("mobile"))) {
|
||||||
|
@ -72,9 +72,4 @@ public class StripchatTabProvider extends AbstractTabProvider {
|
||||||
tab.setImageAspectRatio(9.0 / 16.0);
|
tab.setImageAspectRatio(9.0 / 16.0);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().stripchatTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package ctbrec.ui.sites.xlovecam;
|
package ctbrec.ui.sites.xlovecam;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import ctbrec.Config;
|
import ctbrec.Config;
|
||||||
import ctbrec.sites.xlovecam.XloveCam;
|
import ctbrec.sites.xlovecam.XloveCam;
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.settings.SettingsTab;
|
import ctbrec.ui.settings.SettingsTab;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractConfigUI;
|
import ctbrec.ui.sites.AbstractConfigUI;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
|
@ -77,7 +78,7 @@ public class XloveCamConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
Label tabsLabel = new Label("Tabs");
|
Label tabsLabel = new Label("Tabs");
|
||||||
layout.add(tabsLabel, 0, row);
|
layout.add(tabsLabel, 0, row);
|
||||||
List<String> tabs = getEnabledTabs();
|
List<String> tabs = TabUtils.getEnabledTabs(Sites.XLOVECAM);
|
||||||
|
|
||||||
GridPane checkboxGrid = new GridPane();
|
GridPane checkboxGrid = new GridPane();
|
||||||
checkboxGrid.setHgap(10);
|
checkboxGrid.setHgap(10);
|
||||||
|
@ -86,42 +87,42 @@ public class XloveCamConfigUI extends AbstractConfigUI {
|
||||||
|
|
||||||
CheckBox girls = new CheckBox("Young Women");
|
CheckBox girls = new CheckBox("Young Women");
|
||||||
girls.setSelected(tabs.contains("1"));
|
girls.setSelected(tabs.contains("1"));
|
||||||
girls.setOnAction(e -> toggleTab("1", girls.isSelected()));
|
girls.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "1", girls.isSelected()));
|
||||||
checkboxGrid.add(girls, 0, 0);
|
checkboxGrid.add(girls, 0, 0);
|
||||||
|
|
||||||
CheckBox ladies = new CheckBox("Ladies");
|
CheckBox ladies = new CheckBox("Ladies");
|
||||||
ladies.setSelected(tabs.contains("13"));
|
ladies.setSelected(tabs.contains("13"));
|
||||||
ladies.setOnAction(e -> toggleTab("13", ladies.isSelected()));
|
ladies.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "13", ladies.isSelected()));
|
||||||
checkboxGrid.add(ladies, 1, 0);
|
checkboxGrid.add(ladies, 1, 0);
|
||||||
|
|
||||||
CheckBox mature = new CheckBox("Mature Female");
|
CheckBox mature = new CheckBox("Mature Female");
|
||||||
mature.setSelected(tabs.contains("6"));
|
mature.setSelected(tabs.contains("6"));
|
||||||
mature.setOnAction(e -> toggleTab("6", mature.isSelected()));
|
mature.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "6", mature.isSelected()));
|
||||||
checkboxGrid.add(mature, 2, 0);
|
checkboxGrid.add(mature, 2, 0);
|
||||||
|
|
||||||
CheckBox couples = new CheckBox("Couples");
|
CheckBox couples = new CheckBox("Couples");
|
||||||
couples.setSelected(tabs.contains("2"));
|
couples.setSelected(tabs.contains("2"));
|
||||||
couples.setOnAction(e -> toggleTab("2", couples.isSelected()));
|
couples.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "2", couples.isSelected()));
|
||||||
checkboxGrid.add(couples, 3, 0);
|
checkboxGrid.add(couples, 3, 0);
|
||||||
|
|
||||||
CheckBox lesbian = new CheckBox("Lesbian");
|
CheckBox lesbian = new CheckBox("Lesbian");
|
||||||
lesbian.setSelected(tabs.contains("3"));
|
lesbian.setSelected(tabs.contains("3"));
|
||||||
lesbian.setOnAction(e -> toggleTab("3", lesbian.isSelected()));
|
lesbian.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "3", lesbian.isSelected()));
|
||||||
checkboxGrid.add(lesbian, 0, 1);
|
checkboxGrid.add(lesbian, 0, 1);
|
||||||
|
|
||||||
CheckBox male = new CheckBox("Male");
|
CheckBox male = new CheckBox("Male");
|
||||||
male.setSelected(tabs.contains("7"));
|
male.setSelected(tabs.contains("7"));
|
||||||
male.setOnAction(e -> toggleTab("7", male.isSelected()));
|
male.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "7", male.isSelected()));
|
||||||
checkboxGrid.add(male, 1, 1);
|
checkboxGrid.add(male, 1, 1);
|
||||||
|
|
||||||
CheckBox trans = new CheckBox("Trans");
|
CheckBox trans = new CheckBox("Trans");
|
||||||
trans.setSelected(tabs.contains("5"));
|
trans.setSelected(tabs.contains("5"));
|
||||||
trans.setOnAction(e -> toggleTab("5", trans.isSelected()));
|
trans.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "5", trans.isSelected()));
|
||||||
checkboxGrid.add(trans, 2, 1);
|
checkboxGrid.add(trans, 2, 1);
|
||||||
|
|
||||||
CheckBox all = new CheckBox("All");
|
CheckBox all = new CheckBox("All");
|
||||||
all.setSelected(tabs.contains("all"));
|
all.setSelected(tabs.contains("all"));
|
||||||
all.setOnAction(e -> toggleTab("all", all.isSelected()));
|
all.setOnAction(e -> TabUtils.toggleTab(Sites.XLOVECAM, "all", all.isSelected()));
|
||||||
checkboxGrid.add(all, 3, 1);
|
checkboxGrid.add(all, 3, 1);
|
||||||
|
|
||||||
layout.add(checkboxGrid, 1, row, 4, 2);
|
layout.add(checkboxGrid, 1, row, 4, 2);
|
||||||
|
@ -143,21 +144,4 @@ public class XloveCamConfigUI extends AbstractConfigUI {
|
||||||
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN));
|
||||||
return layout;
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toggleTab(String tab, boolean selected) {
|
|
||||||
var settings = Config.getInstance().getSettings();
|
|
||||||
if (selected) {
|
|
||||||
if (!settings.xlovecamTabs.contains(tab)) {
|
|
||||||
settings.xlovecamTabs.add(tab);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
settings.xlovecamTabs.remove(tab);
|
|
||||||
}
|
|
||||||
save();
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().xlovecamTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
package ctbrec.ui.sites.xlovecam;
|
package ctbrec.ui.sites.xlovecam;
|
||||||
|
|
||||||
import ctbrec.Config;
|
|
||||||
import ctbrec.sites.xlovecam.XloveCam;
|
import ctbrec.sites.xlovecam.XloveCam;
|
||||||
|
import ctbrec.ui.settings.Sites;
|
||||||
|
import ctbrec.ui.settings.TabUtils;
|
||||||
import ctbrec.ui.sites.AbstractTabProvider;
|
import ctbrec.ui.sites.AbstractTabProvider;
|
||||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||||
|
@ -13,7 +14,6 @@ import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
// import java.util.Objects;
|
|
||||||
|
|
||||||
public class XloveCamTabProvider extends AbstractTabProvider {
|
public class XloveCamTabProvider extends AbstractTabProvider {
|
||||||
|
|
||||||
|
@ -31,11 +31,7 @@ public class XloveCamTabProvider extends AbstractTabProvider {
|
||||||
protected List<Tab> getSiteTabs(Scene scene) {
|
protected List<Tab> getSiteTabs(Scene scene) {
|
||||||
List<Tab> tabs = new ArrayList<>();
|
List<Tab> tabs = new ArrayList<>();
|
||||||
|
|
||||||
// all
|
// New ... it's here so as to declare updateService before use
|
||||||
// var updateService = new XloveCamUpdateService(xloveCam, Collections.emptyMap());
|
|
||||||
// tabs.add(createTab("All", updateService));
|
|
||||||
|
|
||||||
// new
|
|
||||||
var updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM_NEW, "3"));
|
var updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM_NEW, "3"));
|
||||||
tabs.add(createTab("New", updateService));
|
tabs.add(createTab("New", updateService));
|
||||||
|
|
||||||
|
@ -48,7 +44,7 @@ public class XloveCamTabProvider extends AbstractTabProvider {
|
||||||
tabMap.put("7", "Male");
|
tabMap.put("7", "Male");
|
||||||
tabMap.put("5", "Trans");
|
tabMap.put("5", "Trans");
|
||||||
tabMap.put("all", "All");
|
tabMap.put("all", "All");
|
||||||
List<String> enabledTabs = getEnabledTabs();
|
List<String> enabledTabs = TabUtils.getEnabledTabs(Sites.XLOVECAM);
|
||||||
for (String tab : enabledTabs) {
|
for (String tab : enabledTabs) {
|
||||||
String title = tabMap.getOrDefault(tab, tab);
|
String title = tabMap.getOrDefault(tab, tab);
|
||||||
switch (tab) {
|
switch (tab) {
|
||||||
|
@ -70,9 +66,4 @@ public class XloveCamTabProvider extends AbstractTabProvider {
|
||||||
tab.setRecorder(recorder);
|
tab.setRecorder(recorder);
|
||||||
return tab;
|
return tab;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<String> getEnabledTabs() {
|
|
||||||
return new ArrayList<>(Config.getInstance().getSettings().xlovecamTabs);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue