server
Clone or download
Modified Files
--- 'a/src/main/java/com/stream_pi/server/client/Client.java'
+++ b/src/main/java/com/stream_pi/server/client/Client.java
@@ -19,6 +19,7 @@ package com.stream_pi.server.client;
import com.stream_pi.util.platform.Platform;
import com.stream_pi.util.platform.ReleaseStatus;
import com.stream_pi.util.version.Version;
+import javafx.geometry.Orientation;
import java.net.SocketAddress;
import java.util.ArrayList;
@@ -44,7 +45,11 @@ public class Client
private String defaultProfileID;
private String defaultThemeFullName;
- public Client(Version version, ReleaseStatus releaseStatus, Version commStandardVersion, Version themeAPIVersion, String nickName, Platform platform, SocketAddress remoteSocketAddress)
+ private Orientation orientation;
+
+ public Client(Version version, ReleaseStatus releaseStatus, Version commStandardVersion,
+ Version themeAPIVersion, String nickName, Platform platform, SocketAddress remoteSocketAddress,
+ Orientation orientation)
{
this.version = version;
this.releaseStatus = releaseStatus;
@@ -55,6 +60,7 @@ public class Client
this.platform = platform;
this.profiles = new HashMap<>();
this.themes = new HashMap<>();
+ this.orientation = orientation;
}
public ReleaseStatus getReleaseStatus() {
@@ -187,4 +193,13 @@ public class Client
return (int) (displayWidth / eachActionSize);
}
+ public void setOrientation(Orientation orientation)
+ {
+ this.orientation = orientation;
+ }
+
+ public Orientation getOrientation()
+ {
+ return orientation;
+ }
}
--- 'a/src/main/java/com/stream_pi/server/connection/ClientConnection.java'
+++ b/src/main/java/com/stream_pi/server/connection/ClientConnection.java
@@ -27,6 +27,7 @@ import com.stream_pi.util.platform.Platf
import com.stream_pi.util.platform.ReleaseStatus;
import com.stream_pi.util.version.Version;
import javafx.concurrent.Task;
+import javafx.geometry.Orientation;
import java.io.*;
import java.net.Socket;
@@ -196,7 +197,8 @@ public class ClientConnection extends Th
throw new MinorException(errTxt);
}
- client = new Client(clientVersion, releaseStatus, commsStandard, themesStandard, ar[4], Platform.valueOf(ar[7]), socket.getRemoteSocketAddress());
+ client = new Client(clientVersion, releaseStatus, commsStandard, themesStandard, ar[4],
+ Platform.valueOf(ar[7]), socket.getRemoteSocketAddress(), Orientation.valueOf(ar[10]));
client.setDisplayWidth(Double.parseDouble(ar[5]));
client.setDisplayHeight(Double.parseDouble(ar[6]));
@@ -286,6 +288,9 @@ public class ClientConnection extends Th
case "action_clicked": onActionClicked(message);
break;
+ case "client_orientation": updateClientOrientation(message);
+ break;
+
default: logger.warning("Command '"+header+"' does not match records. Make sure client and server versions are equal.");
@@ -325,6 +330,12 @@ public class ClientConnection extends Th
// commands
+ private void updateClientOrientation(Message message) throws MinorException
+ {
+ getClient().setOrientation(Orientation.valueOf(message.getStringValue()));
+ javafx.application.Platform.runLater(()-> serverListener.getDashboardBase().reDrawProfile());
+ }
+
private void onActionIconReceived(Message message) throws MinorException
{
String[] s = message.getStringArrValue();
--- 'a/src/main/java/com/stream_pi/server/io/Config.java'
+++ b/src/main/java/com/stream_pi/server/io/Config.java
@@ -42,13 +42,17 @@ public class Config
private Document document;
- private Config() throws SevereException {
- try {
+ private Config() throws SevereException
+ {
+ try
+ {
configFile = new File(ServerInfo.getInstance().getPrePath()+"config.xml");
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
document = docBuilder.parse(configFile);
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace();
throw new SevereException("Config", "Unable to read config.xml\n"+e.getMessage());
}
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/DashboardBase.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/DashboardBase.java
@@ -119,6 +119,11 @@ public class DashboardBase extends Split
drawProfile(this.currentClientProfile);
}
+ public void reDrawProfile()
+ {
+ drawProfile(getActionGridPane().getCurrentProfile());
+ }
+
public void drawProfile(ClientProfile clientProfile)
{
logger.info("Drawing ...");
@@ -135,8 +140,6 @@ public class DashboardBase extends Split
{
exceptionAndAlertHandler.handleSevereException(e);
}
-
-
}
public SplitPane getLeftSplitPane()
--- 'a/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPane.java'
+++ b/src/main/java/com/stream_pi/server/window/dashboard/actiongridpane/ActionGridPane.java
@@ -19,6 +19,7 @@ import com.stream_pi.server.window.dashb
import com.stream_pi.util.exception.MinorException;
import com.stream_pi.util.exception.SevereException;
import javafx.geometry.Insets;
+import javafx.geometry.Orientation;
import javafx.geometry.Pos;
import javafx.scene.CacheHint;
import javafx.scene.Node;
@@ -284,11 +285,20 @@ public class ActionGridPane extends Scro
isFreshRender = freshRender;
}
- public ActionBox addBlankActionBox(int col, int row) throws SevereException {
+ public ActionBox addBlankActionBox(int col, int row) throws SevereException
+ {
ActionBox actionBox = new ActionBox(Config.getInstance().getActionGridActionSize(), actionDetailsPaneListener, this,
col, row);
- actionsGridPane.add(actionBox, col, row);
+ if(getClient().getOrientation() == Orientation.HORIZONTAL)
+ {
+ actionsGridPane.add(actionBox, col, row);
+ }
+ else
+ {
+ actionsGridPane.add(actionBox, row, col);
+ }
+
return actionBox;
}