diff --git a/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties b/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties index 986c8bfdf2e6336278cee61aa15e3d09fc8bc981..a27f28f1ee4e4b8acdfa72161a832f6616602c17 100644 --- a/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties +++ b/PlayWall/assets/de/tobias/playpad/assets/lang/_de.properties @@ -267,4 +267,12 @@ MainLayout.Touch=Touchmodus # Suche Search.Button=Suchen Search.Placeholder=Suche -Search.Alert.NoMatches=Keine Treffer gefunden. \ No newline at end of file +Search.Alert.NoMatches=Keine Treffer gefunden. + +# UI - Dialog - Page - Delete +UI.Dialog.Page.Delete.Header=Seite L�schen? +UI.Dialog.Page.Delete.Content=M�chten Sie die Seite unwiederbringlich l�schen? + +# UI - Dialog - Name - Delete +UI.Dialog.Page.Name.Header=Seite umbenennen +UI.Dialog.Page.Name.Content=Geben Sie einen neuen Namen f�r die Seite ein. \n(Wenn die das Feld leer lassen, wird ein Standardname verwendet). \ No newline at end of file diff --git a/PlayWall/src/de/tobias/playpad/Strings.java b/PlayWall/src/de/tobias/playpad/Strings.java index 8dfd96d7b1495d0065e465f69599fc655625a894..f0e8fb8118d67957a4afb6581d79ce39c0c0707f 100644 --- a/PlayWall/src/de/tobias/playpad/Strings.java +++ b/PlayWall/src/de/tobias/playpad/Strings.java @@ -257,4 +257,12 @@ public class Strings { 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"; + + // UI - Dialog - Page - Delete + public static final String UI_Dialog_Page_Delete_Header = "UI.Dialog.Page.Delete.Header"; + public static final String UI_Dialog_Page_Delete_Content = "UI.Dialog.Page.Delete.Content"; + + // UI - Dialog - Page - Name + public static final String UI_Dialog_Page_Name_Header = "UI.Dialog.Page.Name.Header"; + public static final String UI_Dialog_Page_Name_Content = "UI.Dialog.Page.Name.Content"; } diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java index f1b442161452257ee76d940240805c04eefc21b9..c9366fea1c87225b9b7150a3c7cc803f81da76b1 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java @@ -432,7 +432,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro if (newNode instanceof Button && connect.getEditMode() == DesktopEditMode.DRAG) { // Nur bei Drag And Drop mode Button button = (Button) newNode; - DesktopButtonEditView editBox = new DesktopButtonEditView(this, openProject.getPage(index), button); + DesktopPageEditButtonView editBox = new DesktopPageEditButtonView(this, openProject.getPage(index), button); button.setGraphic(editBox); } } diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java similarity index 66% rename from PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java rename to PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java index bfc1a6bb63e15217c3e03fedc7f62501b07bcdb6..98839443e2daa7ffaac05ad893c7325c7addbdc6 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java @@ -2,6 +2,7 @@ package de.tobias.playpad.layout.desktop; import java.util.Optional; +import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.PlayPadPlugin; import de.tobias.playpad.Strings; import de.tobias.playpad.project.Project; @@ -13,11 +14,16 @@ import de.tobias.utils.ui.icon.FontIcon; import de.tobias.utils.util.Localization; import javafx.event.ActionEvent; import javafx.event.EventHandler; +import javafx.scene.control.Alert; +import javafx.scene.control.Alert.AlertType; import javafx.scene.control.Button; +import javafx.scene.control.ButtonType; import javafx.scene.control.TextInputDialog; import javafx.scene.layout.HBox; +import javafx.stage.Modality; +import javafx.stage.Stage; -public class DesktopButtonEditView extends HBox implements EventHandler<ActionEvent> { +public class DesktopPageEditButtonView extends HBox implements EventHandler<ActionEvent> { private Page page; private Button leftMoveButton; @@ -28,7 +34,7 @@ public class DesktopButtonEditView extends HBox implements EventHandler<ActionEv private transient Button pageButton; private transient MenuToolbarViewController controller; - public DesktopButtonEditView(MenuToolbarViewController controller, Page page, Button pageButton) { + public DesktopPageEditButtonView(MenuToolbarViewController controller, Page page, Button pageButton) { this.page = page; this.pageButton = pageButton; this.controller = controller; @@ -91,26 +97,47 @@ public class DesktopButtonEditView extends HBox implements EventHandler<ActionEv event.consume(); } else if (event.getSource() == editTextButton) { TextInputDialog dialog = new TextInputDialog(); + + dialog.setHeaderText(Localization.getString(Strings.UI_Dialog_Page_Name_Header)); + dialog.setContentText(Localization.getString(Strings.UI_Dialog_Page_Name_Content)); + dialog.initOwner(controller.getStage()); + dialog.initModality(Modality.WINDOW_MODAL); + Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow(); + PlayPadMain.stageIcon.ifPresent(stage.getIcons()::add); + Optional<String> result = dialog.showAndWait(); - // TODO Owner, Modal, Icon, Text - result.ifPresent(name -> + + result.filter(name -> name != null && !name.isEmpty()).ifPresent(name -> { page.setName(name); }); + // Update Page Button in Toolbar String name = page.getName(); - if (name.isEmpty()) { - name = Localization.getString(Strings.UI_Window_Main_PageButton, (page.getId() + 1)); - } + if (name.isEmpty()) + name = Localization.getString(Strings.UI_Window_Main_PageButton, (page.getId() + 1)); // Default Text pageButton.setText(name); event.consume(); } else if (event.getSource() == deleteButton) { - // TODO Fragen - Project project = page.getProjectReference(); - project.removePage(page); - controller.initPageButtons(); - controller.highlightPageButton(0); // Show first page + Alert alert = new Alert(AlertType.CONFIRMATION); + + alert.setHeaderText(Localization.getString(Strings.UI_Dialog_Page_Delete_Header)); + alert.setContentText(Localization.getString(Strings.UI_Dialog_Page_Delete_Content)); + alert.initOwner(controller.getStage()); + alert.initModality(Modality.WINDOW_MODAL); + Stage stage = (Stage) alert.getDialogPane().getScene().getWindow(); + PlayPadMain.stageIcon.ifPresent(stage.getIcons()::add); + + Optional<ButtonType> result = alert.showAndWait(); + System.out.println(result); + result.filter(r -> r == ButtonType.OK).ifPresent(r -> + { + Project project = page.getProjectReference(); + project.removePage(page); + controller.initPageButtons(); + controller.highlightPageButton(0); // Show first page + }); } }