Display Current User Status and Unread Message Amount in Status Tray Icon #103
@@ -107,9 +107,6 @@ public final class ChatScene implements EventListener, Restorable {
 | 
				
			|||||||
	@FXML
 | 
						@FXML
 | 
				
			||||||
	private TextArea contactSearch;
 | 
						private TextArea contactSearch;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@FXML
 | 
					 | 
				
			||||||
	private VBox contactOperations;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	@FXML
 | 
						@FXML
 | 
				
			||||||
	private TabPane tabPane;
 | 
						private TabPane tabPane;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -125,9 +122,6 @@ public final class ChatScene implements EventListener, Restorable {
 | 
				
			|||||||
	@FXML
 | 
						@FXML
 | 
				
			||||||
	private HBox ownContactControl;
 | 
						private HBox ownContactControl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@FXML
 | 
					 | 
				
			||||||
	private Region spaceBetweenUserAndSettingsButton;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	private Chat				currentChat;
 | 
						private Chat				currentChat;
 | 
				
			||||||
	private FilteredList<Chat>	chats;
 | 
						private FilteredList<Chat>	chats;
 | 
				
			||||||
	private Attachment			pendingAttachment;
 | 
						private Attachment			pendingAttachment;
 | 
				
			||||||
@@ -175,7 +169,7 @@ public final class ChatScene implements EventListener, Restorable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		// Set the icons of buttons and image views
 | 
							// Set the icons of buttons and image views
 | 
				
			||||||
		settingsButton.setGraphic(
 | 
							settingsButton.setGraphic(
 | 
				
			||||||
			new ImageView(IconUtil.loadIconThemeSensitive("settings", DEFAULT_ICON_SIZE)));
 | 
								new ImageView(IconUtil.loadIconThemeSensitive("settings", 22)));
 | 
				
			||||||
		voiceButton.setGraphic(
 | 
							voiceButton.setGraphic(
 | 
				
			||||||
			new ImageView(IconUtil.loadIconThemeSensitive("microphone", DEFAULT_ICON_SIZE)));
 | 
								new ImageView(IconUtil.loadIconThemeSensitive("microphone", DEFAULT_ICON_SIZE)));
 | 
				
			||||||
		attachmentButton.setGraphic(
 | 
							attachmentButton.setGraphic(
 | 
				
			||||||
@@ -195,7 +189,6 @@ public final class ChatScene implements EventListener, Restorable {
 | 
				
			|||||||
		chatList.setItems(chats = new FilteredList<>(localDB.getChats()));
 | 
							chatList.setItems(chats = new FilteredList<>(localDB.getChats()));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Set the design of the box in the upper-left corner
 | 
							// Set the design of the box in the upper-left corner
 | 
				
			||||||
		settingsButton.setAlignment(Pos.BOTTOM_RIGHT);
 | 
					 | 
				
			||||||
		generateOwnStatusControl();
 | 
							generateOwnStatusControl();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Platform.runLater(() -> {
 | 
							Platform.runLater(() -> {
 | 
				
			||||||
@@ -797,15 +790,15 @@ public final class ChatScene implements EventListener, Restorable {
 | 
				
			|||||||
	private void generateOwnStatusControl() {
 | 
						private void generateOwnStatusControl() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Update the own user status if present
 | 
							// Update the own user status if present
 | 
				
			||||||
		if (ownContactControl.getChildren().get(0) instanceof ContactControl)
 | 
							if (ownContactControl.getChildren().get(1) instanceof ContactControl)
 | 
				
			||||||
			((ContactControl) ownContactControl.getChildren().get(0)).replaceInfoLabel();
 | 
								((ContactControl) ownContactControl.getChildren().get(1)).replaceInfoLabel();
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			// Else prepend it to the HBox children
 | 
								// Else prepend it to the HBox children
 | 
				
			||||||
			final var ownUserControl = new ContactControl(localDB.getUser());
 | 
								final var ownUserControl = new ContactControl(localDB.getUser());
 | 
				
			||||||
			ownUserControl.setAlignment(Pos.CENTER_LEFT);
 | 
								ownUserControl.setAlignment(Pos.CENTER_LEFT);
 | 
				
			||||||
			HBox.setHgrow(ownUserControl, Priority.NEVER);
 | 
								HBox.setHgrow(ownUserControl, Priority.NEVER);
 | 
				
			||||||
			ownContactControl.getChildren().add(0, ownUserControl);
 | 
								ownContactControl.getChildren().add(1, ownUserControl);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,7 +57,7 @@
 | 
				
			|||||||
					<content>
 | 
										<content>
 | 
				
			||||||
						<AnchorPane minHeight="0.0" minWidth="0.0">
 | 
											<AnchorPane minHeight="0.0" minWidth="0.0">
 | 
				
			||||||
							<children>
 | 
												<children>
 | 
				
			||||||
								<VBox fx:id="contactOperations" prefHeight="3000.0"
 | 
													<VBox prefHeight="3000.0"
 | 
				
			||||||
									prefWidth="316.0">
 | 
														prefWidth="316.0">
 | 
				
			||||||
									<children>
 | 
														<children>
 | 
				
			||||||
										<VBox id="search-panel" maxHeight="-Infinity"
 | 
															<VBox id="search-panel" maxHeight="-Infinity"
 | 
				
			||||||
@@ -146,7 +146,8 @@
 | 
				
			|||||||
				<Insets right="1.0" />
 | 
									<Insets right="1.0" />
 | 
				
			||||||
			</GridPane.margin>
 | 
								</GridPane.margin>
 | 
				
			||||||
		</TabPane>
 | 
							</TabPane>
 | 
				
			||||||
		<HBox id="top-bar" alignment="CENTER_LEFT" prefHeight="100.0">
 | 
							<HBox id="top-bar" alignment="CENTER_LEFT" prefHeight="100.0"
 | 
				
			||||||
 | 
								fx:id="ownContactControl">
 | 
				
			||||||
			<children>
 | 
								<children>
 | 
				
			||||||
				<ImageView id="profile-pic" fx:id="clientProfilePic"
 | 
									<ImageView id="profile-pic" fx:id="clientProfilePic"
 | 
				
			||||||
					fitHeight="43.0" fitWidth="43.0" pickOnBounds="true"
 | 
										fitHeight="43.0" fitWidth="43.0" pickOnBounds="true"
 | 
				
			||||||
@@ -155,23 +156,19 @@
 | 
				
			|||||||
						<Insets left="15.0" top="5.0" right="10.0" />
 | 
											<Insets left="15.0" top="5.0" right="10.0" />
 | 
				
			||||||
					</HBox.margin>
 | 
										</HBox.margin>
 | 
				
			||||||
				</ImageView>
 | 
									</ImageView>
 | 
				
			||||||
				<HBox id="transparent-background" fx:id="ownContactControl">
 | 
									<Region id="transparent-background"
 | 
				
			||||||
					<children>
 | 
										HBox.hgrow="ALWAYS" />
 | 
				
			||||||
						<Region id="transparent-background" prefWidth="120"
 | 
					 | 
				
			||||||
							fx:id="spaceBetweenUserAndSettingsButton" HBox.hgrow="ALWAYS" />
 | 
					 | 
				
			||||||
				<Button fx:id="settingsButton" mnemonicParsing="false"
 | 
									<Button fx:id="settingsButton" mnemonicParsing="false"
 | 
				
			||||||
					onAction="#settingsButtonClicked" prefHeight="30.0"
 | 
										onAction="#settingsButtonClicked" prefHeight="30.0"
 | 
				
			||||||
							prefWidth="30.0" text="" alignment="CENTER">
 | 
										prefWidth="30.0" alignment="CENTER_RIGHT">
 | 
				
			||||||
					<padding>
 | 
										<padding>
 | 
				
			||||||
						<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | 
											<Insets bottom="5.0" left="5.0" right="5.0" top="5.0" />
 | 
				
			||||||
					</padding>
 | 
										</padding>
 | 
				
			||||||
					<HBox.margin>
 | 
										<HBox.margin>
 | 
				
			||||||
								<Insets bottom="35.0" left="5.0" top="35.0" />
 | 
											<Insets bottom="35.0" left="5.0" top="35.0" right="10.0"/>
 | 
				
			||||||
					</HBox.margin>
 | 
										</HBox.margin>
 | 
				
			||||||
				</Button>
 | 
									</Button>
 | 
				
			||||||
			</children>
 | 
								</children>
 | 
				
			||||||
				</HBox>
 | 
					 | 
				
			||||||
			</children>
 | 
					 | 
				
			||||||
			<GridPane.margin>
 | 
								<GridPane.margin>
 | 
				
			||||||
				<Insets bottom="1.0" right="1.0" />
 | 
									<Insets bottom="1.0" right="1.0" />
 | 
				
			||||||
			</GridPane.margin>
 | 
								</GridPane.margin>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user