Added more search options

This commit is contained in:
Jafea7 2025-05-14 22:39:07 +10:00
parent bdd1f04fb2
commit 09462b0301
1 changed files with 55 additions and 11 deletions

View File

@ -13,6 +13,7 @@ import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Node;
import javafx.scene.control.ContextMenu;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuItem;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.control.TabPane;
@ -109,8 +110,17 @@ public class ModelMenuContributor {
addOpenRecDir(menu, selectedModels);
addNotes(menu, selectedModels);
addPortrait(menu, selectedModels);
addOpenOnCamGirlFinder(menu, selectedModels);
addOpenOnNrToolFinder(menu, selectedModels);
menu.getItems().add(new SeparatorMenuItem());
// Create a submenu for the "Open On" options
Menu openOnSubMenu = new Menu("Search On ...");
addOpenOnCamGirlFinder(openOnSubMenu, selectedModels); // https://camgirlfinder.net/models?m=everlenn
addOpenOnCamWhores(openOnSubMenu, selectedModels); // https://www.camwhores.tv/search/everlenn/
addOpenOnMyCamGirl(openOnSubMenu, selectedModels); // https://mycamgirl.net/search?query=everlenn
addOpenOnNrToolFinder(openOnSubMenu, selectedModels); // https://nrtool.to/nrtool/search?s=everlenn
addOpenOnRecu(openOnSubMenu, selectedModels); // https://recu.me/performer/everlenn
// Add the submenu to the main menu
menu.getItems().add(openOnSubMenu);
}
public ModelMenuContributor afterwards(Runnable callback) {
@ -152,10 +162,8 @@ public class ModelMenuContributor {
menu.getItems().add(openInBrowser);
}
// CB (old): https://roomimg.stream.highwebmedia.com/ri/emiilycampbell.jpg?1745301588
// CB (new): https://thumb.live.mmcdn.com/ri/emiilycampbell.jpg
private void addOpenOnCamGirlFinder(ContextMenu menu, List<Model> selectedModels) {
var openOnCamGirlFinder = new MenuItem("Search on CamGirlFinder");
private void addOpenOnCamGirlFinder(Menu menu, List<Model> selectedModels) {
var openOnCamGirlFinder = new MenuItem("CamGirlFinder");
openOnCamGirlFinder.setOnAction(e -> {
for (Model model : selectedModels) {
String preview = model.getPreview();
@ -171,15 +179,40 @@ public class ModelMenuContributor {
menu.getItems().add(openOnCamGirlFinder);
}
private void addOpenOnNrToolFinder(ContextMenu menu, List<Model> selectedModels) {
var openOnNrToolFinder = new MenuItem("Search on NRTool");
private void addOpenOnCamWhores(Menu menu, List<Model> selectedModels) {
var openOnCamWhores = new MenuItem("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(Menu menu, List<Model> selectedModels) {
var openOnMyCamGirl = new MenuItem("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(Menu menu, List<Model> selectedModels) {
var openOnNrToolFinder = new MenuItem("NR Tool");
openOnNrToolFinder.setOnAction(e -> {
for (Model model : selectedModels) {
// String preview = model.getPreview(); // Uncomment when NRTool has an image URL API
String preview = null;
String preview = model.getPreview();
// Remove following line whenever NR Tool can accept image URLs
preview = null;
if (preview != null && !preview.isEmpty()) {
String query = URLEncoder.encode(preview, UTF_8);
DesktopIntegration.open("https://nrtool.to/nrtool/search?s=" + query); // Adjust whenever URL API implemented
// Adjust whenever URL API implemented
DesktopIntegration.open("https://nrtool.to/nrtool/search?s=" + query);
} else {
String query = URLEncoder.encode(model.getName(), UTF_8);
DesktopIntegration.open("https://nrtool.to/nrtool/search?s=" + query);
@ -189,6 +222,17 @@ public class ModelMenuContributor {
menu.getItems().add(openOnNrToolFinder);
}
private void addOpenOnRecu(Menu menu, List<Model> selectedModels) {
var openOnRecu = new MenuItem("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<Model> selectedModels) {
if (selectedModels == null || selectedModels.isEmpty()) {
return;