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

📄 settings.java

📁 手机邮箱撒的方式方式方式的
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
    }
    //#endif
    
    //#ifdef MUJMAIL_SYNC
    public void parseAndSetup(String setupStr)
    {
    	//skip SETTINGSVERSION for now
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	mujMailSrvAddr = setupStr.substring(setupStr.indexOf("mujMailSrvAddr: ") + 16, setupStr.indexOf('\n'));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	mujMailSrvPort = setupStr.substring(setupStr.indexOf("mujMailSrvPort: ") + 16, setupStr.indexOf('\n'));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	mujMailSrvLogin = setupStr.substring(setupStr.indexOf("mujMailSrvLogin: ") + 17, setupStr.indexOf('\n'));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	primaryEmail = setupStr.substring(setupStr.indexOf("primaryEmail: ") + 14, setupStr.indexOf('\n'));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	smtpServer = setupStr.substring(setupStr.indexOf("smtpServer: ") + 12, setupStr.indexOf('\n'));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	smtpSSL = "1".equals(setupStr.substring(setupStr.indexOf("smtpSSL: ") + 9, setupStr.indexOf('\n')));
        //#ifdef MUJMAIL_SSL
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
        smtpSSLType = Integer.valueOf(setupStr.substring(setupStr.indexOf("smtpSSLType: ") + 13, setupStr.indexOf('\n'))).byteValue();
        //#endif
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	smtpPort = Integer.valueOf(setupStr.substring(setupStr.indexOf("smtpPort: ") + 10, setupStr.indexOf('\n'))).shortValue();
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	smtpAuthName = setupStr.substring(setupStr.indexOf("smtpAuthName: ") + 14, setupStr.indexOf('\n'));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	fontSize = Integer.parseInt(setupStr.substring(setupStr.indexOf("fontSize: ") + 10, setupStr.indexOf('\n')));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	downWholeMail = "1".equals(setupStr.substring(setupStr.indexOf("downWholeMail: ") + 15, setupStr.indexOf('\n')));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	downOnlyNeverSeen = "1".equals(setupStr.substring(setupStr.indexOf("downOnlyNeverSeen: ") + 19, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	delMailFromServer = "1".equals(setupStr.substring(setupStr.indexOf("delMailFromServer: ") + 19, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	delOnExit = "1".equals(setupStr.substring(setupStr.indexOf("delOnExit: ") + 11, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	addToAddressbook = "1".equals(setupStr.substring(setupStr.indexOf("addToAddressbook: ") + 18, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	smallFontMailForm = "1".equals(setupStr.substring(setupStr.indexOf("smallFontMailForm: ") + 19, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	replaceTabs = "1".equals(setupStr.substring(setupStr.indexOf("replaceTabs: ") + 13, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	moveToTrash = "1".equals(setupStr.substring(setupStr.indexOf("moveToTrash: ") + 13, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	safeMode = "1".equals(setupStr.substring(setupStr.indexOf("safeMode: ") + 10, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
        deleteMailsWhenHeaderDBIsFull = "1".equals(setupStr.substring(setupStr.indexOf("deleteMailsWhenHeaderDBIsFull: ") + 31, setupStr.indexOf('\n')));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
        deleteMailsBodyWhenBodyDBIsFull = "1".equals(setupStr.substring(setupStr.indexOf("deleteMailsBodyWhenBodyDBIsFull: ") + 33, setupStr.indexOf('\n')));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	//minInBoxDBSpace = Integer.valueOf(setupStr.substring(setupStr.indexOf("minInBoxDBSpace: ") + 17, setupStr.indexOf('\n'))).shortValue();
    	//setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	maxMailsRetrieve = Integer.valueOf(setupStr.substring(setupStr.indexOf("maxMailsRetrieve: ") + 18, setupStr.indexOf('\n'))).shortValue();
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	maxLinesRetrieve = Integer.valueOf(setupStr.substring(setupStr.indexOf("maxLinesRetrieve: ") + 18, setupStr.indexOf('\n'))).shortValue();    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
        maxSizeOfBodypart = Long.parseLong(setupStr.substring(setupStr.indexOf("maxSizeOfBodypart: ") + 19, setupStr.indexOf('\n')));
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	pollPlaysSound = "1".equals(setupStr.substring(setupStr.indexOf("pollPlaysSound: ") + 16, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	pollDownloadsMails = "1".equals(setupStr.substring(setupStr.indexOf("pollDownloadsMails: ") + 20, setupStr.indexOf('\n')));    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	pollInvl = Integer.valueOf(setupStr.substring(setupStr.indexOf("pollInvl: ") + 10, setupStr.indexOf('\n'))).intValue();    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	timeout = Integer.valueOf(setupStr.substring(setupStr.indexOf("timeout: ") + 9, setupStr.indexOf('\n'))).intValue();    	
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	theBoxSortModes = Integer.valueOf(setupStr.substring(setupStr.indexOf("theBoxSortModes: ") + 17, setupStr.indexOf('\n'))).intValue();
    	setupStr = setupStr.substring(setupStr.indexOf('\n') + 1);
    	signature = setupStr.substring(setupStr.indexOf("signature: ") + 11, setupStr.indexOf('\n'));

    	  if (DEBUG) System.out.println("DEBUG Settings.parseAndSetup(String) - SETTINGS="+toString());
    	saveSettings(false);
    	mujMail.getMenu().refresh(Menu.SETTINGS, false);
    	loadSettings();
    }
    //#endif
    
    class SortForm extends Form implements ItemStateListener {

    	/** Index for the "threading enabled" option */
    	private static final byte THREADING_ENABLED_CHACKBOX = 0;

        ChoiceGroup sortByCG;
        ChoiceGroup sortOrderCG;
        TheBox box;
        ChoiceGroup threadingGroup;

        public SortForm() {
            super(Lang.get(Lang.ST_SORT_SETTINGS));

            sortByCG = new ChoiceGroup(Lang.get(Lang.ST_SORT_BY), Choice.EXCLUSIVE);
            sortByCG.append(Lang.get(Lang.ST_SORT_TIME), null);
            sortByCG.append(Lang.get(Lang.ST_SORT_SUBJECT), null);
            sortByCG.append(Lang.get(Lang.ST_SORT_RECIPIENTS), null);
            sortByCG.append(Lang.get(Lang.ST_SORT_SENDER), null);
            sortByCG.append(Lang.get(Lang.ST_SORT_SIZE), null);

            sortOrderCG = new ChoiceGroup(Lang.get(Lang.ST_SORT_ORDER), Choice.EXCLUSIVE);
            sortOrderCG.append("older first", null); // have to represent unnatural ordering
            sortOrderCG.append("newer first", null); // have to represent natural ordering

            threadingGroup = new ChoiceGroup( Lang.get( Lang.ST_THREADING), Choice.MULTIPLE );
              // this is why the value of THREADING_ENABLED_CHACKBOX is 0
            threadingGroup.append( Lang.get( Lang.ST_THREADING_ENABLE), null );
            threadingGroup.setSelectedFlags( new boolean[] { Settings.threading } );

            append(sortByCG);
            append(sortOrderCG);
            append( threadingGroup );
            addCommand(back);
            addCommand(ok);

            setCommandListener(mujMail);
            setItemStateListener( this );
        }

        public void setOrderingLabels( int selectedCriterion ) {
            switch ( selectedCriterion ) {
                case 0: // time
                    sortOrderCG.set(0, "older first", null);
                    sortOrderCG.set(1, "newer first", null);
                    break;
                case 1: // subject
                case 2: // recipients
                case 3: // sender
                    sortOrderCG.set(0, "alphabetically", null);
                    sortOrderCG.set(1, "reverse order", null);
                    break;
                case 4: // size
                    sortOrderCG.set(0, "smaller first", null);
                    sortOrderCG.set(1, "bigger first", null);
                    break;
            }
        }

        public void updateValuesToForm() {
            threadingGroup.setSelectedFlags( new boolean[] { Settings.threading } );
        }

        /* ***********************
         *    listener method    *
         *************************/
        public void itemStateChanged(Item src) {
            if ( src == sortByCG ) {
        	    int selected = sortByCG.getSelectedIndex();
        	    setOrderingLabels( selected );
        	}
        }
    }

    public Settings(MujMail mujMail) {
    	loadDefaultValues();
        //super(Lang.get(Lang.ST_SETTINGS));
        this.mujMail = mujMail;

        back = new Command(Lang.get(Lang.BTN_BACK), Command.BACK, 0);
        ok = new Command(Lang.get(Lang.BTN_OK), Command.OK, 1);
        sortForm = new SortForm();

        smtpSettingsForm = new SMTPSettingsForm();
        otherSettingsForm = new OtherSettingsForm();
        pollingSettingsForm = new PollingSettingsForm();
        appearanceSettingsForm = new AppearanceSettingsForm();
        retrievingSettingsForm = new RetrievingSettingsForm();
        storingSettingsForm = new StoringSettingsForm();
        mujMailSettingsForm = new MujMailServerSettingsForm();

        loadSettings();
        //setTitle(Lang.get(Lang.ST_SETTINGS));
    }
    
    //sets sortMode for all boxes
    public void initSortMode() {
          if (DEBUG) System.out.println("DEBUG Settings.initSortMode() - sort modes: " + Integer.toHexString( theBoxSortModes ) );
        //theBoxSortModes;
        int tmp = theBoxSortModes;
        mujMail.getSentBox().setOrdering( Ordering.valueOf( tmp & 0x1 ) );
        mujMail.getSentBox().setCriterion( Criterion.valueOf( (tmp & 0xE) >> 1 ) );
        //#ifdef MUJMAIL_SEARCH
        //mujMail.getSearchBox().setCriterion( Criterion.valueOf( tmp & 0xE ) );
        //#endif
        tmp = tmp >> 4;
        mujMail.outBox.setOrdering( Ordering.valueOf( tmp & 0x1 ) );
        mujMail.outBox.setCriterion( Criterion.valueOf( (tmp & 0xE) >> 1 ) );
        tmp = tmp >> 4;
        mujMail.draft.setOrdering( Ordering.valueOf( tmp & 0x1 ) );
        mujMail.draft.setCriterion( Criterion.valueOf( (tmp & 0xE) >> 1 ) );
        tmp = tmp >> 4;
        mujMail.getInBox().setOrdering( Ordering.valueOf( tmp & 0x1 ) );
        mujMail.getInBox().setCriterion( Criterion.valueOf( (tmp & 0xE) >> 1 ) );
        tmp = tmp >> 4;
        mujMail.getTrash().setOrdering( Ordering.valueOf( tmp & 0x1 ) );
        mujMail.getTrash().setCriterion( Criterion.valueOf( (tmp & 0xE) >> 1 ) );
    }

    public void saveSortSettings(final TheBox box) {
        //get selected modes and recalculate sortMode
        int sortBy = sortForm.sortByCG.getSelectedIndex();
        box.setCriterion( Criterion.valueOf( sortBy ) );
        int sortOrder = sortForm.sortOrderCG.getSelectedIndex();
        box.setOrdering( Ordering.valueOf( sortOrder ) );
        TheBox tmpBox = mujMail.getTrash();
        theBoxSortModes = (tmpBox.getCriterion().ordinal << 1) + tmpBox.getOrdering().ordinal;
        tmpBox = mujMail.getInBox();
        theBoxSortModes = (theBoxSortModes << 4) + (tmpBox.getCriterion().ordinal << 1) + tmpBox.getOrdering().ordinal;
        tmpBox = mujMail.draft;
        theBoxSortModes = (theBoxSortModes << 4) + (tmpBox.getCriterion().ordinal << 1) + tmpBox.getOrdering().ordinal;
        tmpBox = mujMail.outBox;
        theBoxSortModes = (theBoxSortModes << 4) + (tmpBox.getCriterion().ordinal << 1) + tmpBox.getOrdering().ordinal;
        tmpBox = mujMail.getSentBox();
        theBoxSortModes = (theBoxSortModes << 4) + (tmpBox.getCriterion().ordinal << 1) + tmpBox.getOrdering().ordinal;

        saveThreadingSettings();

        saveSettings(true);
    }

    /**
     * Saves settings for threading - whether the threading is enabled and when
     * it's enabled whether the empty root messages have to be shows.
     *  
     * @param box
     */
    private void saveThreadingSettings() {
    	  // assumes that THREADING_SHOW_ROOTS is the last check box index 
    	boolean[] selected = new boolean[SortForm.THREADING_ENABLED_CHACKBOX + 1];
    	sortForm.threadingGroup.getSelectedFlags( selected );

    	threading = selected[SortForm.THREADING_ENABLED_CHACKBOX];
    }

    public void showSortFrm(TheBox box) {
        sortForm.box = box;
        sortForm.sortOrderCG.setSelectedIndex(box.getOrdering().ordinal, true);
        sortForm.sortByCG.setSelectedIndex(box.getCriterion().ordinal, true);
        sortForm.setOrderingLabels( box.getCriterion().ordinal );
        mujMail.getDisplay().setCurrent(sortForm);
    }

    /**
     * Updates values of settings variables to forms that displays settings.
     */
    public void updateValuesToForms() {
        appearanceSettingsForm.updateValuesToForm();
        mujMailSettingsForm.updateValuesToForm();
        smtpSettingsForm.updateValuesToForm();
        retrievingSettingsForm.updateValuesToForm();
        otherSettingsForm.updateValuesToForm();
        storingSettingsForm.updateValuesToForm();

⌨️ 快捷键说明

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