Commit Graph

321 Commits

Author SHA1 Message Date
effe41f458 Implemented login through command line arguments
* Moved Config and ConfigItem to data package
* Added mandatory property to ConfigItem
* Added user and password ConfigItems to Config
2020-02-06 22:17:14 +01:00
74715bbf82 Persisting cache in PersistentLocalDb 2020-02-06 21:42:17 +01:00
4afe073e79 Integrated WriteProxy into the sending process 2020-02-06 21:28:02 +01:00
bf38d2f19f Added WriteProxy with creation method in Client, added caches to LocalDb 2020-02-06 21:03:08 +01:00
cdef310a69 Replaced MessageCache by Cache<T>
This class will be used to implement the offline cache for both messages
and events.
2020-02-06 18:35:05 +01:00
81dcee27f1 Renamed database package to data, moved Chat to data package 2020-02-05 20:58:30 +01:00
d005ed8d50 Fixed UI update after message status changes 2020-02-05 20:08:24 +01:00
DieGurke
8f4cf1428a Reading current chat when a new message is received 2020-02-05 17:23:30 +01:00
58b9ac8081 Updating status of received messages to RECEIVED 2020-02-05 16:12:10 +01:00
5e335a98bd Listening to message status changes, sending READ status updates 2020-02-05 07:09:25 +01:00
8f967afa88 Moved client to net package, removed unnecessary recipient property 2020-02-04 19:46:18 +01:00
44541936d3 Implemented receiving unread messages using a message cache
Fixes #98
2020-02-04 19:13:31 +01:00
7e0ae2e831 Added Chat#isUnread() for future use in message notifications 2020-02-03 22:06:56 +01:00
d43b45d36b Made local database persistence optional
* Split LocalDB into abstract class LocalDb and PersistentLocalDb and
TransientLocalDb
* Moved LocalDb to database package
* Added ignoreLocalDb option to Config
2020-02-03 21:52:48 +01:00
63990f6d57 Fixed message reading 2020-02-03 06:57:19 +01:00
delvh
76a9e2c043 Moved Receiver + ReceivedMessageProcessor in the net package
additionally added serialVersionUIDs for the Event classes
2020-02-02 13:44:10 +01:00
82fd57d19c Moved dimension and spacing calculation to MessageListRenderer 2020-02-02 11:37:46 +01:00
07b5ee841a Fixed spacing in ComponentList 2020-02-01 11:34:57 +01:00
2fb419b0e7 Fixed receiving messages 2020-02-01 10:41:59 +01:00
8e449d150b Removed old sync thread, implemented chat reading 2020-02-01 10:20:06 +01:00
c0f4e5d270 Implemented message ID generation and generator requests
* Persisting IdGenerator in LocalDB
* Added Client#requestIdGenerator()
* Listening to MessageCreationEvents in ChatWindow
2020-01-29 07:44:25 +01:00
cd5030735a Added Javadoc for the ui.list package 2020-01-27 21:01:38 +01:00
5ecda78cf1 Changed message list components to JPanels 2020-01-27 20:23:30 +01:00
063f5798dc Implemented ComponentList rendering and integration of message list 2020-01-27 20:11:47 +01:00
43851d9893 Started ComponentList integration for message list 2020-01-26 22:10:15 +01:00
8d41a2230a Added component list classes (unfinished) 2020-01-25 11:33:28 +01:00
DieGurke
b06a4cfe05 Registration UI 2020-01-18 13:13:03 +01:00
0165d6aa27 Prepared user registration implementation 2020-01-18 10:34:04 +01:00
29a7fce343 Moved MessageEvent back from envoy-common. 2020-01-06 18:13:00 +01:00
942c8b4c72 Fixed ObjectInputStream header error by reading chunks. 2020-01-06 17:37:38 +01:00
1e4bd12c23 Adjusted message creation to the updated MessageBuilder. 2020-01-06 15:00:44 +02:00
5bbf8c3503 Added contact initialization to handshake and ReceivedMessageProcessor 2020-01-02 17:11:41 +02:00
96066863ca Added LoginDialog 2020-01-01 18:18:18 +02:00
7e2956ca11 Acquiring user list through the sender object 2019-12-31 16:38:52 +02:00
46d9cd49f4 Added Client#sendMessage(Message), closing socket on exit 2019-12-31 11:57:11 +02:00
3cebdc8997 Integrated the new Message class from envoy-common 2019-12-31 11:27:52 +02:00
e66dba8812 Receiving objects from server on separate thread 2019-12-30 18:18:03 +02:00
61d3d44ee5 Working on handshake mechanism with login 2019-12-29 12:54:05 +02:00
88c810c2f4 Started integration of new server architecture
* Removed JAX-RS dependency from POM
* Changed version in POM to 0.3-alpha

