Commit Graph

542 Commits

Author SHA1 Message Date
a90f58afe0 Add Audio Playback Capability
* Add envoy.client.data.audio package
* Move AudioRecorder to the audio package
* Add AudioPlayer class
* Add AudioControl class that acts as a small media player
* Display the audio control in message controls that contain voice
  messages
2020-07-05 12:08:29 +02:00
9883a5ddd3 Apply suggestions from code review
Co-authored-by: delvh <dev.lh@web.de>
2020-07-04 14:00:09 +00: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
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
abbadd2937 Merge pull request #171 from informatik-ag-ngl/f/improved_maven_workflow
Improved Maven Workflow, Updates Templates
2020-07-02 11:34:11 +00:00
1923e57487 Updated Templates 2020-07-02 08:53:11 +02:00
429bdffab0 Improved Maven Workflow
Maven dependencies are now cached for faster build times. The cache is discarded once the pom.xml is updated.
The JAR files generated during the build are made available as workflow artifacts.
2020-07-02 08:28:02 +02:00
3bcd40d49e Merge pull request #169 from informatik-ag-ngl/f/message_order
Fix message order with insertion method
2020-07-02 06:06:39 +00: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
781dd3e68a Merge pull request #164 from informatik-ag-ngl/f/message_list
Wrap Text in ListCells
2020-06-27 18:20:01 +00: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
delvh
6754465aff Merge pull request #161 from informatik-ag-ngl/f/notify_user_of_empty_IDGenerator
Notify user of empty IDGenerators
Added:
    automatically disabled user of posting after that condition is reached
    an infoLabel used to communicate some events with the user
    (in parts) a new UI design
    cleaned up Envoy client: no more <br><br>, is now <p>
    deleted annoying alert notifying me that I'm offline
2020-06-27 11:31:56 +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
f5526aad43 Merge pull request #162 from informatik-ag-ngl/b/unnecessary_IOException
Removed unnecessary IOException in IconUtil
2020-06-27 09:12:18 +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
961527e663 Merge pull request #154 from informatik-ag-ngl/f/enhanced_UI
added:
    - alignment and coloring of messages according to sender
    - context menu for userList messageList and postButton (partially without function currently) -> implemented copying as well as "CopyAndSend" capability
    - hid horizontal scrollbars (they are still present, but cannot be seen)
    - displayed settings icon in ChatScene
2020-06-26 20:20:37 +02:00
delvh
f68412a752 Merge branch 'develop' into f/enhanced_UI 2020-06-26 20:18:00 +02:00
06b29cea43 Merge pull request #159 from informatik-ag-ngl/b/online_status
Fixed two bugs regarding status changes
2020-06-26 18:16:28 +00: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
2b59f59006 Fixed error not showing envoy icon in README.md 2020-06-25 13:02:04 +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