Merge branch 'develop' into f/actual_settings
Conflicts: src/main/java/envoy/client/LocalDB.java src/main/java/envoy/client/ui/ChatWindow.java
This commit is contained in:
@ -9,6 +9,7 @@ import java.awt.event.KeyAdapter;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.swing.DefaultListModel;
|
||||
import javax.swing.JButton;
|
||||
@ -81,7 +82,12 @@ public class ChatWindow extends JFrame {
|
||||
addWindowListener(new WindowAdapter() {
|
||||
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e) { localDB.saveToLocalDB(); }
|
||||
public void windowClosing(WindowEvent e) { try {
|
||||
localDB.saveToLocalDB();
|
||||
} catch (IOException e1) {
|
||||
e1.printStackTrace();
|
||||
System.err.println("Could nnot save localDB");
|
||||
} }
|
||||
});
|
||||
|
||||
contentPane.setBorder(new EmptyBorder(space, space, space, space));
|
||||
@ -207,7 +213,7 @@ public class ChatWindow extends JFrame {
|
||||
.get();
|
||||
|
||||
// Set all unread messages in the chat to read
|
||||
if (currentChat != null) { localDB.setMessagesToRead(currentChat); }
|
||||
readCurrentChat();
|
||||
|
||||
client.setRecipient(user);
|
||||
|
||||
@ -289,9 +295,9 @@ public class ChatWindow extends JFrame {
|
||||
|
||||
if (!messageEnterTextArea.getText().isEmpty()) try {
|
||||
|
||||
// Create and send message object
|
||||
// Create and send message object
|
||||
final Message message = localDB.createMessage(messageEnterTextArea.getText(), currentChat.getRecipient().getID());
|
||||
localDB.addWaitingMessageToLocalDB(message, currentChat);
|
||||
localDB.addWaitingMessageToLocalDB(message, currentChat);
|
||||
messageList.setModel(currentChat.getModel());
|
||||
|
||||
// Clear text field
|
||||
@ -328,7 +334,8 @@ public class ChatWindow extends JFrame {
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the data model and the ui every x seconds.
|
||||
* Updates the data model and the UI repeatedly after a certain amount of
|
||||
* time.
|
||||
*
|
||||
* @param timeout the amount of time that passes between two requests sent to
|
||||
* the server
|
||||
@ -341,9 +348,14 @@ public class ChatWindow extends JFrame {
|
||||
// Synchronize
|
||||
localDB.applySync(
|
||||
client.sendSync(client.getSender().getID(), localDB.fillSync(client.getSender().getID())));
|
||||
|
||||
// Process unread messages
|
||||
localDB.addUnreadMessagesToLocalDB();
|
||||
localDB.clearUnreadMessagesSync();
|
||||
|
||||
// Mark unread messages as read when they are in the current chat
|
||||
readCurrentChat();
|
||||
|
||||
// Update UI
|
||||
SwingUtilities
|
||||
.invokeLater(() -> { updateUserStates(); contentPane.revalidate(); contentPane.repaint(); });
|
||||
@ -357,4 +369,9 @@ public class ChatWindow extends JFrame {
|
||||
if (userList.getModel().getElementAt(i).getID() == localDB.getChats().get(j).getRecipient().getID())
|
||||
userList.getModel().getElementAt(i).setStatus(localDB.getChats().get(j).getRecipient().getStatus());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Marks messages in the current chat as {@code READ}.
|
||||
*/
|
||||
private void readCurrentChat() { if (currentChat != null) { localDB.setMessagesToRead(currentChat); } }
|
||||
}
|
||||
|
Reference in New Issue
Block a user