client

Clone or download

lots of minor bug fixes, Client Action Grid Pane now is present inside a Scroll Pane

Modified Files

M pom.xml
+13 −5
--- 'a/pom.xml'
+++ b/pom.xml
@@ -27,6 +27,8 @@
<util.version>1.0.0-SNAPSHOT</util.version>
<theme.api.version>1.0.0-SNAPSHOT</theme.api.version>
+ <attach.version>4.0.11</attach.version>
+
<main.class.name>com.stream_pi.client.Main</main.class.name>
<source.plugin.version>2.2.1</source.plugin.version>
@@ -89,27 +91,32 @@
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>lifecycle</artifactId>
- <version>4.0.10</version>
+ <version>${attach.version}</version>
</dependency>
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>util</artifactId>
- <version>4.0.10</version>
+ <version>${attach.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.gluonhq.attach</groupId>
+ <artifactId>orientation</artifactId>
+ <version>${attach.version}</version>
</dependency>
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>storage</artifactId>
- <version>4.0.10</version>
+ <version>${attach.version}</version>
</dependency>
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>browser</artifactId>
- <version>4.0.10</version>
+ <version>${attach.version}</version>
</dependency>
<dependency>
<groupId>com.gluonhq.attach</groupId>
<artifactId>vibration</artifactId>
- <version>4.0.10</version>
+ <version>${attach.version}</version>
</dependency>
</dependencies>
@@ -165,6 +172,7 @@
<list>storage</list>
<list>browser</list>
<list>vibration</list>
+ <list>orientation</list>
</attachList>
<reflectionList>
<list>java.util.logging.FileHandler</list>
--- 'a/src/main/java/com/stream_pi/client/controller/Controller.java'
+++ b/src/main/java/com/stream_pi/client/controller/Controller.java
@@ -1,5 +1,6 @@
package com.stream_pi.client.controller;
+import com.gluonhq.attach.orientation.OrientationService;
import com.gluonhq.attach.vibration.VibrationService;
import com.stream_pi.action_api.action.Action;
import com.stream_pi.client.connection.Client;
@@ -25,9 +26,12 @@ import javafx.animation.KeyFrame;
import javafx.animation.KeyValue;
import javafx.animation.Timeline;
import javafx.application.Platform;
+import javafx.beans.InvalidationListener;
import javafx.beans.value.ChangeListener;
+import javafx.geometry.Orientation;
import javafx.scene.Node;
import javafx.scene.input.KeyCombination;
+import javafx.stage.Screen;
import javafx.util.Duration;
import java.io.*;
@@ -140,20 +144,11 @@ public class Controller extends Base
firstRun = false;
}
-
- ChangeListener<Number> windowResizeListener = (observableValue, number, t1) -> {
- if(isConnected())
- {
- try {
- client.sendClientScreenDetails();
- } catch (SevereException e) {
- e.printStackTrace();
- }
- }
- };
-
- getStage().widthProperty().addListener(windowResizeListener);
- getStage().heightProperty().addListener(windowResizeListener);
+ if(!getClientInfo().isPhone())
+ {
+ getStage().widthProperty().addListener((observableValue, orientation, t1) -> syncClientSizeDetailsWithServer());
+ getStage().heightProperty().addListener((observableValue, orientation, t1) -> syncClientSizeDetailsWithServer());
+ }
}
catch (SevereException e)
@@ -166,6 +161,18 @@ public class Controller extends Base
}
}
+ public void syncClientSizeDetailsWithServer()
+ {
+ if(isConnected())
+ {
+ try {
+ client.sendClientScreenDetails();
+ } catch (SevereException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
@Override
public void setupClientConnection()
{
--- 'a/src/main/java/com/stream_pi/client/window/Base.java'
+++ b/src/main/java/com/stream_pi/client/window/Base.java
@@ -192,7 +192,6 @@ public abstract class Base extends Stack
if(getClientInfo().isPhone())
{
- System.out.println("FELLOW ANDROID ENJOYER :D");
firstTimeUse.setPadding(new Insets(10));
}
@@ -200,7 +199,6 @@ public abstract class Base extends Stack
//resolution check
resizeAccordingToResolution();
-
}
else
{
@@ -217,8 +215,6 @@ public abstract class Base extends Stack
double height = getScreenHeight();
double width = getScreenWidth();
- logger.info("HEIGHT: "+height+", WIDTH: "+width);
-
if(height < 500)
setPrefHeight(320);
--- 'a/src/main/java/com/stream_pi/client/window/dashboard/actiongridpane/ActionGridPane.java'
+++ b/src/main/java/com/stream_pi/client/window/dashboard/actiongridpane/ActionGridPane.java
@@ -17,6 +17,7 @@ import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.CacheHint;
import javafx.scene.Node;
+import javafx.scene.control.ScrollPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Priority;
import javafx.scene.layout.StackPane;
@@ -24,7 +25,7 @@ import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import org.kordamp.ikonli.javafx.FontIcon;
-public class ActionGridPane extends GridPane implements ActionGridPaneListener
+public class ActionGridPane extends ScrollPane implements ActionGridPaneListener
{
private ExceptionAndAlertHandler exceptionAndAlertHandler;
@@ -33,20 +34,27 @@ public class ActionGridPane extends Grid
private ActionBox[][] actionBoxes;
+ private GridPane actionsGridPane;
+
public ActionGridPane(ExceptionAndAlertHandler exceptionAndAlertHandler, ClientListener clientListener)
{
this.clientListener = clientListener;
logger = Logger.getLogger(ActionGridPane.class.getName());
this.exceptionAndAlertHandler = exceptionAndAlertHandler;
- getStyleClass().add("action_grid_pane");
- setPadding(new Insets(5.0));
+ getStyleClass().add("action_grid_pane_parent");
+
+ actionsGridPane = new GridPane();
+ actionsGridPane.setPadding(new Insets(5.0));
+ actionsGridPane.getStyleClass().add("action_grid_pane");
+ actionsGridPane.prefWidthProperty().bind(widthProperty().subtract(2));
+ actionsGridPane.prefHeightProperty().bind(heightProperty().subtract(2));
- setPrefSize(USE_COMPUTED_SIZE, USE_COMPUTED_SIZE);
+ setContent(actionsGridPane);
+ actionsGridPane.setAlignment(Pos.CENTER);
- setAlignment(Pos.CENTER);
VBox.setVgrow(this, Priority.ALWAYS);
@@ -150,8 +158,8 @@ public class ActionGridPane extends Grid
private Node folderBackButton = null;
public void renderGrid()
{
- setHgap(getClientProfile().getActionGap());
- setVgap(getClientProfile().getActionGap());
+ actionsGridPane.setHgap(getClientProfile().getActionGap());
+ actionsGridPane.setVgap(getClientProfile().getActionGap());
if(isFreshRender)
{
@@ -165,7 +173,7 @@ public class ActionGridPane extends Grid
{
if(folderBackButton != null)
{
- getChildren().remove(folderBackButton);
+ actionsGridPane.getChildren().remove(folderBackButton);
folderBackButton = null;
actionBoxes[0][0] = addBlankActionBox(0,0);
@@ -177,16 +185,16 @@ public class ActionGridPane extends Grid
if(folderBackButton != null)
{
- getChildren().remove(folderBackButton);
+ actionsGridPane.getChildren().remove(folderBackButton);
folderBackButton = null;
}
else
{
- getChildren().remove(actionBoxes[0][0]);
+ actionsGridPane.getChildren().remove(actionBoxes[0][0]);
}
folderBackButton = getFolderBackButton();
- add(folderBackButton, 0,0);
+ actionsGridPane.add(folderBackButton, 0,0);
}
for(int row = 0; row<rows; row++)
@@ -245,7 +253,7 @@ public class ActionGridPane extends Grid
public void clear()
{
- getChildren().clear();
+ actionsGridPane.getChildren().clear();
}
private Logger logger;
@@ -267,13 +275,13 @@ public class ActionGridPane extends Grid
actionBox.setStreamPiParent(currentParent);
- add(actionBox, col, row);
+ actionsGridPane.add(actionBox, col, row);
return actionBox;
}
public void toggleOffAllToggleActions()
{
- for(Node each : getChildren())
+ for(Node each : actionsGridPane.getChildren())
{
if(each instanceof ActionBox)
{
--- 'a/src/main/java/module-info.java'
+++ b/src/main/java/module-info.java
@@ -10,6 +10,7 @@ module com.stream_pi.client {
requires com.gluonhq.attach.storage;
requires com.gluonhq.attach.browser;
requires com.gluonhq.attach.vibration;
+ requires com.gluonhq.attach.orientation;
requires java.xml;
--- 'a/src/main/resources/com/stream_pi/client/style.css'
+++ b/src/main/resources/com/stream_pi/client/style.css
@@ -112,7 +112,11 @@
.first_time_use_pane
{
-fx-background-color:white;
- -fx-padding : 5;
+}
+
+.action_grid_pane_parent
+{
+ -fx-background-color:transparent;
}
.first_time_use_pane_heading_label