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

📄 settings.java

📁 手机邮箱撒的方式方式方式的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
        pollingSettingsForm.updateValuesToForm();
        sortForm.updateValuesToForm();
    }

    public void saveSettings(boolean init) {
          if (DEBUG) System.out.println("DEBUG Settings.saveSettings(boolean " + init + ")");
        // initialize variables
    	if (init) {
	        try {
	        	appearanceSettingsForm.updateValuesFromForm();
                mujMailSettingsForm.updateValuesFromForm();
                smtpSettingsForm.updateValuesFromForm();
                retrievingSettingsForm.updateValuesFromForm();
                otherSettingsForm.updateValuesFromForm();
                storingSettingsForm.updateValuesFromForm();
                pollingSettingsForm.updateValuesFromForm();
	        } catch (Exception ex) { //bad input may occur, empty port fields..
	            ex.printStackTrace();
	            updateValuesToForms(); //set defaults
	            mujMail.alert.setAlert(this,mujMail.getMenu(), Lang.get(Lang.ALRT_ST_SAVING) + Lang.get(Lang.FAILED), MyAlert.DEFAULT, AlertType.ERROR);
	            //return;
	        } 
    	}
          System.out.println("deleteMailsWhenHeaderDBIsFull: " + deleteMailsWhenHeaderDBIsFull);

        // save to RecordStore
        RecordStore rs;
        try {
            rs = RecordStore.openRecordStore("SETTINGS", true);
            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
            DataOutputStream stream = new DataOutputStream(buffer);

            stream.writeLong(SETTINGSVERSION);
            
            stream.writeUTF(mujMailSrvAddr);
            stream.writeUTF(mujMailSrvPort);
            stream.writeUTF(mujMailSrvLogin);
            stream.writeUTF(mujMailSrvPasswd);
            
            stream.writeUTF(primaryEmail);
            stream.writeUTF(smtpServer);
            stream.writeBoolean(smtpSSL);
            //#ifdef MUJMAIL_SSL
            stream.writeByte(smtpSSLType);
            //#endif
            stream.writeShort(smtpPort);
            stream.writeUTF(smtpAuthName);
            stream.writeUTF(smtpAuthPass);
            stream.writeInt(fontSize);
            stream.writeBoolean(downWholeMail);
            stream.writeBoolean(downOnlyNeverSeen);
            stream.writeBoolean(delMailFromServer);
            stream.writeBoolean(delOnExit);
            stream.writeBoolean(addToAddressbook);
            stream.writeBoolean(smallFontMailForm);
            stream.writeBoolean(replaceTabs);
            stream.writeBoolean(moveToTrash);
            stream.writeBoolean(safeMode);
            stream.writeBoolean(deleteMailsWhenHeaderDBIsFull);
            stream.writeBoolean(deleteMailsBodyWhenBodyDBIsFull);
            //stream.writeShort(minInBoxDBSpace);
            stream.writeShort(maxMailsRetrieve);
            stream.writeShort(maxLinesRetrieve);
            stream.writeLong(maxSizeOfBodypart);
            stream.writeBoolean(pollPlaysSound);
            stream.writeBoolean(pollDownloadsMails);
            stream.writeInt(pollInvl);
            stream.writeInt(timeout);
            stream.writeInt(theBoxSortModes);
            stream.writeUTF(signature);
            stream.writeUTF(password);

              // save the threading settings
            stream.writeBoolean( threading );

            stream.flush();
            if (rs.getNumRecords() == 1) {
                rs.setRecord(1, buffer.toByteArray(), 0, buffer.size());
            } else {
                rs.addRecord(buffer.toByteArray(), 0, buffer.size());
            }
            rs.closeRecordStore();
            if (mujMail.getDisplay().getCurrent() != mujMail.mailForm) {
                mujMail.mainMenu();
            }
        } catch (Exception e) {
            e.printStackTrace();
            mujMail.alert.setAlert(this,mujMail.getMenu(), Lang.get(Lang.ALRT_ST_SAVING) + Lang.get(Lang.FAILED), MyAlert.DEFAULT, AlertType.ERROR);
            return;
        }
    }

    /**
     * This is called only at the beginning in the mujMail.startApp() method.
     */
    public void loadSettings() {
          if (DEBUG) System.out.println("DEBUG Setting.loadSettings()");
        // load from the RecordStore
        RecordStore rs;
        try {
            rs = RecordStore.openRecordStore("SETTINGS", true);
            // settings has already been saved
            if (rs.getNumRecords() == 1) {
                  if (DEBUG) System.out.println("DEBUG Settings.loadSettings() - loading settings");
                ByteArrayInputStream buffer = new ByteArrayInputStream(rs.getRecord(1));
                DataInputStream stream = new DataInputStream(buffer);

                long sv = stream.readLong();
                if (sv != this.SETTINGSVERSION) { //previous settings format is different
                    rs.closeRecordStore();
                    updateValuesToForms();
                    saveSettings(true); //create new format;
                    return; //otherwise it may cause a crash if we read different format
                }

                mujMailSrvAddr   = stream.readUTF();
                mujMailSrvPort   = stream.readUTF();
                mujMailSrvLogin  = stream.readUTF();
                mujMailSrvPasswd = stream.readUTF();
                
                primaryEmail = stream.readUTF();
                smtpServer = stream.readUTF();
                smtpSSL = stream.readBoolean();
                //#ifdef MUJMAIL_SSL
                smtpSSLType = stream.readByte();
                //#endif
                smtpPort = stream.readShort();
                smtpAuthName = stream.readUTF();
                smtpAuthPass = stream.readUTF();
                fontSize = stream.readInt();
                downWholeMail = stream.readBoolean();
                downOnlyNeverSeen = stream.readBoolean();
                delMailFromServer = stream.readBoolean();
                delOnExit = stream.readBoolean();
                addToAddressbook = stream.readBoolean();
                smallFontMailForm = stream.readBoolean();
                replaceTabs = stream.readBoolean();
                moveToTrash = stream.readBoolean();
                safeMode = stream.readBoolean();
                deleteMailsWhenHeaderDBIsFull = stream.readBoolean();
                deleteMailsBodyWhenBodyDBIsFull = stream.readBoolean();
                //minInBoxDBSpace = stream.readShort();
                maxMailsRetrieve = stream.readShort();
                maxLinesRetrieve = stream.readShort();
                maxSizeOfBodypart = stream.readLong();
                pollPlaysSound = stream.readBoolean();
                pollDownloadsMails = stream.readBoolean();
                pollInvl = stream.readInt();
                timeout = stream.readInt();
                theBoxSortModes = stream.readInt();
                signature = stream.readUTF();
                password = stream.readUTF();

                threading = stream.readBoolean();

                rs.closeRecordStore();
                  if (DEBUG) System.out.println("DEBUG Settings.loadSettings() - loading settings..successful");
            }
        } catch (Exception e) {
            e.printStackTrace();
            mujMail.alert.setAlert(this,mujMail.getMenu(), Lang.get(Lang.ALRT_ST_LOADING) + Lang.get(Lang.FAILED), MyAlert.DEFAULT, AlertType.ERROR);
        }
        updateValuesToForms();
    }

    public void itemStateChanged(Item item) {
        if (item == smtpSSLCG) {
            int smtpPortOld = 0;
            try { 
                smtpPortOld = Short.parseShort(smtpPortTF.getString());
            } catch (Exception e) {}
            if (smtpSSLCG.isSelected(0)) {
                //#ifdef MUJMAIL_SSL
                sslTypeChooser.insertToForm();
                //#endif
                if ( smtpPortOld == CONST_PORT_SMTP ) smtpPortTF.setString( new Integer(CONST_PORT_SMTPS).toString());
            } else {
                //#ifdef MUJMAIL_SSL
                sslTypeChooser.deleteFromForm();
                //#endif
                if ( smtpPortOld == CONST_PORT_SMTPS ) smtpPortTF.setString( new Integer(CONST_PORT_SMTP).toString());
            }
        }

    }

    private static SMTPSettingsForm smtpSettingsForm;
    public void showSMTPSettingsForm() {
        mujMail.getDisplay().setCurrent(smtpSettingsForm);
    }

    private static AppearanceSettingsForm appearanceSettingsForm;
    public void showAppearanceSettingsForm() {
        mujMail.getDisplay().setCurrent(appearanceSettingsForm);
    }

    private static RetrievingSettingsForm retrievingSettingsForm;
    public void showRetrievingSettingsForm() {
        mujMail.getDisplay().setCurrent(retrievingSettingsForm);
    }

    private static MujMailServerSettingsForm mujMailSettingsForm;
    public void showMujMailServerSettingsForm() {
        mujMail.getDisplay().setCurrent(mujMailSettingsForm);
    }

    private static StoringSettingsForm storingSettingsForm;
    public void showStoringMailsSettingsForm() {
        mujMail.getDisplay().setCurrent(storingSettingsForm);
    }

    private static PollingSettingsForm pollingSettingsForm;
    public void showPollingSettingsForm() {
        mujMail.getDisplay().setCurrent(pollingSettingsForm);
    }

    private static OtherSettingsForm otherSettingsForm;
    public void showOtherSettingsForm() {
        mujMail.getDisplay().setCurrent(otherSettingsForm);
    }

    /**
     * Represents the form that displays settins variables.
     */
    private abstract class SettingsForm extends Form {
        public SettingsForm(String title) {
            super(title);
            addCommand(back);
            addCommand(ok);
            setCommandListener(mujMail);
            setItemStateListener(Settings.this);
        }

        /**
         * Displays values of settings variables in the form.
         */
        protected abstract void updateValuesToForm();
        /**
         * Update values of settings variable according to values in form.
         */
        protected abstract void updateValuesFromForm() throws Exception;

    }

    private class SMTPSettingsForm extends SettingsForm {

        public SMTPSettingsForm() {
            super("Sending mails settings");

            smtpSSLCG = new ChoiceGroup("SMTP SSL", Choice.MULTIPLE);
            smtpSSLCG.append(Lang.get(Lang.AS_SSL), null);

⌨️ 快捷键说明

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