Implemented some suggestions made by @delvh
This commit is contained in:
parent
0b0b240fb1
commit
4b3fa65822
@ -140,10 +140,10 @@ public final class ChatScene implements Restorable {
|
||||
userList.getItems().remove(chat);
|
||||
userList.getItems().add(0, chat);
|
||||
if (chat.equals(currentChat)) userList.getSelectionModel().select(0);
|
||||
userList.refresh();
|
||||
localDB.getChats().remove(chat);
|
||||
localDB.getChats().add(0, chat);
|
||||
});
|
||||
userList.refresh();
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -1,9 +1,8 @@
|
||||
package envoy.client.ui.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.fxml.FXML;
|
||||
@ -64,10 +63,8 @@ public class ContactSearchScene {
|
||||
searchBar.setClearButtonListener(e -> { searchBar.getTextField().clear(); contactList.getItems().clear(); });
|
||||
eventBus.register(ContactSearchResult.class,
|
||||
response -> Platform.runLater(() -> {
|
||||
List<Chat> chats = new ArrayList<Chat>();
|
||||
response.get().stream().forEach(r -> chats.add(new Chat(r)));
|
||||
contactList.getItems().clear();
|
||||
contactList.getItems().addAll(chats);
|
||||
contactList.getItems().addAll(response.get().stream().map(Chat::new).collect(Collectors.toList()));
|
||||
}));
|
||||
}
|
||||
|
||||
@ -117,7 +114,7 @@ public class ContactSearchScene {
|
||||
eventBus.dispatch(new SendEvent(event));
|
||||
// Updates the UI
|
||||
eventBus.dispatch(event);
|
||||
logger.log(Level.INFO, "Added contact " + chat);
|
||||
logger.log(Level.INFO, "Added contact " + chat.getRecipient());
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import javafx.geometry.Pos;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.layout.*;
|
||||
|
||||
import envoy.client.data.Chat;
|
||||
import envoy.data.Contact;
|
||||
import envoy.data.Group;
|
||||
import envoy.data.User;
|
||||
@ -24,20 +25,20 @@ public class ChatControl extends HBox {
|
||||
* @param contact the contact that should be formatted
|
||||
* @since Envoy Client v0.1-beta
|
||||
*/
|
||||
public ChatControl(Contact contact, int unreadMessagesAmount) {
|
||||
public ChatControl(Chat chat, int unreadMessagesAmount) {
|
||||
// Container with contact name
|
||||
final var vBox = new VBox();
|
||||
final var nameLabel = new Label(contact.getName());
|
||||
final var nameLabel = new Label(chat.getRecipient().getName());
|
||||
nameLabel.setWrapText(true);
|
||||
vBox.getChildren().add(nameLabel);
|
||||
if (contact instanceof User) {
|
||||
if (chat.getRecipient() instanceof User) {
|
||||
// Online status
|
||||
final var user = (User) contact;
|
||||
final var user = (User) chat.getRecipient();
|
||||
final var statusLabel = new Label(user.getStatus().toString());
|
||||
statusLabel.getStyleClass().add(user.getStatus().toString().toLowerCase());
|
||||
vBox.getChildren().add(statusLabel);
|
||||
} else // Member count
|
||||
vBox.getChildren().add(new Label(((Group) contact).getContacts().size() + " members"));
|
||||
vBox.getChildren().add(new Label(((Group) chat.getRecipient()).getContacts().size() + " members"));
|
||||
|
||||
getChildren().add(vBox);
|
||||
if (unreadMessagesAmount != 0) {
|
||||
|
@ -36,7 +36,7 @@ public class ContactListCellFactory extends ListCell<Chat> {
|
||||
setText(null);
|
||||
setGraphic(null);
|
||||
} else {
|
||||
final var control = new ChatControl(chat.getRecipient(), chat.getUnreadAmount());
|
||||
final var control = new ChatControl(chat, chat.getUnreadAmount());
|
||||
prefWidthProperty().bind(listView.widthProperty().subtract(40));
|
||||
setGraphic(control);
|
||||
}
|
||||
|
Reference in New Issue
Block a user