⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 profileeditordialog.java

📁 网站即时通讯系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
            GnuPG gnupg = new GnuPG();            boolean check = true;            if (BuddyList.getInstance().checkConnection()                    && !savepassphraseCheck.isSelected()                    && gnupgSecretKeyID.matches(tempgnupgSecretKeyID) == false) {                PasswordDialog d = new PasswordDialog(this,resources                        .getString("gnupgKeyPassword"));                gnupgTempPass = d.getText();            } else if (savepassphraseCheck.isSelected()) {                gnupgTempPass = new String(gnupgpasswordField.getPassword());            } else {                check = false;            }            if (!check                    || ((gnupgTempPass != null) && (gnupg.sign("1",                            gnupgSecretKeyID, gnupgTempPass)))) {                BuddyList.getInstance().setGnuPGPassword(gnupgTempPass);            } else {                BuddyList.getInstance().setGnuPGPassword(null);                Standard                        .warningMessage(null, "GnuPG Error",                                "Wrong GnuPG passphrase! Please, try entering it again again.");                return;            }            Hashtable buddyStatuses = BuddyList.getInstance()                    .getBuddyStatuses();            if (buddyStatuses != null) {                Iterator iterator = buddyStatuses.keySet().iterator();                while (iterator.hasNext()) {                    String user = (String) iterator.next();                    BuddyStatus buddy = (BuddyStatus) buddyStatuses.get(user);                    if (buddy.getConversation() != null                            && buddy.getConversation() instanceof ChatPanel) {                        ((ChatPanel) buddy.getConversation()).enableEncrypt();                    }                }            }            if (gnupgSignPresenceCheck.isSelected()) {                settings.setBoolean("gnupgSignPresence", true);            } else {                settings.remove("gnupgSignPresence");            }            int variant = gnupgSecurityVariantBox.getSelectedIndex();            settings.setProperty("gnupgSecurityVariant", String                    .valueOf(variant));            settings.setProperty("gnupgSecretKeyID", gnupgSecretKeyID);            if (savepassphraseCheck.isSelected()) {                String pass = new String(gnupgpasswordField.getPassword());                if (!pass.equals("")) {                    settings.setBoolean("gnupgSavePassphrase", true);                    settings.setProperty("gnupgPassPhrase", SimpleXOR.encrypt(                            pass, "86753099672539"));                } else {                    Standard.warningMessage(this, "GnuPG", resources                            .getString("gnupgEnterPassphrase"));                    return;                }            } else {                settings.setBoolean("gnupgSavePassphrase", false);                settings.remove("gnupgPassPhrase");            }        } else {            settings.remove("gnupgSecretKeyID");        }        String profile = nameField.getText();        File profileDir = new File(profDir, profile);        if (origProf == null) {            // check to see if the profile already exists            if (profileDir.exists()) {                Standard.warningMessage(this, resources                        .getString("profileEditor"), resources                        .getString("profileExists"));                return;            }            profileDir.mkdirs();        } else if (!profile.equals(origProf)) {            File origProfDir = new File(profDir, origProf);            origProfDir.renameTo(profileDir);        }        try {            settings.saveSettings(profDir.getPath() + File.separatorChar                    + profile + File.separatorChar + "settings.properties",                    "JBother Settings File");        } catch (IOException ex) {            Standard.warningMessage(this, resources.getString("profileEditor"),                    resources.getString("errorSavingSettings"));            return;        }        if (defaultBox.isSelected()) {            ProfileManager.setDefaultProfile(profile);        }        if (dialog != null) {            dialog.loadProfileList();        }        if (isCurrentProfile) {            ProfileManager.setCurrentProfile(profile);            Settings.loadSettings(profDir.getPath() + File.separatorChar                    + profile, "settings.properties");            ConnectorThread.getInstance().resetCredentials();        }        if (exitOnClose) {            ProfileManager.loadProfile(nameField.getText());        }        dispose();    }    /**     * Calls the NewAccoutDialog to create a new account     */    private void createAccountHandler() {        if (serverField.getText().equals("")) {            Standard.warningMessage(this, "createAccount", resources                    .getString("enterNewAccountServer"));            return;        }        int port = -1;        boolean ssl = sslBox.isSelected();        try {            port = Integer.parseInt(portField.getText());        } catch (NumberFormatException e) {        }        if (port == -1) {            if (ssl) {                port = 5223;            } else {                port = 5222;            }        }        String server = JOptionPane.showInputDialog(resources.getString("enterNewAccountServer"));        if( server == null || server.equals("")) return;        NewAccountDialog dialog = new NewAccountDialog(this, server,            usernameField.getText(), new String(passwordField                .getPassword()), port, ssl);        dialog.getRegistrationInfo();    }    /**     * Sets the username     *     * @param username     *            The new username value     */    public void setUsername(String username) {        usernameField.setText(username);    }    /**     * Sets the password     *     * @param password     *            The new password value     */    public void setPassword(String password) {        passwordField.setText(password);    }    public void setServer(String server)    {        serverField.setText(server);    }    /**     * Creates the Account Panel     */    private void createAccountPanel() {        savePassword.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                String text = new String(passwordField.getPassword());                passwordField.setEnabled(savePassword.isSelected());                if (!savePassword.isSelected()) {                    passwordField.setText("");                }                else passwordField.setText(text);            }        });        AbstractOptionPanel panel = new AbstractOptionPanel();        panel.addComponent(resources.getString("username"), usernameField);        passwordField.setFont(usernameField.getFont());        panel.addComponent(resources.getString("savePassword"), savePassword);        panel.addComponent(resources.getString("password"), passwordField);        panel.addComponent(resources.getString("resource"), resourceField);        panel.addComponent(resources.getString("server"), serverField);        panel.addComponent(createButton, 1, GridBagConstraints.EAST);        panel.end();        pane.add(resources.getString("account"), panel);    }    /**     * Creates the options panel     */    private void createOptionsPanel() {        AbstractOptionPanel panel = new AbstractOptionPanel();        panel.addComponent(resources.getString("useSsl"), sslBox);        JPanel portPanel = new JPanel(new BorderLayout());        portPanel.add(portField, BorderLayout.WEST);        portPanel.add(new JLabel(" "                + resources.getString("leaveBlankForDefault")),                BorderLayout.CENTER);        panel.addComponent(resources.getString("logInAutomatically"),                autoLoginBox);        panel.addComponent(resources.getString("reconnectOnDisconnect"),                reconnectBox);        panel.addComponent(resources.getString("connectPort"), portPanel);        panel.end();        pane.add(resources.getString("options"), panel);    }    /**     * Creates the GnuPG Panel     */    private void createGnuPGPanel() {        JPanel main = new JPanel(new BorderLayout());        AbstractOptionPanel panel = new AbstractOptionPanel();        panel.addComponent(resources.getString("gnupgSecretKey"), keyinfoLabel);        panel.addComponent(resources.getString("gnupgSavePassphrase"),                savepassphraseCheck);        panel.addComponent(resources.getString("gnupgPassphrase"),                gnupgpasswordField);        panel.addComponent("Sign Presence", gnupgSignPresenceCheck);        panel.addComponent("Security Variant", gnupgSecurityVariantBox);        savepassphraseCheck.addMouseListener(new MouseAdapter() {            public void mouseClicked(MouseEvent e) {                gnupgpasswordField.setEnabled(savepassphraseCheck.isSelected());                if (savepassphraseCheck.isSelected()) {                    if (savepassphraseCheck.isEnabled()) {                        int result = JOptionPane.showConfirmDialog(null,                                resources.getString("gnupgInsecure"), "GnuPG",                                JOptionPane.YES_NO_OPTION);                        if (result != JOptionPane.YES_OPTION) {                            savepassphraseCheck.setSelected(false);                        }                    } else {                        gnupgpasswordField.setText("");                    }                    gnupgpasswordField.setEnabled(savepassphraseCheck                            .isSelected());                } else {                    gnupgpasswordField.setText("");                }            }        });        JPanel buttons = new JPanel();        buttons.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));        buttons.setLayout(new BoxLayout(buttons, BoxLayout.X_AXIS));        buttons.add(Box.createHorizontalGlue());        buttons.add(gnupgselectButton);        buttons.add(gnupgusenoneButton);        panel.end();        main.add(panel, BorderLayout.CENTER);        main.add(buttons, BorderLayout.SOUTH);        pane.add("GnuPG", main);    }    /**     * Loads a certain profile     *     * @param profile     *            the profile to load, or null to create a new one     */    private void loadProfile(String profile) {        if (profile != null) {            nameField.setText(profile);            try {                settings.loadSettings(profDir.getPath() + File.separatorChar                        + profile + File.separatorChar + "settings.properties");            } catch (Exception ex) {                return;            }        } else {            // copy the default file in to place            InputStream stream = getClass().getClassLoader()                    .getResourceAsStream("defaultsettings.properties");            try {                settings.load(stream);            } catch (Exception ex) {                return;            }        }        usernameField.setText(settings.getProperty("username"));        String pass = settings.getProperty("password");        savePassword.setSelected(pass != null);        passwordField.setEnabled(savePassword.isSelected());        if (savePassword.isSelected()) {            passwordField.setText(SimpleXOR.decrypt(settings                    .getProperty("password"), "JBother rules!"));        }        resourceField.setText(settings.getProperty("resource"));        serverField.setText(settings.getProperty("defaultServer"));        portField.setText(settings.getProperty("port"));        sslBox.setSelected(settings.getBoolean("useSSL"));        autoLoginBox.setSelected(settings.getBoolean("autoLogin"));        reconnectBox.setSelected(settings.getBoolean("reconnectOnDisconnect"));        String[] entries;        String name;        String id;        GnuPG gnupg = new GnuPG();        id = settings.getProperty("gnupgSecretKeyID");        if (id != null) {            if (gnupg.listSecretKeys(id)) {                entries = gnupg.getResult().split("\n");                for (int i = 0; i < entries.length; i++) {                    name = entries[i]                            .replaceAll(                                    "^sec:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:([^:]*):[^:]*:[^:]*:[^:]*$",                                    "$1");                    if (!name.equals(entries[i])) {                        keyinfoLabel.setText(name);                        gnupgSecretKeyID = id;                        if (id != null) {                            tempgnupgSecretKeyID = id;                        }                    }                }            }            if (settings.getProperty("gnupgPassPhrase") != null) {                gnupgpasswordField.setText(SimpleXOR.decrypt(settings                        .getProperty("gnupgPassPhrase"), "86753099672539"));                savepassphraseCheck.setSelected(true);            }            gnupgSignPresenceCheck.setSelected(settings                    .getBoolean("gnupgSignPresence"));            gnupgSignPresenceCheck.setEnabled(true);            if (settings.getProperty("gnupgSecurityVariant") != null) {                int variant;                String vs = settings.getProperty("gnupgSecurityVariant");                if (vs != null) {                    if (vs.matches("0") == false && vs.matches("1") == false                            && vs.matches("2") == false) {                        variant = 0;                    } else {                        variant = Integer.parseInt(vs);                    }                } else {                    variant = 0;                }                gnupgSecurityVariantBox.setSelectedIndex(variant);                gnupgSecurityVariantBox.setEnabled(true);            }        } else {            gnupgSecurityVariantBox.setEnabled(false);            gnupgpasswordField.setText("");            gnupgpasswordField.setEnabled(false);            savepassphraseCheck.setSelected(false);            savepassphraseCheck.setEnabled(false);            gnupgSignPresenceCheck.setEnabled(false);        }        String defaultProf = ProfileManager.getDefaultProfile();        com.valhalla.Logger.debug(defaultProf);        if (defaultProf != null && defaultProf.equals(profile)) {            defaultBox.setSelected(true);        }    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -