2020-03-26 20:23:25 +01:00
<?xml version="1.0" encoding="UTF-8"?>
2020-06-06 18:33:24 +02:00
<?import javafx.geometry.Insets?>
2020-07-05 23:25:07 +02:00
<?import javafx.geometry.Rectangle2D?>
2020-03-26 20:23:25 +01:00
<?import javafx.scene.control.Button?>
2020-06-22 22:51:10 +02:00
<?import javafx.scene.control.ContextMenu?>
2020-03-26 20:23:25 +01:00
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ListView?>
2020-06-22 22:51:10 +02:00
<?import javafx.scene.control.MenuItem?>
2020-03-27 21:14:49 +01:00
<?import javafx.scene.control.TextArea?>
2020-06-18 22:20:34 +02:00
<?import javafx.scene.control.Tooltip?>
2020-07-05 23:25:07 +02:00
<?import javafx.scene.image.ImageView?>
2020-03-26 20:23:25 +01:00
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
2020-07-16 17:28:00 +02:00
<?import javafx.scene.layout.HBox?>
2020-07-16 21:13:46 +02:00
<?import javafx.scene.layout.Region?>
2020-03-26 20:23:25 +01:00
<?import javafx.scene.layout.RowConstraints?>
2020-07-16 21:13:46 +02:00
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
2020-03-26 20:23:25 +01:00
2020-07-17 17:02:58 +02:00
<GridPane fx:id="scene" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="400.0" minWidth="500.0" prefHeight="1152.0" prefWidth="2042.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="envoy.client.ui.controller.ChatScene">
2020-03-26 20:23:25 +01:00
<columnConstraints>
2020-07-17 17:02:58 +02:00
<ColumnConstraints hgrow="NEVER" maxWidth="327.99997965494794" minWidth="-Infinity" prefWidth="317.0" />
<ColumnConstraints hgrow="ALWAYS" maxWidth="1.7976931348623157E308" />
2020-03-26 20:23:25 +01:00
</columnConstraints>
<rowConstraints>
2020-07-16 21:13:46 +02:00
<RowConstraints maxHeight="122.00000508626302" minHeight="-Infinity" prefHeight="96.66666158040364" vgrow="NEVER" />
<RowConstraints maxHeight="1.7976931348623157E308" minHeight="50.0" prefHeight="949.3333384195963" vgrow="ALWAYS" />
2020-07-16 17:28:00 +02:00
<RowConstraints maxHeight="59.3333740234375" minHeight="-Infinity" prefHeight="22.666748046875" vgrow="NEVER" />
2020-07-17 17:02:58 +02:00
<RowConstraints maxHeight="120.0" minHeight="-Infinity" prefHeight="83.333251953125" vgrow="NEVER" />
2020-03-26 20:23:25 +01:00
</rowConstraints>
<children>
2020-07-16 21:52:07 +02:00
<ListView id="chatList" fx:id="chatList" focusTraversable="false" onMouseClicked="#chatListClicked" prefHeight="211.0" prefWidth="300.0" GridPane.rowIndex="1" GridPane.rowSpan="2147483647">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-07-16 21:52:07 +02:00
<Insets right="1.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<padding>
2020-07-10 20:53:28 +02:00
<Insets bottom="5.0" left="5.0" right="2.0" top="5.0" />
2020-06-26 17:33:32 +02:00
</padding>
<contextMenu>
<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
<items>
2020-07-16 17:28:00 +02:00
<MenuItem fx:id="deleteContactMenuItem" mnemonicParsing="false" onAction="#deleteContact" text="Delete" />
2020-06-26 17:33:32 +02:00
</items>
</ContextMenu>
</contextMenu>
</ListView>
2020-07-16 21:13:46 +02:00
<HBox id="topBar" alignment="CENTER_LEFT" prefHeight="100.0">
<children>
2020-07-17 13:56:36 +02:00
<ImageView id="profilePic" fx:id="clientProfilePic" fitHeight="43.0" fitWidth="43.0" pickOnBounds="true" preserveRatio="true">
<HBox.margin>
<Insets left="15.0" top="5.0" />
</HBox.margin>
</ImageView>
2020-07-16 21:13:46 +02:00
<Label id="transparentBackground" fx:id="contactLabel" prefHeight="27.0" prefWidth="134.0">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<font>
<Font size="18.0" />
</font>
2020-07-17 13:56:36 +02:00
<HBox.margin>
<Insets left="10.0" top="5.0" />
</HBox.margin>
2020-07-16 21:13:46 +02:00
</Label>
<Region id="transparentBackground" prefHeight="77.0" prefWidth="115.0" />
<VBox id="transparentBackground" alignment="CENTER_RIGHT" prefHeight="200.0" prefWidth="100.0" spacing="5.0">
<children>
<Button fx:id="settingsButton" mnemonicParsing="true" onAction="#settingsButtonClicked" text="">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<VBox.margin>
<Insets />
</VBox.margin>
</Button>
<Button mnemonicParsing="true" onAction="#addContactButtonClicked" text=" + ">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Button>
</children>
<HBox.margin>
<Insets right="10.0" />
</HBox.margin>
<opaqueInsets>
<Insets />
</opaqueInsets>
</VBox>
</children>
<GridPane.margin>
2020-07-16 21:52:07 +02:00
<Insets bottom="1.0" right="1.0" />
2020-07-16 21:13:46 +02:00
</GridPane.margin>
</HBox>
2020-07-16 21:52:07 +02:00
<ListView id="messageList" fx:id="messageList" focusTraversable="false" GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.rowIndex="1" GridPane.rowSpan="2">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-07-16 17:28:00 +02:00
<Insets />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<padding>
2020-07-16 21:13:46 +02:00
<Insets bottom="5.0" left="300.0" right="300.0" top="5.0" />
2020-06-26 17:33:32 +02:00
</padding>
</ListView>
2020-07-17 17:02:58 +02:00
<HBox alignment="CENTER" GridPane.columnIndex="1" GridPane.rowIndex="3">
2020-07-16 17:28:00 +02:00
<children>
2020-07-17 17:02:58 +02:00
<Label id="messageEnterContainer" alignment="CENTER" minWidth="500.0" prefHeight="100.0" prefWidth="1300.0">
2020-07-16 18:17:52 +02:00
<graphic>
2020-07-17 17:02:58 +02:00
<TextArea id="messageEnter" fx:id="messageTextArea" disable="true" onInputMethodTextChanged="#messageTextUpdated" onKeyPressed="#checkPostConditions" onKeyTyped="#checkKeyCombination" prefHeight="100.0" prefWidth="1250.0" promptText="Enter Message" wrapText="true">
2020-07-16 18:17:52 +02:00
<opaqueInsets>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</opaqueInsets>
<padding>
<Insets left="17.0" right="17.0" />
</padding>
</TextArea>
</graphic>
</Label>
2020-07-17 17:02:58 +02:00
<HBox prefHeight="38.0" prefWidth="100.0" spacing="5.0">
<children>
<Button id="roundButton" fx:id="postButton" defaultButton="true" disable="true" minWidth="40.0" mnemonicParsing="true" onAction="#postMessage" prefHeight="40.0" prefWidth="40.0" text="Post">
2020-07-16 17:28:00 +02:00
<tooltip>
<Tooltip anchorLocation="WINDOW_TOP_LEFT" autoHide="true" maxWidth="350.0" text="Click this button to send the message. If it is disabled, you first have to select a contact to send it to. A message may automatically be sent when you press (Ctrl + ) Enter, according to your preferences. Additionally sends a message when pressing "Alt" + "P"." wrapText="true" />
</tooltip>
<contextMenu>
<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
<items>
<MenuItem mnemonicParsing="false" onAction="#copyAndPostMessage" text="Copy and Send" />
</items>
</ContextMenu>
</contextMenu>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Button>
2020-07-17 17:02:58 +02:00
<Button id="roundButton" fx:id="voiceButton" disable="true" minWidth="40.0" onAction="#voiceButtonClicked" prefHeight="40.0" prefWidth="40.0">
2020-07-16 17:28:00 +02:00
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Button>
2020-07-17 17:02:58 +02:00
<Button id="roundButton" fx:id="attachmentButton" disable="true" minWidth="40.0" mnemonicParsing="false" onAction="#attachmentButtonClicked" prefHeight="40.0" prefWidth="40.0">
2020-07-16 17:28:00 +02:00
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Button>
2020-07-17 17:02:58 +02:00
<Button id="roundButton" fx:id="rotateButton" minWidth="40.0" mnemonicParsing="false" onAction="#doABarrelRoll" prefHeight="40.0" prefWidth="40.0">
2020-07-16 17:28:00 +02:00
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Button>
2020-07-17 17:02:58 +02:00
</children>
<HBox.margin>
<Insets left="5.0" />
</HBox.margin>
</HBox>
2020-07-16 17:28:00 +02:00
</children>
<GridPane.margin>
2020-07-17 17:02:58 +02:00
<Insets bottom="40.0" left="300.0" right="300.0" top="15.0" />
2020-07-16 17:28:00 +02:00
</GridPane.margin>
</HBox>
2020-07-17 13:56:36 +02:00
<HBox prefHeight="100.0" prefWidth="200.0" GridPane.columnIndex="1" GridPane.rowIndex="2">
<children>
<Label id="remainingCharsLabel" fx:id="remainingChars" ellipsisString="" maxHeight="30.0" maxWidth="180.0" prefHeight="30.0" prefWidth="180.0" text="remaining chars: 0/x" textFill="LIME" textOverrun="LEADING_WORD_ELLIPSIS" visible="false">
<padding>
<Insets bottom="5.0" top="5.0" />
</padding>
<opaqueInsets>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</opaqueInsets>
<tooltip>
<Tooltip text="Shows how many chars you can still enter in this message" wrapText="true" />
</tooltip>
</Label>
<Label fx:id="infoLabel" text="Something happened" textFill="#faa007" visible="false" wrapText="true">
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Label>
</children>
</HBox>
2020-07-16 17:28:00 +02:00
<ImageView fx:id="attachmentView" pickOnBounds="true" preserveRatio="true" visible="false" GridPane.columnIndex="1" GridPane.columnSpan="2147483647" GridPane.halignment="RIGHT" GridPane.rowIndex="2">
2020-07-05 23:25:07 +02:00
<viewport>
<Rectangle2D height="20.0" width="20.0" />
</viewport>
<GridPane.margin>
<Insets bottom="5.0" right="10.0" top="5.0" />
</GridPane.margin>
</ImageView>
2020-07-16 21:13:46 +02:00
<HBox id="topBar" alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" GridPane.columnIndex="1">
<children>
2020-07-17 13:56:36 +02:00
<ImageView id="profilePic" fx:id="recipientProfilePic" fitHeight="43.0" fitWidth="43.0" pickOnBounds="true" preserveRatio="true">
<HBox.margin>
<Insets left="20.0" top="5.0" />
</HBox.margin>
</ImageView>
2020-07-16 21:13:46 +02:00
<VBox alignment="CENTER_LEFT" prefHeight="97.0" prefWidth="316.0">
<children>
<Label fx:id="topBarContactLabel" text="">
<font>
<Font size="18.0" />
</font>
</Label>
<Label fx:id="topBarStatusLabel" text="" />
</children>
<HBox.margin>
2020-07-17 13:56:36 +02:00
<Insets left="15.0" />
2020-07-16 21:13:46 +02:00
</HBox.margin>
</VBox>
<Region prefHeight="200.0" prefWidth="200.0" HBox.hgrow="ALWAYS" />
2020-07-16 21:52:07 +02:00
<Button id="roundButton" fx:id="messageSearchButton" contentDisplay="CENTER" mnemonicParsing="false" prefHeight="40.0" prefWidth="40.0" visible="false">
2020-07-16 21:13:46 +02:00
<HBox.margin>
<Insets right="20.0" />
</HBox.margin>
</Button>
</children>
</HBox>
2020-03-26 20:23:25 +01:00
</children>
</GridPane>