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

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

?? menu.java

?? 手機郵箱撒的方式方式方式的
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/*
MujMail - Simple mail client for J2ME
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.Timer;
import java.util.TimerTask;
import java.util.Vector;

import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;

import mujmail.account.MailAccount;
import mujmail.tasks.TasksManager;
import mujmail.util.Functions;
import java.util.Hashtable;
import mujmail.tasks.BackgroundTask;
import mujmail.tasks.ConditionalActionRunner.SampleTestTask;
import mujmail.tasks.TasksManagerUI;
//#ifdef MUJMAIL_SEARCH
import mujmail.search.SearchWindows;
//#endif
//#ifdef MUJMAIL_DEBUG_CONSOLE
import mujmail.debug.DebugConsoleUI;
//#endif
//#ifdef MUJMAIL_SYNC
import mujmail.account.Sync;
//#endif
//#ifdef MUJMAIL_TOUCH_SCR
import mujmail.pointer.MujMailPointerEventListener;
import mujmail.pointer.MujMailPointerEventProducer;
//#endif

class MenuItem {
    String name;
    String value;
    int actionKey; //a keyboard shortcut
    Image img; //an icon

    public MenuItem(String name, String value, int actionKey, Image img) {
        this.name = name;
        this.value = value;
        this.actionKey = actionKey;
        this.img = img;
    }
}

class MenuTab {

    String name;
    int outlineColor;
    int fillColor;
    int actionKey;
    Image img;
    Vector item;
}

/**
 * Represents menu of this application.
 * To add items to the menu of the application, edit this class - see
 * constructor.
 * 
 */
public class Menu extends Canvas implements CommandListener {
    private static final boolean DEBUG = false; // Debuggin output for this class

    public static final byte ACTION = 0;
    public static final byte FOLDERS = 1;
    public static final byte SETTINGS = 2;
    public static final byte ACCOUNTS = 3;
    public static final byte UTILS = 4;
    public static final byte MAX_TABS = 5;
    public static final int BACKGROUND_COLOR = 0x00CCCCCC;
    public static final int OUTLINE_COLOR = 0x007766FF;
    public static final int FILL_COLOR = 0x00FFFFFF;
    public static final int GREY_OUTLINE_COLOR = 0x007777EE;
    public static final int GREY_FILL_COLOR = 0x00BBBBFF;
    public static final int FONT_COLOR = 0x00000000;
    public static final int SCROLLBAR_COLOR = 0x00FF0000;
    public static final int SCROLLBAR_BGCOLOR = 0x00CCCCCC;

    //public static final byte USR_BOX_FIRST_POSITION = 6; /// First empty position after standart mail boxes and separator where user mail box can take place
 /* TODO: refactor: replace numbers of order of items in menu with constants
 *  for example: tabs[tabContext].item.elementAt(0)
 *  replace with tabs[tabContext].item.elementAt(INBOX_ORDER)
*/
    public static final byte MENU_ACT_INBOX                = 0;
    public static final byte MENU_ACT_RETRIEVE_MAILS       = MENU_ACT_INBOX + 1;
    public static final byte MENU_ACT_WRITE_MAIL           = MENU_ACT_RETRIEVE_MAILS + 1;
    public static final byte MENU_ACT_SENDALL              = MENU_ACT_WRITE_MAIL + 1;
    //#ifdef MUJMAIL_SEARCH
    public static final byte MENU_ACT_SEARCH_MAILS         = MENU_ACT_SENDALL + 1;
    //#else
//#     public static final byte MENU_ACT_SEARCH_MAILS         = MENU_ACT_SENDALL;
    //#endif
    public static final byte MENU_ACT_PUSH                 = MENU_ACT_SEARCH_MAILS + 1;
    public static final byte MENU_ACT_DISCONNECT           = MENU_ACT_PUSH + 1;
    public static final byte MENU_ACT_SERVERS_INBOX_SYNC   = MENU_ACT_DISCONNECT + 1;
    public static final byte MENU_ACT_SIZE                 = MENU_ACT_SERVERS_INBOX_SYNC + 1; // Lease this as last element

    public static final byte MENU_FOLDERS_INBOX            = 0;
    public static final byte MENU_FOLDERS_OUTBOX           = MENU_FOLDERS_INBOX + 1;
    public static final byte MENU_FOLDERS_SENTBOX          = MENU_FOLDERS_OUTBOX + 1;
    public static final byte MENU_FOLDERS_DRAFT            = MENU_FOLDERS_SENTBOX + 1;
    public static final byte MENU_FOLDERS_TRASH            = MENU_FOLDERS_DRAFT + 1;
    public static final byte MENU_FOLDERS_SEPARATOR        = MENU_FOLDERS_TRASH + 1;
    public static final byte MENU_FOLDERS_USERBOX_FIRST    = MENU_FOLDERS_SEPARATOR + 1; /// First empty position after standart mail boxes and separator where user mail box can take place

