/** * Checks if the menu item should be enabled or disabled. * * @param contact the contact associated with the menu item. * @return <tt>true</tt> if the item should be enabled and <tt>false</tt> if not. */ public boolean check(SourceContact contact) { ChatRoomWrapper chatRoomWrapper = MUCActivator.getMUCService().findChatRoomWrapperFromSourceContact(contact); ChatRoom chatRoom = null; if (chatRoomWrapper != null) { chatRoom = chatRoomWrapper.getChatRoom(); } if ((chatRoom != null) && chatRoom.isJoined()) return false; return true; }
@Override public boolean isVisible(SourceContact actionSource) { if (!(actionSource instanceof ChatRoomSourceContact)) return false; if (name.equals("autojoin") || name.equals("autojoin_pressed")) { ChatRoomSourceContact contact = (ChatRoomSourceContact) actionSource; ChatRoomWrapper room = MUCActivator.getMUCService().findChatRoomWrapperFromSourceContact(contact); if (name.equals("autojoin")) return !room.isAutojoin(); if (name.equals("autojoin_pressed")) return room.isAutojoin(); } return true; }
@Override public boolean isVisible(SourceContact actionSource) { if (actionSource instanceof ChatRoomSourceContact) { if (name.equals("leave")) { return actionsEnabledCheckers[3].check(actionSource); } else if (name.equals("join")) { return actionsEnabledCheckers[1].check(actionSource); } else { ChatRoomSourceContact contact = (ChatRoomSourceContact) actionSource; ChatRoomWrapper room = MUCActivator.getMUCService().findChatRoomWrapperFromSourceContact(contact); if (room == null) return false; if (name.equals("autojoin")) return room.isAutojoin(); else if (name.equals("autojoin_pressed")) return !room.isAutojoin(); } } return false; }
@Override public boolean isSelected(SourceContact contact) { ChatRoomWrapper chatRoomWrapper = MUCActivator.getMUCService().findChatRoomWrapperFromSourceContact(contact); return chatRoomWrapper.isAutojoin(); }