From e32fbc1d79069e2eb4a85f905a5aea7b5fc8efd6 Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Wed, 31 Jul 2019 19:28:27 +0200 Subject: [PATCH] Select updates tab when showing preferences window and an update is available --- .../ui/preferences/PreferencesController.java | 29 ++++++++++++++++++- .../src/main/resources/fxml/preferences.fxml | 5 ++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java b/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java index f014d9e0a..67d1d8ae4 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/preferences/PreferencesController.java @@ -1,13 +1,40 @@ package org.cryptomator.ui.preferences; +import javafx.beans.binding.BooleanBinding; +import javafx.fxml.FXML; +import javafx.scene.control.Tab; +import javafx.scene.control.TabPane; +import javafx.stage.Stage; +import javafx.stage.WindowEvent; import org.cryptomator.ui.common.FxController; +import org.cryptomator.ui.fxapp.UpdateChecker; import javax.inject.Inject; @PreferencesScoped public class PreferencesController implements FxController { + private final Stage window; + private final BooleanBinding updateAvailable; + public TabPane tabPane; + public Tab generalTab; + public Tab updatesTab; + @Inject - public PreferencesController() {} + public PreferencesController(@PreferencesWindow Stage window, UpdateChecker updateChecker) { + this.window = window; + this.updateAvailable = updateChecker.latestVersionProperty().isNotNull(); + } + + @FXML + public void initialize() { + window.setOnShowing(this::windowWillAppear); + } + + private void windowWillAppear(WindowEvent windowEvent) { + if (updateAvailable.get()) { + tabPane.getSelectionModel().select(updatesTab); + } + } } diff --git a/main/ui/src/main/resources/fxml/preferences.fxml b/main/ui/src/main/resources/fxml/preferences.fxml index b61658561..78dc2ab74 100644 --- a/main/ui/src/main/resources/fxml/preferences.fxml +++ b/main/ui/src/main/resources/fxml/preferences.fxml @@ -4,17 +4,18 @@ - + - +