    public static final byte MENU_SETTINGS_SMTP = 0;
    public static final byte MENU_SETTINGS_RETRIEVING = MENU_SETTINGS_SMTP + 1;
    public static final byte MENU_SETTINGS_STORING_MAILS = MENU_SETTINGS_RETRIEVING + 1;
    public static final byte MENU_SETTINGS_APPEARANCE = MENU_SETTINGS_STORING_MAILS + 1;
    public static final byte MENU_SETTINGS_OTHER = MENU_SETTINGS_APPEARANCE + 1;
    public static final byte MENU_SETTINGS_POLLING = MENU_SETTINGS_OTHER + 1;
    public static final byte MENU_SETTINGS_MUJMAIL_SERVER = MENU_SETTINGS_POLLING + 1;
    public static final byte MENU_SETTINGS_SIZE            = MENU_SETTINGS_MUJMAIL_SERVER + 1; // Lease this as last element
    
    public static final byte MENU_UTILS_ADRESSBOOK         = 0;
    //#ifdef MUJMAIL_SYNC
    public static final byte MENU_UTILS_BACKUP_SETTINGS    = MENU_UTILS_ADRESSBOOK + 1;
    public static final byte MENU_UTILS_RESTORE_SETTINGS   = MENU_UTILS_BACKUP_SETTINGS + 1;
    //#else
//#     public static final byte MENU_UTILS_RESTORE_SETTINGS   = MENU_UTILS_ADRESSBOOK;
    //#endif
    public static final byte MENU_UTILS_CLEAR_DB           = MENU_UTILS_RESTORE_SETTINGS + 1;
    public static final byte MENU_UTILS_ABOUT              = MENU_UTILS_CLEAR_DB + 1;
    public static final byte MENU_UTILS_TASK_MANAGER       = MENU_UTILS_ABOUT + 1;
    public static final byte MENU_UTILS_RUN_SAMPLE_TASK    = MENU_UTILS_TASK_MANAGER + 1;
    //#ifdef MUJMAIL_DEBUG_CONSOLE
    public static final byte MENU_UTILS_DEB_MENU           = MENU_UTILS_RUN_SAMPLE_TASK + 1; // Debug
    //#else
//#     public static final byte MENU_UTILS_DEB_MENU           = MENU_UTILS_RUN_SAMPLE_TASK; // no meniu debug entry, no adding space
    //#endif
    public static final byte MENU_UTILS_SIZE               = MENU_UTILS_DEB_MENU + 1;  // Lease this as last element
    
    Command exit, cmdNew, change, delete, setPrimary, retrieve, select, clear;

    //#ifdef MUJMAIL_USR_FOLDERS
    /// User Folders commands
    Command fldAdd, fldEdit, fldDel;
    //#endif
   

    MenuTab[] tabs = new MenuTab[MAX_TABS];
    Image imAction, imInbox, imFolders, imSettings, imAccounts,
            imWriteAct, imRetrieveAct, imSendallAct, imPollAct, imClearDB, imDisc,
            imPrimaryAcc, imActiveAcc, imInActiveAcc,
            imUtilities, imBook, imAbout, imSync, imTaskManager;
    
    //#ifdef MUJMAIL_SYNC
    Image imBackup, imRestore;
    //#endif
    //#ifdef MUJMAIL_SEARCH
    Image imSearch;
    //#endif
    //#ifdef MUJMAIL_DEBUG_CONSOLE
    Image imDebug;
    //#endif
    
    MujMail mujMail;

    // tab positioning
    byte firstTab = 0;
    byte currTab = 0;
    byte maxTabs;
    byte selectedTab = 0;
    // item positioning
    short currItem = 0;
    short firstItem = 0;
    short selectedItem = 0;
    // action key variables	
    boolean starPressed = false, poundPressed = false;
    int fontHeight;
    int clientHeight;
    // TickerTask
    Timer timer;
    short sindex, aindex;
    boolean sStarted, aStarted;
    String tickerText1, tickerText2;

    //#ifdef MUJMAIL_TOUCH_SCR
    private final MujMailPointerEventProducer pointerEventTransformer;
    //#endif
    
