Added "Copy and Send" capability

additionally added context menu to delete a contact, currently without
function
This commit is contained in:
delvh 2020-06-23 18:32:34 +02:00
parent e347c2fae1
commit 4ad61e3152
2 changed files with 39 additions and 2 deletions

View File

@ -63,6 +63,9 @@ public final class ChatScene {
@FXML
private Label remainingChars;
@FXML
private MenuItem deleteContactMenuItem;
private LocalDB localDB;
private Client client;
private WriteProxy writeProxy;
@ -176,6 +179,7 @@ public final class ChatScene {
.orElseGet(() -> { final var chat = new Chat(user); localDB.getChats().add(chat); return chat; });
messageList.setItems(FXCollections.observableList(currentChat.getMessages()));
deleteContactMenuItem.setText("Delete " + user.getName());
// Read the current chat
try {
@ -330,4 +334,21 @@ public final class ChatScene {
@FXML
private void quoteMessage() {}
@FXML
private void deleteContact() {
// TODO: Fill with content
userList.getSelectionModel().getSelectedItem();
}
@FXML
private void copyAndPostMessage() {
final var messageText = messageTextArea.getText();
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(messageText), null);
postMessage();
messageTextArea.setText(messageText);
updateRemainingCharsLabel();
postButton.setDisable(messageText.isBlank());
}
}

View File

@ -31,7 +31,15 @@
</GridPane.margin>
<padding>
<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
</padding></ListView>
</padding>
<contextMenu>
<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
<items>
<MenuItem fx:id="deleteContactMenuItem" mnemonicParsing="false" text="Delete" onAction="#deleteContact"/>
</items>
</ContextMenu>
</contextMenu>
</ListView>
<Label fx:id="contactLabel" prefHeight="16.0" prefWidth="250.0" text="Select a contact to chat with" GridPane.columnSpan="2">
<GridPane.margin>
<Insets bottom="5.0" left="10.0" right="5.0" top="10.0" />
@ -72,7 +80,15 @@
</padding>
<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 &quot;Alt&quot; + &quot;P&quot;." wrapText="true" />
</tooltip></Button>
</tooltip>
<contextMenu>
<ContextMenu anchorLocation="CONTENT_TOP_LEFT">
<items>
<MenuItem mnemonicParsing="false" text="Copy and Send" onAction="#copyAndPostMessage"/>
</items>
</ContextMenu>
</contextMenu>
</Button>
<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="3">
<GridPane.margin>
<Insets bottom="10.0" left="5.0" right="5.0" top="5.0" />