diff --git a/src/net/java/sip/communicator/impl/gui/main/message/ChatPanel.java b/src/net/java/sip/communicator/impl/gui/main/message/ChatPanel.java index dacb37737..c02055230 100644 --- a/src/net/java/sip/communicator/impl/gui/main/message/ChatPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/message/ChatPanel.java @@ -122,13 +122,13 @@ public ChatPanel( ChatWindow chatWindow, addComponentListener(new TabSelectionFocusGainListener()); - /* + new Thread(){ public void run(){ loadHistoryPeriod(); } }.start(); - */ + } /** @@ -773,12 +773,12 @@ else if(o instanceof MessageReceivedEvent) { if(o1 instanceof MessageDeliveredEvent) { MessageDeliveredEvent evt - = (MessageDeliveredEvent)o; + = (MessageDeliveredEvent)o1; this.lastHistoryMsgTimestamp = evt.getTimestamp(); } else if(o1 instanceof MessageReceivedEvent) { - MessageReceivedEvent evt = (MessageReceivedEvent)o; + MessageReceivedEvent evt = (MessageReceivedEvent)o1; this.lastHistoryMsgTimestamp = evt.getTimestamp(); } diff --git a/src/net/java/sip/communicator/impl/gui/main/message/toolBars/MainToolBar.java b/src/net/java/sip/communicator/impl/gui/main/message/toolBars/MainToolBar.java index e47dd149c..e4f3126c3 100644 --- a/src/net/java/sip/communicator/impl/gui/main/message/toolBars/MainToolBar.java +++ b/src/net/java/sip/communicator/impl/gui/main/message/toolBars/MainToolBar.java @@ -344,6 +344,10 @@ public boolean hasSelectedMenus() return false; } + /** + * Loads a "page" from the history in the chat window. Invoked when history + * arrow keys are clicked. + */ private class HistoryMessagesLoader implements Runnable { private Collection msgHistory; private MetaContact metaContact; @@ -363,58 +367,30 @@ public void run() conversationPanel.setDefaultContent(); - changeHistoryButtonsSate(metaContact); + changeHistoryButtonsSate(); } } - /* + /** + * Disables/Enables history arrow buttons depending on whether the + * current page is the first, the last page or a middle page. + */ private void changeHistoryButtonsSate() { if(chatPanel.getFirstHistoryMsgTimestamp() - .compareTo(conversationPanel.getPageFirstMsgTimestamp()) > 0) { - nextButton.setEnabled(true); - } - else { - nextButton.setEnabled(false); - } - - if(chatPanel.getLastHistoryMsgTimestamp() - .compareTo(conversationPanel.getPageLastMsgTimestamp()) < 0) { + .compareTo(conversationPanel.getPageFirstMsgTimestamp()) < 0) { previousButton.setEnabled(true); } else { previousButton.setEnabled(false); } - } - */ - - private void changeHistoryButtonsSate(MetaContact metaContact) - { - MessageHistoryService msgHistory - = GuiActivator.getMsgHistoryService(); - - Collection nextMessages = msgHistory - .findFirstMessagesAfter( - metaContact, conversationPanel.getPageLastMsgTimestamp(), 1); - - Collection previousMessages = msgHistory - .findLastMessagesBefore( - metaContact, conversationPanel.getPageFirstMsgTimestamp(), 1); - - if(nextMessages.size() > 0) { + if(chatPanel.getLastHistoryMsgTimestamp() + .compareTo(conversationPanel.getPageLastMsgTimestamp()) > 0) { nextButton.setEnabled(true); } else { nextButton.setEnabled(false); } - - if(previousMessages.size() > 0) { - previousButton.setEnabled(true); - } - else { - previousButton.setEnabled(false); - } } - }