public void commandAction(Command c, Displayable d) { if (c == cmdOk) { String jid = getString(tJid); if (jid != null) { String name = getString(tNick); String group = group(tGrpList.getSelectedIndex()); if (group == null) group = getString(tGroup); try { int gSel = tGrpList.getSelectedIndex(); if (gSel != tGrpList.size() - 1) { group = (gSel > 0) ? tGrpList.getString(gSel) : null; // nokia fix } } catch (Exception e) { } // nokia fix // сохранение контакта boolean ask[] = new boolean[1]; tAskSubscrCheckBox.getSelectedFlags(ask); roster.storeContact(jid, name, group, ask[0]); destroyView(); return; } } if (c == cmdCancel) destroyView(); }
/** Creates a new instance of PrivacyForm */ public PrivacyForm(Display display, PrivacyItem item, PrivacyList plist) { this.display = display; parentView = display.getCurrent(); this.item = item; targetList = plist; textValue = new TextField(null, item.value, 64, ConstMIDP.TEXTFIELD_URL); TextFieldCombo.setLowerCaseLatin(textValue); form.append(choiceAction); choiceAction.setSelectedIndex(item.action, true); form.append(choiseType); form.append(textValue); choiseType.setSelectedIndex(item.type, true); switchType(); form.append(choiseStanzas); choiseStanzas.setSelectedFlags(item.stanzasSet); // form.append("Order: "+item.order); form.setItemStateListener(this); form.setCommandListener(this); form.addCommand(cmdOk); form.addCommand(cmdCancel); display.setCurrent(form); }
public void commandAction(Command c, Displayable d) { if (c == cmdCancel) { destroyView(); return; } if (c == cmdOk) { try { int type = choiseType.getSelectedIndex(); String value = textValue.getString(); if (type == 2) value = PrivacyItem.subscrs[choiceSubscr.getSelectedIndex()]; if (type != PrivacyItem.ITEM_ANY) if (value.length() == 0) return; // int order=Integer.parseInt(textOrder.getString()); item.action = choiceAction.getSelectedIndex(); item.type = type; item.value = value; // item.order=order; choiseStanzas.getSelectedFlags(item.stanzasSet); if (targetList != null) if (!targetList.rules.contains(item)) { targetList.addRule(item); item.order = targetList.rules.indexOf(item) * 10; } destroyView(); } catch (Exception e) { e.printStackTrace(); } } }
private void updateChoise(String str, ChoiceGroup grp) { int sz = grp.size(); int set = sz - 1; for (int i = 0; i < sz; i++) { if (str.equals(grp.getString(i))) { set = i; break; } } if (grp.getSelectedIndex() != set) grp.setSelectedIndex(set, true); }
public void itemStateChanged(Item item) { if (item == tGrpList) { int index = tGrpList.getSelectedIndex(); if (index == tGrpList.size() - 1) { f.set(grpFIndex, tGroup); } // tGroup.setString(group(index)); } // if (item==tGroup) { // updateChoise(tGroup.getString(), tGrpList); // } if (item == tTranspList) { int index = tTranspList.getSelectedIndex(); if (index == tTranspList.size() - 1) return; String transport = tTranspList.getString(index); String jid = tJid.getString(); StringBuffer jidBuf = new StringBuffer(jid); int at = jid.indexOf('@'); if (at < 0) at = tJid.size(); jidBuf.setLength(at); jidBuf.append('@'); jidBuf.append(transport); tJid.setString(jidBuf.toString()); } if (item == tJid) { String s1 = tJid.getString(); int at = tJid.getString().indexOf('@'); try { updateChoise(s1.substring(at + 1), tTranspList); } catch (Exception e) { } } }
private void switchType() { int index = choiseType.getSelectedIndex(); try { Object rfocus = StaticData.getInstance().roster.getFocusedObject(); switch (index) { case 0: // jid if (targetList != null) if (rfocus instanceof Contact) { textValue.setString(((Contact) rfocus).getBareJid()); } form.set(2, textValue); break; case 1: // group if (targetList != null) textValue.setString( ((rfocus instanceof Group) ? (Group) rfocus : ((Contact) rfocus).getGroup()) .getName()); form.set(2, textValue); break; case 2: // subscription form.set(2, choiceSubscr); break; case 3: form.set(2, new StringItem(null, "(ANY)")); } /*if (index==2) { form.set(2, choiceSubscr); } else { textValue.setLabel(PrivacyItem.types[index]); form.set(2, textValue); } */ } catch (Exception e) { /* При смене на самого себя */ } }
public ContactEdit(Display display, Contact c) { this.display = display; parentView = display.getCurrent(); StaticData sd = StaticData.getInstance(); roster = sd.roster; Vector groups = sd.roster.groups.getRosterGroupNames(); cf = Config.getInstance(); f = new Form(SR.MS_ADD_CONTACT); // locale tJid = new TextField(SR.MS_USER_JID, null, 150, TextField.EMAILADDR); tNick = new TextField("Name", null, 32, TextField.ANY); // locale tGroup = new TextField(SR.MS_GROUP, null, 32, TextField.ANY); // locale tGrpList = new ChoiceGroup(SR.MS_GROUP, ConstMIDP.CHOICE_POPUP); tTranspList = new ChoiceGroup(SR.MS_TRANSPORT, ConstMIDP.CHOICE_POPUP); tAskSubscrCheckBox = new ChoiceGroup(SR.MS_SUBSCRIPTION, ChoiceGroup.MULTIPLE); // locale tAskSubscrCheckBox.append(SR.MS_ASK_SUBSCRIPTION, null); // locale tGrpList.addCommand(cmdSet); tGrpList.setItemCommandListener(this); tTranspList.addCommand(cmdSet); tTranspList.setItemCommandListener(this); // Transport droplist tTranspList.append(sd.account.getServer(), null); for (Enumeration e = sd.roster.getHContacts().elements(); e.hasMoreElements(); ) { Contact ct = (Contact) e.nextElement(); Jid transpJid = ct.jid; if (transpJid.isTransport()) tTranspList.append(transpJid.getBareJid(), null); } tTranspList.append(SR.MS_OTHER, null); // locale try { String jid; if (c instanceof MucContact) { jid = Jid.toBareJid(((MucContact) c).realJid); } else { jid = c.getBareJid(); } // edit contact tJid.setString(jid); tNick.setString(c.nick); if (c instanceof MucContact) { c = null; throw new Exception(); } if (c.getGroupType() != Groups.TYPE_NOT_IN_LIST && c.getGroupType() != Groups.TYPE_SEARCH_RESULT) { // edit contact f.setTitle(jid); cmdOk = new Command("Update", Command.OK, 1); // locale newContact = false; } else c = null; // adding not-in-list } catch (Exception e) { c = null; } // if MucContact does not contains realJid int sel = -1; ngroups = 0; String grpName = ""; if (c != null) grpName = c.getGroup().name; if (groups != null) { ngroups = groups.size(); for (int i = 0; i < ngroups; i++) { String gn = (String) groups.elementAt(i); tGrpList.append(gn, null); if (gn.equals(grpName)) sel = i; } } // if (sel==-1) sel=groups.size()-1; if (sel < 0) sel = 0; // tGroup.setString(group(sel)); if (c == null) { f.append(tJid); f.append(tTranspList); } updateChoise(tJid.getString(), tTranspList); f.append(tNick); tGrpList.append(SR.MS_NEWGROUP, null); tGrpList.setSelectedIndex(sel, true); grpFIndex = f.append(tGrpList); if (newContact) { f.append(tAskSubscrCheckBox); tAskSubscrCheckBox.setSelectedIndex(0, true); } f.addCommand(cmdOk); f.addCommand(cmdCancel); f.setCommandListener(this); f.setItemStateListener(this); display.setCurrent(f); }
private String group(int index) { if (index == 0) return null; if (index == tGrpList.size() - 1) return null; return tGrpList.getString(index); }