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); }
public GuiSetupGui(ShareNavDisplayable parent, boolean initialSetup) { super(Locale.get("guisetupgui.GUIOptions") /*GUI Options*/); this.parent = parent; this.initialSetup = initialSetup; try { long mem = Configuration.getPhoneAllTimeMaxMemory(); if (mem == 0) { mem = Runtime.getRuntime().totalMemory(); } mem = mem / 1024; memField = new TextField( Locale.get("guisetupgui.DefineMaxMem") /*Define maxMem (kbyte)*/, Long.toString(mem), 8, TextField.DECIMAL); append(memField); String[] imenu = new String[7]; imenu[0] = Locale.get("guisetupgui.UseIconMenu") /*Use icon menu*/; imenu[1] = Locale.get("guisetupgui.UseSetupIconMenu") /*Use icon menu for settings*/; imenu[2] = Locale.get("guisetupgui.FullscreenIconMenu") /*Fullscreen icon menu*/; imenu[3] = Locale.get("guisetupgui.SplitscreenIconMenu") /*Split screen icon menu*/; imenu[4] = Locale.get("guisetupgui.LargeTabButtons") /*Large tab buttons*/; imenu[5] = Locale.get("guisetupgui.IconsMappedOnKeys") /*Icons mapped on keys*/; // imenu[5] = Locale.get("guisetupgui.OptimiseForRouting")/*Optimise for routing*/; imenu[6] = Locale.get("guisetupgui.FavoritesInRouteIconMenu") /*Favorites in route icon menu*/; imenuOpts = new ChoiceGroup( Locale.get("guisetupgui.IconMenu") /*Icon Menu:*/, Choice.MULTIPLE, imenu, null); imenuOpts.setSelectedIndex( 0, Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS)); imenuOpts.setSelectedIndex( 1, Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_SETUP)); imenuOpts.setSelectedIndex( 2, Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_FULLSCREEN)); imenuOpts.setSelectedIndex( 3, Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_SPLITSCREEN)); imenuOpts.setSelectedIndex( 4, Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_BIG_TAB_BUTTONS)); imenuOpts.setSelectedIndex( 5, Configuration.getCfgBitState(Configuration.CFGBIT_ICONMENUS_MAPPED_ICONS)); // imenuOpts.setSelectedIndex(5, // Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_ROUTING_OPTIMIZED)); imenuOpts.setSelectedIndex( 6, Configuration.getCfgBitSavedState(Configuration.CFGBIT_FAVORITES_IN_ROUTE_ICON_MENU)); append(imenuOpts); if (Configuration.getHasPointerEvents()) { String[] touch = new String[4]; int i = 0; touch[i++] = Locale.get("guisetupgui.longMapTap"); touch[i++] = Locale.get("guisetupgui.doubleMapTap"); touch[i++] = Locale.get("guisetupgui.singleMapTap"); touch[i++] = Locale.get("guisetupgui.clickableMarkers"); mapTapFeatures = new ChoiceGroup( Locale.get("guisetupgui.MapTapFeatures") /*Map Touch Features*/, Choice.MULTIPLE, touch, null); i = 0; mapTapFeatures.setSelectedIndex( i++, Configuration.getCfgBitState(Configuration.CFGBIT_MAPTAP_LONG)); mapTapFeatures.setSelectedIndex( i++, Configuration.getCfgBitState(Configuration.CFGBIT_MAPTAP_DOUBLE)); mapTapFeatures.setSelectedIndex( i++, Configuration.getCfgBitState(Configuration.CFGBIT_MAPTAP_SINGLE)); mapTapFeatures.setSelectedIndex( i++, Configuration.getCfgBitState(Configuration.CFGBIT_CLICKABLE_MAPOBJECTS)); append(mapTapFeatures); } // search options int iMax = 3; if (Configuration.getHasPointerEvents()) { iMax++; } // #if polish.android iMax++; // #endif String[] search = null; search = new String[iMax]; int searchnum = 0; search[searchnum++] = Locale.get("guisetupgui.scroll") /*Scroll result under cursor*/; search[searchnum++] = Locale.get("guisetupgui.scrollall") /*Scroll all results*/; if (Configuration.getHasPointerEvents()) { search[searchnum++] = Locale.get("guisetupgui.numberkeypad") /*Enable virtual keypad*/; } search[searchnum++] = Locale.get( "guisetupgui.SuppressSearchWarning") /*Suppress warning about exceeding max results*/; // #if polish.android search[searchnum++] = Locale.get("guisetupgui.ShowNativeKeyboard") /*Show native keyboard in search*/; // #endif searchSettings = new ChoiceGroup( Locale.get("guisetupgui.searchopts") /*Search options:*/, Choice.MULTIPLE, search, null); /* only display search settings available on the device */ // maximum search option entries searchnum = 0; searchSettings.setSelectedIndex( searchnum++, Configuration.getCfgBitSavedState(Configuration.CFGBIT_TICKER_ISEARCH)); searchSettings.setSelectedIndex( searchnum++, Configuration.getCfgBitSavedState(Configuration.CFGBIT_TICKER_ISEARCH_ALL)); if (Configuration.getHasPointerEvents()) { searchSettings.setSelectedIndex( searchnum++, Configuration.getCfgBitSavedState(Configuration.CFGBIT_SEARCH_TOUCH_NUMBERKEYPAD)); } searchSettings.setSelectedIndex( searchnum++, Configuration.getCfgBitSavedState(Configuration.CFGBIT_SUPPRESS_SEARCH_WARNING)); // #if polish.android searchSettings.setSelectedIndex( searchnum++, Configuration.getCfgBitSavedState(Configuration.CFGBIT_SEARCH_SHOW_NATIVE_KEYBOARD)); // #endif append(searchSettings); String[] searchLayout = new String[2]; searchLayout[0] = Locale.get("guidiscover.SearchWholeNames") /*Search for whole names*/; searchLayout[1] = Locale.get("guidiscover.SearchWords") /*Search for words*/; searchLayoutGroup = new ChoiceGroup( Locale.get("guidiscover.SearchStyle") /*Search style*/, Choice.EXCLUSIVE, searchLayout, null); searchLayoutGroup.setSelectedIndex( Configuration.getCfgBitSavedState(Configuration.CFGBIT_WORD_ISEARCH) ? 1 : 0, true); append(searchLayoutGroup); int searchMax = Configuration.getSearchMax(); searchField = new TextField( Locale.get("guisetupgui.DefineMaxSearch") /*Max # of search results*/, Integer.toString(searchMax), 8, TextField.DECIMAL); append(searchField); float dist = Configuration.getPoiSearchDistance(); poiSearchDistance = new TextField( Locale.get("guisetupgui.PoiDistance") /*POI Distance: */, Float.toString(dist), 8, TextField.ANY); append(poiSearchDistance); String[] otherSettings = new String[1]; otherSettings[0] = Locale.get("guisetupgui.ExitWithBackButton") /* Back button exits application*/; otherGroup = new ChoiceGroup( Locale.get("guisetupgui.otherOptions") /* Other options */, Choice.MULTIPLE, otherSettings, null); otherGroup.setSelectedIndex( 0, Configuration.getCfgBitSavedState( Configuration.CFGBIT_EXIT_APPLICATION_WITH_BACK_BUTTON)); append(otherGroup); addCommand(CMD_SAVE); addCommand(CMD_CANCEL); // Set up this Displayable to listen to command events setCommandListener(this); } catch (Exception e) { e.printStackTrace(); } }
public void commandAction(Command c, Displayable d) { if (c == CMD_CANCEL) { parent.show(); return; } if (c == CMD_SAVE) { try { long mem = Long.parseLong(memField.getString()); Configuration.setPhoneAllTimeMaxMemory(mem * 1024); } catch (NumberFormatException e) { // nothing to do (ignore content) } try { int searchMax = Integer.parseInt(searchField.getString()); Configuration.setSearchMax(searchMax); } catch (NumberFormatException e) { // nothing to do (ignore content) } try { float dist = Float.parseFloat(poiSearchDistance.getString()); Configuration.setPoiSearchDistance(dist); } catch (NumberFormatException e) { // nothing to do (ignore content) } Trace trace = Trace.getInstance(); if (imenuOpts.isSelected(0) != Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS)) { trace.removeAllCommands(); Configuration.setCfgBitSavedState(Configuration.CFGBIT_ICONMENUS, imenuOpts.isSelected(0)); trace.addAllCommands(); } Configuration.setCfgBitSavedState( Configuration.CFGBIT_ICONMENUS_SETUP, imenuOpts.isSelected(1)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_ICONMENUS_FULLSCREEN, imenuOpts.isSelected(2)); if (Configuration.getCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_SPLITSCREEN) && !imenuOpts.isSelected(3)) { trace.stopShowingSplitScreen(); } Configuration.setCfgBitSavedState( Configuration.CFGBIT_ICONMENUS_SPLITSCREEN, imenuOpts.isSelected(3)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_ICONMENUS_BIG_TAB_BUTTONS, imenuOpts.isSelected(4)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_ICONMENUS_MAPPED_ICONS, imenuOpts.isSelected(5)); // Configuration.setCfgBitSavedState(Configuration.CFGBIT_ICONMENUS_ROUTING_OPTIMIZED, // imenuOpts.isSelected(5)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_FAVORITES_IN_ROUTE_ICON_MENU, imenuOpts.isSelected(6)); // When the GUI is to be optimized for routing and we have a default // backlight method, turn the backlight on. // boolean optimizedForRouting = imenuOpts.isSelected(5); boolean optimizedForRouting = imenuOpts.isSelected(5); if (initialSetup && optimizedForRouting) { if (Configuration.getDefaultDeviceBacklightMethodCfgBit() != 0) { Configuration.setCfgBitSavedState(Configuration.CFGBIT_BACKLIGHT_ON, true); ShareNav.getInstance().restartBackLightTimer(); } } Trace.uncacheIconMenu(); GuiDiscover.uncacheIconMenu(); boolean searchLayout = (searchLayoutGroup.getSelectedIndex() == 1); if (searchLayout != Configuration.getCfgBitState(Configuration.CFGBIT_WORD_ISEARCH)) { Configuration.setCfgBitSavedState(Configuration.CFGBIT_WORD_ISEARCH, searchLayout); } int i = 0; Configuration.setCfgBitSavedState( Configuration.CFGBIT_TICKER_ISEARCH, searchSettings.isSelected(i++)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_TICKER_ISEARCH_ALL, searchSettings.isSelected(i++)); if (Configuration.getHasPointerEvents()) { Configuration.setCfgBitSavedState( Configuration.CFGBIT_SEARCH_TOUCH_NUMBERKEYPAD, searchSettings.isSelected(i++)); } Configuration.setCfgBitSavedState( Configuration.CFGBIT_SUPPRESS_SEARCH_WARNING, searchSettings.isSelected(i++)); // #if polish.android Configuration.setCfgBitSavedState( Configuration.CFGBIT_SEARCH_SHOW_NATIVE_KEYBOARD, searchSettings.isSelected(i++)); // #endif i = 0; if (Configuration.getHasPointerEvents()) { Configuration.setCfgBitSavedState( Configuration.CFGBIT_MAPTAP_LONG, mapTapFeatures.isSelected(i++)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_MAPTAP_DOUBLE, mapTapFeatures.isSelected(i++)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_MAPTAP_SINGLE, mapTapFeatures.isSelected(i++)); Configuration.setCfgBitSavedState( Configuration.CFGBIT_CLICKABLE_MAPOBJECTS, mapTapFeatures.isSelected(i++)); } Configuration.setCfgBitSavedState( Configuration.CFGBIT_EXIT_APPLICATION_WITH_BACK_BUTTON, otherGroup.isSelected(0)); parent.show(); return; } }