diff --git a/src/net/java/sip/communicator/impl/gui/customcontrols/ExtListCellRenderer.java b/src/net/java/sip/communicator/impl/gui/customcontrols/ExtListCellRenderer.java new file mode 100644 index 000000000..5ea48a0aa --- /dev/null +++ b/src/net/java/sip/communicator/impl/gui/customcontrols/ExtListCellRenderer.java @@ -0,0 +1,72 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.impl.gui.customcontrols; + +import java.awt.BasicStroke; +import java.awt.BorderLayout; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Graphics2D; + +import javax.swing.DefaultListCellRenderer; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.ListCellRenderer; + +import net.java.sip.communicator.impl.gui.utils.AntialiasingManager; +import net.java.sip.communicator.impl.gui.utils.Constants; + +/** + * + * @author Yana Stamcheva + */ +public class ExtListCellRenderer extends JPanel + implements ListCellRenderer { + + private JLabel label = new JLabel(); + private boolean isSelected; + + public ExtListCellRenderer() { + super(new BorderLayout()); + + this.add(label); + } + /** + * Implements the ListCellRenderer method. + */ + public Component getListCellRendererComponent(JList list, Object value, + int index, boolean isSelected, boolean cellHasFocus) { + + this.label.setText(value.toString()); + this.isSelected = isSelected; + + return this; + } + + /** + * Paint a round background for all selected cells. + */ + public void paintComponent(Graphics g) { + super.paintComponent(g); + + Graphics2D g2 = (Graphics2D) g; + + AntialiasingManager.activateAntialiasing(g2); + + if (this.isSelected) { + + g2.setColor(Constants.SELECTED_END_COLOR); + g2.fillRoundRect(0, 0, this.getWidth(), this.getHeight(), 7, 7); + + g2.setColor(Constants.BLUE_GRAY_BORDER_DARKER_COLOR); + g2.setStroke(new BasicStroke(1.5f)); + g2.drawRoundRect(0, 0, this.getWidth() - 1, this.getHeight() - 1, + 7, 7); + } + } +} diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPanel.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPanel.java index f86169d5d..fa6494fa9 100755 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPanel.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListPanel.java @@ -699,7 +699,7 @@ public void setChatNotificationMsg(MetaContact metaContact, ChatWindow msgWindow = (ChatWindow) contactMsgWindows .get(metaContact); msgWindow.getChatPanel(metaContact) - .setChatStatusMessage(notificationMsg); + .setStatusMessage(notificationMsg); } } else if (tabbedChatWindow != null) { Hashtable contactTabsTable @@ -708,7 +708,7 @@ public void setChatNotificationMsg(MetaContact metaContact, if (contactTabsTable.get(metaContact.getMetaUID()) != null) { tabbedChatWindow.getChatPanel(metaContact) - .setChatStatusMessage(notificationMsg); + .setStatusMessage(notificationMsg); } } } diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java index 2d182a88d..ad8045e84 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactRightButtonMenu.java @@ -25,7 +25,7 @@ import net.java.sip.communicator.impl.gui.i18n.Messages; import net.java.sip.communicator.impl.gui.main.MainFrame; import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.AddContactDialog; -import net.java.sip.communicator.impl.gui.main.history.HistoryWindow; +import net.java.sip.communicator.impl.gui.main.message.history.HistoryWindow; import net.java.sip.communicator.impl.gui.utils.BrowserLauncher; import net.java.sip.communicator.impl.gui.utils.Constants; import net.java.sip.communicator.impl.gui.utils.ImageLoader; @@ -225,8 +225,7 @@ private void init() { this.userInfoItem.addActionListener(this); // Disable all menu items that do nothing. - this.sendFileItem.setEnabled(false); - this.viewHistoryItem.setEnabled(false); + this.sendFileItem.setEnabled(false); } /** @@ -280,9 +279,9 @@ else if (itemName.equalsIgnoreCase("renameContact")) { } else if (itemName.equalsIgnoreCase("viewHistory")) { - HistoryWindow history = new HistoryWindow(); - - history.setContact(this.contactItem); + HistoryWindow history = new HistoryWindow( + this.mainFrame, this.contactItem); + history.setVisible(true); } else if (itemName.equalsIgnoreCase("userInfo")) { diff --git a/src/net/java/sip/communicator/impl/gui/main/message/menu/ChatRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/message/menu/ChatRightButtonMenu.java index 080bea441..085d56f14 100644 --- a/src/net/java/sip/communicator/impl/gui/main/message/menu/ChatRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/message/menu/ChatRightButtonMenu.java @@ -6,6 +6,7 @@ */ package net.java.sip.communicator.impl.gui.main.message.menu; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -14,6 +15,7 @@ import javax.swing.JPopupMenu; import net.java.sip.communicator.impl.gui.i18n.Messages; +import net.java.sip.communicator.impl.gui.main.message.ChatConversationPanel; import net.java.sip.communicator.impl.gui.main.message.ChatWindow; import net.java.sip.communicator.impl.gui.utils.ImageLoader; @@ -27,7 +29,7 @@ public class ChatRightButtonMenu extends JPopupMenu implements ActionListener { - private ChatWindow parentWindow; + private ChatConversationPanel chatConvPanel; private JMenuItem copyMenuItem = new JMenuItem(Messages.getString("copy"), new ImageIcon(ImageLoader.getImage(ImageLoader.COPY_ICON))); @@ -47,10 +49,10 @@ public class ChatRightButtonMenu extends JPopupMenu * * @param parentWindow The window owner of this popup menu. */ - public ChatRightButtonMenu(ChatWindow parentWindow) { + public ChatRightButtonMenu(ChatConversationPanel chatConvPanel) { super(); - this.parentWindow = parentWindow; + this.chatConvPanel = chatConvPanel; this.init(); } @@ -94,17 +96,17 @@ public void actionPerformed(ActionEvent e) { String itemText = menuItem.getName(); if (itemText.equalsIgnoreCase("copy")) { - this.parentWindow.getCurrentChatPanel().copyConversation(); + this.chatConvPanel.copyConversation(); } else if (itemText.equalsIgnoreCase("save")) { } else if (itemText.equalsIgnoreCase("print")) { } else if (itemText.equalsIgnoreCase("close")) { - - this.parentWindow.setVisible(false); - this.parentWindow.dispose(); - + + Window window = this.chatConvPanel.getChatContainer().getWindow(); + window.setVisible(false); + window.dispose(); } } } 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 99eef9ec0..184507998 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 @@ -18,7 +18,7 @@ import net.java.sip.communicator.impl.gui.customcontrols.SIPCommButton; import net.java.sip.communicator.impl.gui.customcontrols.SIPCommToolBar; import net.java.sip.communicator.impl.gui.i18n.Messages; -import net.java.sip.communicator.impl.gui.main.history.HistoryWindow; +import net.java.sip.communicator.impl.gui.main.message.history.HistoryWindow; import net.java.sip.communicator.impl.gui.main.message.ChatWindow; import net.java.sip.communicator.impl.gui.main.message.SmiliesSelectorBox; import net.java.sip.communicator.impl.gui.utils.ImageLoader; @@ -217,10 +217,9 @@ else if (buttonText.equalsIgnoreCase("smiley")) { } else if (buttonText.equalsIgnoreCase("history")) { - HistoryWindow history = new HistoryWindow(); + HistoryWindow history = new HistoryWindow(messageWindow.getMainFrame(), + messageWindow.getCurrentChatPanel().getMetaContact()); - history.setContacts(messageWindow.getCurrentChatPanel() - .getChatContacts()); history.setVisible(true); } else if (buttonText.equalsIgnoreCase("font")) {