Commit Graph

487 Commits

Author SHA1 Message Date
delvh
74290051ff Added ability to execute code when a scene is restored 2020-07-04 15:26:12 +02:00
19fdb25bfa Detect LV Encoding Errors in Receiver
When the length value encoding is violated, which can occur by sending
an incorrect object length to the client, the error is logged and the
receiver continues to run.
2020-07-03 23:37:25 +02:00
d9bf20b88e Add Voice Recording to ChatScene
The ChatScene layout has been adjusted to include a voice message
button. When pressed, a recording starts. To finish the recording, press
the button again. The recording will be saved as a pending attachment.

The next message sent will include the attachment. When a pending
attachment is present, a message can be sent without text.

When the chat is switched, the pending attachment is discarded. This
does not stop active recordings, however.

The ChatScene layout handles large stages better now by ditching
percentage-wise row and column scaling in favor of absolute values for
all cells except the message list and text area.
2020-07-03 23:32:22 +02:00
7d15285da5 Add AudioRecorder 2020-07-03 14:17:04 +02:00
DieGurke
289f2b7032 Implemented GroupMessage reading (sending the right event)
Note: changed a lambda expression in LocalDB and not 100% sure if it is correct
2020-07-03 13:47:40 +02:00
delvh
4f877d3d5b (IMPORTANT! read description) Merge pull request #166 from informatik-ag-ngl/f/clearable_textfield
Implemented ClearableTextField and redesigned UI.
TAKE CARE:
in order to use SceneBuilder further, you have to import the attached
JAR "CustomComponents.jar" into the SceneBuilder. If you don't do this,
Scenebuilder no longer can load FXML files that depend on a custom
component. If you are implementing another custom component, feel free
to add it to the jar.
Note however that SceneBuilder cannot load any components that rely on
libraries other than the standard Java library or the JavaFX standard.
Meaning that even if you are referencing another Envoy file, the
component will not be importable. Because of this, the
ClearableTextField is also present only in a slimmed down version, as
SceneBuilder additionally has problems when dealing with loading
resources.
2020-07-02 18:06:43 +02:00
delvh
b88f21f71e Fixed unforgivable Javadoc error 2020-07-01 23:32:32 +02:00
delvh
74734777cd Moved former ListCell#updateItem methods into separate Control objects
Additionally fixed bug showing wrong color of infoLabel after switching
scenes
2020-07-01 19:35:15 +02:00
7f536eacc6 Fix insertion of oldest message 2020-07-01 08:58:02 +02:00
c54e7085ce Fix message insertion into empty list and from sender 2020-07-01 08:45:39 +02:00
26a8650353 Fix message order with insertion method
Fixes #168
2020-07-01 08:36:21 +02:00
delvh
2c00539f8a Removed unnecessary Label creation 2020-06-30 22:11:09 +02:00
delvh
2b1debbad7 Added (currently useless) message-info menuItem
additionally:
 - moved MessageListCell and ContactListCell into
envoy.client.ui.listcell
 - edited editable property of ClearableTextField
2020-06-30 21:20:54 +02:00
delvh
2cccddc606 Merge branch 'develop' into f/clearable_textfield 2020-06-28 22:48:35 +02:00
delvh
1fb2f04202 Finished implementing ClearableTextField (IMPORTANT! read description)
in order to use SceneBuilder further, you have to import the attached
JAR "CustomComponents.jar" into the SceneBuilder. If you don't do this,
Scenebuilder no longer can load FXML files that depend on a custom
component. If you are implementing another custom component, feel free
to add it to the jar.
Note however that SceneBuilder cannot load any components that rely on
libraries other than the standard Java library or the JavaFX standard.
Meaning that even if you are referencing another Envoy file, the
component will not be importable. Because of this, the
ClearableTextField is also present only in a slimmed down version, as
SceneBuilder additionally has problems when dealing with loading
resources.
2020-06-28 22:44:34 +02:00
delvh
6eb726af31 Updated UI (again) 2020-06-28 22:30:14 +02:00
DieGurke
7723db672b Implemented pendingMessage processing using an extra cache 2020-06-28 13:20:10 +02:00
delvh
dee66458d9 Wrapped text in userList
(as suggested by @CyB3RC0nN0R)
It is nice to see that JavaFX is less prone to shittyness than Swing is.
2020-06-27 18:44:57 +02:00
delvh
08e5fad42b Fixed padding of status icon and implemented Tooltip
Additionally added commentary in MessageListCell.
2020-06-27 18:27:13 +02:00
1361c29d4f Bind message list cell width to message list width
Fixes #156
2020-06-27 17:36:42 +02:00
ad83d6d2d4 Display status for own messages instead of received ones 2020-06-27 17:14:07 +02:00
delvh
63aa7859d3 Added working ClearableTextField
additionally designed the clear button icon both in black and white
2020-06-27 15:35:35 +02:00
e1e8315ace Merge branch 'develop' into f/groupMessages
Conflicts:
	src/main/java/envoy/client/ui/controller/ChatScene.java
