亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲成a人v欧美综合天堂下载 | 欧美日韩精品一区二区在线播放| 五月激情综合网| 久久久久久久久久久久电影| 欧美三级三级三级爽爽爽| 国产高清一区日本| 蜜臀av性久久久久蜜臀av麻豆| 亚洲欧美色综合| 欧美国产97人人爽人人喊| 91精品国产综合久久精品app| 成人18精品视频| 九九**精品视频免费播放| 视频一区视频二区在线观看| 中文字幕综合网| 久久蜜桃av一区二区天堂| 欧美日韩一区在线| 色综合久久中文综合久久97| 国产成人免费在线视频| 678五月天丁香亚洲综合网| 97精品国产露脸对白| 蜜桃久久久久久久| 亚洲超碰精品一区二区| 成人免费毛片高清视频| 看电视剧不卡顿的网站| 石原莉奈在线亚洲三区| 亚洲综合色噜噜狠狠| 国产精品久久久久久久久图文区| 久久综合久久综合九色| 日韩欧美一级在线播放| 337p亚洲精品色噜噜狠狠| 欧美视频精品在线| 欧美最猛黑人xxxxx猛交| 91蝌蚪porny| 91亚洲大成网污www| av在线播放一区二区三区| 国产福利91精品| 国内精品久久久久影院薰衣草| 日本亚洲免费观看| 2017欧美狠狠色| 久久这里只有精品首页| 精品日韩在线观看| 欧美大胆人体bbbb| 欧美α欧美αv大片| 精品欧美乱码久久久久久1区2区| 欧美一区二区网站| 欧美变态tickle挠乳网站| 精品黑人一区二区三区久久 | 91在线视频播放地址| av色综合久久天堂av综合| 不卡大黄网站免费看| 91亚洲国产成人精品一区二区三| 91丝袜美女网| 精品视频1区2区| 欧美丰满一区二区免费视频| 欧美一级淫片007| 精品免费日韩av| 国产日韩欧美精品在线| 亚洲人妖av一区二区| 亚洲制服丝袜av| 免费观看91视频大全| 国产精品一品二品| 色婷婷综合久久久久中文一区二区| 91老师片黄在线观看| 欧美日韩黄色影视| 日本aⅴ精品一区二区三区| 五月天亚洲婷婷| 韩国成人精品a∨在线观看| 成人性视频网站| 波多野洁衣一区| 91蝌蚪porny| 欧美日本韩国一区| 欧美日韩在线观看一区二区 | 国产电影一区二区三区| 日韩精品一区第一页| 亚洲自拍偷拍av| 免费成人在线观看| 国产电影精品久久禁18| 欧洲视频一区二区| 精品久久久久av影院| 亚洲欧美自拍偷拍色图| 日本视频在线一区| 成人综合激情网| 欧美视频三区在线播放| 国产亚洲一区字幕| 亚洲国产美女搞黄色| 极品瑜伽女神91| 日本高清成人免费播放| 2021中文字幕一区亚洲| 亚洲欧美日韩一区二区三区在线观看| 五月综合激情网| 成人小视频免费在线观看| 欧美一级黄色大片| 一区二区三区免费网站| 国产大片一区二区| 日韩一卡二卡三卡四卡| 亚洲男帅同性gay1069| 国内精品视频666| 欧美撒尿777hd撒尿| 中文字幕第一区综合| 理论片日本一区| 欧美日韩免费高清一区色橹橹| 日本一区二区三区dvd视频在线| 婷婷夜色潮精品综合在线| 91在线porny国产在线看| 久久综合久久综合亚洲| 日韩福利视频网| 色婷婷精品久久二区二区蜜臀av| 久久午夜羞羞影院免费观看| 日本成人中文字幕在线视频| 91精品1区2区| 一区视频在线播放| 国产激情一区二区三区四区| 91精品国产欧美一区二区18| 一个色在线综合| 91免费观看在线| 国产精品久久久久影院色老大 | 视频在线观看一区| 91电影在线观看| 亚洲欧洲精品一区二区精品久久久| 久久成人综合网| 日韩午夜小视频| 视频在线观看91| 欧美精品久久天天躁| 亚洲国产精品久久人人爱蜜臀 | 国产精品色在线观看| 成人免费视频app| av在线这里只有精品| 一区二区成人在线观看| 欧美视频一区二区在线观看| 日韩黄色片在线观看| 精品国产一区二区三区四区四| 不卡av免费在线观看| 国产精品久久一卡二卡| 91精品在线观看入口| 国产69精品久久久久777| 亚洲色图欧美在线| 欧美精品一区二| 26uuu色噜噜精品一区| 久久爱www久久做| 精品成人一区二区三区| 国产资源精品在线观看| 久久精品男人的天堂| a在线播放不卡| 亚洲日本电影在线| 欧美日韩亚洲不卡| 日韩av二区在线播放| 日韩欧美一区二区视频| 久久99久久精品| 日本一区免费视频| 91在线观看一区二区| 亚洲国产欧美在线| 日韩亚洲电影在线| 国产真实乱偷精品视频免| 国产午夜精品理论片a级大结局 | 欧美大片国产精品| 国产精品77777竹菊影视小说| 国产精品久久久久久福利一牛影视| 99re视频精品| 日韩在线卡一卡二| 国产亚洲欧洲一区高清在线观看| 高清在线观看日韩| 一区二区三区在线视频播放| 欧美一区二区三级| 国产成人综合视频| 亚洲精品成人在线| 日韩亚洲欧美在线| 波多野结衣欧美| 日日摸夜夜添夜夜添国产精品| 日韩精品一区国产麻豆| 成人av免费在线观看| 五月激情综合色| 国产亚洲欧洲一区高清在线观看| 色综合久久88色综合天天免费| 天天综合网 天天综合色| 久久先锋资源网| 欧美私模裸体表演在线观看| 精品一区二区三区不卡 | 久久黄色级2电影| 最新国产の精品合集bt伙计| 欧美人动与zoxxxx乱| 成人看片黄a免费看在线| 午夜精品久久久| 中文字幕一区二区三区在线播放 | 亚洲一二三区在线观看| 欧美不卡在线视频| 色综合久久88色综合天天免费| 久久99热99| 亚洲一二三四区不卡| 欧美国产一区二区在线观看 | 欧美群妇大交群中文字幕| 懂色一区二区三区免费观看| 午夜久久久久久久久| 亚洲欧洲无码一区二区三区| 日韩午夜小视频| 欧美私人免费视频| av在线这里只有精品| 国产在线乱码一区二区三区| 亚洲一区二区视频在线| 精一区二区三区| 日韩精品午夜视频|