The errors that appear throughout LocalDB and Client are caused by the
architecture change and will be removed in future commits.
2019-12-28 22:20:43 +02:00
DieGurke
286f487fc9 Fixed not updating theme when editing active theme bug. 2019-12-27 17:34:28 +01:00
DieGurke
b21b212695 Added a v 2019-12-27 17:04:02 +01:00
3df4556c49 Merge branch 'f/themeNameCollision' of https://github.com/informatik-ag-ngl/envoy-client into f/themeNameCollision 2019-12-27 16:58:43 +02:00
0785732f15 Added instantaneous theme change, fixed dialog modality 2019-12-27 16:56:48 +02:00
DieGurke
81e21c3652 Fixed Javadoc comment 2019-12-27 13:30:40 +01:00
DieGurke
fd40cadf6c Added new theme name choose window
* Added NewThemeScreen Class
OptionsScreen when name conflict
* Added functionality to overwrite themes.
2019-12-26 21:46:35 +01:00
DieGurke
83ddbf5360 Fixed possible name conflict when creating new themes. 2019-12-25 21:43:59 +01:00
e19b647432 Added Javadoc since tag to SettingsItem 2019-12-23 19:37:09 +01:00
DieGurke
2f090ad5d6 Fixed theme customization bug 2019-12-23 19:00:17 +01:00
3f8702b17c Added Javadoc for SettingsItem and SerializationUtils. 2019-12-23 16:59:57 +01:00
DieGurke
494102b765 Javadoc and short notation 2019-12-23 16:43:59 +01:00
07b2c73b50 Polished settings mechanism
* Set initial value of onCloseMode setting to true
* Added setting change handlers
* Applying settings changes immediately
* Made PrimaryToggleSwitch round
2019-12-23 16:33:13 +01:00
DieGurke
4ef0b3352c Fixed weird toggle switch programming from @CyB3rC0nN0R 2019-12-23 15:54:55 +01:00
66cf42e0d9 Made PrimaryToggleSwitch a sub class of JButton 2019-12-23 15:35:27 +01:00
DieGurke
3020125334 Removed ON OFF Text 2019-12-23 15:20:20 +01:00
91880424d3 Adjusting PrimaryToggleSwitch implementation to SettingsItem class 2019-12-23 14:51:52 +01:00
89e8fc62dc Saving settings in a file, added SettingsItem class 2019-12-23 14:25:46 +01:00
DieGurke
7ec9e6b13a Merge pull request #77 from informatik-ag-ngl/f/onCloseToggleSwitch
General Settings screen
2019-12-23 14:20:47 +01:00
eebc5ab7ad Added custom Color class to envoy.ui with invert() and toHex() methods. 2019-12-23 11:28:00 +01:00
762d7630e3 Fixed formatting, Javadoc and other cosmetic problems
Also fixed PrimaryToggleSwitches having editable text in their state and
description fields
2019-12-23 10:56:33 +01:00
DieGurke
5090e81b56 Enter to Send and Revising
* Revised style and improved object architecture
* Added Enter to Send mechanism.
2019-12-23 00:03:22 +01:00
DieGurke
141b2371cc Formatting 2019-12-22 21:48:19 +01:00
DieGurke
abe36d999a OnCloseMode
* Toggle Switch in general settings effects the onCloseMode of the
window.
* Saving in prefs.
* Styled the general settings screen and added some text.
2019-12-22 21:28:13 +01:00
DieGurke
e201ec3da1 PrimaryToggleSwitch
* Adds a component, that can be used to toggle between two options.
* Is built to be able to be used for any event, that is structured like
the OnCloseChangeEvent class.
2019-12-22 18:07:30 +01:00
965aa5a2d2 Delete SettingsScreen.java 2019-12-21 22:28:22 +01:00
142bcd53c1 Merge branch 'master' into develop 2019-12-21 21:23:19 +01:00
0c80d934fe Added missing since tags as requested by @delvh 2019-12-21 21:07:18 +01:00
9c03f2dab2 Loading ChatWindow in parallel to Client and LocalDB
Fixes #26
2019-12-21 19:00:29 +01:00
27dc78cfe8 Merge pull request #71 from informatik-ag-ngl/f/improveeed_logging
Improved logging
2019-12-21 18:30:51 +01:00
7212e10d54 Removed unnecessary log message from LocalDB, logging Sync 2019-12-21 18:29:59 +01:00
34e9dc9e8b Improved logging
Logs are now written to System.out instead of System.err. Also they are
not duplicated as the default ConsoleHandler has been removed.