    private Font getFirstLineFont() {
    	if (Settings.fontSize == Settings.FONT_NORMAL)
    		return Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
    	else 
    		return Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_LARGE);
    }

    private Font getSecondLineFont() {
    	if (Settings.fontSize == Settings.FONT_NORMAL)
    		return Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
    	else 
    		return Font.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_MEDIUM);
    }

    private class TickerTask extends TimerTask {

        public void run() {
            repaint();
        }
    }
    ActionKeyTask actionKeyTask;

    private class ActionKeyTask extends TimerTask {

        public void run() {
            if (starPressed) {
                starPressed = false;
            }
            if (poundPressed) {
                poundPressed = false;
            }
            repaint();
        }
    }
    Timer refreshTimer;

    private class RefreshTask extends TimerTask {

        byte tab;

        public RefreshTask(byte tab) {
            this.tab = tab;
        }

        public void run() {
            if (getSelectedTab() == tab) {
                refresh(tab, timer == null);
            } //repaint() only if it's not tickering already
            else {
                cancelRefreshTask();
            }
        }
    }

    /**
     * Creates a new instance of Menu
     * @param mujMail the main application
     */
    public Menu(MujMail mujMail) {
        this.mujMail = mujMail;

        exit = new Command(Lang.get(Lang.BTN_EXIT), Command.EXIT, 0);
        cmdNew = new Command(Lang.get(Lang.BTN_AS_NEW), Command.ITEM, 1);
        change = new Command(Lang.get(Lang.BTN_EDIT), Command.ITEM, 2);
        delete = new Command(Lang.get(Lang.BTN_DELETE), Command.ITEM, 4);
        setPrimary = new Command(Lang.get(Lang.BTN_AS_SET_PRIMARY), Command.ITEM, 5);
        retrieve = new Command(Lang.get(Lang.BTN_RTV_NEW_MAILS), Command.ITEM, 0);
        //button select is  here just to make it more convenient on the real phone, 
        //where pressing fire would not always trigger CommandListener() (but key '5' does ironically).
        select = new Command(Lang.get(Lang.BTN_SELECT), Command.OK, 0);
        clear = new Command(Lang.get(Lang.BTN_CLEAR), Command.ITEM, 6);
                
        //#ifdef MUJMAIL_USR_FOLDERS
        fldAdd = new Command(Lang.get(Lang.BTN_USR_FLD_ADD), Command.ITEM, 1);
        fldDel = new Command(Lang.get(Lang.BTN_DELETE), Command.ITEM, 2);
        fldEdit = new Command(Lang.get(Lang.BTN_EDIT), Command.ITEM, 3);
        //#endif
        
        imAction = Functions.getIcon("menu_action.png");
        imInbox = Functions.getIcon("act_inbox.png");
        imFolders = Functions.getIcon("menu_folders.png");
        imSettings = Functions.getIcon("menu_settings.png");
        imAccounts = Functions.getIcon("menu_accounts.png");
        imUtilities = Functions.getIcon("menu_utilities.png");
        imWriteAct = Functions.getIcon("act_write.png");
        imRetrieveAct = Functions.getIcon("act_retrieve.png");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人综合网| 国产成人精品免费| 日本一区免费视频| 91黄色免费观看| 青青草97国产精品免费观看无弹窗版 | 国产精品拍天天在线| 欧美日韩国产三级| 粗大黑人巨茎大战欧美成人| 日韩经典一区二区| 亚洲久草在线视频| 国产日韩欧美综合一区| 日韩三级在线观看| 色综合久久综合网| 不卡一区二区中文字幕| 精品在线观看免费| 亚洲国产一区二区三区青草影视| 亚洲国产精品成人综合| 日韩一级完整毛片| 欧美三级三级三级| 99久免费精品视频在线观看| 国内国产精品久久| 日韩激情av在线| 亚洲午夜久久久久中文字幕久| 中文av一区二区| 国产亚洲精品福利| 日韩免费视频一区二区| 欧美喷水一区二区| 欧美日韩高清在线| 91精彩视频在线| 91污在线观看| jlzzjlzz欧美大全| 成人激情开心网| 国产一区二区精品久久99| 日韩 欧美一区二区三区| 亚洲国产精品久久一线不卡| 亚洲丝袜另类动漫二区| 国产精品日产欧美久久久久| 国产午夜一区二区三区| 国产亚洲欧洲一区高清在线观看| 精品久久国产老人久久综合| 欧美一二三区精品| 欧美一区二区三区免费视频 | 7799精品视频| 欧美日韩在线直播| 欧美日韩一区二区三区不卡| 在线欧美小视频| 欧美色窝79yyyycom| 欧美在线不卡视频| 欧美日韩成人在线一区| 制服丝袜亚洲色图| 日韩一级成人av| 欧美大胆人体bbbb| 精品999在线播放| 久久久精品欧美丰满| 国产人久久人人人人爽| 国产精品久久综合| 亚洲精品中文字幕在线观看| 一区二区高清在线| 五月激情综合色| 久久精品免费观看| 国产精品主播直播| 不卡的av电影| 欧美亚洲综合色| 日韩一区二区三区视频在线| 欧美精品一区二区久久久| 国产日韩欧美综合一区| 亚洲女爱视频在线| 国产精品18久久久| 色哟哟一区二区在线观看| 欧美日韩电影在线播放| 欧美成人免费网站| 国产精品剧情在线亚洲| 亚洲国产欧美在线| 久久er99热精品一区二区| 成人黄色777网| 欧美久久婷婷综合色| 国产午夜精品一区二区三区视频 | 亚洲午夜影视影院在线观看| 日日噜噜夜夜狠狠视频欧美人 | 在线观看一区不卡| 精品三级在线看| 国产精品免费av| 午夜精品福利视频网站| 国产成人精品亚洲777人妖| 欧美中文字幕亚洲一区二区va在线 | 国产调教视频一区| 中文字幕一区二区不卡| 日韩av二区在线播放| 成人激情校园春色| 日韩欧美自拍偷拍| 亚洲三级理论片| 国产又黄又大久久| 欧美日韩一区二区三区四区五区| 久久综合国产精品| 亚洲国产精品久久人人爱| 国产成人av电影在线| 538prom精品视频线放| 国产精品乱码人人做人人爱| 日韩精品一区第一页| 92精品国产成人观看免费| 精品欧美久久久| 亚洲午夜免费视频| 丁香婷婷深情五月亚洲| 91精品久久久久久久91蜜桃| 一区在线中文字幕| 国产一区二区在线电影| 欧美久久久久久蜜桃| 亚洲黄一区二区三区| 国产成人高清视频| 欧美一级二级在线观看| 亚洲愉拍自拍另类高清精品| 成人深夜在线观看| 精品美女被调教视频大全网站| 亚洲午夜三级在线| 91视频在线看| 国产精品水嫩水嫩| 国产jizzjizz一区二区| 欧美一级黄色大片| 日本中文在线一区| 制服丝袜在线91| 丝袜美腿一区二区三区| 欧美午夜片在线看| 亚洲精品成人a在线观看| 99视频一区二区| 国产精品电影一区二区三区| 国产风韵犹存在线视精品| 日韩精品中午字幕| 麻豆国产欧美一区二区三区| 日韩一卡二卡三卡国产欧美| 日韩黄色小视频| 欧美一区二区福利在线| 美腿丝袜一区二区三区| 51午夜精品国产| 青青草国产成人av片免费| 日韩网站在线看片你懂的| 日av在线不卡| 日韩欧美www| 精品制服美女久久| 精品国产成人在线影院| 精品在线观看免费| 国产午夜精品一区二区三区四区| 国产成人免费在线观看不卡| 久久久久久一级片| 国产成人精品一区二| 国产精品美女久久久久久久网站| 国产91丝袜在线播放| 中文字幕第一区| 99久久精品国产麻豆演员表| 日韩理论片网站| 欧美亚男人的天堂| 视频一区二区三区在线| 日韩欧美一级二级三级| 国产精品夜夜嗨| 国产精品麻豆网站| 91浏览器入口在线观看| 亚洲美女免费在线| 欧美日韩视频专区在线播放| 日本特黄久久久高潮| 精品久久一区二区| 暴力调教一区二区三区| 亚洲资源中文字幕| 欧美一区二区三区四区久久| 国产精品一区二区x88av| 国产欧美一区二区三区网站| 色综合久久综合网欧美综合网| 亚洲va欧美va人人爽| 精品日韩一区二区三区免费视频| 国产久卡久卡久卡久卡视频精品| 国产精品久久午夜夜伦鲁鲁| 欧美怡红院视频| 激情丁香综合五月| 亚洲女人小视频在线观看| 91精品国产欧美日韩| 国产成人综合亚洲网站| 亚洲美女免费视频| 日韩一区二区三区视频在线| www.99精品| 奇米一区二区三区av| 国产精品久久看| 欧美一区二区在线看| 成人高清av在线| 午夜欧美大尺度福利影院在线看| 久久综合狠狠综合久久综合88| 色婷婷久久综合| 国产精品一二三区| 婷婷综合久久一区二区三区| 久久久精品免费观看| 欧美精品在线一区二区三区| 国产精品一区二区无线| 亚洲va欧美va国产va天堂影院| 精品国产乱码久久久久久久| 欧美自拍偷拍一区| 国产精品亚洲成人| 日韩国产成人精品| 亚洲人成网站在线| 久久精品人人做| 日韩欧美国产综合在线一区二区三区| 99久久99久久精品国产片果冻| 美国毛片一区二区三区| 亚欧色一区w666天堂|