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-03-26 20:23:25 +01:00
<?import javafx.scene.control.Button?>
2020-07-03 23:32:22 +02:00
<?import javafx.scene.control.ButtonBar?>
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-03-26 20:23:25 +01:00
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
2020-07-05 12:04:25 +02:00
<GridPane hgap="5.0" maxHeight="-Infinity" maxWidth="-Infinity"
minHeight="400.0" minWidth="350.0" prefHeight="400.0" prefWidth="600.0"
vgap="2.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-05 12:04:25 +02:00
<ColumnConstraints hgrow="NEVER" minWidth="60.0"
prefWidth="160.0" />
<ColumnConstraints hgrow="ALWAYS"
maxWidth="1.7976931348623157E308" minWidth="10.0" prefWidth="357.0" />
2020-03-26 20:23:25 +01:00
</columnConstraints>
<rowConstraints>
2020-07-05 12:04:25 +02:00
<RowConstraints maxHeight="-Infinity"
minHeight="-Infinity" prefHeight="50.0" vgrow="NEVER" />
<RowConstraints maxHeight="-Infinity"
minHeight="-Infinity" prefHeight="20.0" vgrow="NEVER" />
<RowConstraints maxHeight="1.7976931348623157E308"
minHeight="50.0" prefHeight="155.14286150251115" vgrow="ALWAYS" />
<RowConstraints maxHeight="-Infinity"
minHeight="-Infinity" prefHeight="20.0" vgrow="NEVER" />
<RowConstraints maxHeight="120.0" minHeight="40.0"
prefHeight="60.0" vgrow="NEVER" />
<RowConstraints maxHeight="-Infinity"
minHeight="-Infinity" prefHeight="40.0" vgrow="NEVER" />
2020-03-26 20:23:25 +01:00
</rowConstraints>
<children>
2020-07-05 12:04:25 +02:00
<ListView fx:id="userList" onMouseClicked="#userListClicked"
prefHeight="211.0" prefWidth="300.0" GridPane.rowIndex="1"
GridPane.rowSpan="2147483647">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-06-28 22:30:14 +02:00
<Insets bottom="10.0" left="10.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<contextMenu>
<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
<items>
2020-07-05 12:04:25 +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-05 12:04:25 +02:00
<Label fx:id="contactLabel" prefHeight="27.0" prefWidth="134.0"
GridPane.columnSpan="2">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-06-28 22:30:14 +02:00
<Insets left="10.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Label>
2020-07-05 12:04:25 +02:00
<Button fx:id="settingsButton" mnemonicParsing="true"
onAction="#settingsButtonClicked" text="_Settings"
GridPane.columnIndex="1" GridPane.halignment="RIGHT"
GridPane.valignment="CENTER">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-06-28 22:30:14 +02:00
<Insets bottom="10.0" right="10.0" top="10.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Button>
2020-07-05 12:04:25 +02:00
<ListView fx:id="messageList" prefHeight="257.0"
prefWidth="465.0" GridPane.columnIndex="1"
GridPane.columnSpan="2147483647" GridPane.rowIndex="1"
GridPane.rowSpan="2">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-06-28 22:30:14 +02:00
<Insets left="5.0" right="10.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<contextMenu>
<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
<items>
2020-07-05 12:04:25 +02:00
<MenuItem mnemonicParsing="false" onAction="#copyMessage"
text="Copy" />
<MenuItem mnemonicParsing="false"
onAction="#deleteMessage" text="Delete" />
<MenuItem mnemonicParsing="false"
onAction="#forwardMessage" text="Forward" />
<MenuItem mnemonicParsing="false"
onAction="#quoteMessage" text="Quote" />
<MenuItem mnemonicParsing="false"
onAction="#loadMessageInfoScene" text="Info" />
2020-06-26 17:33:32 +02:00
</items>
</ContextMenu>
</contextMenu>
</ListView>
2020-07-05 12:04:25 +02:00
<ButtonBar prefWidth="436.0" GridPane.columnIndex="1"
GridPane.halignment="CENTER" GridPane.rowIndex="5"
GridPane.valignment="BOTTOM">
<GridPane.margin>
<Insets right="10.0" top="5.0" />
</GridPane.margin>
<buttons>
2020-07-05 12:21:07 +02:00
<Button fx:id="voiceButton" disable="true"
onAction="#voiceButtonClicked" text="_Record Voice Message" />
2020-07-05 12:04:25 +02:00
<Button fx:id="postButton" defaultButton="true"
disable="true" mnemonicParsing="true" onAction="#postMessage"
prefHeight="10.0" prefWidth="75.0" text="_Post">
<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>
</buttons>
</ButtonBar>
<TextArea fx:id="messageTextArea" disable="true"
onInputMethodTextChanged="#messageTextUpdated"
onKeyPressed="#checkPostConditions" onKeyTyped="#checkKeyCombination"
prefHeight="200.0" prefWidth="200.0" wrapText="true"
GridPane.columnIndex="1" GridPane.rowIndex="4">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
2020-07-03 23:32:22 +02:00
<Insets bottom="10.0" left="5.0" right="10.0" top="3.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
<opaqueInsets>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</opaqueInsets>
</TextArea>
2020-07-05 12:04:25 +02:00
<Button mnemonicParsing="true"
onAction="#addContactButtonClicked" text="_Add Contacts"
GridPane.halignment="CENTER" GridPane.rowIndex="5"
GridPane.valignment="CENTER">
2020-06-26 17:33:32 +02:00
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
<GridPane.margin>
2020-07-03 23:32:22 +02:00
<Insets bottom="10.0" left="10.0" right="5.0" top="5.0" />
2020-06-26 17:33:32 +02:00
</GridPane.margin>
</Button>
2020-07-05 12:04:25 +02:00
<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"
GridPane.columnIndex="1" GridPane.rowIndex="3">
2020-06-26 17:33:32 +02:00
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
<padding>
2020-06-28 22:30:14 +02:00
<Insets bottom="5.0" top="5.0" />
2020-06-26 17:33:32 +02:00
</padding>
<opaqueInsets>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</opaqueInsets>
<tooltip>
2020-07-05 12:04:25 +02:00
<Tooltip
text="Shows how many chars you can still enter in this message"
wrapText="true" />
2020-06-26 17:33:32 +02:00
</tooltip>
</Label>
2020-07-05 12:04:25 +02:00
<Label fx:id="infoLabel" text="Something happened"
textFill="#faa007" visible="false" wrapText="true"
GridPane.columnIndex="1" GridPane.rowIndex="1">
2020-06-26 23:16:03 +02:00
<GridPane.margin>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</GridPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding>
</Label>
2020-03-26 20:23:25 +01:00
</children>
</GridPane>