When using the application, logs may not appear in the console
immediately as the StreamHandler used to output them used an internal
buffer that may only be flushed when closing the application.

Logs are now formatted as [DATE TIME] [LEVEL] [LOGGER] MSG
2019-12-21 18:19:10 +01:00
DieGurke
d83dc2931f Revised Cancel and Save Buttons
* Fixed weird gbl_buttonPane declaration.
* Added correct resizing and repositioning of cancel and save buttons
when resizing the settings window.
* Fixed incorrect buttonName displaying.
2019-12-21 18:05:31 +01:00
DieGurke
ea45c51cf0 Adjustment
* Adjusted standard dark theme
* Changed Save and Cancel buttons to PrimaryButtons
2019-12-21 13:18:20 +01:00
732c8d1d20 Merge pull request #65 from informatik-ag-ngl/f/config
Added logger level and home folder configuration
2019-12-21 12:48:43 +01:00
c0f47acd22 Fixed Javadoc as requested by @delvh 2019-12-21 12:36:26 +01:00
DieGurke
941d8266bc Merge branch 'develop' into f/UserFriendlySettings 2019-12-21 12:35:38 +01:00
DieGurke
7ec8257aff Revising
Added Author
Removed Comments
2019-12-21 12:31:32 +01:00
DieGurke
90429d8615 User Friendly Settings
* Removed CreateNewButton button and added it's functionality to the
save button.
* Revised theme dropDown style.

