use of com.faforever.client.notification.ImmediateNotification in project downlords-faf-client by FAForever.
the class JoinGameHelper method join.
public void join(Game game, String password, boolean ignoreRating) {
Player currentPlayer = playerService.getCurrentPlayer().orElseThrow(() -> new IllegalStateException("Player has not been set"));
int playerRating = RatingUtil.getRoundedGlobalRating(currentPlayer);
if (!preferencesService.isGamePathValid()) {
CompletableFuture<Path> gameDirectoryFuture = new CompletableFuture<>();
eventBus.post(new GameDirectoryChooseEvent(gameDirectoryFuture));
gameDirectoryFuture.thenAccept(path -> Optional.ofNullable(path).ifPresent(path1 -> join(game, password, ignoreRating)));
return;
}
if (!ignoreRating && (playerRating < game.getMinRating() || playerRating > game.getMaxRating())) {
showRatingOutOfBoundsConfirmation(playerRating, game, password);
return;
}
if (game.getPasswordProtected() && password == null) {
EnterPasswordController enterPasswordController = uiService.loadFxml("theme/enter_password.fxml");
enterPasswordController.setOnPasswordEnteredListener(this::join);
enterPasswordController.setGame(game);
enterPasswordController.setIgnoreRating(ignoreRating);
enterPasswordController.showPasswordDialog(StageHolder.getStage());
} else {
gameService.joinGame(game, password).exceptionally(throwable -> {
logger.warn("Game could not be joined", throwable);
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("games.couldNotJoin"), ERROR, throwable, asList(new DismissAction(i18n), new ReportAction(i18n, reportingService, throwable))));
return null;
});
}
}
use of com.faforever.client.notification.ImmediateNotification in project downlords-faf-client by FAForever.
the class ModDetailController method onInstallButtonClicked.
public void onInstallButtonClicked() {
installButton.setVisible(false);
modService.downloadAndInstallMod(modVersion, progressBar.progressProperty(), progressLabel.textProperty()).thenRun(() -> uninstallButton.setVisible(true)).exceptionally(throwable -> {
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("modVault.installationFailed", modVersion.getDisplayName(), throwable.getLocalizedMessage()), Severity.ERROR, throwable, singletonList(new ReportAction(i18n, reportingService, throwable))));
return null;
});
}
use of com.faforever.client.notification.ImmediateNotification in project downlords-faf-client by FAForever.
the class MapDetailController method onInstallButtonClicked.
public void onInstallButtonClicked() {
installButton.setVisible(false);
mapService.downloadAndInstallMap(map, progressBar.progressProperty(), progressLabel.textProperty()).thenRun(() -> setInstalled(true)).exceptionally(throwable -> {
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("mapVault.installationFailed", map.getDisplayName(), throwable.getLocalizedMessage()), Severity.ERROR, throwable, singletonList(new ReportAction(i18n, reportingService, throwable))));
setInstalled(false);
return null;
});
}
use of com.faforever.client.notification.ImmediateNotification in project downlords-faf-client by FAForever.
the class LeaderboardController method onDisplay.
@Override
public void onDisplay(NavigateEvent navigateEvent) {
Assert.checkNullIllegalState(ratingType, "ratingType must not be null");
contentPane.setVisible(false);
leaderboardService.getEntries(ratingType).thenAccept(leaderboardEntryBeans -> {
ratingTable.setItems(observableList(leaderboardEntryBeans));
contentPane.setVisible(true);
}).exceptionally(throwable -> {
contentPane.setVisible(false);
logger.warn("Error while loading leaderboard entries", throwable);
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("leaderboard.failedToLoad"), Severity.ERROR, throwable, Arrays.asList(new ReportAction(i18n, reportingService, throwable), new DismissAction(i18n))));
return null;
});
}
use of com.faforever.client.notification.ImmediateNotification in project downlords-faf-client by FAForever.
the class AbstractChatTabController method sendMessage.
private void sendMessage() {
TextInputControl messageTextField = messageTextField();
messageTextField.setDisable(true);
final String text = messageTextField.getText();
chatService.sendMessageInBackground(receiver, text).thenAccept(message -> {
messageTextField.clear();
messageTextField.setDisable(false);
messageTextField.requestFocus();
}).exceptionally(throwable -> {
logger.warn("Message could not be sent: {}", text, throwable);
notificationService.addNotification(new ImmediateNotification(i18n.get("errorTitle"), i18n.get("chat.sendFailed"), Severity.ERROR, throwable, Arrays.asList(new ReportAction(i18n, reportingService, throwable), new DismissAction(i18n))));
messageTextField.setDisable(false);
messageTextField.requestFocus();
return null;
});
}
Aggregations