Remove dialog on scheduled service error because it locks up the tab
somehow
This commit is contained in:
parent
78f7f7a841
commit
e0f3d26ea1
|
@ -76,6 +76,7 @@ import ctbrec.ui.tabs.recorded.RecordedTab;
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.application.HostServices;
|
import javafx.application.HostServices;
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
|
import javafx.beans.value.ObservableValue;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.Alert;
|
import javafx.scene.control.Alert;
|
||||||
|
@ -290,14 +291,7 @@ public class CamrecApplication extends Application {
|
||||||
setWindowMinimizeListener(primaryStage);
|
setWindowMinimizeListener(primaryStage);
|
||||||
|
|
||||||
// register changelistener to activate / deactivate tabs, when the user switches between them
|
// register changelistener to activate / deactivate tabs, when the user switches between them
|
||||||
tabPane.getSelectionModel().selectedItemProperty().addListener((ov, from, to) -> {
|
tabPane.getSelectionModel().selectedItemProperty().addListener(this::tabChanged);
|
||||||
if (from instanceof TabSelectionListener) {
|
|
||||||
((TabSelectionListener) from).deselected();
|
|
||||||
}
|
|
||||||
if (to instanceof TabSelectionListener) {
|
|
||||||
((TabSelectionListener) to).selected();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
statusBar.getChildren().add(statusLabel);
|
statusBar.getChildren().add(statusLabel);
|
||||||
HBox.setMargin(statusLabel, new Insets(10, 10, 10, 10));
|
HBox.setMargin(statusLabel, new Insets(10, 10, 10, 10));
|
||||||
|
@ -315,6 +309,19 @@ public class CamrecApplication extends Application {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void tabChanged(ObservableValue<?> ov, Tab from, Tab to) {
|
||||||
|
try {
|
||||||
|
if (from instanceof TabSelectionListener) {
|
||||||
|
((TabSelectionListener) from).deselected();
|
||||||
|
}
|
||||||
|
if (to instanceof TabSelectionListener) {
|
||||||
|
((TabSelectionListener) to).selected();
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.error("Error switching tabs", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void suspendTabUpdates() {
|
private void suspendTabUpdates() {
|
||||||
tabPane.getTabs().stream()
|
tabPane.getTabs().stream()
|
||||||
.filter(TabSelectionListener.class::isInstance)
|
.filter(TabSelectionListener.class::isInstance)
|
||||||
|
|
|
@ -29,7 +29,6 @@ import ctbrec.recorder.Recorder;
|
||||||
import ctbrec.sites.Site;
|
import ctbrec.sites.Site;
|
||||||
import ctbrec.sites.mfc.MyFreeCamsClient;
|
import ctbrec.sites.mfc.MyFreeCamsClient;
|
||||||
import ctbrec.sites.mfc.MyFreeCamsModel;
|
import ctbrec.sites.mfc.MyFreeCamsModel;
|
||||||
import ctbrec.ui.AutosizeAlert;
|
|
||||||
import ctbrec.ui.DesktopIntegration;
|
import ctbrec.ui.DesktopIntegration;
|
||||||
import ctbrec.ui.SiteUiFactory;
|
import ctbrec.ui.SiteUiFactory;
|
||||||
import ctbrec.ui.TokenLabel;
|
import ctbrec.ui.TokenLabel;
|
||||||
|
@ -61,7 +60,6 @@ import javafx.geometry.Pos;
|
||||||
import javafx.scene.Cursor;
|
import javafx.scene.Cursor;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.Parent;
|
import javafx.scene.Parent;
|
||||||
import javafx.scene.control.Alert;
|
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ComboBox;
|
import javafx.scene.control.ComboBox;
|
||||||
import javafx.scene.control.ContextMenu;
|
import javafx.scene.control.ContextMenu;
|
||||||
|
@ -471,8 +469,10 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
|
||||||
var selectedModels = getSelectedThumbCells(cell).stream().map(ThumbCell::getModel).collect(Collectors.toList());
|
var selectedModels = getSelectedThumbCells(cell).stream().map(ThumbCell::getModel).collect(Collectors.toList());
|
||||||
ModelMenuContributor.newContributor(getTabPane(), Config.getInstance(), recorder)
|
ModelMenuContributor.newContributor(getTabPane(), Config.getInstance(), recorder)
|
||||||
.withStartStopCallback(m -> {
|
.withStartStopCallback(m -> {
|
||||||
getTabPane().setCursor(Cursor.DEFAULT);
|
Platform.runLater(() -> {
|
||||||
getThumbCell(m).ifPresent(ThumbCell::update);
|
getTabPane().setCursor(Cursor.DEFAULT);
|
||||||
|
getThumbCell(m).ifPresent(ThumbCell::update);
|
||||||
|
});
|
||||||
})
|
})
|
||||||
.withFollowCallback( (mdl, fllw, success) -> {
|
.withFollowCallback( (mdl, fllw, success) -> {
|
||||||
if (Boolean.TRUE.equals(fllw) && Boolean.TRUE.equals(success)) {
|
if (Boolean.TRUE.equals(fllw) && Boolean.TRUE.equals(success)) {
|
||||||
|
@ -623,24 +623,15 @@ public class ThumbOverviewTab extends Tab implements TabSelectionListener {
|
||||||
};
|
};
|
||||||
|
|
||||||
protected void onFail(WorkerStateEvent event) {
|
protected void onFail(WorkerStateEvent event) {
|
||||||
if (updatesSuspended) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Alert alert = new AutosizeAlert(Alert.AlertType.ERROR, getTabPane().getScene());
|
|
||||||
alert.setTitle("Error");
|
|
||||||
alert.setHeaderText("Couldn't fetch model list");
|
|
||||||
if (event.getSource().getException() != null) {
|
if (event.getSource().getException() != null) {
|
||||||
if (event.getSource().getException() instanceof SocketTimeoutException) {
|
if (event.getSource().getException() instanceof SocketTimeoutException) {
|
||||||
LOG.debug("Fetching model list timed out");
|
LOG.debug("Fetching model list timed out");
|
||||||
return;
|
|
||||||
} else {
|
} else {
|
||||||
alert.setContentText(event.getSource().getException().getLocalizedMessage());
|
LOG.error("Couldn't update model list", event.getSource().getException());
|
||||||
}
|
}
|
||||||
LOG.error("Couldn't update model list", event.getSource().getException());
|
|
||||||
} else {
|
} else {
|
||||||
alert.setContentText(event.getEventType().toString());
|
LOG.error("Couldn't update model list {}", event.getEventType());
|
||||||
}
|
}
|
||||||
alert.showAndWait();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void filter() {
|
void filter() {
|
||||||
|
|
Loading…
Reference in New Issue