2020-06-27 11:34:51 +02:00
delvh
3aace6d255 Merge branch 'develop' into f/notify_user_of_empty_IDGenerator 2020-06-27 11:25:49 +02:00
5eea90ce68 Merge pull request #160 from informatik-ag-ngl/b/user_name_validation
Contact Name Validation
2020-06-27 09:22:03 +00:00
delvh
5c086630f6 Removed unnecessary IOException in IconUtil
This is a normal @CyB3RC0nN0R commit: Adding functionality by deleting
code.
2020-06-27 11:03:30 +02:00
c1a1030864 Rename groupNameBar to groupNameField 2020-06-27 09:48:41 +02:00
743ef8ab45 Validate group name and size on creation 2020-06-27 09:36:59 +02:00
delvh
78b560cddd Made postingPermanentlyDisabled further idiot-proof
Additionally deleted annoying alert notifying me that I'm offline.
2020-06-27 09:34:30 +02:00
55066f2cb8 Validate user name during login and registration 2020-06-27 08:25:37 +02:00
delvh
3e4e7a1a40 Cleaned up Envoy client: no more <br><br>, is now <p>
...and some other funny mistakes found in Javadoc
2020-06-26 23:36:14 +02:00
delvh
90df627831 Implemented notification of user if he can no longer send messages
This only occurs when he is in offline mode and runs out of messageIDs
to use.
Additionally implemented:
- automatically disabled user of posting after that condition is reached
- an infoLabel used to commjunicate some events with the user
- (in parts) a new UI design
2020-06-26 23:16:03 +02:00
delvh
f68412a752 Merge branch 'develop' into f/enhanced_UI 2020-06-26 20:18:00 +02:00
delvh
d11b1363f9 Merge branch 'f/enhanced_UI' of git@github.com:informatik-ag-ngl/envoy-client.git into f/enhanced_UI 2020-06-26 17:33:49 +02:00
delvh
487cac77fb Added display of settings-icon for the settings button
additionally modified margin of elements in ChatScene
2020-06-26 17:33:32 +02:00
0dda75cb09 Prevent groups from being stored in the user database
This only affects top-level map entries. Groups that are contacts of the
client user are still persisted.
2020-06-26 16:37:00 +02:00
66eddab143 Fix double status increment on cached message relay 2020-06-26 09:28:48 +02:00
35f4ca2a1a Display correct contact status on startup
Fixes #152
2020-06-26 09:08:41 +02:00
delvh
de2af7b1a9 Fixed small formatting error 2020-06-25 12:32:57 +02:00
delvh
36ea72954c Apply suggestions from code review
Co-authored-by: CyB3RC0nN0R <CyB3RC0nN0R@users.noreply.github.com>
2020-06-25 11:19:59 +02:00
delvh
374f23c3c3 Apply suggestions from @CyB3RC0nN0R's code review 2020-06-25 11:17:25 +02:00
delvh
c2b4ddaea9 Merge remote-tracking branch 'origin/develop' into f/enhanced_UI 2020-06-25 10:45:37 +02:00
3ce9c03f8b Clear repeat password field when unequal passwords are entered 2020-06-25 10:21:27 +02:00
8291223532 Stop clearing password fields, remove prompt text 2020-06-25 07:49:45 +02:00
delvh
c519f5ec24 Fixed small bug making text of vertical scrollbar disappear 2020-06-23 23:40:18 +02:00
delvh
da52e9a5ae Improved message coloring, messageStatus display only for own messages
additionally loaded the message status icons smaller and (visually) hid
the vertical scrollbars (they can still be used, but cannot be seen).
Lastly checked all context menu functions for a NullPointerException, as
also no element can be selected when the context menu is created.
2020-06-23 23:32:31 +02:00
delvh
cb0ff03072 Added "Copy and Send" capability
additionally added context menu to delete a contact, currently without
function
2020-06-23 18:32:34 +02:00
delvh
4d81b741bb Merge remote-tracking branch 'origin/develop' into f/enhanced_UI 2020-06-23 17:27:02 +02:00
0bbade44a7 Merge branch 'develop' into f/compatibility_verification
Conflicts:
	src/main/java/envoy/client/net/Client.java
	src/main/java/envoy/client/net/MessageStatusChangeEventProcessor.java
	src/main/java/envoy/client/ui/Startup.java
	src/main/java/envoy/client/ui/controller/ChatScene.java
	src/main/java/envoy/client/ui/controller/ContactSearchScene.java
	src/main/java/envoy/client/ui/controller/GroupCreationScene.java
	src/main/java/envoy/client/ui/controller/LoginScene.java
