diff --git a/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties b/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties index 7d582ca82f4a22b407807e9dfae313a109c7951c..43d85ecf96517ce253458b16e6ab16ca1db1d208 100644 --- a/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties +++ b/PlayWall/assets/de/tobias/playpad/assets/lang/ui_de.properties @@ -15,8 +15,11 @@ main.menuitem.recentFiles=Zuletzt verwendete Projekte main.menuitem.profile=Profile verwalten... main.menuitem.print=Drucken... main.menuitem.onTop=Fenster im Vordergrund -main.menuitem.plugins=Erweiterungen... +main.menuitem.play=Wiedergabe +main.menuitem.drag=Drag and Drop +main.menuitem.color=F�rben main.menuitem.errors=Fehlerbericht anzeigen... +main.menuitem.plugins=Erweiterungen... main.menuitem.projectSettings=Projekteinstellungen... main.menuitem.profileSettings=Profileinstellungen... main.menuitem.globalSettings=Globale Einstellungen... diff --git a/PlayWall/assets/de/tobias/playpad/assets/view/main/desktop/header.fxml b/PlayWall/assets/de/tobias/playpad/assets/view/main/desktop/header.fxml index 4596aa8d1aba7628ed36e39fbc146a383b7228b0..bd2bd266d957715a6b1fd1ed6ac6c47239e50a07 100644 --- a/PlayWall/assets/de/tobias/playpad/assets/view/main/desktop/header.fxml +++ b/PlayWall/assets/de/tobias/playpad/assets/view/main/desktop/header.fxml @@ -39,6 +39,22 @@ </Menu> <Menu mnemonicParsing="false" text="%main.menu.option"> <items> + <MenuItem fx:id="playMenu" mnemonicParsing="false" onAction="#playMenuHandler" text="%main.menuitem.play"> + <accelerator> + <KeyCodeCombination alt="UP" code="L" control="UP" meta="UP" shift="UP" shortcut="DOWN" /> + </accelerator> + </MenuItem> + <MenuItem fx:id="dragMenu" mnemonicParsing="false" onAction="#dragMenuHandler" text="%main.menuitem.drag"> + <accelerator> + <KeyCodeCombination alt="UP" code="M" control="UP" meta="UP" shift="UP" shortcut="DOWN" /> + </accelerator> + </MenuItem> + <MenuItem fx:id="colorMenu" mnemonicParsing="false" onAction="#colorMenuHandler" text="%main.menuitem.color"> + <accelerator> + <KeyCodeCombination alt="UP" code="K" control="UP" meta="UP" shift="UP" shortcut="DOWN" /> + </accelerator> + </MenuItem> + <SeparatorMenuItem mnemonicParsing="false" /> <MenuItem fx:id="errorMenu" mnemonicParsing="false" onAction="#errorMenuHandler" text="%main.menuitem.errors"> <accelerator> <KeyCodeCombination alt="UP" code="E" control="UP" meta="UP" shift="UP" shortcut="DOWN" /> diff --git a/PlayWall/src/de/tobias/playpad/components/Keys.xml b/PlayWall/src/de/tobias/playpad/components/Keys.xml index 603df4417aabacddf62d4d51858503bba6d1b5b9..2588cefd57bfdcea65449240067cdba03ec09b6c 100644 --- a/PlayWall/src/de/tobias/playpad/components/Keys.xml +++ b/PlayWall/src/de/tobias/playpad/components/Keys.xml @@ -6,7 +6,12 @@ <Key id="save_proj" name="main.menuitem.save" key="S" ctrl="true" alt="false" meta="false" shift="false"/> <Key id="print_proj" name="main.menuitem.print" key="P" ctrl="true" alt="false" meta="false" shift="false"/> + <Key id="play" name="main.menuitem.play" key="E" ctrl="true" alt="false" meta="false" shift="false"/> + <Key id="drag" name="main.menuitem.drag" key="E" ctrl="true" alt="false" meta="false" shift="false"/> + <Key id="color" name="main.menuitem.color" key="E" ctrl="true" alt="false" meta="false" shift="false"/> + <Key id="errors" name="main.menuitem.errors" key="E" ctrl="true" alt="false" meta="false" shift="false"/> + <Key id="plugins" name="main.menuitem.plugins"/> <Key id="project_settings" name="main.menuitem.projectSettings" key="Comma" ctrl="true" alt="true" meta="false" shift="false"/> <Key id="profile_settings" name="main.menuitem.profileSettings" key="Comma" ctrl="true" alt="false" meta="false" shift="false"/> diff --git a/PlayWall/src/de/tobias/playpad/design/modern/ModernDesignConnect.java b/PlayWall/src/de/tobias/playpad/design/modern/ModernDesignConnect.java index 4658e1a66596a0a05648a6817a84190f544861fd..f39235706560e340277ec0128e14fdad1a500103 100644 --- a/PlayWall/src/de/tobias/playpad/design/modern/ModernDesignConnect.java +++ b/PlayWall/src/de/tobias/playpad/design/modern/ModernDesignConnect.java @@ -2,8 +2,8 @@ package de.tobias.playpad.design.modern; import de.tobias.playpad.Strings; import de.tobias.playpad.design.CartDesign; -import de.tobias.playpad.design.GlobalDesign; import de.tobias.playpad.design.DesignConnect; +import de.tobias.playpad.design.GlobalDesign; import de.tobias.playpad.viewcontroller.CartDesignViewController; import de.tobias.playpad.viewcontroller.GlobalDesignViewController; import de.tobias.playpad.viewcontroller.design.ModernCartDesignViewController; diff --git a/PlayWall/src/de/tobias/playpad/design/modern/ModernGlobalDesign.java b/PlayWall/src/de/tobias/playpad/design/modern/ModernGlobalDesign.java index 09d44c5fc3adfc69441307163648c8c9f9ac1157..94965cb86af857ddc97b40cee23e1e5010344ee7 100644 --- a/PlayWall/src/de/tobias/playpad/design/modern/ModernGlobalDesign.java +++ b/PlayWall/src/de/tobias/playpad/design/modern/ModernGlobalDesign.java @@ -10,11 +10,11 @@ import org.dom4j.Element; import de.tobias.playpad.DisplayableColor; import de.tobias.playpad.PseudoClasses; import de.tobias.playpad.design.CartDesign; +import de.tobias.playpad.design.ColorModeHandler; import de.tobias.playpad.design.Design; import de.tobias.playpad.design.DesignColorAssociator; import de.tobias.playpad.design.FadeableColor; import de.tobias.playpad.design.GlobalDesign; -import de.tobias.playpad.design.ColorModeHandler; import de.tobias.playpad.pad.Pad; import de.tobias.playpad.pad.PadSettings; import de.tobias.playpad.pad.conntent.play.Durationable; diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java index cebef47bc3a6d9aa0d4ec12ebebda2d2242f8d10..bfc1a6bb63e15217c3e03fedc7f62501b07bcdb6 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopButtonEditView.java @@ -110,6 +110,7 @@ public class DesktopButtonEditView extends HBox implements EventHandler<ActionEv Project project = page.getProjectReference(); project.removePage(page); controller.initPageButtons(); + controller.highlightPageButton(0); // Show first page } } diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutConnect.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutConnect.java index 30c0241aa88f9e7de85f59a6e01e7e53b2185e03..9accf5d4df1d1b6da6de2812ecc72fa8b5b820c6 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutConnect.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMainLayoutConnect.java @@ -5,6 +5,7 @@ import java.util.Stack; import de.tobias.playpad.Strings; import de.tobias.playpad.layout.desktop.pad.DesktopPadView; import de.tobias.playpad.pad.view.IPadView; +import de.tobias.playpad.settings.Profile; import de.tobias.playpad.view.main.MainLayoutConnect; import de.tobias.playpad.viewcontroller.main.IMainViewController; import de.tobias.playpad.viewcontroller.main.MenuToolbarViewController; @@ -73,9 +74,12 @@ public class DesktopMainLayoutConnect implements MainLayoutConnect { } public void setEditMode(DesktopEditMode editMode) { + if (editMode != DesktopEditMode.PLAY && Profile.currentProfile().getProfileSettings().isLocked()) { + return; + } this.editMode.set(editMode); } - + public ObjectProperty<DesktopEditMode> editModeProperty() { return editMode; } diff --git a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java index 87e1c2cd93191a082b5babbb612845026f3981bc..d4f2ddac0e16ffb7836a33f9243e6d76690cd11a 100644 --- a/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java +++ b/PlayWall/src/de/tobias/playpad/layout/desktop/DesktopMenuToolbarViewController.java @@ -94,6 +94,10 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro @FXML protected MenuItem profileMenu; @FXML protected MenuItem printProjectMenuItem; + @FXML protected MenuItem playMenu; + @FXML protected MenuItem dragMenu; + @FXML protected MenuItem colorMenu; + @FXML protected MenuItem errorMenu; @FXML protected MenuItem pluginMenu; @@ -154,6 +158,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro helpMenu.getItems().add(new HelpMenuItem(helpMenu)); // Edit Mode Buttons + // TODO MenuItems for Buttons -> KeyCodes editButtons = new SegmentedButton(); playButton = new ToggleButton("", new FontIcon(FontAwesomeType.PLAY)); playButton.setFocusTraversable(false); @@ -209,12 +214,12 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro if (newValue == DesktopEditMode.PLAY) { playButton.setSelected(true); } else if (newValue == DesktopEditMode.DRAG) { + // TODO Live Mode Check dragButton.setSelected(true); for (IPadView view : mainViewController.getPadViews()) { view.enableDragAndDropDesignMode(true); } iconHbox.getChildren().add(0, addPageButton); - System.out.println(iconHbox.getChildren()); } else if (newValue == DesktopEditMode.COLOR) { colorButton.setSelected(true); @@ -304,6 +309,10 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro setKeyBindingForMenu(saveProjectMenuItem, keys.getKey("save_proj")); setKeyBindingForMenu(printProjectMenuItem, keys.getKey("print_proj")); + setKeyBindingForMenu(playMenu, keys.getKey("play")); + setKeyBindingForMenu(dragMenu, keys.getKey("drag")); + setKeyBindingForMenu(colorMenu, keys.getKey("color")); + setKeyBindingForMenu(errorMenu, keys.getKey("errors")); setKeyBindingForMenu(pluginMenu, keys.getKey("plugins")); setKeyBindingForMenu(projectSettingsMenuItem, keys.getKey("project_settings")); @@ -319,6 +328,10 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro saveProjectMenuItem.setDisable(false); printProjectMenuItem.setDisable(false); + playMenu.setDisable(false); + dragMenu.setDisable(false); + colorMenu.setDisable(false); + errorMenu.setDisable(false); pluginMenu.setDisable(false); projectSettingsMenuItem.setDisable(false); @@ -332,7 +345,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro @Override public void setLocked(boolean looked) { - // TODO Lock Edit Buttons + connect.setEditMode(DesktopEditMode.PLAY); } @Override @@ -375,6 +388,10 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro saveProjectMenuItem.setDisable(true); printProjectMenuItem.setDisable(true); + playMenu.setDisable(true); + dragMenu.setDisable(true); + colorMenu.setDisable(true); + errorMenu.setDisable(true); pluginMenu.setDisable(true); projectSettingsMenuItem.setDisable(true); @@ -407,7 +424,7 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro } } - if (pageHBox.getChildren().size() > index) { + if (index < pageHBox.getChildren().size()) { Node newNode = pageHBox.getChildren().get(index); newNode.getStyleClass().add(CURRENT_PAGE_BUTTON); currentSelectedPageButton = index; @@ -502,6 +519,21 @@ public class DesktopMenuToolbarViewController extends BasicMenuToolbarViewContro dialog.getStage().show(); } + @FXML + void playMenuHandler(ActionEvent event) { + connect.setEditMode(DesktopEditMode.PLAY); + } + + @FXML + void dragMenuHandler(ActionEvent event) { + connect.setEditMode(DesktopEditMode.DRAG); + } + + @FXML + void colorMenuHandler(ActionEvent event) { + connect.setEditMode(DesktopEditMode.COLOR); + } + @FXML void errorMenuHandler(ActionEvent event) { ErrorSummaryDialog.getInstance().getStage().show(); diff --git a/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java b/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java index f7d3c16f59e26a6e2b604215d50327333c54c2db..2ba459e5dd0d50b6e6a5739c57ba88ecc0bf225f 100644 --- a/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java +++ b/PlayWall/src/de/tobias/playpad/update/PlayPadUpdater.java @@ -8,8 +8,6 @@ import java.nio.file.Path; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; -import de.tobias.playpad.update.Updatable; -import de.tobias.playpad.update.UpdateChannel; import de.tobias.utils.application.App; import de.tobias.utils.application.ApplicationUtils; import de.tobias.utils.util.SystemUtils; diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PrintDialog.java b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PrintDialog.java index 6a0e81442bb7ac97c97ff8105b4460e4859afcc2..c4ad55310bf2f14a76fa7fc71b7d18487228daab 100644 --- a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PrintDialog.java +++ b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/PrintDialog.java @@ -11,8 +11,8 @@ import com.hp.gagawa.java.elements.Tr; import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.Strings; import de.tobias.playpad.pad.Pad; -import de.tobias.playpad.project.ProjectSettings; import de.tobias.playpad.project.Project; +import de.tobias.playpad.project.ProjectSettings; import de.tobias.playpad.project.page.PadIndex; import de.tobias.playpad.settings.Profile; import de.tobias.utils.application.ApplicationUtils; diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/ProjectManagerDialog.java b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/ProjectManagerDialog.java index 91e587b5206c5e48b2e025314f30288d8f73b2db..17ad484e8762d50b8d7785244dfd26a6e7a3684c 100644 --- a/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/ProjectManagerDialog.java +++ b/PlayWall/src/de/tobias/playpad/viewcontroller/dialog/ProjectManagerDialog.java @@ -9,8 +9,8 @@ import org.dom4j.DocumentException; import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.Strings; -import de.tobias.playpad.project.ProjectImporter; import de.tobias.playpad.project.Project; +import de.tobias.playpad.project.ProjectImporter; import de.tobias.playpad.project.ref.ProjectReference; import de.tobias.playpad.settings.Profile; import de.tobias.playpad.settings.ProfileReference; diff --git a/PlayWall/src/de/tobias/playpad/viewcontroller/option/project/ProjectSettingsViewController.java b/PlayWall/src/de/tobias/playpad/viewcontroller/option/project/ProjectSettingsViewController.java index fe181cae7122c8eaf94e8a1ae7e887434cb03851..e5bcc71048895486d6dc71664977e6ca6bd89a3a 100644 --- a/PlayWall/src/de/tobias/playpad/viewcontroller/option/project/ProjectSettingsViewController.java +++ b/PlayWall/src/de/tobias/playpad/viewcontroller/option/project/ProjectSettingsViewController.java @@ -7,12 +7,12 @@ import org.controlsfx.control.TaskProgressView; import de.tobias.playpad.PlayPadMain; import de.tobias.playpad.Strings; -import de.tobias.playpad.project.ProjectSettings; import de.tobias.playpad.project.Project; +import de.tobias.playpad.project.ProjectSettings; import de.tobias.playpad.settings.Profile; import de.tobias.playpad.viewcontroller.main.IMainViewController; -import de.tobias.playpad.viewcontroller.option.IProjectSettingsViewController; import de.tobias.playpad.viewcontroller.option.IProjectReloadTask; +import de.tobias.playpad.viewcontroller.option.IProjectSettingsViewController; import de.tobias.playpad.viewcontroller.option.ProjectSettingsTabViewController; import de.tobias.utils.ui.ViewController; import de.tobias.utils.util.Localization; diff --git a/PlayWallCore/src/de/tobias/playpad/project/Project.java b/PlayWallCore/src/de/tobias/playpad/project/Project.java index c98e23cb1f8c98617ecd655e62891d538ef39db6..2825cdebbcf972ad53a28c528f88130b42746765 100644 --- a/PlayWallCore/src/de/tobias/playpad/project/Project.java +++ b/PlayWallCore/src/de/tobias/playpad/project/Project.java @@ -300,15 +300,12 @@ public class Project { } public void removePage(Page page) { - System.out.println(page.getId()); pages.remove(page.getId()); // Neue Interne Indies für die Pages for (int i = page.getId(); i < pages.size(); i++) { Page tempPage = pages.get(i); tempPage.setId(i); } - - System.out.println(pages); } public void addPage() {