mirror of
https://github.com/igniterealtime/Spark.git
synced 2025-12-01 12:27:58 +00:00
Fixing tooltip.
git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@7409 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
@ -751,10 +751,21 @@ public class ContactGroup extends CollapsiblePane implements MouseListener {
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the name of group.
|
||||||
|
*
|
||||||
|
* @param groupName the contact group name.
|
||||||
|
*/
|
||||||
public void setGroupName(String groupName) {
|
public void setGroupName(String groupName) {
|
||||||
this.groupName = groupName;
|
this.groupName = groupName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the "pretty" title of the ContactGroup.
|
||||||
|
*
|
||||||
|
* @param title the title.
|
||||||
|
* @return the new title.
|
||||||
|
*/
|
||||||
public String getGroupTitle(String title) {
|
public String getGroupTitle(String title) {
|
||||||
int lastIndex = title.lastIndexOf("::");
|
int lastIndex = title.lastIndexOf("::");
|
||||||
if (lastIndex != -1) {
|
if (lastIndex != -1) {
|
||||||
@ -764,23 +775,42 @@ public class ContactGroup extends CollapsiblePane implements MouseListener {
|
|||||||
return title;
|
return title;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if the group is nested.
|
||||||
|
*
|
||||||
|
* @param groupName the name of the group.
|
||||||
|
* @return true if the group is nested.
|
||||||
|
*/
|
||||||
public boolean isSubGroup(String groupName) {
|
public boolean isSubGroup(String groupName) {
|
||||||
return groupName.indexOf("::") != -1;
|
return groupName.indexOf("::") != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns true if this group is nested.
|
||||||
|
*
|
||||||
|
* @return true if nested.
|
||||||
|
*/
|
||||||
public boolean isSubGroup() {
|
public boolean isSubGroup() {
|
||||||
return isSubGroup(getGroupName());
|
return isSubGroup(getGroupName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the underlying container for the JList.
|
||||||
|
*
|
||||||
|
* @return the underlying container of the JList.
|
||||||
|
*/
|
||||||
public JPanel getListPanel() {
|
public JPanel getListPanel() {
|
||||||
return listPanel;
|
return listPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds an internal popup listesner.
|
||||||
|
*/
|
||||||
private void addPopupWindow() {
|
private void addPopupWindow() {
|
||||||
final Timer timer = new Timer(500, new ActionListener() {
|
final Timer timer = new Timer(500, new ActionListener() {
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
canShowPopup = true;
|
canShowPopup = true;
|
||||||
motionListener.mouseMoved(mouseEvent);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -792,6 +822,7 @@ public class ContactGroup extends CollapsiblePane implements MouseListener {
|
|||||||
public void mouseExited(MouseEvent mouseEvent) {
|
public void mouseExited(MouseEvent mouseEvent) {
|
||||||
timer.stop();
|
timer.stop();
|
||||||
canShowPopup = false;
|
canShowPopup = false;
|
||||||
|
ContactInfoWindow.getInstance().checkWindow();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -819,6 +850,11 @@ public class ContactGroup extends CollapsiblePane implements MouseListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays the <code>ContactInfoWindow</code>.
|
||||||
|
*
|
||||||
|
* @param e the mouseEvent that triggered this event.
|
||||||
|
*/
|
||||||
private void displayWindow(MouseEvent e) {
|
private void displayWindow(MouseEvent e) {
|
||||||
ContactInfoWindow.getInstance().display(this, e);
|
ContactInfoWindow.getInstance().display(this, e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,6 +24,13 @@ import org.jivesoftware.spark.util.log.Log;
|
|||||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.Transport;
|
import org.jivesoftware.sparkimpl.plugin.gateways.transports.Transport;
|
||||||
import org.jivesoftware.sparkimpl.plugin.gateways.transports.TransportUtils;
|
import org.jivesoftware.sparkimpl.plugin.gateways.transports.TransportUtils;
|
||||||
|
|
||||||
|
import javax.swing.BorderFactory;
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JWindow;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
@ -37,24 +44,17 @@ import java.awt.GridBagLayout;
|
|||||||
import java.awt.Insets;
|
import java.awt.Insets;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.MouseListener;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
import javax.swing.BorderFactory;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JWindow;
|
|
||||||
import javax.swing.UIManager;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the UI for the "ToolTip" functionallity in the ContactList.
|
* Represents the UI for the "ToolTip" functionallity in the ContactList.
|
||||||
*
|
*
|
||||||
* @author Derek DeMoro
|
* @author Derek DeMoro
|
||||||
*/
|
*/
|
||||||
public class ContactInfoWindow extends JPanel {
|
public class ContactInfoWindow extends JPanel implements MouseListener {
|
||||||
private final JLabel nicknameLabel = new JLabel();
|
private final JLabel nicknameLabel = new JLabel();
|
||||||
private final JMultilineLabel statusLabel = new JMultilineLabel();
|
private final JMultilineLabel statusLabel = new JMultilineLabel();
|
||||||
private final JLabel fullJIDLabel = new JLabel();
|
private final JLabel fullJIDLabel = new JLabel();
|
||||||
@ -156,35 +156,7 @@ public class ContactInfoWindow extends JPanel {
|
|||||||
|
|
||||||
setBorder(BorderFactory.createLineBorder(Color.gray, 1));
|
setBorder(BorderFactory.createLineBorder(Color.gray, 1));
|
||||||
|
|
||||||
window.addMouseListener(new MouseAdapter() {
|
window.addMouseListener(this);
|
||||||
public void mouseEntered(MouseEvent e) {
|
|
||||||
inWindow = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void mouseExited(MouseEvent e) {
|
|
||||||
Point point = e.getPoint();
|
|
||||||
|
|
||||||
Dimension dim = window.getSize();
|
|
||||||
|
|
||||||
int x = (int)point.getX();
|
|
||||||
int y = (int)point.getY();
|
|
||||||
|
|
||||||
boolean close = false;
|
|
||||||
|
|
||||||
if (x < 0 || x >= dim.getWidth()) {
|
|
||||||
close = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (y < 0 || y >= dim.getHeight()) {
|
|
||||||
close = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (close) {
|
|
||||||
inWindow = false;
|
|
||||||
checkWindow();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
window.getContentPane().add(this);
|
window.getContentPane().add(this);
|
||||||
|
|
||||||
@ -234,6 +206,9 @@ public class ContactInfoWindow extends JPanel {
|
|||||||
window.setVisible(false);
|
window.setVisible(false);
|
||||||
contactItem = null;
|
contactItem = null;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
System.out.println("In window");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -341,7 +316,7 @@ public class ContactInfoWindow extends JPanel {
|
|||||||
Log.error(e);
|
Log.error(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
toolbar.removeAll();
|
clearToolbar();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ContactItem getContactItem() {
|
public ContactItem getContactItem() {
|
||||||
@ -349,14 +324,12 @@ public class ContactInfoWindow extends JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addChatRoomButton(ChatRoomButton button) {
|
public void addChatRoomButton(ChatRoomButton button) {
|
||||||
toolbar.add(button);
|
addToolbarComponent(button);
|
||||||
window.invalidate();
|
|
||||||
window.validate();
|
|
||||||
window.repaint();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addToolbarComponent(Component comp) {
|
public void addToolbarComponent(Component comp) {
|
||||||
toolbar.add(comp);
|
toolbar.add(comp);
|
||||||
|
comp.addMouseListener(this);
|
||||||
window.invalidate();
|
window.invalidate();
|
||||||
window.validate();
|
window.validate();
|
||||||
window.repaint();
|
window.repaint();
|
||||||
@ -378,4 +351,53 @@ public class ContactInfoWindow extends JPanel {
|
|||||||
size.height = 125;
|
size.height = 125;
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
inWindow = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
Point point = e.getPoint();
|
||||||
|
|
||||||
|
Dimension dim = window.getSize();
|
||||||
|
|
||||||
|
int x = (int)point.getX();
|
||||||
|
int y = (int)point.getY();
|
||||||
|
|
||||||
|
boolean close = false;
|
||||||
|
|
||||||
|
if (x < 0 || x >= dim.getWidth()) {
|
||||||
|
close = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (y < 0 || y >= dim.getHeight()) {
|
||||||
|
close = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (close) {
|
||||||
|
inWindow = false;
|
||||||
|
checkWindow();
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Mouse Exited");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void mouseClicked(MouseEvent mouseEvent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void mousePressed(MouseEvent mouseEvent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
public void mouseReleased(MouseEvent mouseEvent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
private void clearToolbar() {
|
||||||
|
for (int i = 0; i < toolbar.getComponentCount(); i++) {
|
||||||
|
Component comp = toolbar.getComponent(i);
|
||||||
|
comp.removeMouseListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
toolbar.removeAll();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user