Add Recording tabs to the side tabs of each site
This commit is contained in:
parent
2e122fbfd1
commit
5f517682b9
|
@ -0,0 +1,36 @@
|
|||
package ctbrec.ui.sites;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.Site;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.recorded.RecordedModelsPerSiteTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public abstract class AbstractTabProvider implements TabProvider {
|
||||
|
||||
protected Recorder recorder;
|
||||
protected Site site;
|
||||
|
||||
protected AbstractTabProvider(Site site) {
|
||||
this.site = site;
|
||||
this.recorder = site.getRecorder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
var tabs = getSiteTabs(scene);
|
||||
var recordingTab = new RecordedModelsPerSiteTab("Recording", recorder, site);
|
||||
tabs.add(recordingTab);
|
||||
return tabs;
|
||||
}
|
||||
|
||||
protected abstract List<Tab> getSiteTabs(Scene scene);
|
||||
|
||||
@Override
|
||||
public Tab getFollowedTab() {
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -1,61 +1,58 @@
|
|||
package ctbrec.ui.sites.amateurtv;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.amateurtv.AmateurTv;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class AmateurTvTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AmateurTvTabProvider extends AbstractTabProvider {
|
||||
|
||||
|
||||
private AmateurTv amateurTv;
|
||||
private Recorder recorder;
|
||||
private AmateurTvFollowedTab followedTab;
|
||||
|
||||
public AmateurTvTabProvider(AmateurTv amateurTv) {
|
||||
this.amateurTv = amateurTv;
|
||||
this.recorder = amateurTv.getRecorder();
|
||||
super(amateurTv);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
|
||||
// all
|
||||
var url = AmateurTv.baseUrl + "/v3/readmodel/cache/cams/A";
|
||||
var updateService = new AmateurTvUpdateService(amateurTv, url);
|
||||
var updateService = new AmateurTvUpdateService((AmateurTv) site, url);
|
||||
tabs.add(createTab("All", updateService));
|
||||
|
||||
// female
|
||||
url = AmateurTv.baseUrl + "/v3/readmodel/cache/cams/W";
|
||||
updateService = new AmateurTvUpdateService(amateurTv, url);
|
||||
updateService = new AmateurTvUpdateService((AmateurTv) site, url);
|
||||
tabs.add(createTab("Female", updateService));
|
||||
|
||||
// male
|
||||
url = AmateurTv.baseUrl + "/v3/readmodel/cache/cams/M";
|
||||
updateService = new AmateurTvUpdateService(amateurTv, url);
|
||||
updateService = new AmateurTvUpdateService((AmateurTv) site, url);
|
||||
tabs.add(createTab("Male", updateService));
|
||||
|
||||
// couples
|
||||
url = AmateurTv.baseUrl + "/v3/readmodel/cache/cams/C";
|
||||
updateService = new AmateurTvUpdateService(amateurTv, url);
|
||||
updateService = new AmateurTvUpdateService((AmateurTv) site, url);
|
||||
tabs.add(createTab("Couples", updateService));
|
||||
|
||||
// trans
|
||||
url = AmateurTv.baseUrl + "/v3/readmodel/cache/cams/T";
|
||||
updateService = new AmateurTvUpdateService(amateurTv, url);
|
||||
updateService = new AmateurTvUpdateService((AmateurTv) site, url);
|
||||
tabs.add(createTab("Trans", updateService));
|
||||
|
||||
// followed
|
||||
url = AmateurTv.baseUrl + "/v3/readmodel/cache/cams/F";
|
||||
updateService = new AmateurTvUpdateService(amateurTv, url);
|
||||
updateService = new AmateurTvUpdateService((AmateurTv) site, url);
|
||||
updateService.requiresLogin(true);
|
||||
followedTab = new AmateurTvFollowedTab("Followed", updateService, amateurTv);
|
||||
followedTab = new AmateurTvFollowedTab("Followed", updateService, site);
|
||||
followedTab.setRecorder(recorder);
|
||||
tabs.add(followedTab);
|
||||
|
||||
|
@ -63,7 +60,7 @@ public class AmateurTvTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, PaginatedScheduledService updateService) {
|
||||
var tab = new ThumbOverviewTab(title, updateService, amateurTv);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,60 +1,56 @@
|
|||
package ctbrec.ui.sites.bonga;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.bonga.BongaCams;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class BongaCamsTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class BongaCamsTabProvider extends AbstractTabProvider {
|
||||
|
||||
private BongaCams bongaCams;
|
||||
private Recorder recorder;
|
||||
private BongaCamsFriendsTab friendsTab;
|
||||
|
||||
public BongaCamsTabProvider(BongaCams bongaCams) {
|
||||
this.bongaCams = bongaCams;
|
||||
this.recorder = bongaCams.getRecorder();
|
||||
super(bongaCams);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
|
||||
// female
|
||||
String url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=female&online_only=true&is_mobile=true&offset=";
|
||||
var updateService = new BongaCamsUpdateService(bongaCams, url);
|
||||
var updateService = new BongaCamsUpdateService((BongaCams) site, url);
|
||||
tabs.add(createTab("Female", updateService));
|
||||
|
||||
// male
|
||||
url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=male&online_only=true&is_mobile=true&offset=";
|
||||
updateService = new BongaCamsUpdateService(bongaCams, url);
|
||||
updateService = new BongaCamsUpdateService((BongaCams) site, url);
|
||||
tabs.add(createTab("Male", updateService));
|
||||
|
||||
// couples
|
||||
url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=couples&online_only=true&is_mobile=true&offset=";
|
||||
updateService = new BongaCamsUpdateService(bongaCams, url);
|
||||
updateService = new BongaCamsUpdateService((BongaCams) site, url);
|
||||
tabs.add(createTab("Couples", updateService));
|
||||
|
||||
// trans
|
||||
url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=transsexual&online_only=true&is_mobile=true&offset=";
|
||||
updateService = new BongaCamsUpdateService(bongaCams, url);
|
||||
updateService = new BongaCamsUpdateService((BongaCams) site, url);
|
||||
tabs.add(createTab("Transsexual", updateService));
|
||||
|
||||
// new
|
||||
url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=new&online_only=true&is_mobile=true&offset=";
|
||||
updateService = new BongaCamsUpdateService(bongaCams, url);
|
||||
updateService = new BongaCamsUpdateService((BongaCams) site, url);
|
||||
tabs.add(createTab("New", updateService));
|
||||
|
||||
// friends
|
||||
url = BongaCams.baseUrl + "/tools/listing_v3.php?livetab=friends&online_only=true&offset=";
|
||||
updateService = new BongaCamsUpdateService(bongaCams, url, true);
|
||||
friendsTab = new BongaCamsFriendsTab("Friends", updateService, bongaCams);
|
||||
updateService = new BongaCamsUpdateService((BongaCams) site, url, true);
|
||||
friendsTab = new BongaCamsFriendsTab("Friends", updateService, site);
|
||||
friendsTab.setRecorder(recorder);
|
||||
tabs.add(friendsTab);
|
||||
|
||||
|
@ -67,7 +63,7 @@ public class BongaCamsTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, PaginatedScheduledService updateService) {
|
||||
var tab = new ThumbOverviewTab(title, updateService, bongaCams);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,37 +1,33 @@
|
|||
package ctbrec.ui.sites.cam4;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.cam4.Cam4;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class Cam4TabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Cam4TabProvider extends AbstractTabProvider {
|
||||
|
||||
private Cam4 cam4;
|
||||
private Recorder recorder;
|
||||
private Cam4FollowedTab followed;
|
||||
|
||||
public Cam4TabProvider(Cam4 cam4) {
|
||||
this.cam4 = cam4;
|
||||
this.recorder = cam4.getRecorder();
|
||||
super(cam4);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
|
||||
tabs.add(createTab("Female", cam4.getBaseUrl() + "/directoryResults?online=true&gender=female&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("Male", cam4.getBaseUrl() + "/directoryResults?online=true&gender=male&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("Couples", cam4.getBaseUrl() + "/directoryResults?online=true&broadcastType=male_group&broadcastType=female_group&broadcastType=male_female_group&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("HD", cam4.getBaseUrl() + "/directoryResults?online=true&hd=true&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("New", cam4.getBaseUrl() + "/directoryResults?online=true&gender=female&orderBy=MOST_VIEWERS&newPerformer=true"));
|
||||
tabs.add(createTab("Female", site.getBaseUrl() + "/directoryResults?online=true&gender=female&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("Male", site.getBaseUrl() + "/directoryResults?online=true&gender=male&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("Couples", site.getBaseUrl() + "/directoryResults?online=true&broadcastType=male_group&broadcastType=female_group&broadcastType=male_female_group&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("HD", site.getBaseUrl() + "/directoryResults?online=true&hd=true&orderBy=MOST_VIEWERS"));
|
||||
tabs.add(createTab("New", site.getBaseUrl() + "/directoryResults?online=true&gender=female&orderBy=MOST_VIEWERS&newPerformer=true"));
|
||||
|
||||
followed = new Cam4FollowedTab(cam4);
|
||||
followed = new Cam4FollowedTab((Cam4) site);
|
||||
followed.setRecorder(recorder);
|
||||
tabs.add(followed);
|
||||
|
||||
|
@ -44,8 +40,8 @@ public class Cam4TabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String name, String url) {
|
||||
var updateService = new Cam4UpdateService(url, false, cam4);
|
||||
var tab = new ThumbOverviewTab(name, updateService, cam4);
|
||||
var updateService = new Cam4UpdateService(url, false, (Cam4) site);
|
||||
var tab = new ThumbOverviewTab(name, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,35 +1,31 @@
|
|||
package ctbrec.ui.sites.camsoda;
|
||||
|
||||
import static ctbrec.sites.camsoda.Camsoda.*;
|
||||
import ctbrec.sites.camsoda.Camsoda;
|
||||
import ctbrec.sites.camsoda.CamsodaModel;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.camsoda.Camsoda;
|
||||
import ctbrec.sites.camsoda.CamsodaModel;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
import static ctbrec.sites.camsoda.Camsoda.BASE_URI;
|
||||
|
||||
public class CamsodaTabProvider implements TabProvider {
|
||||
public class CamsodaTabProvider extends AbstractTabProvider {
|
||||
|
||||
private static final String API_URL = BASE_URI + "/api/v1/browse/online";
|
||||
private Camsoda camsoda;
|
||||
private Recorder recorder;
|
||||
CamsodaFollowedTab followedTab;
|
||||
|
||||
public CamsodaTabProvider(Camsoda camsoda) {
|
||||
this.camsoda = camsoda;
|
||||
this.recorder = camsoda.getRecorder();
|
||||
super(camsoda);
|
||||
followedTab = new CamsodaFollowedTab("Followed", camsoda);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("All", API_URL, m -> true));
|
||||
tabs.add(createTab("New", API_URL, CamsodaModel::isNew));
|
||||
|
@ -49,8 +45,8 @@ public class CamsodaTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, String url, Predicate<CamsodaModel> filter) {
|
||||
var updateService = new CamsodaUpdateService(url, false, camsoda, filter);
|
||||
var tab = new ThumbOverviewTab(title, updateService, camsoda);
|
||||
var updateService = new CamsodaUpdateService(url, false, (Camsoda) site, filter);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,36 +1,32 @@
|
|||
package ctbrec.ui.sites.chaturbate;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.chaturbate.Chaturbate;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class ChaturbateTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
private Chaturbate chaturbate;
|
||||
private Recorder recorder;
|
||||
private ChaturbateFollowedTab followedTab;
|
||||
public class ChaturbateTabProvider extends AbstractTabProvider {
|
||||
|
||||
private final ChaturbateFollowedTab followedTab;
|
||||
|
||||
public ChaturbateTabProvider(Chaturbate chaturbate) {
|
||||
this.chaturbate = chaturbate;
|
||||
this.recorder = chaturbate.getRecorder();
|
||||
super(chaturbate);
|
||||
this.followedTab = new ChaturbateFollowedTab("Followed", chaturbate.getBaseUrl() + "/followed-cams/", chaturbate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Featured", chaturbate.getBaseUrl() + "/"));
|
||||
tabs.add(createTab("Female", chaturbate.getBaseUrl() + "/female-cams/"));
|
||||
tabs.add(createTab("New Female", chaturbate.getBaseUrl() + "/new-cams/female/"));
|
||||
tabs.add(createTab("Male", chaturbate.getBaseUrl() + "/male-cams/"));
|
||||
tabs.add(createTab("Couples", chaturbate.getBaseUrl() + "/couple-cams/"));
|
||||
tabs.add(createTab("Trans", chaturbate.getBaseUrl() + "/trans-cams/"));
|
||||
tabs.add(createTab("Featured", site.getBaseUrl() + "/"));
|
||||
tabs.add(createTab("Female", site.getBaseUrl() + "/female-cams/"));
|
||||
tabs.add(createTab("New Female", site.getBaseUrl() + "/new-cams/female/"));
|
||||
tabs.add(createTab("Male", site.getBaseUrl() + "/male-cams/"));
|
||||
tabs.add(createTab("Couples", site.getBaseUrl() + "/couple-cams/"));
|
||||
tabs.add(createTab("Trans", site.getBaseUrl() + "/trans-cams/"));
|
||||
followedTab.setScene(scene);
|
||||
followedTab.setRecorder(recorder);
|
||||
followedTab.setImageAspectRatio(9.0 / 16.0);
|
||||
|
@ -44,8 +40,8 @@ public class ChaturbateTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, String url) {
|
||||
var updateService = new ChaturbateUpdateService(url, false, chaturbate);
|
||||
var tab = new ThumbOverviewTab(title, updateService, chaturbate);
|
||||
var updateService = new ChaturbateUpdateService(url, false, (Chaturbate) site);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
tab.setImageAspectRatio(9.0 / 16.0);
|
||||
return tab;
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
package ctbrec.ui.sites.cherrytv;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.cherrytv.CherryTv;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
@ -10,24 +9,21 @@ import javafx.scene.control.Tab;
|
|||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class CherryTvTabProvider implements TabProvider {
|
||||
public class CherryTvTabProvider extends AbstractTabProvider {
|
||||
|
||||
private final CherryTv site;
|
||||
private final Recorder recorder;
|
||||
private final CherryTvFollowedTab followedTab;
|
||||
|
||||
public CherryTvTabProvider(CherryTv cherryTv) {
|
||||
this.site = cherryTv;
|
||||
this.recorder = cherryTv.getRecorder();
|
||||
super(cherryTv);
|
||||
|
||||
followedTab = new CherryTvFollowedTab("Following", site);
|
||||
followedTab = new CherryTvFollowedTab("Following", (CherryTv) site);
|
||||
followedTab.setImageAspectRatio(1);
|
||||
followedTab.preserveAspectRatioProperty().set(false);
|
||||
followedTab.setRecorder(recorder);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Female", site.getBaseUrl() + "/graphql?operationName=findBroadcastsByPage&variables={\"slug\":\"female\",\"tag\":null,\"following\":null,\"limit\":${limit},\"cursor\":${offset}}&extensions={\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"f1e214ca901e525301fcc6966cf081ee95ef777974ec184897c4a2cf15e9ac6f\"}}"));
|
||||
tabs.add(createTab("Trans", site.getBaseUrl() + "/graphql?operationName=findBroadcastsByPage&variables={\"slug\":\"trans\",\"tag\":null,\"following\":null,\"limit\":${limit},\"cursor\":${offset}}&extensions={\"persistedQuery\":{\"version\":1,\"sha256Hash\":\"f1e214ca901e525301fcc6966cf081ee95ef777974ec184897c4a2cf15e9ac6f\"}}"));
|
||||
|
@ -42,7 +38,7 @@ public class CherryTvTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String name, String url) {
|
||||
var updateService = new CherryTvUpdateService(url, site, false);
|
||||
var updateService = new CherryTvUpdateService(url, (CherryTv) site, false);
|
||||
var tab = new ThumbOverviewTab(name, updateService, site);
|
||||
tab.setImageAspectRatio(9.0 / 16.0);
|
||||
tab.preserveAspectRatioProperty().set(false);
|
||||
|
|
|
@ -1,39 +1,38 @@
|
|||
package ctbrec.ui.sites.fc2live;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.sites.fc2live.Fc2Live;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class Fc2TabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class Fc2TabProvider extends AbstractTabProvider {
|
||||
|
||||
private Fc2Live fc2live;
|
||||
private Fc2FollowedTab followed;
|
||||
|
||||
public Fc2TabProvider(Fc2Live fc2live) {
|
||||
this.fc2live = fc2live;
|
||||
super(fc2live);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Online", Fc2Live.BASE_URL + "/adult/contents/allchannellist.php"));
|
||||
|
||||
followed = new Fc2FollowedTab(fc2live);
|
||||
followed.setRecorder(fc2live.getRecorder());
|
||||
followed = new Fc2FollowedTab((Fc2Live) site);
|
||||
followed.setRecorder(site.getRecorder());
|
||||
tabs.add(followed);
|
||||
|
||||
return tabs;
|
||||
}
|
||||
|
||||
private Tab createTab(String title, String url) {
|
||||
var updateService = new Fc2UpdateService(url, fc2live);
|
||||
var tab = new ThumbOverviewTab(title, updateService, fc2live);
|
||||
tab.setRecorder(fc2live.getRecorder());
|
||||
var updateService = new Fc2UpdateService(url, (Fc2Live) site);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(site.getRecorder());
|
||||
return tab;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
package ctbrec.ui.sites.flirt4free;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import ctbrec.sites.flirt4free.Flirt4Free;
|
||||
import ctbrec.sites.flirt4free.Flirt4FreeModel;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
import javafx.util.Duration;
|
||||
|
||||
public class Flirt4FreeTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class Flirt4FreeTabProvider extends AbstractTabProvider {
|
||||
|
||||
private final Flirt4Free flirt4Free;
|
||||
private final ThumbOverviewTab followedTab;
|
||||
|
||||
public Flirt4FreeTabProvider(Flirt4Free flirt4Free) {
|
||||
this.flirt4Free = flirt4Free;
|
||||
super(flirt4Free);
|
||||
followedTab = new Flirt4FreeFavoritesTab(flirt4Free);
|
||||
followedTab.setRecorder(flirt4Free.getRecorder());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Girls", flirt4Free.getBaseUrl() + "/live/girls/", m -> true));
|
||||
tabs.add(createTab("New Girls", flirt4Free.getBaseUrl() + "/live/girls/", Flirt4FreeModel::isNew));
|
||||
tabs.add(createTab("Boys", flirt4Free.getBaseUrl() + "/live/guys/", m -> true));
|
||||
tabs.add(createTab("Couples", flirt4Free.getBaseUrl() + "/live/couples/", m -> m.getCategories().contains("2")));
|
||||
tabs.add(createTab("Trans", flirt4Free.getBaseUrl() + "/live/trans/", m -> true));
|
||||
tabs.add(createTab("Girls", site.getBaseUrl() + "/live/girls/", m -> true));
|
||||
tabs.add(createTab("New Girls", site.getBaseUrl() + "/live/girls/", Flirt4FreeModel::isNew));
|
||||
tabs.add(createTab("Boys", site.getBaseUrl() + "/live/guys/", m -> true));
|
||||
tabs.add(createTab("Couples", site.getBaseUrl() + "/live/couples/", m -> m.getCategories().contains("2")));
|
||||
tabs.add(createTab("Trans", site.getBaseUrl() + "/live/trans/", m -> true));
|
||||
tabs.add(followedTab);
|
||||
return tabs;
|
||||
}
|
||||
|
@ -41,9 +40,9 @@ public class Flirt4FreeTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private ThumbOverviewTab createTab(String title, String url, Predicate<Flirt4FreeModel> filter) {
|
||||
var s = new Flirt4FreeUpdateService(flirt4Free, url, filter);
|
||||
var tab = new ThumbOverviewTab(title, s, flirt4Free);
|
||||
tab.setRecorder(flirt4Free.getRecorder());
|
||||
var s = new Flirt4FreeUpdateService((Flirt4Free) site, url, filter);
|
||||
var tab = new ThumbOverviewTab(title, s, site);
|
||||
tab.setRecorder(site.getRecorder());
|
||||
s.setPeriod(Duration.seconds(60));
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
package ctbrec.ui.sites.jasmin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.sites.jasmin.LiveJasmin;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
import javafx.util.Duration;
|
||||
|
||||
public class LiveJasminTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class LiveJasminTabProvider extends AbstractTabProvider {
|
||||
|
||||
|
||||
private final LiveJasmin liveJasmin;
|
||||
private final LiveJasminFollowedTab followedTab;
|
||||
|
||||
public LiveJasminTabProvider(LiveJasmin liveJasmin) {
|
||||
this.liveJasmin = liveJasmin;
|
||||
super(liveJasmin);
|
||||
followedTab = new LiveJasminFollowedTab(liveJasmin);
|
||||
followedTab.setRecorder(liveJasmin.getRecorder());
|
||||
followedTab.setImageAspectRatio(9.0 / 16.0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Girls", liveJasmin.getBaseUrl() + "/en/girl/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Girls HD", liveJasmin.getBaseUrl() + "/en/girl/hd/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("New Girls", liveJasmin.getBaseUrl() + "/en/girls/newbie/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Couples", liveJasmin.getBaseUrl() + "/en/girls/couple/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Boys", liveJasmin.getBaseUrl() + "/en/boy/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Boys HD", liveJasmin.getBaseUrl() + "/en/boy/hd/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Girls", site.getBaseUrl() + "/en/girl/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Girls HD", site.getBaseUrl() + "/en/girl/hd/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("New Girls", site.getBaseUrl() + "/en/girls/newbie/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Couples", site.getBaseUrl() + "/en/girls/couple/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Boys", site.getBaseUrl() + "/en/boy/?listPageOrderType=most_popular"));
|
||||
tabs.add(createTab("Boys HD", site.getBaseUrl() + "/en/boy/hd/?listPageOrderType=most_popular"));
|
||||
tabs.add(followedTab);
|
||||
return tabs;
|
||||
}
|
||||
|
@ -41,10 +41,10 @@ public class LiveJasminTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private ThumbOverviewTab createTab(String title, String url) {
|
||||
var s = new LiveJasminUpdateService(liveJasmin, url);
|
||||
var s = new LiveJasminUpdateService((LiveJasmin) site, url);
|
||||
s.setPeriod(Duration.seconds(60));
|
||||
ThumbOverviewTab tab = new LiveJasminTab(title, s, liveJasmin);
|
||||
tab.setRecorder(liveJasmin.getRecorder());
|
||||
ThumbOverviewTab tab = new LiveJasminTab(title, s, site);
|
||||
tab.setRecorder(site.getRecorder());
|
||||
tab.setImageAspectRatio(9.0 / 16.0);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,34 +1,31 @@
|
|||
package ctbrec.ui.sites.manyvids;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.sites.manyvids.MVLive;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class MVLiveTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
private MVLive mvlive;
|
||||
public class MVLiveTabProvider extends AbstractTabProvider {
|
||||
|
||||
public MVLiveTabProvider(MVLive mvlive) {
|
||||
this.mvlive = mvlive;
|
||||
|
||||
super(mvlive);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Online"));
|
||||
return tabs;
|
||||
}
|
||||
|
||||
private Tab createTab(String title) {
|
||||
var updateService = new MVLiveUpdateService(mvlive);
|
||||
var tab = new ThumbOverviewTab(title, updateService, mvlive);
|
||||
tab.setRecorder(mvlive.getRecorder());
|
||||
var updateService = new MVLiveUpdateService((MVLive) site);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(site.getRecorder());
|
||||
tab.setImageAspectRatio(1);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,34 +1,31 @@
|
|||
package ctbrec.ui.sites.myfreecams;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.mfc.MyFreeCams;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class MyFreeCamsTabProvider implements TabProvider {
|
||||
private Recorder recorder;
|
||||
private MyFreeCams myFreeCams;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MyFreeCamsTabProvider extends AbstractTabProvider {
|
||||
private MyFreeCamsFriendsTab friends;
|
||||
|
||||
|
||||
public MyFreeCamsTabProvider(MyFreeCams myFreeCams) {
|
||||
this.myFreeCams = myFreeCams;
|
||||
this.recorder = myFreeCams.getRecorder();
|
||||
super(myFreeCams);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
|
||||
PaginatedScheduledService updateService = new OnlineCamsUpdateService();
|
||||
tabs.add(createTab("Online", updateService));
|
||||
|
||||
friends = new MyFreeCamsFriendsTab(myFreeCams);
|
||||
friends = new MyFreeCamsFriendsTab((MyFreeCams) site);
|
||||
friends.setRecorder(recorder);
|
||||
friends.setImageAspectRatio(9.0 / 16.0);
|
||||
friends.preserveAspectRatioProperty().set(false);
|
||||
|
@ -43,13 +40,13 @@ public class MyFreeCamsTabProvider implements TabProvider {
|
|||
updateService = new NewModelService();
|
||||
tabs.add(createTab("New", updateService));
|
||||
|
||||
tabs.add(new MyFreeCamsTableTab(myFreeCams, recorder));
|
||||
tabs.add(new MyFreeCamsTableTab((MyFreeCams) site, recorder));
|
||||
|
||||
return tabs;
|
||||
}
|
||||
|
||||
private ThumbOverviewTab createTab(String title, PaginatedScheduledService updateService) {
|
||||
var tab = new ThumbOverviewTab(title, updateService, myFreeCams);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setImageAspectRatio(9.0 / 16.0);
|
||||
tab.preserveAspectRatioProperty().set(false);
|
||||
tab.setRecorder(recorder);
|
||||
|
|
|
@ -1,55 +1,35 @@
|
|||
package ctbrec.ui.sites.secretfriends;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.secretfriends.SecretFriends;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import ctbrec.ui.tabs.recorded.RecordedModelsPerSiteTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SecretFriendsTabProvider implements TabProvider {
|
||||
|
||||
private final SecretFriends site;
|
||||
private final Recorder recorder;
|
||||
|
||||
// StripchatFollowedTab followedTab;
|
||||
public class SecretFriendsTabProvider extends AbstractTabProvider {
|
||||
|
||||
public SecretFriendsTabProvider(SecretFriends site) {
|
||||
this.site = site;
|
||||
this.recorder = site.getRecorder();
|
||||
//followedTab = new StripchatFollowedTab("Followed", site);
|
||||
super(site);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Girls", SecretFriends.BASE_URI + "/users"));
|
||||
tabs.add(createTab("New", SecretFriends.BASE_URI + "/newgirls"));
|
||||
tabs.add(createTab("Couples", SecretFriends.BASE_URI + "/site/couple"));
|
||||
//tabs.add(createTab("Vibrating Toy", SecretFriends.BASE_URI + "/tag/view?slug=vibrating-toy"));
|
||||
// tabs.add(createTab("Girls HD", site.getBaseUrl() + "/api/front/models?primaryTag=girls&filterGroupTags=%5B%5B%22autoTagHd%22%5D%5D&parentTag=autoTagHd"));
|
||||
// tabs.add(createTab("New Girls", site.getBaseUrl() +"/api/front/models?primaryTag=girls&filterGroupTags=%5B%5B%22autoTagNew%22%5D%5D&parentTag=autoTagNew"));
|
||||
// tabs.add(createTab("Couples", MessageFormat.format(urlTemplate, "couples")));
|
||||
// tabs.add(createTab("Boys", MessageFormat.format(urlTemplate, "men")));
|
||||
// tabs.add(createTab("Trans", MessageFormat.format(urlTemplate, "trans")));
|
||||
// followedTab.setRecorder(recorder);
|
||||
// followedTab.setScene(scene);
|
||||
// followedTab.setImageAspectRatio(9.0 / 16.0);
|
||||
// tabs.add(followedTab);
|
||||
|
||||
var recordingTab = new RecordedModelsPerSiteTab("Recording", recorder, site);
|
||||
tabs.add(recordingTab);
|
||||
return tabs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tab getFollowedTab() {
|
||||
// return followedTab;
|
||||
return null;
|
||||
}
|
||||
|
||||
private Tab createTab(String title, String url) {
|
||||
var updateService = new SecretFriendsUpdateService(url, false, site);
|
||||
var updateService = new SecretFriendsUpdateService(url, false, (SecretFriends) site);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
package ctbrec.ui.sites.showup;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.sites.showup.Showup;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class ShowupTabProvider implements TabProvider {
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
private Showup site;
|
||||
public class ShowupTabProvider extends AbstractTabProvider {
|
||||
|
||||
public ShowupTabProvider(Showup site) {
|
||||
this.site = site;
|
||||
super(site);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Women", "female"));
|
||||
tabs.add(createTab("Men", "male"));
|
||||
tabs.add(createTab("All", "all"));
|
||||
var showupFollowedTab = new ShowupFollowedTab("Favorites", site);
|
||||
var showupFollowedTab = new ShowupFollowedTab("Favorites", (Showup) site);
|
||||
showupFollowedTab.setRecorder(site.getRecorder());
|
||||
tabs.add(showupFollowedTab);
|
||||
return tabs;
|
||||
|
@ -35,7 +33,7 @@ public class ShowupTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, String category) {
|
||||
var updateService = new ShowupUpdateService(site, category);
|
||||
var updateService = new ShowupUpdateService((Showup) site, category);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(site.getRecorder());
|
||||
return tab;
|
||||
|
|
|
@ -1,39 +1,35 @@
|
|||
package ctbrec.ui.sites.streamate;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.streamate.Streamate;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class StreamateTabProvider implements TabProvider {
|
||||
private Streamate streamate;
|
||||
private Recorder recorder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class StreamateTabProvider extends AbstractTabProvider {
|
||||
private ThumbOverviewTab followedTab;
|
||||
|
||||
public StreamateTabProvider(Streamate streamate) {
|
||||
this.streamate = streamate;
|
||||
this.recorder = streamate.getRecorder();
|
||||
super(streamate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Girls", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:f;online:true"));
|
||||
tabs.add(createTab("Guys", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:m;online:true"));
|
||||
tabs.add(createTab("Couples", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:mf;online:true"));
|
||||
tabs.add(createTab("Lesbian", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:ff;online:true"));
|
||||
tabs.add(createTab("Gay", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:mm;online:true"));
|
||||
tabs.add(createTab("Groups", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:g;online:true"));
|
||||
tabs.add(createTab("Trans female", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:tm2f;online:true"));
|
||||
tabs.add(createTab("Trans male", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:tf2m;online:true"));
|
||||
tabs.add(createTab("New", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=new:true;online:true"));
|
||||
tabs.add(createTab("Girls", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:f;online:true"));
|
||||
tabs.add(createTab("Guys", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:m;online:true"));
|
||||
tabs.add(createTab("Couples", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:mf;online:true"));
|
||||
tabs.add(createTab("Lesbian", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:ff;online:true"));
|
||||
tabs.add(createTab("Gay", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:mm;online:true"));
|
||||
tabs.add(createTab("Groups", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:g;online:true"));
|
||||
tabs.add(createTab("Trans female", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:tm2f;online:true"));
|
||||
tabs.add(createTab("Trans male", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=gender:tf2m;online:true"));
|
||||
tabs.add(createTab("New", Streamate.NAIAD_URL + "/performers?domain=streamate.com&boostedFilters=&excludedFilters=&useProductScore=false&filters=new:true;online:true"));
|
||||
|
||||
followedTab = new StreamateFollowedTab(streamate);
|
||||
followedTab = new StreamateFollowedTab((Streamate) site);
|
||||
followedTab.setRecorder(recorder);
|
||||
tabs.add(followedTab);
|
||||
|
||||
|
@ -46,8 +42,8 @@ public class StreamateTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, String url) {
|
||||
var updateService = new StreamateUpdateService(streamate, url);
|
||||
var tab = new ThumbOverviewTab(title, updateService, streamate);
|
||||
var updateService = new StreamateUpdateService((Streamate) site, url);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
}
|
||||
|
|
|
@ -1,38 +1,32 @@
|
|||
package ctbrec.ui.sites.stripchat;
|
||||
|
||||
import ctbrec.sites.stripchat.Stripchat;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
import java.text.MessageFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.stripchat.Stripchat;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
public class StripchatTabProvider implements TabProvider {
|
||||
|
||||
private String urlTemplate;
|
||||
private Stripchat stripchat;
|
||||
private Recorder recorder;
|
||||
|
||||
StripchatFollowedTab followedTab;
|
||||
public class StripchatTabProvider extends AbstractTabProvider {
|
||||
|
||||
private final String urlTemplate;
|
||||
private final StripchatFollowedTab followedTab;
|
||||
|
||||
public StripchatTabProvider(Stripchat stripchat) {
|
||||
this.stripchat = stripchat;
|
||||
this.recorder = stripchat.getRecorder();
|
||||
super(stripchat);
|
||||
followedTab = new StripchatFollowedTab("Followed", stripchat);
|
||||
urlTemplate = stripchat.getBaseUrl() + "/api/front/models?primaryTag={0}&sortBy=viewersRating&withMixedTags=true&parentTag=";
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
tabs.add(createTab("Girls", MessageFormat.format(urlTemplate, "girls")));
|
||||
tabs.add(createTab("Girls HD", stripchat.getBaseUrl() + "/api/front/models?primaryTag=girls&filterGroupTags=%5B%5B%22autoTagHd%22%5D%5D&parentTag=autoTagHd"));
|
||||
tabs.add(createTab("New Girls", stripchat.getBaseUrl() +"/api/front/models?primaryTag=girls&filterGroupTags=%5B%5B%22autoTagNew%22%5D%5D&parentTag=autoTagNew"));
|
||||
tabs.add(createTab("Girls HD", site.getBaseUrl() + "/api/front/models?primaryTag=girls&filterGroupTags=%5B%5B%22autoTagHd%22%5D%5D&parentTag=autoTagHd"));
|
||||
tabs.add(createTab("New Girls", site.getBaseUrl() + "/api/front/models?primaryTag=girls&filterGroupTags=%5B%5B%22autoTagNew%22%5D%5D&parentTag=autoTagNew"));
|
||||
tabs.add(createTab("Couples", MessageFormat.format(urlTemplate, "couples")));
|
||||
tabs.add(createTab("Boys", MessageFormat.format(urlTemplate, "men")));
|
||||
tabs.add(createTab("Trans", MessageFormat.format(urlTemplate, "trans")));
|
||||
|
@ -49,8 +43,8 @@ public class StripchatTabProvider implements TabProvider {
|
|||
}
|
||||
|
||||
private Tab createTab(String title, String url) {
|
||||
var updateService = new StripchatUpdateService(url, false, stripchat);
|
||||
var tab = new ThumbOverviewTab(title, updateService, stripchat);
|
||||
var updateService = new StripchatUpdateService(url, false, (Stripchat) site);
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
tab.setRecorder(recorder);
|
||||
tab.setImageAspectRatio(9.0 / 16.0);
|
||||
return tab;
|
||||
|
|
|
@ -1,74 +1,69 @@
|
|||
package ctbrec.ui.sites.xlovecam;
|
||||
|
||||
import ctbrec.sites.xlovecam.XloveCam;
|
||||
import ctbrec.ui.sites.AbstractTabProvider;
|
||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import ctbrec.recorder.Recorder;
|
||||
import ctbrec.sites.xlovecam.XloveCam;
|
||||
import ctbrec.ui.tabs.PaginatedScheduledService;
|
||||
import ctbrec.ui.tabs.TabProvider;
|
||||
import ctbrec.ui.tabs.ThumbOverviewTab;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Tab;
|
||||
public class XloveCamTabProvider extends AbstractTabProvider {
|
||||
|
||||
public class XloveCamTabProvider implements TabProvider {
|
||||
private final XloveCam xloveCam;
|
||||
|
||||
private XloveCam site;
|
||||
private Recorder recorder;
|
||||
private static final String FILTER_PARAM = "config[filter][10][]";
|
||||
|
||||
public XloveCamTabProvider(XloveCam xloveCam) {
|
||||
this.site = xloveCam;
|
||||
this.recorder = xloveCam.getRecorder();
|
||||
super(xloveCam);
|
||||
this.xloveCam = xloveCam;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Tab> getTabs(Scene scene) {
|
||||
protected List<Tab> getSiteTabs(Scene scene) {
|
||||
List<Tab> tabs = new ArrayList<>();
|
||||
|
||||
// all
|
||||
var updateService = new XloveCamUpdateService(site, Collections.emptyMap());
|
||||
var updateService = new XloveCamUpdateService(xloveCam, Collections.emptyMap());
|
||||
tabs.add(createTab("All", updateService));
|
||||
|
||||
// Young Women
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "1"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "1"));
|
||||
tabs.add(createTab("Young Women", updateService));
|
||||
|
||||
// Ladies
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "13"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "13"));
|
||||
tabs.add(createTab("Ladies", updateService));
|
||||
|
||||
// Mature
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "6"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "6"));
|
||||
tabs.add(createTab("Mature Female", updateService));
|
||||
|
||||
// Couples
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "2"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "2"));
|
||||
tabs.add(createTab("Couples", updateService));
|
||||
|
||||
// Lesbian
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "3"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "3"));
|
||||
tabs.add(createTab("Lesbian", updateService));
|
||||
|
||||
// Male
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "7"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "7"));
|
||||
tabs.add(createTab("Male", updateService));
|
||||
|
||||
// Trans
|
||||
updateService = new XloveCamUpdateService(site, Map.of("config[filter][10][]", "5"));
|
||||
updateService = new XloveCamUpdateService(xloveCam, Map.of(FILTER_PARAM, "5"));
|
||||
tabs.add(createTab("Trans", updateService));
|
||||
|
||||
return tabs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Tab getFollowedTab() {
|
||||
return null;
|
||||
}
|
||||
|
||||
private Tab createTab(String title, PaginatedScheduledService updateService) {
|
||||
var tab = new ThumbOverviewTab(title, updateService, site);
|
||||
var tab = new ThumbOverviewTab(title, updateService, xloveCam);
|
||||
tab.setRecorder(recorder);
|
||||
return tab;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue