/* * PrivateStatusForm.java * * Created on 10 Июнь 2007 г., 14:24 * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ // #sijapp cond.if modules_SERVERLISTS is "true" # package jimm.forms; import jimmui.view.UIBuilder; import jimmui.view.icons.Icon; import jimmui.view.icons.ImageList; import jimm.*; import protocol.icq.*; import protocol.mrim.*; import jimmui.view.menu.*; import protocol.Protocol; /** * * @author vladimir */ public final class PrivateStatusForm implements SelectListener { private Protocol protocol; private static final ImageList privateStatusIcons = ImageList.createImageList("/privatestatuses.png"); public static final int PSTATUS_ALL = 0; public static final int PSTATUS_VISIBLE_ONLY = 1; public static final int PSTATUS_NOT_INVISIBLE = 2; public static final int PSTATUS_CL_ONLY = 3; public static final int PSTATUS_NONE = 4; /** Creates a new instance of PrivateStatusForm */ public PrivateStatusForm(Protocol protocol) { this.protocol = protocol; } public static Icon getIcon(Protocol protocol) { return privateStatusIcons.iconAt(protocol.getPrivateStatus()); } private void addStatuses(MenuModel menu) { // #sijapp cond.if protocols_ICQ is "true" # if (protocol instanceof Icq) { menu.addItem("ps_all", privateStatusIcons.iconAt(0), PSTATUS_ALL); menu.addItem("ps_visible_list", privateStatusIcons.iconAt(1), PSTATUS_VISIBLE_ONLY); menu.addItem("ps_exclude_invisible", privateStatusIcons.iconAt(2), PSTATUS_NOT_INVISIBLE); menu.addItem("ps_contact_list", privateStatusIcons.iconAt(3), PSTATUS_CL_ONLY); menu.addItem("ps_none", privateStatusIcons.iconAt(4), PSTATUS_NONE); } // #sijapp cond.end # // #sijapp cond.if protocols_MRIM is "true" # if (protocol instanceof Mrim) { menu.addItem("ps_visible_list", privateStatusIcons.iconAt(1), PSTATUS_VISIBLE_ONLY); menu.addItem("ps_exclude_invisible", privateStatusIcons.iconAt(2), PSTATUS_NOT_INVISIBLE); } // #sijapp cond.end # menu.setDefaultItemCode(protocol.getPrivateStatus()); } public final void select(Select select, MenuModel model, int statusIndex) { protocol.setPrivateStatus((byte)statusIndex); Options.setInt(Options.OPTION_PRIVATE_STATUS, statusIndex); Options.safeSave(); Jimm.getJimm().getCL().activate(); } public final void show() { MenuModel menu = new MenuModel(); addStatuses(menu); menu.setActionListener(this); UIBuilder.createMenu(menu).show(); } } // #sijapp cond.end #