Implemented some requested changes
This commit is contained in:
		@@ -11,17 +11,18 @@ import envoy.client.util.IconUtil;
 | 
			
		||||
import envoy.data.User;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Displays a user as a quickSelectControl which is used in the quickSelectList.
 | 
			
		||||
 * Displays an {@link User} as a quickSelectControl which is used in the
 | 
			
		||||
 * quickSelectList.
 | 
			
		||||
 * 
 | 
			
		||||
 * @author Maximilian Käfer
 | 
			
		||||
 * @since Envoy Client v0.3-beta
 | 
			
		||||
 */
 | 
			
		||||
public class QuickSelectControl extends VBox {
 | 
			
		||||
 | 
			
		||||
	User user;
 | 
			
		||||
	private User user;
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Creates an instance of the {@link QuickSelectControl}.
 | 
			
		||||
	 * Creates an instance of the {@code QuickSelectControl}.
 | 
			
		||||
	 * 
 | 
			
		||||
	 * @param user the user whose data is used to create this instance.
 | 
			
		||||
	 * @param tab  the parent tab ({@link GroupCreationTab}).
 | 
			
		||||
@@ -49,7 +50,6 @@ public class QuickSelectControl extends VBox {
 | 
			
		||||
		clip.setArcHeight(32);
 | 
			
		||||
		clip.setArcWidth(32);
 | 
			
		||||
		contactProfilePic.setClip(clip);
 | 
			
		||||
		setAlignment(Pos.TOP_CENTER);
 | 
			
		||||
		picHold.getChildren().add(contactProfilePic);
 | 
			
		||||
		stackPane.getChildren().add(picHold);
 | 
			
		||||
 | 
			
		||||
@@ -59,7 +59,7 @@ public class QuickSelectControl extends VBox {
 | 
			
		||||
		hBox.setMinHeight(12);
 | 
			
		||||
		var region = new Region();
 | 
			
		||||
		hBox.getChildren().add(region);
 | 
			
		||||
		hBox.setHgrow(region, Priority.ALWAYS);
 | 
			
		||||
		HBox.setHgrow(region, Priority.ALWAYS);
 | 
			
		||||
 | 
			
		||||
		var removeBtn = new Button();
 | 
			
		||||
		removeBtn.setPrefSize(12, 12);
 | 
			
		||||
@@ -85,7 +85,7 @@ public class QuickSelectControl extends VBox {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @return the user whose data is used in this instance.
 | 
			
		||||
	 * @return the user whose data is used in this instance
 | 
			
		||||
	 * @since Envoy Client v0.3-beta
 | 
			
		||||
	 */
 | 
			
		||||
	public User getUser() { return user; }
 | 
			
		||||
 
 | 
			
		||||
@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 | 
			
		||||
import javafx.application.Platform;
 | 
			
		||||
import javafx.fxml.FXML;
 | 
			
		||||
import javafx.scene.control.*;
 | 
			
		||||
import javafx.scene.input.MouseEvent;
 | 
			
		||||
import javafx.scene.layout.HBox;
 | 
			
		||||
 | 
			
		||||
import envoy.client.data.*;
 | 
			
		||||
@@ -82,6 +83,7 @@ public class GroupCreationTab implements EventListener {
 | 
			
		||||
				.map(User.class::cast)
 | 
			
		||||
				.collect(Collectors.toList()));
 | 
			
		||||
		resizeQuickSelectSpace(0);
 | 
			
		||||
		quickSelectList.addEventFilter(MouseEvent.MOUSE_PRESSED, evt -> evt.consume());
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
@@ -91,11 +93,13 @@ public class GroupCreationTab implements EventListener {
 | 
			
		||||
	 */
 | 
			
		||||
	@FXML
 | 
			
		||||
	private void userListClicked() {
 | 
			
		||||
		createButton.setDisable(userList.getSelectionModel().isEmpty() || groupNameField.getText().isBlank());
 | 
			
		||||
		quickSelectList.getItems().add(new QuickSelectControl(userList.getSelectionModel().getSelectedItem(), this));
 | 
			
		||||
		resizeQuickSelectSpace(60);
 | 
			
		||||
		userList.getItems().remove(userList.getSelectionModel().getSelectedItem());
 | 
			
		||||
		userList.getSelectionModel().clearSelection();
 | 
			
		||||
		if (userList.getSelectionModel().getSelectedItem() != null) {
 | 
			
		||||
			quickSelectList.getItems().add(new QuickSelectControl(userList.getSelectionModel().getSelectedItem(), this));
 | 
			
		||||
			createButton.setDisable(quickSelectList.getItems().isEmpty() || groupNameField.getText().isBlank());
 | 
			
		||||
			resizeQuickSelectSpace(60);
 | 
			
		||||
			userList.getItems().remove(userList.getSelectionModel().getSelectedItem());
 | 
			
		||||
			userList.getSelectionModel().clearSelection();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
@@ -105,7 +109,7 @@ public class GroupCreationTab implements EventListener {
 | 
			
		||||
	 * @since Envoy Client v0.1-beta
 | 
			
		||||
	 */
 | 
			
		||||
	@FXML
 | 
			
		||||
	private void textUpdated() { createButton.setDisable(quickSelectList.getItems().size() == 0 || groupNameField.getText().isBlank()); }
 | 
			
		||||
	private void textUpdated() { createButton.setDisable(quickSelectList.getItems().isEmpty() || groupNameField.getText().isBlank()); }
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Sends a {@link GroupCreation} to the server and closes this scene.
 | 
			
		||||
@@ -173,7 +177,7 @@ public class GroupCreationTab implements EventListener {
 | 
			
		||||
	public void removeFromQuickSelection(QuickSelectControl element) {
 | 
			
		||||
		quickSelectList.getItems().remove(element);
 | 
			
		||||
		userList.getItems().add(element.getUser());
 | 
			
		||||
		if (quickSelectList.getItems().size() == 0) {
 | 
			
		||||
		if (quickSelectList.getItems().isEmpty()) {
 | 
			
		||||
			resizeQuickSelectSpace(0);
 | 
			
		||||
			createButton.setDisable(true);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user