87 lines
2.6 KiB
Java
87 lines
2.6 KiB
Java
package ctbrec.ui.sites.jasmin;
|
|
|
|
import java.io.IOException;
|
|
|
|
import ctbrec.Config;
|
|
import ctbrec.sites.Site;
|
|
import ctbrec.ui.PaginatedScheduledService;
|
|
import ctbrec.ui.ThumbOverviewTab;
|
|
import javafx.concurrent.WorkerStateEvent;
|
|
import javafx.scene.Scene;
|
|
import javafx.scene.control.Button;
|
|
import javafx.scene.control.Label;
|
|
import javafx.scene.input.KeyCode;
|
|
import javafx.scene.input.KeyEvent;
|
|
|
|
public class LiveJasminTab extends ThumbOverviewTab {
|
|
protected Label status;
|
|
protected Button acknowledge = new Button("That's alright");
|
|
private boolean betaAcknowledged = Config.getInstance().getSettings().livejasminBetaAcknowledged;
|
|
|
|
public LiveJasminTab(String title, PaginatedScheduledService updateService, Site site) {
|
|
super(title, updateService, site);
|
|
if(!betaAcknowledged) {
|
|
status = new Label("LiveJasmin is not fully functional. Live previews do not work.");
|
|
grid.getChildren().add(status);
|
|
grid.getChildren().add(acknowledge);
|
|
} else {
|
|
status = new Label("Loading...");
|
|
grid.getChildren().add(status);
|
|
}
|
|
|
|
acknowledge.setOnAction(e -> {
|
|
betaAcknowledged = true;
|
|
Config.getInstance().getSettings().livejasminBetaAcknowledged = true;
|
|
try {
|
|
Config.getInstance().save();
|
|
} catch (IOException e1) {
|
|
}
|
|
status.setText("Loading...");
|
|
grid.getChildren().remove(acknowledge);
|
|
if(updateService != null) {
|
|
updateService.cancel();
|
|
updateService.reset();
|
|
updateService.restart();
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override
|
|
protected void createGui() {
|
|
super.createGui();
|
|
}
|
|
|
|
@Override
|
|
protected void onSuccess() {
|
|
if(Config.getInstance().getSettings().livejasminBetaAcknowledged) {
|
|
grid.getChildren().remove(status);
|
|
grid.getChildren().remove(acknowledge);
|
|
super.onSuccess();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
protected void onFail(WorkerStateEvent event) {
|
|
if(Config.getInstance().getSettings().livejasminBetaAcknowledged) {
|
|
status.setText("Error");
|
|
grid.getChildren().remove(acknowledge);
|
|
super.onFail(event);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void selected() {
|
|
super.selected();
|
|
}
|
|
|
|
public void setScene(Scene scene) {
|
|
scene.addEventFilter(KeyEvent.KEY_PRESSED, event -> {
|
|
if(this.isSelected()) {
|
|
if(event.getCode() == KeyCode.DELETE) {
|
|
follow(selectedThumbCells, false);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|