Search in sources :

Example 1 with UserListener

use of chatty.gui.UserListener in project chatty by chatty.

the class LinkController method mousePressed.

/**
 * Handles mouse presses. This is favourable to mouseClicked because it
 * might work better in a fast moving chat and you won't select text
 * instead of opening userinfo etc.
 *
 * @param e
 */
@Override
public void mousePressed(MouseEvent e) {
    if (e.getClickCount() == 1 && SwingUtilities.isLeftMouseButton(e)) {
        String url = getUrl(e);
        if (url != null && !isUrlDeleted(e)) {
            if (linkListener != null) {
                linkListener.linkClicked(url);
            }
            return;
        }
        User user = getUser(e);
        if (user != null) {
            for (UserListener listener : userListener) {
                listener.userClicked(user, getMsgId(e), getAutoModMsgId(e), e);
            }
            return;
        }
        EmoticonImage emote = getEmoticon(e);
        if (emote != null) {
            for (UserListener listener : userListener) {
                listener.emoteClicked(emote.getEmoticon(), e);
            }
            return;
        }
        Usericon usericon = getUsericon(e);
        if (usericon != null) {
            for (UserListener listener : userListener) {
                listener.usericonClicked(usericon, e);
            }
        }
    } else if (e.isPopupTrigger()) {
        openContextMenu(e);
    }
}
Also used : User(chatty.User) Usericon(chatty.util.api.usericons.Usericon) UserListener(chatty.gui.UserListener) EmoticonImage(chatty.util.api.Emoticon.EmoticonImage)

Aggregations

User (chatty.User)1 UserListener (chatty.gui.UserListener)1 EmoticonImage (chatty.util.api.Emoticon.EmoticonImage)1 Usericon (chatty.util.api.usericons.Usericon)1