From 065c712a91a24e4892dac4b0490cf0db8845dd9a Mon Sep 17 00:00:00 2001 From: jafea7 Date: Tue, 13 May 2025 16:47:57 +1000 Subject: [PATCH] Add extra search sites --- .../ctbrec/ui/menu/ModelMenuContributor.java | 42 ++++++++++++++++++- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/client/src/main/java/ctbrec/ui/menu/ModelMenuContributor.java b/client/src/main/java/ctbrec/ui/menu/ModelMenuContributor.java index 18d89d60..4d832551 100644 --- a/client/src/main/java/ctbrec/ui/menu/ModelMenuContributor.java +++ b/client/src/main/java/ctbrec/ui/menu/ModelMenuContributor.java @@ -108,8 +108,13 @@ public class ModelMenuContributor { addOpenRecDir(menu, selectedModels); addNotes(menu, selectedModels); addPortrait(menu, selectedModels); - addOpenOnCamGirlFinder(menu, selectedModels); - addOpenOnNrToolFinder(menu, selectedModels); + menu.getItems().add(new SeparatorMenuItem()); + + addOpenOnCamGirlFinder(menu, selectedModels); // https://camgirlfinder.net/models?m=everlenn + addOpenOnCamWhores(menu, selectedModels); // https://www.camwhores.tv/search/everlenn/ + addOpenOnMyCamGirl(menu, selectedModels); // https://mycamgirl.net/search?query=everlenn + addOpenOnNrToolFinder(menu, selectedModels); // https://nrtool.to/nrtool/search?s=everlenn + addOpenOnRecu(menu, selectedModels); // https://recu.me/performer/everlenn } public ModelMenuContributor afterwards(Runnable callback) { @@ -168,6 +173,28 @@ public class ModelMenuContributor { menu.getItems().add(openOnCamGirlFinder); } + private void addOpenOnCamWhores(ContextMenu menu, List selectedModels) { + var openOnCamWhores = new MenuItem("Search on CamWhores"); + openOnCamWhores.setOnAction(e -> { + for (Model model : selectedModels) { + String query = URLEncoder.encode(model.getName(), UTF_8); + DesktopIntegration.open("https://www.camwhores.tv/search/" + query); + } + }); + menu.getItems().add(openOnCamWhores); + } + + private void addOpenOnMyCamGirl(ContextMenu menu, List selectedModels) { + var openOnMyCamGirl = new MenuItem("Search on MyCamGirl"); + openOnMyCamGirl.setOnAction(e -> { + for (Model model : selectedModels) { + String query = URLEncoder.encode(model.getName(), UTF_8); + DesktopIntegration.open("https://mycamgirl.net/search?query=" + query); + } + }); + menu.getItems().add(openOnMyCamGirl); + } + @SuppressWarnings("unused") // Remove when NR Tool accepts image URL and below is updated private void addOpenOnNrToolFinder(ContextMenu menu, List selectedModels) { var openOnNrToolFinder = new MenuItem("Search on NRTool"); @@ -189,6 +216,17 @@ public class ModelMenuContributor { menu.getItems().add(openOnNrToolFinder); } + private void addOpenOnRecu(ContextMenu menu, List selectedModels) { + var openOnRecu = new MenuItem("Search on Recu"); + openOnRecu.setOnAction(e -> { + for (Model model : selectedModels) { + String query = URLEncoder.encode(model.getName(), UTF_8); + DesktopIntegration.open("https://recu.me/performer/" + query); + } + }); + menu.getItems().add(openOnRecu); + } + private void addCopyUrl(ContextMenu menu, List selectedModels) { if (selectedModels == null || selectedModels.isEmpty()) { return;