diff --git a/src/main/java/ch/hepia/ui/MainWindowController.java b/src/main/java/ch/hepia/ui/MainWindowController.java index 3567d7bfdc86c97afddcf6e9e1d541e55c7267e1..cc9acea72f67d8d721575ca66282032f81a7eed3 100644 --- a/src/main/java/ch/hepia/ui/MainWindowController.java +++ b/src/main/java/ch/hepia/ui/MainWindowController.java @@ -6,6 +6,7 @@ import ch.hepia.api.transport.LinkAPI; import ch.hepia.api.transport.Section; import ch.hepia.config.AppContext; import ch.hepia.events.ChatMessage; +import ch.hepia.models.User; import javafx.animation.TranslateTransition; import javafx.application.Platform; import javafx.beans.value.ChangeListener; @@ -19,6 +20,7 @@ import javafx.scene.image.Image; import javafx.scene.input.KeyCode; import javafx.scene.layout.Background; import javafx.scene.paint.Color; +import javafx.scene.text.TextAlignment; import javafx.util.Duration; import org.json.JSONArray; @@ -108,8 +110,7 @@ public class MainWindowController implements Initializable { private void drawConnection(Connection connection, int x, int y){ List<Section> sections = connection.getSections(); connectionCanvas.getGraphicsContext2D().setFill(Color.RED); - - System.out.println(sections.size()); + for (int i = 0; i < sections.size(); i++){ connectionCanvas.getGraphicsContext2D().strokeLine( x + (622 / sections.size()) * (i), y, 622 / sections.size(), y); @@ -122,7 +123,11 @@ public class MainWindowController implements Initializable { } } - private void drawMessage(String message){ + /** + * Draws a newly received message + * @param message The message to draw + */ + private void drawMessage(User user, String message){ Pane p = new Pane(); p.setMaxWidth(326); @@ -130,6 +135,9 @@ public class MainWindowController implements Initializable { msg.setWrapText(true); msg.setStyle("-fx-padding: 8px"); msg.setText(message); + if (Main.getContext().getUser().isPresent() && !user.equals(Main.getContext().getUser().get())){ + msg.setTextAlignment(TextAlignment.RIGHT); + } msg.setMaxWidth(310); p.getChildren().add(msg); @@ -137,6 +145,9 @@ public class MainWindowController implements Initializable { chatContainer.getChildren().add(p); } + /** + * Moves the older messages downwards + */ private void insertMessageIntoQueue(){ for (int i = 0; i < chatContainer.getChildren().size(); i++){ Pane sp = (Pane) chatContainer.getChildren().get(i); @@ -208,7 +219,7 @@ public class MainWindowController implements Initializable { chatMessage -> { Platform.runLater(() -> { String message = chatMessage.getUser().toString() + ": " + chatMessage.getMessage(); - drawMessage(message); + drawMessage(chatMessage.getUser(), message); }); }, chatMessage -> !(app.getUser().get().getIgnoredUserList().contains(chatMessage.getUser()))