fixes #64
2019-12-21 12:24:11 +01:00
d62793b810 Implemented logger level configuration, added Javadoc
Fixes #45
2019-12-21 12:20:23 +01:00
1324356827 Moved local files to .envoy directory in user home
Fixes #57
2019-12-21 11:50:01 +01:00
8b6e501c2e Improved Config machanism with ConfigItems
Added logger levels and home directory to Config
2019-12-21 11:35:01 +01:00
DieGurke
474480abb6 Fixed UI Alignment of theme customization components
Fixes #39
2019-12-21 11:17:23 +01:00
a8406cb033 Merge pull request #63 from informatik-ag-ngl/f/settings_panel
Added SettingsPanel architecture
2019-12-21 10:02:18 +01:00
84353c66d6 Added Javadoc since tags as requested by @delvh 2019-12-21 10:02:25 +01:00
e6accec291 Fixed layout of SettingsPanel in SettingsScreen 2019-12-21 08:06:05 +01:00
5570d845ae Added custom import organization preferences
Imports are converted to .* after 4 imports from the same package,
static imports are converted to .* after 2 imports from the same type
2019-12-21 07:54:15 +01:00
442bf79c69 Added missing Javadoc since tags as requested by @delvh 2019-12-21 00:43:38 +01:00
10dd3635a5 Refined theme customization mechanism
* Created abstract SettingsPanel class for defining settings screen
pages
* Moves theme customization related settings to new class
ThemeCustomizationPanel
* Changes Theme to use a map internally
2019-12-21 00:29:16 +01:00
c7959e5287 Added and fixed existing Javadoc, configured Javadoc validation 2019-12-20 20:25:54 +01:00
a0c214b178 Merge pull request #61 from informatik-ag-ngl/b/save_exit
Saving settings and local database on application exit
2019-12-20 19:30:26 +01:00
e8f989902a Saving settings and local database on application exit
Fixes #55
2019-12-20 15:05:31 +01:00
delvh
95fa3a539f Merge branch 'develop' into f/javadoc 2019-12-20 12:58:06 +01:00
delvh
1e1b078a37 Updated malformed Javadoc 2019-12-20 12:53:40 +01:00
delvh
e7f6826e37 Deleted an unnecessary comment as per @CyB3RC0nN0Rs request 2019-12-20 12:51:35 +01:00
02baf70d92 Fixed errors caused by preparing the merge into develop 2019-12-20 12:36:53 +01:00
delvh
e8d15be940 Merge branch 'develop' into f/logger 2019-12-20 12:30:53 +01:00
88d2e42494 Fixed Logger initialization
Renamed EnvoyLogger to EnvoyLog and moved it to the newl< created
envoy.client.util package.
2019-12-20 11:59:11 +01:00
500555c8db Added Javadoc requested by @delvh 2019-12-18 22:07:05 +01:00
delvh
7e02217002 Updated EnvoyLogger -> still not working 2019-12-18 17:11:56 +01:00
69153005cd Fixed vertical scroll bar drawing on 4K monitors 2019-12-17 08:17:22 +01:00
396686bfdc Added ThemeChangeEvent, improved EventHandler declaration 2019-12-16 09:41:21 +01:00
DieGurke
f6bd6ab754 Formatting
* Split applyTheme method in applyTheme and autoscroll.
* Added Javadoc
2019-12-15 20:18:43 +01:00
acc7424503 Added PrimaryScrollPane class with default scroll pane UI settings 2019-12-15 17:44:13 +01:00
adb5c417c5 Improved code style and formatting 2019-12-15 16:26:11 +01:00
DieGurke
4f777412f3 Cold style improvement
Changed if query with isVertical in PrimaryScrollBar to short form.
2019-12-15 12:53:01 +01:00
DieGurke
3fefeb1082 Autoscroll
* Implemented functionality to automatically scroll down when user is on
the bottom of the chat and then there are new messages added.
* When chat is opened, the vertical scroll bar starts at the bottom.
* When rereading messages, the chat doesn't scroll down if new messages
are added. (Besides see first point)
2019-12-15 12:48:40 +01:00
DieGurke
6bfa3c2b79 Horizontal Scroll Bar
Implemented primaryScrollBar support for horizontal scroll bar as well.
2019-12-15 00:34:44 +01:00
DieGurke
4a2d6f913b Custom scroll bar
* Added PrimaryScrollBar class
* Implemented PrimaryScrollBar in ChatWindow for the ScrollPanes
vertical scroll bar
2019-12-14 19:10:45 +01:00
delvh
8267fa4d0d Implemented a (not working) own version of a logger
and reformatted code
2019-12-14 14:58:07 +01:00
12b0cc1d0b Merge pull request #53 from informatik-ag-ngl/f/background_execution
Added background execution
2019-12-14 14:30:19 +01:00
f0353c8c72 Added background execution 2019-12-14 14:17:24 +01:00
DieGurke
049b2872db Merge branch 'develop' into b/incorrect_color_change 2019-12-14 14:03:02 +01:00
DieGurke
25eab59d7c Merge branch 'develop' into f/primaryComponents 2019-12-14 13:54:22 +01:00
DieGurke
4d35129a67 Formatted 2019-12-14 13:52:47 +01:00
DieGurke
4ba1f6360c Revised code according to reviews by @delvh and @CyB3RC0nN0R 2019-12-14 13:46:19 +01:00
DieGurke
a0e72a6e56 Changed colors management in the displaying of the themes settings
screen.
2019-12-14 12:54:32 +01:00
ac7b7fa3d6 Added documentation, refined exception handling 2019-12-14 11:30:00 +01:00
DieGurke
89b75b00c8 Fixes bugs with the incorrect applying of the changed colors.
Fixes #50
2019-12-14 11:22:37 +01:00
0123935cea Not starting the sync thread in offline mode 2019-12-14 11:02:01 +01:00
ea3ad85611 Implemented offline mode for Client and LocalDB 2019-12-14 10:53:20 +01:00
5b84578a0a Removed user id, name and email from Settings 2019-12-14 09:58:25 +01:00
2b1ece1c48 Added user list serialization to LocalDB
* Added user list to LocalDB
* Removed client user from LocalDB constructor
2019-12-14 08:44:03 +01:00
e69deb9bd6 Moved client.properties loading from Startup to Config 2019-12-13 08:50:15 +01:00
0f64ce0a01 Added offline mode to Client
+ Saving the user ID in Settings
+ Loading the user ID from Settings in Client if the server can't be
reached
2019-12-11 18:52:30 +01:00
DieGurke
ecf2566431 Primary TextArea
* Added PrimaryTextArea Class
* Implemented PrimaryTextArea in ChatWindow (messageEnterArea)
* Made some slight adjustments to the PrimaryButton Class
2019-12-07 23:23:25 +01:00
DieGurke
418a60c074 Primary Button
Took primaryButton class from corresponding branch.
Implemented constructors in ChatWindow.
2019-12-07 22:48:12 +01:00
e7a567d7bb Silent failure when StatusTrayIcon is not supported on a platform 2019-12-07 21:14:55 +01:00
DieGurke
ecfd3b17bf Revised requested changes besides 2 (please change by yourself) 2019-12-07 17:58:59 +01:00
delvh
94dc68e2c5 Fixed an indentation error in Javadoc 2019-12-07 14:54:03 +01:00
delvh
6510c26ba2 Merge branch 'develop' into f/themes 2019-12-07 14:50:20 +01:00
DieGurke
d36f3cc9dd Fixes themes list display bug and error when loading client with custom
theme
2019-12-07 13:31:08 +01:00
b0b76984ea Added new Envoy logo designed by @DieGurke 2019-12-07 13:02:38 +01:00
057c21061b Implemented theme serialization to a file 2019-12-07 11:48:41 +01:00
delvh
22e9593e90 Merge branch 'develop' into f/logger 2019-12-07 11:22:47 +01:00
DieGurke
e245a129af Themes & Themes Configuration
Added themes to choose from and provides customization setting for
these.
2019-12-07 10:58:03 +01:00
delvh
c79500acde Improved logging and code readability 2019-12-07 10:44:25 +01:00
8f7e115219 Implemented changes requested by @delvh 2019-12-07 09:53:55 +01:00
f55fe47db0 Fix merge conflict 2019-12-05 16:20:18 +01:00
8247e18fce Javadoc fixes and using superclass when injecting WindowFocusListener 2019-12-05 16:17:33 +01:00
e4249919ad Merge branch 'develop' into f/message_notification 2019-12-05 16:11:28 +01:00
6cf8c462b9 Re-added logging to LocalDB to resolve merge conflict 2019-12-05 16:10:28 +01:00
2831b9a7a3 Creating message notifications only if ChatWindow has lost focus
StatusTray injects a WindowFocusListener into ChatWindow in its
constructor and does only react to received messages if ChatWindow has
currently lost focus.
2019-12-05 15:42:20 +01:00
6dad4eda08 Fixed Envoy logo loading for StatusTrayIcon 2019-12-05 15:13:19 +01:00
50945a45a2 Simplified and optimized sync related code in LocalDB 2019-12-05 15:05:05 +01:00
dca65df9bd Added Javadoc to event related classes and StatusTrayIcon 2019-12-04 23:27:17 +01:00
af7408142c Added message events, triggering message creation event
+ Abstract MessageEvent class with MessageCreationEvent and
MessageModificationEvent subclasses
+ Made StatusTrayIcon an event handler
- Fixed EventBus#getInstance not being static
2019-12-04 22:26:24 +01:00
b5badae773 Added StatusTrayIcon#displayMessageNotification method
Using this method, a message object can be displayed as a OS-specific
notification, which can be useful in the future to alert the user about
an incoming message while the application is not in focus.
2019-12-04 18:52:48 +01:00
3c7f95f869 Added event system
+ Event interface for defining event objects
+ EventHandler interface for defining event handlers
+ EventBus singleton class for managing event handlers and dispatching
events
2019-12-04 18:50:06 +01:00
378a83638a Added a small popup menu to StatusTrayIcon and loading it in Startup 2019-12-04 07:50:59 +01:00
fbe2d0d0b0 Moved system tray logic to StatusTrayIcon class 2019-12-03 21:48:16 +01:00
06bd127432 Added a test call to the system tray displaying a message 2019-12-02 21:44:18 +01:00