/*******************************************************************************
Jimm - Mobile Messaging - J2ME ICQ clone
Copyright (C) 2003-06 Jimm Project
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
********************************************************************************
File: src/jimm/JimmUI.java
Version: ###VERSION### Date: ###DATE###
Author(s): Igor Palkin
*******************************************************************************/
// #sijapp cond.if protocols_ICQ is "true" | protocols_JABBER is "true" | protocols_OBIMP is "true" #
package jimm.forms;
import jimmui.view.UIBuilder;
import jimmui.view.form.Form;
import jimmui.view.form.FormListener;
import protocol.Protocol;
import jimm.search.*;
import protocol.xmpp.Xmpp;
public class EditInfo implements FormListener {
private static final int _NickNameItem = 1000;
private static final int _FirstNameItem = 1001;
private static final int _LastNameItem = 1002;
private static final int _EmailItem = 1003;
private static final int _BdayItem = 1004;
private static final int _CellPhoneItem = 1005;
private static final int _AddrItem = 1006;
private static final int _CityItem = 1007;
private static final int _StateItem = 1008;
private static final int _SexItem = 1009;
private static final int _HomePageItem = 1010;
private static final int _WorkCompanyItem = 1011;
private static final int _WorkDepartmentItem = 1012;
private static final int _WorkPositionItem = 1013;
private static final int _WorkPhoneItem = 1014;
private static final int _AboutItem = 1015;
private Form form;
private Protocol protocol;
private UserInfo userInfo;
public EditInfo(Protocol p, UserInfo info) {
protocol = p;
this.userInfo = info;
}
public EditInfo init() {
// #sijapp cond.if protocols_JABBER is "true"#
final boolean isJabber = (protocol instanceof Xmpp);
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
final boolean isObimp = (protocol instanceof protocol.obimp.Obimp);
// #sijapp cond.end#
form = UIBuilder.createForm("editform", "save", "cancel", this);
form.addTextField(_NickNameItem, "nick", userInfo.nick, 64);
form.addTextField(_FirstNameItem, "firstname", userInfo.firstName, 64);
form.addTextField(_LastNameItem, "lastname", userInfo.lastName, 64);
// #sijapp cond.if protocols_JABBER is "true"#
if (!isJabber) {
// #sijapp cond.end#
form.addSelector(_SexItem, "gender", "-" + "|" + "female" + "|" + "male", userInfo.gender);
// #sijapp cond.if protocols_JABBER is "true"#
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (!isObimp) form.addTextField(_BdayItem, "birth_day", userInfo.birthDay, 15);
// #sijapp cond.else#
form.addTextField(_BdayItem, "birth_day", userInfo.birthDay, 15);
// #sijapp cond.end#
// #sijapp cond.if protocols_JABBER is "true"#
if (isJabber) {
form.addTextField(_EmailItem, "email", userInfo.email, 64);
form.addTextField(_CellPhoneItem, "cell_phone", userInfo.cellPhone, 64);
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (isObimp) {
form.addTextField(_EmailItem, "email", userInfo.email, 64);
form.addTextField(_CellPhoneItem, "cell_phone", userInfo.cellPhone, 64);
}
// #sijapp cond.end#
form.addTextField(_HomePageItem, "home_page", userInfo.homePage, 256);
form.addHeader("home_info");
// #sijapp cond.if protocols_JABBER is "true"#
if (isJabber) {
form.addTextField(_AddrItem, "addr", userInfo.homeAddress, 256);
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (isObimp) {
form.addTextField(_AddrItem, "addr", userInfo.homeAddress, 256);
}
// #sijapp cond.end#
form.addTextField(_CityItem, "city", userInfo.homeCity, 128);
form.addTextField(_StateItem, "state", userInfo.homeState, 128);
form.addHeader("work_info");
form.addTextField(_WorkCompanyItem, "title", userInfo.workCompany, 256);
form.addTextField(_WorkDepartmentItem, "depart", userInfo.workDepartment, 256);
form.addTextField(_WorkPositionItem, "position", userInfo.workPosition, 256);
// #sijapp cond.if protocols_JABBER is "true"#
if (isJabber) {
form.addTextField(_WorkPhoneItem, "phone", userInfo.workPhone, 64);
form.addTextField(_AboutItem, "notes", userInfo.about, 2048);
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (isObimp) {
form.addTextField(_WorkPhoneItem, "phone", userInfo.workPhone, 64);
}
// #sijapp cond.end#
return this;
}
public void show() {
form.show();
}
private void destroy() {
form.destroy();
protocol = null;
form = null;
userInfo = null;
}
public void formAction(Form form, boolean apply) {
if (!apply) {
form.back();
destroy();
} else {
boolean isXmpp = false;
// #sijapp cond.if protocols_JABBER is "true"#
isXmpp = (protocol instanceof Xmpp);
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
final boolean isObimp = (protocol instanceof protocol.obimp.Obimp);
// #sijapp cond.end#
userInfo.nick = form.getTextFieldValue(_NickNameItem);
// #sijapp cond.if protocols_OBIMP is "true"#
if (!isObimp) userInfo.birthDay = form.getTextFieldValue(_BdayItem);
// #sijapp cond.else#
userInfo.birthDay = form.getTextFieldValue(_BdayItem);
// #sijapp cond.end#
// #sijapp cond.if protocols_JABBER is "true"#
if (isXmpp) {
userInfo.email = form.getTextFieldValue(_EmailItem);
userInfo.cellPhone = form.getTextFieldValue(_CellPhoneItem);
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (isObimp) {
userInfo.email = form.getTextFieldValue(_EmailItem);
userInfo.cellPhone = form.getTextFieldValue(_CellPhoneItem);
}
// #sijapp cond.end#
userInfo.firstName = form.getTextFieldValue(_FirstNameItem);
userInfo.lastName = form.getTextFieldValue(_LastNameItem);
if (!isXmpp) {
userInfo.gender = (byte) form.getSelectorValue(_SexItem);
}
userInfo.homePage = form.getTextFieldValue(_HomePageItem);
// #sijapp cond.if protocols_JABBER is "true"#
if (isXmpp) {
userInfo.homeAddress = form.getTextFieldValue(_AddrItem);
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (isObimp) {
userInfo.homeAddress = form.getTextFieldValue(_AddrItem);
}
// #sijapp cond.end#
userInfo.homeCity = form.getTextFieldValue(_CityItem);
userInfo.homeState = form.getTextFieldValue(_StateItem);
userInfo.workCompany = form.getTextFieldValue(_WorkCompanyItem);
userInfo.workDepartment = form.getTextFieldValue(_WorkDepartmentItem);
userInfo.workPosition = form.getTextFieldValue(_WorkPositionItem);
// #sijapp cond.if protocols_JABBER is "true"#
if (isXmpp) {
userInfo.workPhone = form.getTextFieldValue(_WorkPhoneItem);
userInfo.about = form.getTextFieldValue(_AboutItem);
}
// #sijapp cond.end#
// #sijapp cond.if protocols_OBIMP is "true"#
if (isObimp) {
userInfo.workPhone = form.getTextFieldValue(_WorkPhoneItem);
}
// #sijapp cond.end#
userInfo.updateProfileView();
protocol.saveUserInfo(userInfo);
form.back();
destroy();
}
}
}
// #sijapp cond.end #