📄 modelutils.java
字号:
ret.creator = cluster.getCreator();
ret.clusterType = ClusterType.valueOf(cluster.getType());
ret.messageSetting = MessageSetting.valueOf(cluster.getMessageSetting());
ret.authType = (byte)cluster.getAuthType();
ret.category = cluster.getCategory();
ret.oldCategory = cluster.getOldCategory();
ret.description = cluster.getDescription();
ret.notice = cluster.getNotice();
ret.lastMessageTime = cluster.getLastMessageTime();
ret.parseAdminQQString(cluster.getAdmins());
ret.parseStockholderQQString(cluster.getStockholders());
return ret;
}
/**
* 创建缺省组文件
* @param file 目的文件
* @throws IOException 创建失败
*/
@SuppressWarnings("unchecked")
public static void createDefaultGroupXmlFile(File file) throws IOException {
file.getParentFile().mkdirs();
file.createNewFile();
XGroups groups = GroupFactory.eINSTANCE.createXGroups();
// 我的好友
XGroup group = GroupFactory.eINSTANCE.createXGroup();
group.setName(group_default_friend);
group.setType(GroupType.DEFAULT_FRIEND_GROUP.toString());
groups.getGroup().add(group);
// 群/校友录
group = GroupFactory.eINSTANCE.createXGroup();
group.setName(group_default_cluster);
group.setType(GroupType.CLUSTER_GROUP.toString());
groups.getGroup().add(group);
// 陌生人
group = GroupFactory.eINSTANCE.createXGroup();
group.setName(group_default_stranger);
group.setType(GroupType.STRANGER_GROUP.toString());
groups.getGroup().add(group);
// 黑名单
group = GroupFactory.eINSTANCE.createXGroup();
group.setName(group_default_blacklist);
group.setType(GroupType.BLACKLIST_GROUP.toString());
groups.getGroup().add(group);
// 最近联系人
group = GroupFactory.eINSTANCE.createXGroup();
group.setName(group_default_latest);
group.setType(GroupType.LATEST_GROUP.toString());
groups.getGroup().add(group);
// 保存
GroupUtil.save(file, groups);
}
/**
* 创建缺省登陆历史信息文件
* @param file
*/
public static void createDefaultLoginXmlFile(File file){
Logins logins = createDefaultLogins();
LoginUtil.save(file, logins);
}
/**
* 创建缺省的Logins对象
*
* @return
*/
public static Logins createDefaultLogins() {
Logins logins = LoginFactory.eINSTANCE.createLogins();
logins.setLastLogin("");
LoginOption lo = EcoreFactory.eINSTANCE.createLoginOption();
lo.setUseTcp(true);
lo.setAutoSelect(true);
lo.setServer("");
lo.setProxyType(ProxyType.NONE_LITERAL);
lo.setProxyServer("");
lo.setProxyPort(0);
lo.setProxyUsername("");
lo.setProxyPassword("");
lo.setTcpPort(80);
logins.setNetwork(lo);
return logins;
}
/**
* 从Group创建一个XGroup元素对象,这相当于createGroup的反方法
*
* @param group
* Group
* @return
* XGroup元素对象
*/
public static XGroup createXGroup(Group group) {
XGroup ret = GroupFactory.eINSTANCE.createXGroup();
ret.setName(group.name);
ret.setType(group.groupType.toString());
return ret;
}
/**
* 从User创建XUser元素,相当于createUser的反方法
*
* @param user
* User
* @return
* XUser元素对象
*/
public static XUser createFriendElement(User user) {
XUser ret = GroupFactory.eINSTANCE.createXUser();
ContactInfo info = user.info;
if(info == null)
info = new ContactInfo();
ret.setQq(user.qq);
ret.setNick(user.nick);
ret.setHeadId(user.headId);
ret.setMember(user.member);
ret.setWindowX(user.windowX);
ret.setWindowY(user.windowY);
ret.setTalkMode(user.talkMode);
return ret;
}
/**
* 从Cluster对象创建一个XCluster元素
*
* @param c
*/
public static XCluster createXCluster(Cluster c) {
XCluster ret = GroupFactory.eINSTANCE.createXCluster();
ret.setClusterId(c.clusterId);
ret.setExternalId(c.externalId);
ret.setParentClusterId(c.parentClusterId);
ret.setName(c.name);
ret.setHeadId(c.headId);
ret.setMessageSetting(c.messageSetting.toString());
ret.setType(c.clusterType.toString());
ret.setCreator(c.creator);
ret.setAuthType(c.authType);
ret.setCategory(c.category);
ret.setOldCategory(c.oldCategory);
ret.setDescription(c.description);
ret.setNotice(c.notice);
ret.setAdmins(c.getAdminQQString());
ret.setStockholders(c.getStockholderQQString());
ret.setLastMessageTime(c.lastMessageTime);
return ret;
}
/**
* 创建一个缺省的表情配置文件
*
* @param file
* @throws IOException
*/
@SuppressWarnings("unchecked")
public static void createDefaultFaceFile(File file) throws IOException {
Faces faces = FaceFactory.eINSTANCE.createFaces();
faces.setNextId(33);
faces.setNextGroupId(3);
FaceGroup defaultGroup = FaceFactory.eINSTANCE.createFaceGroup();
defaultGroup.setName(face_group_default);
defaultGroup.setId(FaceConstant.DEFAULT_GROUP_ID);
faces.getGroup().add(defaultGroup);
FaceGroup recvGroup = FaceFactory.eINSTANCE.createFaceGroup();
recvGroup.setName(face_group_recv);
recvGroup.setId(FaceConstant.RECEIVED_GROUP_ID);
faces.getGroup().add(recvGroup);
FaceGroup chGroup = FaceFactory.eINSTANCE.createFaceGroup();
chGroup.setName(face_group_custom_head);
chGroup.setId(FaceConstant.CUSTOM_HEAD_GROUP_ID);
faces.getGroup().add(chGroup);
FaceUtil.save(file, faces);
}
/**
* 创建一个缺省的系统设置文件
* @param file
*/
public static void createDefaultSysOptFile(File file) throws IOException {
Options options = OptionFactory.eINSTANCE.createOptions();
// 登陆设置
LoginOption lo = EcoreFactory.eINSTANCE.createLoginOption();
lo.setUseTcp(true);
lo.setAutoSelect(true);
lo.setServer("");
lo.setProxyType(ProxyType.NONE_LITERAL);
lo.setProxyServer("");
lo.setProxyPort(0);
lo.setProxyUsername("");
lo.setProxyPassword("");
lo.setTcpPort(80);
options.setLoginOption(lo);
// 界面设置
GUIOption go = OptionFactory.eINSTANCE.createGUIOption();
go.setLocationX(50);
go.setLocationY(50);
go.setWidth(-1);
go.setHeight(-1);
go.setShowNick(false);
go.setShowSmallHead(false);
go.setShowFriendTip(true);
go.setShowOnlineOnly(false);
go.setShowOnlineTip(true);
go.setShowLastLoginTip(true);
go.setTreeMode(true);
go.setOnlineTipLocationX(-1);
go.setOnlineTipLocationY(-1);
go.setFontName(default_font);
go.setFontSize(9);
go.setBold(false);
go.setItalic(false);
go.setFontColor(0);
go.setGroupBackground(0xFFFFFF);
go.setShowBlacklist(true);
go.setAutoDock(true);
go.setUseTabIMWindow(false);
go.setShowSignature(true);
go.setShowCustomHead(true);
go.setMinimizeWhenClose(false);
go.setOnTop(true);
go.setImOnTop(false);
go.setHideWhenMinimize(false);
go.setBarExpanded(false);
options.setGuiOption(go);
// 消息设置
MessageOption mo = OptionFactory.eINSTANCE.createMessageOption();
mo.setAutoEject(false);
mo.setEnableSound(true);
mo.setRejectStranger(false);
mo.setRejectTempSessionIM(false);
mo.setUseEnterInMessageMode(false);
mo.setUseEnterInTalkMode(false);
options.setMessageOption(mo);
// 热键设置
KeyOption ko = OptionFactory.eINSTANCE.createKeyOption();
ko.setMessageKey("<Ctrl><Alt>Z");
options.setKeyOption(ko);
// 同步设置
SyncOption so = OptionFactory.eINSTANCE.createSyncOption();
so.setAutoDownloadGroup(true);
so.setAutoUploadGroup(OpType.PROMPT_LITERAL);
so.setAutoDownloadFriendRemark(true);
so.setAutoCheckUpdate(false);
options.setSyncOption(so);
// 其他设置
OtherOption oo = OptionFactory.eINSTANCE.createOtherOption();
oo.setBrowser("");
oo.setKeepStrangerInLatest(false);
oo.setLatestSize(20);
oo.setEnableLatest(true);
oo.setShowFakeCam(false);
options.setOtherOption(oo);
// 写入文件
OptionUtil.save(file, options);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -