Commit Graph

382 Commits

Author SHA1 Message Date
bc30e5cb38 Extracted MessageComponent from MessageListRenderer 2020-03-21 13:20:45 +01:00
7dfeab5835 Adjusted ChatWindow and ContactsChooserDialog to new interface 2020-03-20 18:32:57 +01:00
f5ddadf4d0 Added SelectionMode enum to ComponentList, prepared integration
These changes are not ready to build yet, as ChatWindow and
ContactsChooserDialog have to be adjusted first.
2020-03-19 22:16:31 +01:00
6d6397cfd4 Unrelated cleanup in UserComponentListRenderer 2020-03-19 21:52:06 +01:00
delvh
ad59fe0958 added missing merge content,mnemonics support(ContextMenu)and Nullchecks 2020-03-18 22:13:58 +01:00
delvh
a6b6a68a56 Merged current working status of f/icon_util into f/forward__messages
* added ContextMenu
* added ContactsChooserDialog
2020-03-18 08:03:35 +01:00
0007caa6f0 Added Javadoc to IconUtil 2020-03-17 12:45:50 +01:00
f10556ac44 Fixed message list dimension 2020-03-17 12:35:31 +01:00
DieGurke
ea75636e7f Changed bgc of testArea and played on pref size of list and scrollPane 2020-03-17 12:11:59 +01:00
DieGurke
2de64956e4 Minimum size of application and added forward and settings icons 2020-03-17 11:20:45 +01:00
5f2b05dcce Cleanup 2020-03-17 11:08:58 +01:00
ba222deec9 Fixed horizontal message placement
This commit contains potentially unstable changes to ComponentList. If
the ListCellRenderer is not set, the class might behave in an unexpected
way.
2020-03-17 10:08:58 +01:00
6a2cb38bd2 Working on message scaling 2020-03-17 09:37:19 +01:00
42feefdbd5 Working on line wrapping and message height (borders currently broken) 2020-03-16 21:49:02 +01:00
DieGurke
561f16f261 Message displaying
Implemented message status icons and revised message displaying
(unfinished)
2020-03-16 19:08:26 +01:00
6873c136c3 Added IconUtil utility class 2020-03-16 14:30:14 +01:00
delvh
98b82d74d0 fixed minor inconveniences 2020-03-16 11:21:41 +01:00
delvh
1fb4ddaa47 implemented UserComponentListRenderer 2020-03-15 19:11:02 +01:00
delvh
432a58330b Added multiple selection capability to the component list 2020-03-15 18:55:07 +01:00
delvh
819f0ec4f2 Implemented method to forward a message 2020-03-14 22:44:03 +01:00
delvh
384329d00d Created packages ui.renderer and ui.primary 2020-03-14 21:34:17 +01:00
delvh
99441b770f added newline at EOF for any file not having one at its end 2020-03-14 19:59:37 +01:00
b46bfd1181 Fixed NullPointerException caused by ComponentListModel 2020-03-14 17:10:11 +01:00
delvh
1fef10769f fixed typo 2020-03-14 17:04:51 +01:00
bd1563b439
Fixed state errors in offline mode (#116)
* Display all contacts as offline while in offline mode

* Update message status to sent after relaying message cache
2020-03-14 16:58:19 +01:00
delvh
198e81608b
Added the display of multi-line messages (#115)
* Added multi-line messages

* Added shutdown method for LoginDialog

* Fixed login bug in LoginDialog

* Added a maximum length for messages

* Implemented update of component list elements on resizing

* Improved visual appearance of some files
2020-03-14 11:17:43 +01:00
delvh
9a81fc5b06
Changed compiler compliance to 11, modularized all packages (#114)
* added module- and package-info.java, changed JRE from 8 to 11

* updated maven from Java 1.8 to 11

Co-authored-by: CyB3RC0nN0R <kske@outlook.de>
2020-03-07 19:38:06 +01:00
6ffec1a3e3
Migrated configuration and logging to Envoy Common (#113)
* Moved client specific configuration to ClientConfig

* Finished ClientConfig integration, checking init state in EnvoyLog

* Migrated Config, ConfigItem and EnvoyLog to envoy-common

* Updated envoy-common dependency to develop-SNAPSHOT
2020-03-05 14:27:40 +01:00
db0894dce9
Added selection capability to ComponentList (#112)
* Fixed Javadoc error in EnvoyLog

* Added selection support to ComponentList using MouseListener injection

* Added selection support to MessageListRenderer

* Clearing selection when reselecting an already selected element
2020-02-22 19:01:47 +01:00
531b35f6b7 Adjusted logging locations and levels 2020-02-18 16:34:14 +01:00
353a6dd646 Updated Javadoc in EnvoyLog 2020-02-18 16:10:33 +01:00
6dd1b40130 Adder EnvoyLog#attach(String) method to log specific packages 2020-02-18 08:14:04 +01:00
a7e9c70cfc Fixed logger level configuration, using logger hierarchy
Loggers are now created with a class object
2020-02-18 07:16:35 +01:00
7129e82038 Appended timestamp to log file names 2020-02-16 21:53:10 +01:00
6e211a01a1 Fixed error message layout in LoginDialog
Updated envoy-common dependency to v0.2-alpha in pom.xml
2020-02-13 10:11:25 +01:00
84fd222956 Fixed entering offline mode 2020-02-12 22:22:29 +01:00
b3101e2418 Performing handshake and online init in LoginDialog 2020-02-12 17:31:20 +01:00
9498bf216d Split Client#onlineInit method up into performHandshake and initReceiver 2020-02-12 07:53:24 +01:00
511146c98e Clean-up, moved Settings and SettingsItem into the data package 2020-02-12 07:12:22 +01:00
001b847155
Merge branch 'develop' into f/invalid_login 2020-02-12 06:41:02 +01:00
836f0c39b8 Removed event handler casts, simplified logging statements 2020-02-12 06:12:04 +01:00
8667409413 Cleanup, fixed offline cache relay when starting in offline mode 2020-02-11 19:35:23 +01:00
DieGurke
5a718aa1c9 Implemented contact list update 2020-02-11 18:15:15 +01:00
c0954036a5 Adjusted to event system refactoring 2020-02-11 17:17:22 +01:00
84fb28cb34
Merge branch 'develop' into f/contacts 2020-02-11 10:06:06 +01:00
DieGurke
fa4cc8d6d9 Small improvements
* Resettings the searchField after adding a contact and clearing the
contactsModel after adding a contact.

* Revised LoginDialoge UI
2020-02-10 23:21:06 +01:00
78d8c08573 Refactored to the new contact related classes in envoy-common 2020-02-10 22:31:40 +01:00
DieGurke
a93539ea06 Updated client
* Updated ContactsRequest constructor to work with new versin of this
event.
*Implemented LocalDB updates when adding a contact and display it
immediately, so you can chat directly.
2020-02-10 19:51:50 +01:00
DieGurke
eb00c1f389 Commented out the localDb client update stuff (temporary) 2020-02-09 22:15:15 +01:00
delvh
0257db8449 fixed Javadoc error. Current implementation is NOT working! 2020-02-09 20:48:08 +01:00
delvh
6582e88a02 Added handling of incorrect logins 2020-02-09 20:43:12 +01:00
DieGurke
7a2544bab6 Adding contacts technical aspects
* Contact SearchResult from server is now getting processed and
correctly displayed.
* Sending a AddContact event to server, if button is pressed.
* Added several interface objects
2020-02-09 16:26:36 +01:00
DieGurke
79da5e6979 Implemented ContactRenderer and built a properScrollPane with list, etc. 2020-02-08 11:43:37 +01:00
1fc85fe4fa Fixed threading issue when receiving unread messages 2020-02-08 11:43:02 +01:00
delvh
8b9b0d63c7 Redesigned UserStatusChangeProcessor to please @CyB3RC0nN0R s wishes 2020-02-07 15:57:41 +01:00
delvh
f9ce464aaa
added newline at the end of UserStatusChangeProcessor file 2020-02-07 15:43:33 +01:00
delvh
778e76faa7
added newline at the end of Client file 2020-02-07 15:41:17 +01:00
delvh
ead2eab5a0 Added the UserStatusChangeProcessor and its implementation
this commit serves as solution to the merge conflict between
f/user_status_change_processor and develop
2020-02-07 15:27:26 +01:00
fc57e39c8f
Fixed Javadoc errors 2020-02-07 13:44:09 +01:00
581f2d9cdf Added logging statement to WriteProxy#flushCache() 2020-02-07 09:39:15 +01:00
DieGurke
5ed8c162bb Implemented advanced UI 2020-02-06 22:19:33 +01:00
abd02b2c6f 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
fe6cc9f464 Persisting cache in PersistentLocalDb 2020-02-06 21:42:17 +01:00
3f7544cea3 Integrated WriteProxy into the sending process 2020-02-06 21:28:02 +01:00
0646445d3c Added WriteProxy with creation method in Client, added caches to LocalDb 2020-02-06 21:03:08 +01:00
6bbd6936e0 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
f80fd5069c Renamed database package to data, moved Chat to data package 2020-02-05 20:58:30 +01:00
19fafc4c38 Fixed UI update after message status changes 2020-02-05 20:08:24 +01:00
DieGurke
9e024ede09 Reading current chat when a new message is received 2020-02-05 17:23:30 +01:00
7d7dd02ceb Updating status of received messages to RECEIVED 2020-02-05 16:12:10 +01:00
b6167ce166 Listening to message status changes, sending READ status updates 2020-02-05 07:09:25 +01:00
7424cc900f Moved client to net package, removed unnecessary recipient property 2020-02-04 19:46:18 +01:00
388987f438 Implemented receiving unread messages using a message cache
Fixes #98
2020-02-04 19:13:31 +01:00
89831f8aaf Added Chat#isUnread() for future use in message notifications 2020-02-03 22:06:56 +01:00
9d194967f5 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
664717140d Fixed message reading 2020-02-03 06:57:19 +01:00
delvh
123e51c8d5 Moved Receiver + ReceivedMessageProcessor in the net package
additionally added serialVersionUIDs for the Event classes
2020-02-02 13:44:10 +01:00
a39ea7adb1 Moved dimension and spacing calculation to MessageListRenderer 2020-02-02 11:37:46 +01:00
689b8bdf8d Fixed spacing in ComponentList 2020-02-01 11:34:57 +01:00
2436afc8e9 Fixed receiving messages 2020-02-01 10:41:59 +01:00
ab6d27651e Removed old sync thread, implemented chat reading 2020-02-01 10:20:06 +01:00
425f52f6fd 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
82b3a09551 Added Javadoc for the ui.list package 2020-01-27 21:01:38 +01:00
df8eb4bac9 Changed message list components to JPanels 2020-01-27 20:23:30 +01:00
37a54303d3 Implemented ComponentList rendering and integration of message list 2020-01-27 20:11:47 +01:00
7dfe68eebb Started ComponentList integration for message list 2020-01-26 22:10:15 +01:00
2f4583861e Added component list classes (unfinished) 2020-01-25 11:33:28 +01:00
DieGurke
40adb54a32 Registration UI 2020-01-18 13:13:03 +01:00
cd925bf0c9 Prepared user registration implementation 2020-01-18 10:34:04 +01:00
1eadb85173 Moved MessageEvent back from envoy-common. 2020-01-06 18:13:00 +01:00
80fc11f91e Fixed ObjectInputStream header error by reading chunks. 2020-01-06 17:37:38 +01:00
d005bcd4c9 Adjusted message creation to the updated MessageBuilder. 2020-01-06 15:00:44 +02:00
655ac58f32 Added contact initialization to handshake and ReceivedMessageProcessor 2020-01-02 17:11:41 +02:00
34785dc7f5 Added LoginDialog 2020-01-01 18:18:18 +02:00
fde3ae2859 Acquiring user list through the sender object 2019-12-31 16:38:52 +02:00
1fec53f35a Added Client#sendMessage(Message), closing socket on exit 2019-12-31 11:57:11 +02:00
22ccddcc39 Integrated the new Message class from envoy-common 2019-12-31 11:27:52 +02:00
c06a2e8c37 Receiving objects from server on separate thread 2019-12-30 18:18:03 +02:00
0efc8dbbc7 Working on handshake mechanism with login 2019-12-29 12:54:05 +02:00
4067be6bc2 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
8e6ab074aa Fixed not updating theme when editing active theme bug. 2019-12-27 17:34:28 +01:00
DieGurke
1870d75371 Added a v 2019-12-27 17:04:02 +01:00
819bc3f903 Merge branch 'f/themeNameCollision' of https://github.com/informatik-ag-ngl/envoy-client into f/themeNameCollision 2019-12-27 16:58:43 +02:00
f0a96b8e39 Added instantaneous theme change, fixed dialog modality 2019-12-27 16:56:48 +02:00
DieGurke
aad7fadc50 Fixed Javadoc comment 2019-12-27 13:30:40 +01:00
DieGurke
c732c0cf45 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
d2ee659ea7 Fixed possible name conflict when creating new themes. 2019-12-25 21:43:59 +01:00
f8cce7ed06
Added Javadoc since tag to SettingsItem 2019-12-23 19:37:09 +01:00
DieGurke
91f780d1c6 Fixed theme customization bug 2019-12-23 19:00:17 +01:00
f6d6ef0a3a Added Javadoc for SettingsItem and SerializationUtils. 2019-12-23 16:59:57 +01:00
DieGurke
5c7563a06b Javadoc and short notation 2019-12-23 16:43:59 +01:00
a6c4d42c98 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
9968b708c5 Fixed weird toggle switch programming from @CyB3rC0nN0R 2019-12-23 15:54:55 +01:00
5c81a2dfd3 Made PrimaryToggleSwitch a sub class of JButton 2019-12-23 15:35:27 +01:00
DieGurke
925b993bf5 Removed ON OFF Text 2019-12-23 15:20:20 +01:00
3d381f4351 Adjusting PrimaryToggleSwitch implementation to SettingsItem class 2019-12-23 14:51:52 +01:00
035b3c02e4 Saving settings in a file, added SettingsItem class 2019-12-23 14:25:46 +01:00
DieGurke
8556e31ce9
Merge pull request #77 from informatik-ag-ngl/f/onCloseToggleSwitch
General Settings screen
2019-12-23 14:20:47 +01:00
728b54080c Added custom Color class to envoy.ui with invert() and toHex() methods. 2019-12-23 11:28:00 +01:00
4a4c4f9308 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
b0b9f63861 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
56afbc5422 Formatting 2019-12-22 21:48:19 +01:00
DieGurke
b577f785b5 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
7a3edb932d 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
70d2ef6538
Delete SettingsScreen.java 2019-12-21 22:28:22 +01:00
abcb0cd1e1
Merge branch 'master' into develop 2019-12-21 21:23:19 +01:00
d449192d17 Added missing since tags as requested by @delvh 2019-12-21 21:07:18 +01:00
675488beb8 Loading ChatWindow in parallel to Client and LocalDB
Fixes #26
2019-12-21 19:00:29 +01:00
3e2a44130a
Merge pull request #71 from informatik-ag-ngl/f/improveeed_logging
Improved logging
2019-12-21 18:30:51 +01:00
5f3fce1f71 Removed unnecessary log message from LocalDB, logging Sync 2019-12-21 18:29:59 +01:00
ab13d5adb4 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
2e033a4e84 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
7c41296149 Adjustment
* Adjusted standard dark theme
* Changed Save and Cancel buttons to PrimaryButtons
2019-12-21 13:18:20 +01:00
be8059f2c0
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
0393a0af81 Fixed Javadoc as requested by @delvh 2019-12-21 12:36:26 +01:00
DieGurke
d7688e8bcc
Merge branch 'develop' into f/UserFriendlySettings 2019-12-21 12:35:38 +01:00
DieGurke
f22f0a766b Revising
Added Author
Removed Comments
2019-12-21 12:31:32 +01:00
DieGurke
b1dbe58f2c 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
57ffbc2b2c Implemented logger level configuration, added Javadoc
Fixes #45
2019-12-21 12:20:23 +01:00
921f1f8689 Moved local files to .envoy directory in user home
Fixes #57
2019-12-21 11:50:01 +01:00
c2f7bd7b21 Improved Config machanism with ConfigItems
Added logger levels and home directory to Config
2019-12-21 11:35:01 +01:00
DieGurke
f31f252613 Fixed UI Alignment of theme customization components
Fixes #39
2019-12-21 11:17:23 +01:00
f9a1db90ea
Merge pull request #63 from informatik-ag-ngl/f/settings_panel
Added SettingsPanel architecture
2019-12-21 10:02:18 +01:00
cd508af2d9 Added Javadoc since tags as requested by @delvh 2019-12-21 10:02:25 +01:00
5c93255fb6 Fixed layout of SettingsPanel in SettingsScreen 2019-12-21 08:06:05 +01:00
e367e5d57d 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
9234ab87ae Added missing Javadoc since tags as requested by @delvh 2019-12-21 00:43:38 +01:00
b0ce8fe340 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
ccff438c7f Added and fixed existing Javadoc, configured Javadoc validation 2019-12-20 20:25:54 +01:00
eaa384d018
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