diff --git a/.idea/encodings.xml b/.idea/encodings.xml index a39835be1296c75a848c5bd3a5488429a804a4b2..573656f6b552ab704fd9f1ad893286475dda5049 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -11,6 +11,7 @@ <file url="file://$PROJECT_DIR$/PlayWallComponents/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/PlayWallCore" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/PlayWallCore/src/main/java" charset="UTF-8" /> + <file url="file://$PROJECT_DIR$/PlayWallCore/src/main/resources" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/PlayWallPlugins" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/PlayWallPlugins/PlayWallPluginAwake" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/PlayWallPlugins/PlayWallPluginAwake/src/main/java" charset="UTF-8" /> diff --git a/PlayWall/src/main/java/de/tobias/playpad/PlayPadLocalizationDelegate.java b/PlayWall/src/main/java/de/tobias/playpad/PlayPadLocalizationDelegate.java index a30e062860f5617d297397d6106fe2ba38c6d48e..e53204208404fe38b94559157b8efe71bd370fcb 100644 --- a/PlayWall/src/main/java/de/tobias/playpad/PlayPadLocalizationDelegate.java +++ b/PlayWall/src/main/java/de/tobias/playpad/PlayPadLocalizationDelegate.java @@ -20,6 +20,7 @@ public class PlayPadLocalizationDelegate implements Localization.LocalizationDel @Override public Locale getLocale() { - return Locale.getDefault(); + // TODO Locale GERMAN + return Locale.GERMAN; } } 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 408749b0e125b2e36713b938d43f9c277504daa4..b2bf4ab78fee9e28884c81cd21fb457db7f1f677 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 @@ -252,6 +252,12 @@ public class MainViewController extends NVC implements IMainViewController, Noti // Request Focus for key listener getParent().requestFocus(); + + getParent().getScene().focusOwnerProperty().addListener((observable, oldValue, newValue) -> { + if (newValue == null) { + getParent().requestFocus(); + } + }); } private void initMainLayout() { diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala index 5bcdce6cc53b63bfb407e300118348890f744395..aec4ccf9145de83e3b41e86038504f1dbf585ea9 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala @@ -8,7 +8,6 @@ import de.tobias.playpad.pad.viewcontroller.IPadViewController import de.tobias.playpad.util.Minifier import de.tobias.playpad.view.PseudoClasses import javafx.util.Duration -import org.apache.commons.lang3.StringUtils import org.springframework.expression.ExpressionParser import org.springframework.expression.common.TemplateParserContext import org.springframework.expression.spel.standard.SpelExpressionParser @@ -19,7 +18,7 @@ import scala.jdk.CollectionConverters._ class ModernCartDesignHandlerImpl extends ModernCartDesignHandler { override def generateCss(design: ModernCartDesign, classSuffix: String, flat: Boolean): String = { - StringUtils.join( + String.join( generateCss(design, flat, classSuffix, design.getBackgroundColor), generateCss(design, flat, classSuffix, design.getPlayColor, s":${PseudoClasses.PLAY_CLASS.getPseudoClassName}"), generateCss(design, flat, classSuffix, design.getBackgroundColor, s":${PseudoClasses.WARN_CLASS.getPseudoClassName}") @@ -33,7 +32,7 @@ class ModernCartDesignHandlerImpl extends ModernCartDesignHandler { val resource = ApplicationUtils.getApplication.getClasspathResource("style/modern-pad.css") val string = Minifier minify resource.getAsString - val values: Map[String, Any] = Map( + val values: Map[String, AnyRef] = Map( "prefix" -> padIdentifier, "class" -> styleState, "buttonColor" -> color.getButtonColor, diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala index 84450cf5152e1593968a44554ea6ab38dd2cd4ca..ca1ade7277a8ba8e726e3d3b1844575ea2b47f0b 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernGlobalDesignHandlerImpl.scala @@ -17,7 +17,6 @@ import de.tobias.playpad.{DisplayableColor, PlayPadMain} import javafx.scene.paint.Color import javafx.stage.Stage import javafx.util.Duration -import org.apache.commons.lang3.StringUtils import org.springframework.expression.ExpressionParser import org.springframework.expression.common.TemplateParserContext import org.springframework.expression.spel.standard.SpelExpressionParser @@ -64,7 +63,7 @@ class ModernGlobalDesignHandlerImpl extends ModernGlobalDesignHandler with Color } private def generateCss(design: ModernGlobalDesign): String = { - StringUtils.join( + String.join( generateCss(design, design.getBackgroundColor), generateCss(design, design.getPlayColor, s":${PseudoClasses.PLAY_CLASS.getPseudoClassName}"), generateCss(design, design.getBackgroundColor, s":${PseudoClasses.WARN_CLASS.getPseudoClassName}") @@ -78,7 +77,7 @@ class ModernGlobalDesignHandlerImpl extends ModernGlobalDesignHandler with Color val resource = ApplicationUtils.getApplication.getClasspathResource("style/modern-global.css") val string = Minifier minify resource.getAsString - val values: Map[String, Any] = Map( + val values: Map[String, AnyRef] = Map( "class" -> styleState, "buttonColor" -> color.getButtonColor, "playbarTrackColor" -> color.getPlaybarColor, diff --git a/PlayWall/src/main/scala/de/tobias/playpad/initialize/KeyboardDefaultMappingTask.scala b/PlayWall/src/main/scala/de/tobias/playpad/initialize/KeyboardDefaultMappingTask.scala index cf64b19a2b485a981beb5db98b2f17d19dfa2587..9bb884fa0e75d7a36a93f352501f00041491bf31 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/initialize/KeyboardDefaultMappingTask.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/initialize/KeyboardDefaultMappingTask.scala @@ -1,16 +1,13 @@ package de.tobias.playpad.initialize import de.thecodelabs.utils.application -import de.thecodelabs.utils.application.container.PathType import de.thecodelabs.utils.util.Localization import de.tobias.playpad.PlayPadImpl -import de.tobias.playpad.settings.GlobalSettings class KeyboardDefaultMappingTask extends PlayPadInitializeTask { override def name(): String = "Keyboard Mapping" override def run(app: application.App, instance: PlayPadImpl): Unit = { - val globalSettingsPath = app.getPath(PathType.CONFIGURATION, GlobalSettings.FILE_NAME) val globalSettings = instance.getGlobalSettings globalSettings.getKeyCollection.loadDefaultFromFile("components/Keys.xml", Localization.getBundle) diff --git a/PlayWall/src/main/scala/de/tobias/playpad/initialize/ProfileLoadingTask.scala b/PlayWall/src/main/scala/de/tobias/playpad/initialize/ProfileLoadingTask.scala index 9f9ff14a63c6a018cf242fa3e54525ca034cf247..c6f3b28b77789c34d7ab32e3d7e4c3161a457409 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/initialize/ProfileLoadingTask.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/initialize/ProfileLoadingTask.scala @@ -14,8 +14,7 @@ class ProfileLoadingTask extends PlayPadInitializeTask { override def run(app: application.App, instance: PlayPadImpl): Unit = { try ProfileReferenceManager.loadProfiles() catch { - case e@(_: IOException | _: DocumentException) => - Logger.error(e) + case e@(_: IOException | _: DocumentException) => Logger.error(e) } } } diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/project/Project.java b/PlayWallCore/src/main/java/de/tobias/playpad/project/Project.java index e5b537f66e4d132f88e8f28ef2068ee4bae7b24c..bd70c1dfa78b1a6c1b50f3216ef46d1fdc0fb8b2 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/project/Project.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/project/Project.java @@ -48,9 +48,9 @@ public class Project { */ final ProjectReference projectReference; - private transient IntegerProperty activePlayerProperty; - private transient IntegerProperty notFoundMediaProperty; - private transient ProjectUpdateListener syncListener; + private final transient IntegerProperty activePlayerProperty; + private final transient IntegerProperty notFoundMediaProperty; + private final transient ProjectUpdateListener syncListener; public Project(ProjectReference ref) { this.projectReference = ref; @@ -136,7 +136,11 @@ public class Project { // Pages public Page getPage(int position) { - if (position >= pages.size() && position < ProjectSettings.MAX_PAGES) { + if (position >= ProjectSettings.MAX_PAGES) { + return null; + } + + while (position >= pages.size()) { addPage(new Page(position, this)); } return pages.get(position); diff --git a/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java b/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java index 42efc1b298d0f22d317e2900d1a4ef04020d305d..0e4d089f1fa7f183a685ac292fc2fc363ca7cb2d 100644 --- a/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java +++ b/PlayWallCore/src/main/java/de/tobias/playpad/project/ProjectSettings.java @@ -1,12 +1,22 @@ package de.tobias.playpad.project; import de.thecodelabs.storage.settings.annotation.Key; +import de.thecodelabs.utils.application.ApplicationUtils; import java.nio.file.Path; public class ProjectSettings { - public static final int MAX_PAGES = 10; + public static final int MAX_PAGES; + + static { + Object maxPages = ApplicationUtils.getApplication().getUserDefaults().getData("MAX_PAGES"); + if (maxPages != null) { + MAX_PAGES = Integer.parseInt(maxPages.toString()); + } else { + MAX_PAGES = 10; + } + } public static final int MAX_COLUMNS = 15; public static final int MAX_ROWS = 15; diff --git a/PlayWallPlugins/PlayWallPluginAwake/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginAwake/src/main/resources/plugin.yml index 69f55695e937b67fea55dafaa1c497e9848a7831..31d4e6bacc40bcae08702a0d37d4afc9233232f3 100644 --- a/PlayWallPlugins/PlayWallPluginAwake/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginAwake/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "AwakePlugin" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 3 +build: 5 diff --git a/PlayWallPlugins/PlayWallPluginEqualizer/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginEqualizer/src/main/resources/plugin.yml index e42b0150ef571852672916048dea48f910cff346..c14ec70cc9806a4c1a0ec0ab38009bded4fd93ac 100644 --- a/PlayWallPlugins/PlayWallPluginEqualizer/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginEqualizer/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "EqualizerPlugin" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 5 +build: 6 diff --git a/PlayWallPlugins/PlayWallPluginLaunchpad/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginLaunchpad/src/main/resources/plugin.yml index 85e779456ef23f9db8907d465f4b197a340461b6..61c6c0118e1b2e99255205be0cca94044cfc8c64 100644 --- a/PlayWallPlugins/PlayWallPluginLaunchpad/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginLaunchpad/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "LaunchpadPlugin" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 4 +build: 5 diff --git a/PlayWallPlugins/PlayWallPluginMedia/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginMedia/src/main/resources/plugin.yml index fadb430128aa183e64dcdbd7344b25b19fc106a2..c664750bebf2009d4d47309241bd51a3c1d93461 100644 --- a/PlayWallPlugins/PlayWallPluginMedia/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginMedia/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "MediaPlugin" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 8 +build: 9 diff --git a/PlayWallPlugins/PlayWallPluginNativeAudio/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginNativeAudio/src/main/resources/plugin.yml index 8c3a771a746e658a6c518836fccb00029e83030d..234869dcc947e61bc19b7d861a80a4b3c8b02d42 100644 --- a/PlayWallPlugins/PlayWallPluginNativeAudio/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginNativeAudio/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "NativeAudio" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 1 +build: 2 diff --git a/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/resources/plugin.yml index 074e1226a55ef3266d31a89be11b2b40fd56f8b5..1375cac9133e7a3877657879559bf9d63570b750 100644 --- a/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginPlayoutLog/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "PlayoutLogPlugin" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 8 +build: 9 diff --git a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/resources/plugin.yml b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/resources/plugin.yml index 20f98f590f65c3d60a2b38426294a052e816413b..2f569fa8af980990863c4413821ee980ece9c130 100644 --- a/PlayWallPlugins/PlayWallPluginWebAPI/src/main/resources/plugin.yml +++ b/PlayWallPlugins/PlayWallPluginWebAPI/src/main/resources/plugin.yml @@ -3,4 +3,4 @@ name: "WebApiPlugin" artifactId: "${pom.artifactId}" groupId: "${pom.groupId}" version: "${pom.version}" -build: 1 +build: 2 diff --git a/pom.xml b/pom.xml index 81c80d4559cbd065453ea96d678d09679f027513..08781928dbc439dbf7103ba7a058b26b6301fa27 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ <packaging>pom</packaging> <properties> - <project.build.code>41</project.build.code> + <project.build.code>42</project.build.code> <project.versionDate>${maven.build.timestamp}</project.versionDate> <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format> @@ -23,7 +23,7 @@ <jlibs.version>2.0.6</jlibs.version> <libPlugins.version>2.2.1</libPlugins.version> - <versionizer-api.version>1.1.1</versionizer-api.version> + <versionizer-api.version>1.2.0</versionizer-api.version> <jlayer.version>1.0.1</jlayer.version>