diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutFactory.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutFactory.java index c4fedd83207191d8199757c9dbfc1929ff4257f9..55e0756830323a18fe0a83af4044c61f8ac43cf2 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutFactory.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutFactory.java @@ -59,18 +59,20 @@ public class DesktopMainLayoutFactory extends MainLayoutFactory { return null; } + + // Current Mode public DesktopEditMode getEditMode() { return editMode.get(); } - public void setEditMode(DesktopEditMode editMode) { + void setEditMode(DesktopEditMode editMode) { if (editMode != DesktopEditMode.PLAY && Profile.currentProfile().getProfileSettings().isLocked()) { return; } this.editMode.set(editMode); } - public ObjectProperty<DesktopEditMode> editModeProperty() { + ObjectProperty<DesktopEditMode> editModeProperty() { return editMode; } } diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java index 3a161e2deac46215f00d77108cb223774be0b570..94763503f66044573515bf32f8c076df2dece8dd 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopPageEditButtonView.java @@ -36,7 +36,7 @@ public class DesktopPageEditButtonView extends HBox implements EventHandler<Acti private transient Button pageButton; private transient MenuToolbarViewController controller; - public DesktopPageEditButtonView(MenuToolbarViewController controller, Page page, Button pageButton) { + DesktopPageEditButtonView(MenuToolbarViewController controller, Page page, Button pageButton) { this.page = page; this.pageButton = pageButton; this.controller = controller; @@ -107,21 +107,7 @@ public class DesktopPageEditButtonView extends HBox implements EventHandler<Acti } 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(); - - result.filter(name -> name != null && !name.isEmpty()).ifPresent(name -> - { - page.setName(name); - }); + showPageNameDialog(page); // Update Page Button in Toolbar String name = page.getName(); @@ -133,6 +119,10 @@ public class DesktopPageEditButtonView extends HBox implements EventHandler<Acti } else if (event.getSource() == cloneButton) { try { Page clone = page.clone(); + + // Show Rename dialog for cloned page + showPageNameDialog(clone); + Project project = page.getProjectReference(); project.addPage(clone); @@ -166,4 +156,18 @@ public class DesktopPageEditButtonView extends HBox implements EventHandler<Acti } } + private void showPageNameDialog(Page page) { + TextInputDialog dialog = new TextInputDialog(page.getName()); + + 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(); + result.filter(name -> !name.isEmpty()).ifPresent(page::setName); + } + }