diff --git a/PlayWall/src/main/java/de/tobias/playpad/Strings.java b/PlayWall/src/main/java/de/tobias/playpad/Strings.java index b0dd8185e643922d87e0a59c4be70b0778a2cbb8..b28adcf21884f13366e14acc1b2f28b5a7ad0b00 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/Strings.java +++ b/PlayWall/src/main/java/de/tobias/playpad/Strings.java @@ -232,10 +232,6 @@ public class Strings { // TriggerPoint - Enum public static final String TRIGGER_POINT = "TriggerPoint."; - // Main Layout - public static final String MAIN_LAYOUT_DESKTOP = "MainLayout.Desktop"; - public static final String MAIN_LAYOUT_TOUCH = "MainLayout.Touch"; - // Search public static final String SEARCH_BUTTON = "Search.Button"; public static final String SEARCH_PLACEHOLDER = "Search.Placeholder"; diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java index 6c5477e33d821002801d566770e8e6771e5f765e..fc6d030e7c7ca0032590d9df3395200e4f7c1371 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java @@ -82,6 +82,8 @@ import java.util.Optional; public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewController implements EventHandler<ActionEvent>, ChangeListener<DesktopEditMode> { + private static final String LAYOUT_MENU_ITEM_IDENTIFIER = "layout-menu-item"; + @FXML private MenuBar menuBar; @@ -230,6 +232,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro // Desktop Edit Mode Change Listener --> Update Button @Override public void changed(ObservableValue<? extends DesktopEditMode> observable, DesktopEditMode oldValue, DesktopEditMode newValue) { + // handle old mode if (oldValue == DesktopEditMode.DRAG) { for (IPadView view : mainViewController.getPadViews()) { @@ -291,30 +294,37 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro mainViewController.getPadViews().forEach(i -> i.getViewController().updateButtonDisable()); } - private void initLayoutMenu() { + @Override + public void initLayoutMenu() { ProfileSettings profileSettings = Profile.currentProfile().getProfileSettings(); Registry<MainLayoutFactory> mainLayouts = PlayPadPlugin.getRegistries().getMainLayouts(); + layoutMenu.getItems().removeIf(item -> LAYOUT_MENU_ITEM_IDENTIFIER.equals(item.getUserData())); + int index = 1; // Für Tastenkombination for (MainLayoutFactory connect : mainLayouts.getComponents()) { - if (!connect.getType().equals(profileSettings.getMainLayoutType())) { - MenuItem item = new MenuItem(connect.toString()); + if(connect.getType().equals(profileSettings.getMainLayoutType())) + { + continue; + } - item.setOnAction(e -> - { - mainViewController.setMainLayout(connect); - Profile.currentProfile().getProfileSettings().setMainLayoutType(connect.getType()); - }); + MenuItem item = new MenuItem(connect.toString()); + item.setUserData(LAYOUT_MENU_ITEM_IDENTIFIER); - // Key Combi - if (index < 10) { - item.setAccelerator(KeyCombination.keyCombination("Shortcut+" + index)); - } + item.setOnAction(e -> + { + mainViewController.setMainLayout(connect); + Profile.currentProfile().getProfileSettings().setMainLayoutType(connect.getType()); + }); - layoutMenu.getItems().add(item); - index++; + // Key combination + if (index < 10) { + item.setAccelerator(KeyCombination.keyCombination("Shortcut+" + index)); } - } + + layoutMenu.getItems().add(item); + index++; + } } @Override diff --git a/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java b/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java index 0ebc97bc89a32ff3bc2a1e7a4038b685970b1f4e..51f0e31995aa4d5ab5744a4fde399b749e1a73c0 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/layout/touch/TouchMenuToolbarViewController.java @@ -156,4 +156,8 @@ public class TouchMenuToolbarViewController extends BasicMenuToolbarViewControll } } + @Override + public void initLayoutMenu() + { + } } \ No newline at end of file diff --git a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java index bfe085df774bc312a05ea1e770f06d10c348f115..408749b0e125b2e36713b938d43f9c277504daa4 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java +++ b/PlayWall/src/main/java/de/tobias/playpad/viewcontroller/main/MainViewController.java @@ -591,6 +591,7 @@ public class MainViewController extends NVC implements IMainViewController, Noti this.mainLayout = mainLayoutConnect; initMainLayout(); + this.menuToolbarViewController.initLayoutMenu(); } /* diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/viewcontroller/main/MenuToolbarViewController.java b/PlayWallCore/src/main/java/de/tobias/playpad/viewcontroller/main/MenuToolbarViewController.java index bc6a22572672b49a3332c397b36e3ab3e8d78095..a72fc0d36dd441a4fe9cd8304a2a3d560fd53483 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/viewcontroller/main/MenuToolbarViewController.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/viewcontroller/main/MenuToolbarViewController.java @@ -164,4 +164,6 @@ public abstract class MenuToolbarViewController extends NVC { * @param project neues Project */ public abstract void setOpenProject(Project project); + + public abstract void initLayoutMenu(); }