From d2a64d79baf3eac5be1989b655aba107014fe7e3 Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Mon, 29 May 2006 17:45:02 +0000 Subject: [PATCH] mouse over a hyperlink shows the href of the link in the bottom status panel of the chat --- .../impl/gui/main/message/ChatPanel.java | 11 +++++-- .../impl/gui/main/message/ChatSendPanel.java | 33 +++++++++++++++++-- 2 files changed, 39 insertions(+), 5 deletions(-) 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 c6c6f63b1..226d54b17 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 @@ -375,8 +375,8 @@ public void requestFocusInWriteArea(){ /** * Sets the current contact typing status. */ - public void setContactTypingStatus(String statusMessage){ - this.sendPanel.setTypingStatus(statusMessage); + public void setChatStatus(String statusMessage){ + this.sendPanel.setChatStatus(statusMessage); } /** @@ -471,4 +471,11 @@ public void sendMessage(){ sendButton.requestFocus(); sendButton.doClick(); } + + /** + * Moves the caret to the end of the conversation panel. + */ + public void setCaretToEnd(){ + this.conversationPanel.setCarretToEnd(); + } } diff --git a/src/net/java/sip/communicator/impl/gui/main/message/ChatSendPanel.java b/src/net/java/sip/communicator/impl/gui/main/message/ChatSendPanel.java index 54b7c00d7..e8b52e017 100755 --- a/src/net/java/sip/communicator/impl/gui/main/message/ChatSendPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/message/ChatSendPanel.java @@ -24,11 +24,13 @@ import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.SwingUtilities; import net.java.sip.communicator.impl.gui.main.customcontrols.SIPCommSelectorBox; import net.java.sip.communicator.impl.gui.main.i18n.Messages; import net.java.sip.communicator.impl.gui.utils.AntialiasingManager; import net.java.sip.communicator.impl.gui.utils.Constants; +import net.java.sip.communicator.impl.gui.utils.StringUtils; import net.java.sip.communicator.service.contactlist.MetaContact; import net.java.sip.communicator.service.protocol.Contact; import net.java.sip.communicator.service.protocol.Message; @@ -100,7 +102,7 @@ public void paint(Graphics g) { } /** - * Defines actions when send buttons is pressed. + * Defines actions when send button is pressed. * @param e The ActionEvent object. */ public void actionPerformed(ActionEvent e) { @@ -135,7 +137,10 @@ public void actionPerformed(ActionEvent e) { } } - + /** + * Returns the send button. + * @return The send button. + */ public JButton getSendButton() { return sendButton; } @@ -158,7 +163,29 @@ public void addProtocolContacts(MetaContact metaContact) { } } - public void setTypingStatus(String statusMessage) { + /** + * Sets a text to the status panel at the bottom of the chat window. + * + * @param statusMessage The text to be displayed. + */ + public void setChatStatus(String statusMessage) { + int stringWidth = StringUtils + .getStringWidth(statusLabel, statusMessage); + + while (stringWidth > statusPanel.getWidth() - 10) { + if (statusMessage.endsWith("...")) { + statusMessage = statusMessage + .substring(0, statusMessage.indexOf("...") - 1) + .concat("..."); + } + else { + statusMessage = statusMessage + .substring(0, statusMessage.length() - 3) + .concat("..."); + } + stringWidth = StringUtils + .getStringWidth(statusLabel, statusMessage); + } statusLabel.setText(statusMessage); }