/** Creates a new instance of AccountPicker */ public AccountSelect(Display display, boolean enableQuit) { super(); // this.display=display; setTitleItem(new Title(SR.MS_ACCOUNTS)); accountList = new Vector(); Account a; int index = 0; activeAccount = Config.getInstance().accountIndex; do { a = Account.createFromStorage(index); if (a != null) { accountList.addElement(a); a.active = (activeAccount == index); index++; } } while (a != null); if (accountList.isEmpty()) { a = Account.createFromJad(); if (a != null) { // a.updateJidCache(); accountList.addElement(a); rmsUpdate(); } } attachDisplay(display); addCommand(cmdAdd); if (enableQuit) addCommand(cmdQuit); commandState(); setCommandListener(this); }
void commandState() { if (accountList.isEmpty()) { removeCommand(cmdEdit); removeCommand(cmdDel); removeCommand(cmdSelect); removeCommand(cmdLogin); removeCommand(cmdCancel); } else { addCommand(cmdEdit); addCommand(cmdDel); addCommand(cmdLogin); addCommand(cmdSelect); if (activeAccount >= 0) addCommand(cmdCancel); // нельзя выйти без активного аккаунта } }
public void commandAction(Command c, Displayable d) { if (c == cmdQuit) { destroyView(); Bombus.getInstance().notifyDestroyed(); } if (c == cmdCancel) { destroyView(); // Account.launchAccount(); // StaticData.getInstance().account_index=0; } if (c == cmdLogin) switchAccount(true); if (c == cmdSelect) switchAccount(false); if (c == cmdEdit) new AccountForm(this, display, (Account) getFocusedObject()); if (c == cmdAdd) { new AccountForm(this, display, null); } if (c == cmdDel) { accountList.removeElement(getFocusedObject()); rmsUpdate(); moveCursorHome(); commandState(); redraw(); } }
void rmsUpdate() { DataOutputStream outputStream = NvStorage.CreateDataOutputStream(); for (int i = 0; i < accountList.size(); i++) ((Account) accountList.elementAt(i)).saveToDataOutputStream(outputStream); NvStorage.writeFileRecord(outputStream, Account.storage, 0, true); }
protected int getItemCount() { return accountList.size(); }
public VirtualElement getItemRef(int Index) { return (VirtualElement) accountList.elementAt(Index); }