2020-06-23 08:43:20 +02:00
delvh
df3edb72e1 Added a context menu to the message list and ability to copy a message
context menu contains a few menu items that will be populated with
functionality later on.
2020-06-22 22:51:10 +02:00
delvh
51b0e06e80 Added alignment and coloring of messages according to who is the sender
additionally added:
- the label on top of the ChatScene now displays the own users name
- the messageList now scrolls to the bottom when a message is
created/received
2020-06-22 20:53:44 +02:00
delvh
1387a3f81c Merge pull request #149 from informatik-ag-ngl/f/visually_pleasing_experience
Improved general appearance of Envoy, both in FXML and CSS
2020-06-21 17:40:57 +02:00
delvh
43d7f33ca0 Selected items will now be visually displayed 2020-06-21 17:36:08 +02:00
bb81ec6042 Move user status color to CSS, refactor ContactListCell 2020-06-21 17:25:24 +02:00
delvh
d389637259 Moved remainingCharsLabel styling from code to CSS 2020-06-21 17:04:27 +02:00
delvh
8b27857db1 Merge pull request #147 from informatik-ag-ngl/b/postbutton_bug_and_logging
Fixed postButton - bug and improved logging
2020-06-21 16:25:45 +02:00
0ee639c63c Merge pull request #146 from informatik-ag-ngl/f/single_file_local_db
Store user specific local database information inside a single file
2020-06-21 07:12:23 +00:00
delvh
50ee56ba5a Fixed error caused by my own stupidity 2020-06-20 22:42:44 +02:00
delvh
d375bb8417 Apply suggestions from code review
Reworded the suggestions slightly
2020-06-20 22:29:32 +02:00
e50078cc35 Shorten event names, compatibility verification 2020-06-20 11:00:58 +02:00
delvh
5cb3de37ad Fixed incorrect logger statement
No one needs redundancy in a logging statement, right?

