亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mujmail.java

?? 手機郵箱撒的方式方式方式的
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/*
MujMail - Simple mail client for J2ME
Copyright (C) 2003 Petr Spatka <petr.spatka@centrum.cz>
Copyright (C) 2005 Pavel Machek <pavel@ucw.cz>
Copyright (C) 2006 Nguyen Son Tung <n.sontung@gmail.com>
Copyright (C) 2006 Martin Stefan <martin.stefan@centrum.cz>
Copyright (C) 2008 David Hauzar <david.hauzar.mujmail@gmail.com>
 
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

package mujmail;


import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;

import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.Alert;

import mujmail.account.AccountSettings;
import mujmail.account.MailAccount;
//#ifdef MUJMAIL_SYNC
import mujmail.account.MailAccountPrimary;
//#endif
import mujmail.protocols.SMTP;
import mujmail.threading.Algorithm;
import mujmail.util.Functions;
//#ifdef MUJMAIL_SEARCH
import mujmail.search.SearchBox;
//#endif
//#ifdef MUJMAIL_SYNC
import mujmail.account.Sync;
//#endif
//#ifdef MUJMAIL_USR_FOLDERS
import mujmail.mailboxes.BoxList;
//#endif
//#ifdef MUJMAIL_DEBUG_CONSOLE
import mujmail.debug.DebugConsole;
//#endif

public class MujMail extends MIDlet implements CommandListener {

    /** Flag signals if we want to print debug prints */
    private static final boolean DEBUG = false;

    public static final String VERSION = "v1.08.08";
    public static final int BUILD = 20090402;

    public static Properties props;

    //private Lang language = new Lang();
    private MyDisplay myDisplay = new MyDisplay(this);
    public MyAlert alert = new MyAlert(this);
    private Settings settings = new Settings(this);
    private final AccountSettings accountSettings = new AccountSettings(this);
    private AddressBook addressBook = new AddressBook(this);
    final OutBox outBox;
    final PersistentBox sentBox;
    //#ifdef MUJMAIL_SEARCH
    final private SearchBox searchBox;
    //#endif
    private final InBox inBox;
    final OutBox draft;
    private final Trash trash;
    //#ifdef MUJMAIL_SYNC
    private final Sync sync;
    //#endif
    public MailForm mailForm = new MailForm(this);
    public SendMail sendMail = new SendMail(this);
    About about = new About(this);
    //private Debug debug = null;
    private Hashtable/*<String, MailAccountPrimar>*/ mailAccounts;
    ClearDBSelect clearDBSelect;
    private Menu menu = null;
    private boolean initialised = false;
    //#ifdef MUJMAIL_USR_FOLDERS
    private BoxList userMailBoxes;
    //#endif

    Displayable lastDisplay; //last screen displayed before the application goes minimized, paused..
    
    private MailDBSeen mailDBSeen;
    private MailDBManager mailDBManager; 
    
    public static MujMail mujmail; //to get pointer to mujmail easier from anywhere

    /**
     * Represents the Display object. Provides more functionality than
     * javax.microedition.lcdui.Display.
     *
     * @see javax.microedition.lcdui.Display
     *
     */
    public static class MyDisplay {
        private final Display display;
        private boolean settingCurrEnabled = true;

        /**
         * Creates new instance of MyDisplay.
         * @param middlet the midlet that display object will be created.
         */
        public MyDisplay(MIDlet middlet) {
            display = Display.getDisplay(middlet);
        }

        /**
         * Disables setting current screen. This means that calling
         * {@link #setCurrent} will have no effect.
         */
        public void disableSettingCurrent() {
            settingCurrEnabled = false;
        }

        /**
         * Enables setting current screen. This means that calling
         * {@link #setCurrent} will set new screen as current.
         */
        public void enableSettingCurrent() {
            settingCurrEnabled = true;
        }

        /**
         * Sets nextDisplayable as current screen.
         *
         * @param nextDisplayable Displayable object that will be setted as
         *  current screen.
         * @see javax.microedition.lcdui.Display
         */
        public void setCurrent(Displayable nextDisplayable) {
            if (settingCurrEnabled) {
                display.setCurrent(nextDisplayable);
            }
        }

        /**
         * Sets alert as current screen.
         *
         * @param alert the alert to be setted as current screen.
         * @param nextDisplayable the Displayable object that will be setted
         *  as current screen after alert.
         * @see javax.microedition.lcdui.Display
         */
        public void setCurrent(Alert alert, Displayable nextDisplayable) {
            if (settingCurrEnabled) display.setCurrent(alert, nextDisplayable);
        }

        /**
         * Gets current screen.
         * @return gets current screen.
         * @see javax.microedition.lcdui.Display
         */
        public Displayable getCurrent() {
            return display.getCurrent();
        }
        
    }

    public MujMail() {
        if (DEBUG) { DebugConsole.printlnPersistent("MujMail() - start"); }
        mujmail = this;
        
        mailDBManager = new MailDBManager(); // Have to be created before any PersistentBox
        mailDBSeen = new MailDBSeen(this);

        outBox = new OutBox("OUTBOX", this, Lang.get(Lang.TB_OUTBOX));
        sentBox = new PersistentBox("SENTBOX", this, Lang.get(Lang.TB_SENTBOX));
        //#ifdef MUJMAIL_SEARCH
        searchBox = new SearchBox(this);
        //#endif
        inBox = new InBox("INBOX", Lang.get(Lang.TB_INBOX));
        draft = new OutBox("DRAFT", this, Lang.get(Lang.TB_DRAFT));
        trash = new Trash("TRASH", this, Lang.get(Lang.TB_TRASH));
        
        //#ifdef MUJMAIL_USR_FOLDERS
        userMailBoxes = new BoxList(this);
        //#endif

        //#ifdef MUJMAIL_SYNC
        sync = new Sync(this, new MailAccountPrimary(MailAccount.IMAP,
                "login@mujmail.org",
                true,
                Settings.mujMailSrvAddr,
                Short.parseShort(Settings.mujMailSrvPort),
                Settings.mujMailSrvLogin,
                Settings.mujMailSrvPasswd,
                false,
                (byte)0,
                false,
                false,
                "",
                ""));
        //#endif
        
        mailAccounts = new Hashtable();
        menu = new Menu(this);
        clearDBSelect = new ClearDBSelect(this);
        if (DEBUG) { DebugConsole.printlnPersistent("MujMail() - end"); };
    }

    public void pauseApp() {
        lastDisplay = myDisplay.getCurrent();
    }

    public void destroyApp(boolean unconditional) {
        initialised = false;
        getInBox().clearLastSafeMail();
        discServers(true);
        notifyDestroyed();
    }

    public void startApp() {
        if (DEBUG) { DebugConsole.printlnPersistent("MujMail.startApp - start"); };
        if (!Settings.password.equals("")) {
            EnterInitialPasswordForm initialPassword = new EnterInitialPasswordForm();
            getDisplay().setCurrent(initialPassword);
        } else {
            myStartApplication();
        }
        if (DEBUG) { DebugConsole.printlnPersistent("MujMail.startApp - end"); };
    }

    /**
     * The form for entering the password before starting the application.
     * If the password is correct, starts the application.
     * Allows user to clear all databases and than start the application without
     * entering password.
     */
    private class EnterInitialPasswordForm extends Form implements CommandListener {
        private TextField passwordText;
        private Command okCommand = new Command("OK", Command.OK, 0);
        private Command cancelCommand = new Command("Exit", Command.EXIT, 1);
        private Command clearAllDBCommand = new Command("Clear all databases", Command.ITEM, 2);

        public EnterInitialPasswordForm() {
            super("Enter password");

            StringItem description = new StringItem("", "To start the application, enter the password or clear all databases with mails and settings.");
            passwordText = new TextField("Password", "", 50, TextField.PASSWORD);

            append(description);
            append(passwordText);
            addCommand(okCommand);
            addCommand(cancelCommand);
            addCommand(clearAllDBCommand);
            setCommandListener(this);
        }

        public void commandAction(Command c, Displayable d) {
            if (c == cancelCommand) {
                destroyApp(true);
                return;
            }

            if (c == okCommand) {
                if (!Settings.password.equals(passwordText.getString())) {
                    return;
                }
            }

            if (c == clearAllDBCommand) {
                ClearDBSelect clearDB = new ClearDBSelect(mujmail);
                clearDB.clearDataBases(true, true);
            }

            mainMenu();
            // start the application
            myStartApplication();
        }

        

    }

    private void myStartApplication() {
        if (DEBUG) { DebugConsole.printlnPersistent("MujMail.myStartApplication - start"); };

        try {
        boolean showAccountForm = false;
        if (!initialised) {
            //first run, initiation needed
            initialised = true;
            showAccountForm = getAccountSettings().getNumAccounts() > 0 ? false : true;

            getSettings().initSortMode();

            //#ifdef MUJMAIL_USR_FOLDERS

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放亚洲一区| 亚洲精品菠萝久久久久久久| 一区二区三区在线观看网站| 成人午夜av在线| 欧美videofree性高清杂交| 午夜欧美在线一二页| 欧美日韩综合在线| 亚洲成人午夜影院| 7777精品伊人久久久大香线蕉超级流畅 | 国产午夜精品一区二区三区嫩草 | 亚洲成精国产精品女| 日本久久精品电影| 亚洲美女电影在线| 日韩三区在线观看| 久草在线在线精品观看| 欧美国产精品v| 99国产精品国产精品久久| 日韩午夜激情免费电影| 国产一区二区成人久久免费影院| 久久久三级国产网站| 97aⅴ精品视频一二三区| 亚洲欧美一区二区三区久本道91| 成人av在线资源网| 日韩精品一二三四| 亚洲精品在线观看网站| 色嗨嗨av一区二区三区| 亚洲福利视频三区| 日韩欧美黄色影院| 成人a区在线观看| 一区二区三区中文在线观看| 91精品国产色综合久久不卡蜜臀| 九色综合狠狠综合久久| 久久久青草青青国产亚洲免观| 成人综合在线网站| 亚洲成人动漫在线免费观看| 日韩欧美一区二区免费| 丁香桃色午夜亚洲一区二区三区| 午夜精品影院在线观看| 日韩一级片在线播放| 99re热视频精品| 视频在线在亚洲| 欧美韩国日本不卡| 欧美电影免费观看完整版| 国产激情偷乱视频一区二区三区| 午夜精品福利一区二区三区av| 久久久99久久精品欧美| 成人三级伦理片| 日本中文一区二区三区| 国产女人aaa级久久久级| 91麻豆精品国产91久久久久| 国产mv日韩mv欧美| 狠狠色2019综合网| 亚洲午夜精品17c| 日韩精品专区在线影院重磅| 日本精品裸体写真集在线观看| 蜜臀久久久99精品久久久久久| 亚洲午夜久久久久久久久久久| 26uuu精品一区二区| 91精品婷婷国产综合久久性色| 99麻豆久久久国产精品免费| 日本最新不卡在线| 日韩在线卡一卡二| 亚洲私人黄色宅男| 一区精品在线播放| 久久综合久色欧美综合狠狠| 日韩一区二区三区免费看| 91在线视频在线| 国产精品资源在线观看| 国产一区二区在线免费观看| 亚洲高清中文字幕| 亚洲国产精品久久不卡毛片 | 极品瑜伽女神91| 亚洲成人综合网站| 亚洲福利一二三区| 中文字幕亚洲一区二区va在线| 亚洲国产精品成人综合| 日韩欧美一卡二卡| 欧美老肥妇做.爰bbww| 欧美视频一区二区在线观看| 成人av在线影院| 北岛玲一区二区三区四区| 国产剧情一区二区| 国产69精品久久99不卡| 蜜桃久久久久久| 男人的天堂亚洲一区| 午夜精品久久久久久久久久久 | 欧美mv日韩mv| 在线不卡免费欧美| 欧美人狂配大交3d怪物一区| 欧美高清性hdvideosex| 欧美精品tushy高清| 日韩精品一区二| 欧美videos中文字幕| 国产亚洲欧美日韩在线一区| 国产午夜亚洲精品午夜鲁丝片| 欧美一级生活片| 日本一区二区三区四区在线视频| 久久久久久**毛片大全| 久久综合五月天婷婷伊人| 久久天天做天天爱综合色| 久久久精品国产99久久精品芒果 | 亚洲第一主播视频| 亚洲一区二区三区四区在线观看 | 琪琪久久久久日韩精品| 日韩电影在线一区二区三区| 石原莉奈一区二区三区在线观看| 日本午夜精品视频在线观看 | 一区二区三区不卡在线观看| 国产日韩欧美一区二区三区综合| 中文字幕国产一区| 中文字幕一区av| 国产欧美日韩不卡| 亚洲一二三级电影| 青青草原综合久久大伊人精品 | 麻豆国产欧美一区二区三区| 日本伊人午夜精品| 国产主播一区二区三区| 国产高清成人在线| 91久久精品网| 欧洲国产伦久久久久久久| 欧美日韩国产精品自在自线| 精品日产卡一卡二卡麻豆| 亚洲欧美日韩成人高清在线一区| 亚洲1区2区3区视频| 一区二区三区中文字幕电影| 久久精品国产在热久久| 成人高清在线视频| 91精品国产综合久久久久| 欧美激情综合在线| 日韩有码一区二区三区| 成人一区二区三区中文字幕| 欧美人动与zoxxxx乱| 久久先锋资源网| 五月天亚洲婷婷| 国产69精品久久777的优势| 日韩一区二区三区视频| 中文字幕一区二区三区在线播放 | 一本久道久久综合中文字幕 | 国产精品美女一区二区| 久热成人在线视频| 色偷偷88欧美精品久久久| 久久精品欧美一区二区三区麻豆 | 午夜欧美电影在线观看| 国产老肥熟一区二区三区| 欧美一级在线视频| 亚洲精品国产成人久久av盗摄| 国产一区福利在线| 欧美日韩大陆一区二区| 91精品国产手机| 一区二区三区不卡视频在线观看| 国产成人高清视频| 日韩欧美国产一二三区| 天天影视色香欲综合网老头| 成人av网址在线| 欧美另类变人与禽xxxxx| 亚洲一区二区三区中文字幕| 国产成人综合在线播放| 欧美成人在线直播| 中文字幕乱码一区二区免费| 精品中文字幕一区二区小辣椒| 丁香婷婷综合色啪| 中文字幕中文字幕在线一区| 国产综合久久久久影院| 欧美大片日本大片免费观看| 亚洲一区二区三区小说| 欧美三级中文字幕在线观看| 国产精品入口麻豆原神| 福利一区二区在线观看| 日韩精品一区二区三区在线播放 | 日本一区二区免费在线观看视频| 日本午夜精品视频在线观看| 欧美一区二区成人| 日韩电影免费在线| 91蝌蚪国产九色| 成人免费在线播放视频| 蜜臀91精品一区二区三区| 日韩一区二区三区av| 亚洲永久免费av| 欧美日韩亚洲综合在线| 亚洲一二三四在线观看| 欧美精品在线视频| 亚洲成人免费看| 日韩一级黄色大片| 日韩电影在线免费| 久久综合网色—综合色88| 精品写真视频在线观看| 国产欧美日韩卡一| 国产成人av电影在线| 亚洲日本va午夜在线电影| 东方欧美亚洲色图在线| 亚洲特级片在线| 欧美主播一区二区三区| 日本美女视频一区二区| 日韩女优av电影| 成人小视频免费观看| 中文字幕一区二区三区av| 在线观看91av| 久久精品国产亚洲aⅴ| 国产精品拍天天在线| 色妹子一区二区|