diff --git a/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties b/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties index 4bbc47bd9cea3e2ac60df093b8b2766fd8265441..ddbb0286d0c45be64a1a3dcacf60dc4f2f62810b 100644 --- a/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties +++ b/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties @@ -209,7 +209,10 @@ CartAction.Mode.PLAY_HOLD=Play/Hold #UI - Dialog -AutoUpdate UI.Dialog.AutoUpdate.Header=Updates UI.Dialog.AutoUpdate.Content=Es sind Updates verf�gbar. M�chten Sie diese jetzt installieren?\n{} +UI.Dialog.AutoUpdate.Title=Updates UI.Dialog.AutoUpdate.Checkbox=Dieses Update nicht mehr anzeigen. +UI.Dialog.AutoUpdate.Butto.Update=Jetzt updaten +UI.Dialog.AutoUpdate.Butto.Cancel=Jetzt nicht updaten # Update Channel - BaseName UpdateChannel.STABLE=Stabil @@ -220,6 +223,7 @@ Error.Layout.Load=Es gab einen Fehler beim Laden des Layouts ({}) # UI - Dialog - Update UI.Dialog.Update.Cell={}: Installiert: {} - Neu: {} +UI.Dialog.Update.Info=Die Aktualisierung wird vorbereitet. Bitte schlie�en Sie nicht das Programm. \nDieser Vorgang kann wenige Minuten dauern. UI.Window.Settings.Updates.CurrentVersion={} (Build {}) # Error - Update - Downlaod diff --git a/PlayWall/src/de/tobias/playpad/PlayPadMain.java b/PlayWall/src/de/tobias/playpad/PlayPadMain.java index 15a3e87b9eca7426a5cf81087f1d7320e118e360..c50689e3788acc5fb616579e1865acbe913bb876 100644 --- a/PlayWall/src/de/tobias/playpad/PlayPadMain.java +++ b/PlayWall/src/de/tobias/playpad/PlayPadMain.java @@ -34,6 +34,7 @@ import javafx.application.Platform; import javafx.scene.control.ButtonType; import javafx.scene.image.Image; import javafx.stage.Stage; +import javafx.stage.Window; /* * TODOS @@ -161,17 +162,18 @@ public class PlayPadMain extends Application implements LocalizationDelegate { } } + // Zeigt Launch Stage ViewController.create(LaunchDialog.class, stage); // Check Updates - checkUpdates(impl.globalSettings); + checkUpdates(impl.globalSettings, stage); } catch (Exception e) { e.printStackTrace(); } } - private void checkUpdates(GlobalSettings globalSettings) { + private void checkUpdates(GlobalSettings globalSettings, Window owner) { if (globalSettings.isAutoUpdate() && !globalSettings.isIgnoreUpdate()) { Worker.runLater(() -> { @@ -179,7 +181,7 @@ public class PlayPadMain extends Application implements LocalizationDelegate { if (!UpdateRegistery.getAvailableUpdates().isEmpty()) { Platform.runLater(() -> { - AutoUpdateDialog autoUpdateDialog = new AutoUpdateDialog(); + AutoUpdateDialog autoUpdateDialog = new AutoUpdateDialog(owner); autoUpdateDialog.showAndWait().filter(item -> item == ButtonType.OK).ifPresent(result -> { try { diff --git a/PlayWall/src/de/tobias/playpad/Strings.java b/PlayWall/src/de/tobias/playpad/Strings.java index 3045027b384f4b6d74878d2f9664729b1737c214..f74fa5674aece104c8cd025d208372b9fe745e06 100644 --- a/PlayWall/src/de/tobias/playpad/Strings.java +++ b/PlayWall/src/de/tobias/playpad/Strings.java @@ -200,6 +200,9 @@ public class Strings { public static final String UI_Dialog_AutoUpdate_Header = "UI.Dialog.AutoUpdate.Header"; public static final String UI_Dialog_AutoUpdate_Content = "UI.Dialog.AutoUpdate.Content"; public static final String UI_Dialog_AutoUpdate_Checkbox = "UI.Dialog.AutoUpdate.Checkbox"; + public static final String UI_Dialog_AutoUpdate_Title= "UI.Dialog.AutoUpdate.Title"; + public static final String UI_Dialog_AutoUpdate_Butto_Update = "UI.Dialog.AutoUpdate.Butto.Update"; + public static final String UI_Dialog_AutoUpdate_Butto_Cancel = "UI.Dialog.AutoUpdate.Butto.Cancel"; // Update Channel - Basename public static final String Update_Channel_BaseName = "UpdateChannel."; @@ -209,6 +212,7 @@ public class Strings { // UI - Dialog - Update public static final String UI_Dialog_Update_Cell = "UI.Dialog.Update.Cell"; + public static final String UI_Dialog_Update_Info = "UI.Dialog.Update.Info"; public static final String UI_Window_Settings_Updates_CurrentVersion = "UI.Window.Settings.Updates.CurrentVersion"; // Error - Update - Downlaod @@ -229,13 +233,13 @@ public class Strings { // Drag and Drop Mode public static final String DnDMode_Move = "DnDMode.Move"; public static final String DnDMode_Replace = "DnDMode.Replace"; - + // Main Layout public static final String MainLayout_Desktop = "MainLayout.Desktop"; public static final String MainLayout_Touch = "MainLayout.Touch"; - + // Search - public static final String Search_Button="Search.Button"; - public static final String Search_Placeholder="Search.Placeholder"; - public static final String Search_Alert_NoMatches = "Search.Alert.NoMatches"; + public static final String Search_Button = "Search.Button"; + public static final String Search_Placeholder = "Search.Placeholder"; + public static final String Search_Alert_NoMatches = "Search.Alert.NoMatches"; } diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java index c75b6d94c469b8ba20ece680c1efbacd137da8c5..03a49ae5b494cdf047f7b7c0534646224931efa3 100644 --- a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java +++ b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/AutoUpdateDialog.java @@ -2,21 +2,26 @@ package de.tobias.playpad.viewcontroller.dialog; import java.util.List; +import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.Strings; import de.tobias.playpad.update.Updatable; import de.tobias.playpad.update.UpdateRegistery; import de.tobias.utils.util.Localization; +import javafx.scene.control.ButtonBar.ButtonData; import javafx.scene.control.ButtonType; import javafx.scene.control.CheckBox; import javafx.scene.control.Dialog; import javafx.scene.control.Label; import javafx.scene.layout.VBox; +import javafx.stage.Modality; +import javafx.stage.Stage; +import javafx.stage.Window; public class AutoUpdateDialog extends Dialog<ButtonType> { private CheckBox checkBox; - public AutoUpdateDialog() { + public AutoUpdateDialog(Window owner) { List<Updatable> updates = UpdateRegistery.getAvailableUpdates(); StringBuilder builder = new StringBuilder(); @@ -33,8 +38,17 @@ public class AutoUpdateDialog extends Dialog<ButtonType> { setHeaderText(Localization.getString(Strings.UI_Dialog_AutoUpdate_Header)); + ButtonType updateButton = new ButtonType(Localization.getString(Strings.UI_Dialog_AutoUpdate_Butto_Update), ButtonData.APPLY); + ButtonType cancelButton = new ButtonType(Localization.getString(Strings.UI_Dialog_AutoUpdate_Butto_Cancel), ButtonData.CANCEL_CLOSE); + getDialogPane().setContent(vBox); - getDialogPane().getButtonTypes().addAll(ButtonType.APPLY, ButtonType.CANCEL); + getDialogPane().getButtonTypes().addAll(updateButton, cancelButton); + + initOwner(owner); + initModality(Modality.WINDOW_MODAL); + setTitle(Localization.getString(Strings.UI_Dialog_AutoUpdate_Title)); + Stage dialogStage = (Stage) getDialogPane().getScene().getWindow(); + PlayPadMain.stageIcon.ifPresent(dialogStage.getIcons()::add); } public boolean isIgnoreUpdate() { diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/UpdaterDialog.java b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/UpdaterDialog.java index bdb1365e8876705f535af099cac91c846cf7f70a..4e7113bd89f064177f51abd5855d3af91fb2807b 100644 --- a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/UpdaterDialog.java +++ b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/UpdaterDialog.java @@ -1,6 +1,8 @@ package de.tobias.playpad.viewcontroller.dialog; import de.tobias.playpad.PlayPadMain; +import de.tobias.playpad.Strings; +import de.tobias.utils.util.Localization; import javafx.scene.control.Dialog; import javafx.scene.control.Label; import javafx.scene.image.ImageView; @@ -13,8 +15,7 @@ public class UpdaterDialog extends Dialog<Void> { public UpdaterDialog(Window owner) { setGraphic(new ImageView("org/controlsfx/dialog/dialog-information.png")); - Label textLabel = new Label( - "Die Aktualisierung wird vorbereitet. Bitte schließen Sie nicht das Programm. \nDieser Vorgang kann wenige Minuten dauern."); + Label textLabel = new Label(Localization.getString(Strings.UI_Dialog_Update_Info)); textLabel.setWrapText(true); textLabel.setMaxWidth(450); getDialogPane().setContent(textLabel);