diff --git a/client/src/main/java/ctbrec/ui/sites/amateurtv/AmateurTvConfigUI.java b/client/src/main/java/ctbrec/ui/sites/amateurtv/AmateurTvConfigUI.java index e414c531..b4496f88 100644 --- a/client/src/main/java/ctbrec/ui/sites/amateurtv/AmateurTvConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/amateurtv/AmateurTvConfigUI.java @@ -73,26 +73,20 @@ public class AmateurTvConfigUI extends AbstractConfigUI { GridPane.setColumnSpan(password, 2); layout.add(password, 1, row++); - // layout.add(new Label("Bongacams Base URL"), 0, row); - // var baseUrl = new TextField(); - // baseUrl.setText(Config.getInstance().getSettings().bongacamsBaseUrl); - // baseUrl.textProperty().addListener((ob, o, n) -> { - // Config.getInstance().getSettings().bongacamsBaseUrl = baseUrl.getText(); - // save(); - // }); - // GridPane.setFillWidth(baseUrl, true); - // GridPane.setHgrow(baseUrl, Priority.ALWAYS); - // GridPane.setColumnSpan(baseUrl, 2); - // layout.add(baseUrl, 1, row++); - var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(site.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> site.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); - // GridPane.setMargin(baseUrl, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsConfigUI.java b/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsConfigUI.java index 8d240433..9f51d380 100644 --- a/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsConfigUI.java @@ -87,12 +87,19 @@ public class BongaCamsConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(bongaCams.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> bongaCams.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(baseUrl, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsTabProvider.java b/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsTabProvider.java index b03b1068..82ad5f18 100644 --- a/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsTabProvider.java +++ b/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsTabProvider.java @@ -53,7 +53,7 @@ public class BongaCamsTabProvider implements TabProvider { // friends url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=friends&online_only=true&offset="; - updateService = new BongaCamsUpdateService(bongaCams, url); + updateService = new BongaCamsUpdateService(bongaCams, url, true); friendsTab = new BongaCamsFriendsTab("Friends", updateService, bongaCams); friendsTab.setRecorder(recorder); tabs.add(friendsTab); diff --git a/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsUpdateService.java b/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsUpdateService.java index 591d5e01..f749dd88 100644 --- a/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsUpdateService.java +++ b/client/src/main/java/ctbrec/ui/sites/bonga/BongaCamsUpdateService.java @@ -16,6 +16,7 @@ import ctbrec.Config; import ctbrec.Model; import ctbrec.sites.bonga.BongaCams; import ctbrec.sites.bonga.BongaCamsModel; +import ctbrec.ui.SiteUiFactory; import ctbrec.ui.tabs.PaginatedScheduledService; import javafx.concurrent.Task; import okhttp3.Request; @@ -26,10 +27,16 @@ public class BongaCamsUpdateService extends PaginatedScheduledService { private BongaCams bongaCams; private String url; + private boolean requiresLogin; public BongaCamsUpdateService(BongaCams bongaCams, String url) { + this(bongaCams, url, false); + } + + public BongaCamsUpdateService(BongaCams bongaCams, String url, boolean requiresLogin) { this.bongaCams = bongaCams; this.url = url; + this.requiresLogin = requiresLogin; } @Override @@ -37,6 +44,9 @@ public class BongaCamsUpdateService extends PaginatedScheduledService { return new Task>() { @Override public List call() throws IOException { + if (requiresLogin) { + SiteUiFactory.getUi(bongaCams).login(); + } return loadModelList(); } diff --git a/client/src/main/java/ctbrec/ui/sites/cam4/Cam4ConfigUI.java b/client/src/main/java/ctbrec/ui/sites/cam4/Cam4ConfigUI.java index eb3c648f..02dfed60 100644 --- a/client/src/main/java/ctbrec/ui/sites/cam4/Cam4ConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/cam4/Cam4ConfigUI.java @@ -74,11 +74,18 @@ public class Cam4ConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(Cam4.AFFILIATE_LINK)); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> cam4.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaConfigUI.java b/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaConfigUI.java index 564b3492..eea13b4d 100644 --- a/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaConfigUI.java @@ -74,11 +74,18 @@ public class CamsodaConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(camsoda.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> camsoda.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateConfigUi.java b/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateConfigUi.java index 6c07551a..4ceee14a 100644 --- a/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateConfigUi.java +++ b/client/src/main/java/ctbrec/ui/sites/chaturbate/ChaturbateConfigUi.java @@ -106,13 +106,20 @@ public class ChaturbateConfigUi extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(Chaturbate.REGISTRATION_LINK)); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> chaturbate.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(baseUrl, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(requestThrottle, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); username.setPrefWidth(300); diff --git a/client/src/main/java/ctbrec/ui/sites/fc2live/Fc2LiveConfigUI.java b/client/src/main/java/ctbrec/ui/sites/fc2live/Fc2LiveConfigUI.java index 37e127e1..f9dde8b5 100644 --- a/client/src/main/java/ctbrec/ui/sites/fc2live/Fc2LiveConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/fc2live/Fc2LiveConfigUI.java @@ -74,11 +74,18 @@ public class Fc2LiveConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(fc2live.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> fc2live.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/flirt4free/Flirt4FreeConfigUI.java b/client/src/main/java/ctbrec/ui/sites/flirt4free/Flirt4FreeConfigUI.java index 57893118..3d146668 100644 --- a/client/src/main/java/ctbrec/ui/sites/flirt4free/Flirt4FreeConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/flirt4free/Flirt4FreeConfigUI.java @@ -74,11 +74,18 @@ public class Flirt4FreeConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(flirt4free.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> flirt4free.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminConfigUi.java b/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminConfigUi.java index b391516c..a9806412 100644 --- a/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminConfigUi.java +++ b/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminConfigUi.java @@ -86,12 +86,19 @@ public class LiveJasminConfigUi extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(liveJasmin.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> liveJasmin.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(baseUrl, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); username.setPrefWidth(300); diff --git a/client/src/main/java/ctbrec/ui/sites/manyvids/MVLiveConfigUi.java b/client/src/main/java/ctbrec/ui/sites/manyvids/MVLiveConfigUi.java index 047f7fcb..fbbda27a 100644 --- a/client/src/main/java/ctbrec/ui/sites/manyvids/MVLiveConfigUi.java +++ b/client/src/main/java/ctbrec/ui/sites/manyvids/MVLiveConfigUi.java @@ -6,6 +6,7 @@ import ctbrec.ui.settings.SettingsTab; import ctbrec.ui.sites.AbstractConfigUI; import javafx.geometry.Insets; import javafx.scene.Parent; +import javafx.scene.control.Button; import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.layout.GridPane; @@ -35,8 +36,15 @@ public class MVLiveConfigUi extends AbstractConfigUI { } save(); }); + layout.add(enabled, 1, row++); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> site.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(enabled, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); - layout.add(enabled, 1, row); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } } diff --git a/client/src/main/java/ctbrec/ui/sites/myfreecams/MyFreeCamsConfigUI.java b/client/src/main/java/ctbrec/ui/sites/myfreecams/MyFreeCamsConfigUI.java index 13c06a64..fa345062 100644 --- a/client/src/main/java/ctbrec/ui/sites/myfreecams/MyFreeCamsConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/myfreecams/MyFreeCamsConfigUI.java @@ -79,10 +79,6 @@ public class MyFreeCamsConfigUI extends AbstractConfigUI { layout.add(l, 0, row); layout.add(password, 1, row++); - var createAccount = new Button("Create new Account"); - createAccount.setOnAction(e -> DesktopIntegration.open(myFreeCams.getAffiliateLink())); - layout.add(createAccount, 1, row++); - var baseUrl = new TextField(); baseUrl.setText(Config.getInstance().getSettings().mfcBaseUrl); baseUrl.textProperty().addListener((ob, o, n) -> { @@ -95,13 +91,23 @@ public class MyFreeCamsConfigUI extends AbstractConfigUI { l = new Label("MyFreeCams Base URL"); l.labelForProperty().set(baseUrl); layout.add(l, 0, row); - layout.add(baseUrl, 1, row); + layout.add(baseUrl, 1, row++); + var createAccount = new Button("Create new Account"); + createAccount.setOnAction(e -> DesktopIntegration.open(myFreeCams.getAffiliateLink())); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> myFreeCams.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(baseUrl, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/showup/ShowupConfigUI.java b/client/src/main/java/ctbrec/ui/sites/showup/ShowupConfigUI.java index 1198bd7a..905568eb 100644 --- a/client/src/main/java/ctbrec/ui/sites/showup/ShowupConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/showup/ShowupConfigUI.java @@ -74,11 +74,18 @@ public class ShowupConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(site.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> site.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateConfigUI.java b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateConfigUI.java index 7b0a33d7..5de1c327 100644 --- a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateConfigUI.java @@ -74,11 +74,18 @@ public class StreamateConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(streamate.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> streamate.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } 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 c6189adf..2d2100df 100644 --- a/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/stripchat/StripchatConfigUI.java @@ -97,11 +97,18 @@ public class StripchatConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(stripchat.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> stripchat.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java b/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java index e78c7134..b52d460c 100644 --- a/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java +++ b/client/src/main/java/ctbrec/ui/sites/xlovecam/XloveCamConfigUI.java @@ -74,11 +74,18 @@ public class XloveCamConfigUI extends AbstractConfigUI { var createAccount = new Button("Create new Account"); createAccount.setOnAction(e -> DesktopIntegration.open(site.getAffiliateLink())); - layout.add(createAccount, 1, row); + layout.add(createAccount, 1, row++); GridPane.setColumnSpan(createAccount, 2); + + var deleteCookies = new Button("Delete Cookies"); + deleteCookies.setOnAction(e -> site.getHttpClient().clearCookies()); + layout.add(deleteCookies, 1, row); + GridPane.setColumnSpan(deleteCookies, 2); + GridPane.setMargin(username, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(password, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); GridPane.setMargin(createAccount, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); + GridPane.setMargin(deleteCookies, new Insets(0, 0, 0, SettingsTab.CHECKBOX_MARGIN)); return layout; } diff --git a/common/src/main/java/ctbrec/io/HttpClient.java b/common/src/main/java/ctbrec/io/HttpClient.java index fd1be699..332469a8 100644 --- a/common/src/main/java/ctbrec/io/HttpClient.java +++ b/common/src/main/java/ctbrec/io/HttpClient.java @@ -338,4 +338,8 @@ public abstract class HttpClient { return response.body().string(); } } + + public void clearCookies() { + logout(); + } }