Co-authored-by: CyB3RC0nN0R <CyB3RC0nN0R@users.noreply.github.com>
2020-06-19 17:07:33 +02:00
delvh
ef40c171d9 Fixed invisibility bug 2020-06-19 16:57:20 +02:00
delvh
f513480020 Improved general appearance of Envoy 2020-06-18 22:20:34 +02:00
delvh
c162376589 Merge branch 'develop' into b/postbutton_bug_and_logging 2020-06-14 16:18:02 +02:00
delvh
092caaef9f Applying suggestions from code review 2 2020-06-14 16:11:46 +02:00
delvh
2653ec5fee Apply suggestions from code review
Co-authored-by: CyB3RC0nN0R <CyB3RC0nN0R@users.noreply.github.com>
2020-06-14 16:03:02 +02:00
delvh
3960f955d8 Fixed multiple bugs concerning enterToSend and the postButton 2020-06-13 22:38:49 +02:00
delvh
9bf28acfcb Added improved logging capabilities 2020-06-13 22:36:52 +02:00
c87ab7c9e1 Store user specific local database information inside a single file
Closes #141
2020-06-13 18:46:41 +02:00
ec923b5620 Reformat a logger statement
Co-authored-by: delvh <dev.lh@web.de>
2020-06-13 17:00:44 +02:00
DieGurke
7a11b556d9 Added ReceivedGroupMessageProcessor
Receiving groupMessages works now properly(only if online)
2020-06-13 10:40:47 +02:00
DieGurke
8826d0c3d3 Added support for sending groupMessages
* Implemented distinguishing between regular messages and groupMessages
when sending messages to the server (and sends the right object
obviously)
2020-06-12 23:50:52 +02:00
6c7a80c708 Reading the current chat if it changes or a message is received
Closes #144
2020-06-12 10:54:55 +02:00
DieGurke
1a8c7dcfea Update src/main/java/envoy/client/ui/controller/GroupCreationScene.java
Co-authored-by: CyB3RC0nN0R <CyB3RC0nN0R@users.noreply.github.com>
2020-06-11 15:06:59 +02:00
DieGurke
7025cabd2f Fixed issue reagarding missing chats 2020-06-11 13:21:16 +02:00
DieGurke
c2a627529a MessageStatusChangeEventCache
Added a cache storing all messageStatusChangeEvents received during
handshake just like the already existing cache for received messages
during the handshake
This new cache is needed because the functionality regarding the pending
messages (and now messageStatusChanges as well) has changed!
2020-06-10 22:50:09 +02:00
DieGurke
3439aee112 Merged branch 'develop' into f/groups
Contains several bug fixes
2020-06-10 22:23:59 +02:00
f876f4e05c Add received messages to their chat 2020-06-10 13:05:44 +02:00
d14cc47365 Properly override updateItem method of list cells 2020-06-10 11:33:49 +02:00
8a3ffec859 Replace UserStatusChangeProcessor with inline code in ChatScene 2020-06-10 11:22:36 +02:00
c228519d4b Adjust stage size after changing the scene 2020-06-10 10:05:25 +02:00
delvh
d6e12df076 Fixed visual issues as per @delvh 's request 2020-06-09 22:24:09 +02:00
DieGurke
54bbed4a54 Added Group Creation Functionality
* Implemented new group creation scene (fxml)
* Added group creation controller
* Adjusted contact search scene (fxml)
2020-06-09 21:22:45 +02:00
delvh
3e0b73ef12 Added (currently useless) comboBox to change your status 2020-06-09 21:03:19 +02:00
delvh
77f3db0ba3 Added color display of user statuses 2020-06-09 20:42:17 +02:00
delvh
9a6214eb82 Fixed bug automatically sending a message when ctrl is being pressed 2020-06-09 17:11:17 +02:00
fc4fb4cdae Process ContactOperationEvent 2020-06-09 17:06:40 +02:00
4835cc68fb Rename UserListCell to ContactListCell 2020-06-09 15:49:11 +02:00
3d71cda884 Ask user before adding a contact 2020-06-09 15:41:01 +02:00
bec49ff9e8 Implemented contact removal operation (untested) 2020-06-09 14:21:11 +02:00
ab626d3226 Fix user list in offline mode 2020-06-09 14:12:27 +02:00
cb3913d95d Display message date and status 2020-06-09 11:36:38 +02:00
c694247a4c Merge branch 'f/javafx' of https://github.com/informatik-ag-ngl/envoy-client.git into f/javafx 2020-06-08 12:00:17 +02:00
933232e2a4 Converted the login dialog into a scene 2020-06-08 11:58:57 +02:00
delvh
7b480bbbc8 Fixed bug invalidating enterToSend option 2020-06-08 10:48:33 +02:00
e576877943 Move scene controllers to separate package 2020-06-08 10:36:30 +02:00
1761044e9e Add theme selection in settings 2020-06-08 10:02:39 +02:00
5e73334e35 Remove Theme class and code related to it
This is a preparation for loading themes from CSS files.
2020-06-08 09:14:57 +02:00
6974d44958 Fix minor error when popping the last scene 2020-06-08 08:45:15 +02:00
delvh
a3add72838 Added elegant way of displaying remaining characters for a message
additionally FOUND (not fixed) a bug automatically posting a message
when ctrl is no longer pressed
2020-06-07 23:28:25 +02:00