📄 loginpanel.java
字号:
} else if (contact.getIsInInvisibleList()) { updateList.addToContactList(contact); } } new VisibilityBroadcast(Start.env.getConnection(), ownId, updateList); try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_UNKNOWN_LIST; Start.env.setUnknownList(Start.env.loadContactList(path)); } catch (Exception ex) { System.err.println(this.getClass().getName() + ": " + ex.toString()); } try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_GENERAL_DATA; fileData = CryptFile.read(path); Start.env.setDenyUnknown(Boolean.valueOf(fileData[0].toString()) .booleanValue()); Start.env.setSecurityLevel(Integer.parseInt(fileData[1].toString())); } catch (Exception ex) { System.err.println(this.getClass().getName() + ": " + ex.toString()); } try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_LOGIN_STATUS; fileData = CryptFile.read(path); Start.env.setLoginStatus(Integer.parseInt(fileData[0].toString())); } catch (Exception ex) { System.err.println(this.getClass().getName() + ": " + ex.toString()); Start.env.setLoginStatus(StatusModeEnum.ONLINE); } StatusModeEnum mode = new StatusModeEnum(Start.env.getLoginStatus()); OscarInterface.changeStatus(Start.env.getConnection(), mode); try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_SOUND_DATA; fileData = CryptFile.read(path); Start.env.setSoundEnabled(Boolean.valueOf(fileData[0].toString()) .booleanValue()); Start.env.setSoundFiles(new String[] { fileData[4].toString(), fileData[5].toString(), fileData[6].toString() }, new boolean[] { Boolean.valueOf(fileData[1].toString()).booleanValue(), Boolean.valueOf(fileData[2].toString()).booleanValue(), Boolean.valueOf(fileData[3].toString()).booleanValue() }); } catch (Exception ex) { System.err.println(this.getClass().getName() + ": " + ex.toString()); } errorMessageSave = new MessageBuffer(true); CryptFile.setSecretKey(Default.AUTHOR); try { CryptFile.write(Default.FOLDER_NAME_HOME + "/" + Default.FILE_NAME_LAST_LOGIN, new String[] { Start.env.getOwnContact().getContactId() }); } catch (Exception ex) { msg = ((String[]) localized.get("errorMessages"))[10]; errorMessageSave.append(msg); } CryptFile.setSecretKey(Start.env.getOwnContact().getContactId()); try { path = Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_LOGIN_DATA; CryptFile.write(path, new String[] { Start.env.getHost(), String.valueOf(Start.env.getPort()), Start.env.getPassword(), String.valueOf(Start.env.getLoginMode()) }); } catch (Exception ex) { msg = ((String[]) localized.get("errorMessages"))[11]; errorMessageSave.append(msg); } if (errorMessageSave.getSize() > 0) { title = ((String[]) localized.get("messageTitles"))[0]; JOptionPane.showMessageDialog(loginFrame, errorMessageSave.getMessage(), title, JOptionPane.ERROR_MESSAGE); } new ShortUserInfoRequest(Start.env.getConnection(), ownId, ownId) { public void onResponse(ShortUserInfo shortInfo) { synchronized (Start.env) { Start.env.getOwnContact() .setNickName(shortInfo.getNickName()); Start.env.getOwnContact() .setFirstName(shortInfo.getFirstName()); Start.env.getOwnContact() .setLastName(shortInfo.getLastName()); Start.env.getOwnContact().setEmail(shortInfo.getEmail()); if (shortInfo.getAuthFlag() == 0) { Start.env.getOwnContact().setAuthorizationRequired(true); } else if (shortInfo.getAuthFlag() == 1) { Start.env.getOwnContact().setAuthorizationRequired(false); } } new MainFrame(loginFrame); } }; } } }); } this.jButtonCancel.setEnabled(true); } /** * Action 'Checkbox auto login selected'. */ protected void action_selectCheckBoxAutoLogin() { if (jCheckBoxAutoLogin.isSelected()) { jCheckBoxAutoSave.setSelected(true); jCheckBoxAutoSave.setEnabled(false); } else { jCheckBoxAutoSave.setSelected(false); jCheckBoxAutoSave.setEnabled(true); } } /** * Action 'Checkbox auto save selected'. */ protected void action_selectCheckBoxAutoSave() { if (jCheckBoxAutoSave.isSelected()) { jCheckBoxAutoLogin.setEnabled(false); } else { jCheckBoxAutoLogin.setEnabled(true); } } /** * Sets the user ID from the contents of this panel. */ private void setUserID() { synchronized (Start.env) { String item = String.valueOf(jComboBoxUserID.getEditor().getItem()); Start.env.getOwnContact().setContactId(item); } } /** * Sets the user data from the contents of this panel. * @throws Exception */ private void setUserData() { synchronized (Start.env) { Start.env.setHost(jTextFieldHost.getText()); Start.env.setPort((int) wholeNumberFieldPort.getValue()); Start.env.setPassword(String.valueOf(jPasswordField.getPassword())); if (jCheckBoxAutoLogin.isSelected()) { Start.env.setLoginMode(Oscar.AUTOLOGIN); } else if (jCheckBoxAutoSave.isSelected()) { Start.env.setLoginMode(Oscar.AUTOSAVE); } else { Start.env.setLoginMode(Oscar.NOAUTO); } } } /** * Shows the login mode in this panel. */ private void showLoginMode() { synchronized (Start.env) { switch (Start.env.getLoginMode()) { case Oscar.AUTOLOGIN: this.jCheckBoxAutoLogin.setSelected(true); this.jCheckBoxAutoLogin.setEnabled(true); this.jCheckBoxAutoSave.setSelected(true); this.jCheckBoxAutoSave.setEnabled(false); break; case Oscar.AUTOSAVE: this.jCheckBoxAutoLogin.setSelected(false); this.jCheckBoxAutoLogin.setEnabled(false); this.jCheckBoxAutoSave.setSelected(true); this.jCheckBoxAutoSave.setEnabled(true); break; case Oscar.NOAUTO: this.jCheckBoxAutoLogin.setSelected(false); this.jCheckBoxAutoLogin.setEnabled(true); this.jCheckBoxAutoSave.setSelected(false); this.jCheckBoxAutoSave.setEnabled(true); break; } if (Start.env.getSecurityLevel() >= Settings.HIGH_SECURITY) { this.jCheckBoxAutoLogin.setEnabled(false); this.jCheckBoxAutoSave.setEnabled(false); } } } /** * Shows the user ID in this panel. */ private void showUserID() { synchronized (Start.env) { int count = jComboBoxUserID.getItemCount(); for (int index = 0; index < count; index++) { String contactId = Start.env.getOwnContact().getContactId(); if (jComboBoxUserID.getItemAt(index).equals(contactId)) { jComboBoxUserID.setSelectedIndex(index); return; } } if (!Start.env.getOwnContact().getContactId().equals("")) { jComboBoxUserID.addItem(Start.env.getOwnContact().getContactId()); } jComboBoxUserID.setSelectedItem(Start.env.getOwnContact().getContactId()); } } /** * Shows the user data in this panel. */ private void showUserData() { synchronized (Start.env) { CryptFile.setSecretKey(Start.env.getOwnContact().getContactId()); try { fileData = CryptFile.read(Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_LANGUAGE); Start.env.setLocalization(new Localization(String.valueOf(fileData[0]), "language")); } catch (Exception ex1) { try { String languagePath = Resource.FOLDER_NAME_LANGUAGE_CLASSES + "/" + Default.LANGUAGE + ".class"; Start.env.setLocalization(new Localization(languagePath, "language")); } catch (Exception ex2) { try { String[] classes = DynLoader.listClassPaths(Resource.FOLDER_NAME_LANGUAGE_CLASSES); if (classes.length > 0) { Start.env.setLocalization(new Localization(classes[0], "language")); } else { throw new Exception(); } } catch (Exception ex3) { String msg = "Loading language file has been failed!"; String title = "Error"; JOptionPane.showMessageDialog(loginFrame, msg, title, JOptionPane.ERROR_MESSAGE); loginFrame.dispose(); System.exit(0); } } } try { fileData = CryptFile.read(Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_LOGIN_DATA); Start.env.setHost(String.valueOf(fileData[0])); if (!fileData[1].equals("")) { Start.env.setPort(Integer.parseInt(fileData[1].toString())); } Start.env.setPassword(String.valueOf(fileData[2])); Start.env.setLoginMode(Integer.parseInt(fileData[3].toString())); } catch (Exception ex) { Start.env.setHost(Default.ICQ_HOST); Start.env.setPort(Default.ICQ_PORT); Start.env.setPassword(""); Start.env.setLoginMode(Oscar.NOAUTO); } try { fileData = CryptFile.read(Default.FOLDER_NAME_HOME + "/" + Start.env.getOwnContact().getContactId() + "/" + Default.FILE_NAME_GENERAL_DATA); Start.env.setSecurityLevel(Integer.parseInt(fileData[1].toString())); } catch (Exception ex) { Start.env.setSecurityLevel(Settings.HIGH_SECURITY); } jTextFieldHost.setText(Start.env.getHost()); if (Start.env.getPort() >= 0) { wholeNumberFieldPort.setValue(Start.env.getPort()); } else { wholeNumberFieldPort.setValue(Default.ICQ_PORT); } if (Start.env.getLoginMode() != Oscar.NOAUTO && Start.env.getSecurityLevel() != Settings.HIGH_SECURITY) { jPasswordField.setText(Start.env.getPassword()); } else { jPasswordField.setText(""); } } showLoginMode(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -