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

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

?? historystorage.java.svn-base

?? 類似QQ的功能
?? SVN-BASE
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************* Jimm - Mobile Messaging - J2ME ICQ clone Copyright (C) 2003-05  Jimm Project 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. ******************************************************************************** File: src/jimm/HistoryStorage.java Version: ###VERSION###  Date: ###DATE### Author(s): Artyomov Denis, Igor Palkin *******************************************************************************///#sijapp cond.if modules_HISTORY is "true" #package jimm;import java.util.*;import javax.microedition.lcdui.Alert;import javax.microedition.lcdui.Font;import javax.microedition.rms.RecordStore;import jimm.util.ResourceBundle;import java.io.*;import javax.microedition.lcdui.*;//#sijapp cond.if target="RIM" | target="MOTOROLA" | target="MIDP2"#import javax.microedition.io.Connector;//#sijapp cond.elseif target="SIEMENS2"#//# import javax.microedition.io.Connector;//# import com.siemens.mp.io.file.*;//#sijapp cond.end#import DrawControls.ListItem;import DrawControls.VirtualList;import DrawControls.TextList;import DrawControls.VirtualListCommands;import jimm.comm.Util;import jimm.ContactItem;// Class to cache one line in messages list// All fields are public to easy and fast accessclass CachedRecord{	String shortText, text, date, from;	Integer index;	byte type; // 0 - incoming message, 1 - outgoing message//#sijapp cond.if target != "DEFAULT"#	boolean contains_url;//#sijapp cond.end#}// Visual messages history listclass HistoryStorageList extends VirtualList implements CommandListener,		VirtualListCommands//#sijapp cond.if target != "DEFAULT"#		, Runnable//#sijapp cond.end#{	// commands for message text	private static Command cmdMsgBack = new Command(ResourceBundle			.getString("back"), Jimm.cmdBack, 1);	private static Command cmdMsgNext = new Command(ResourceBundle			.getString("next"), Command.ITEM, 2);	private static Command cmdMsgPrev = new Command(ResourceBundle			.getString("prev"), Command.ITEM, 3);	private static Command cmdMsgCopyText = new Command(ResourceBundle			.getString("copy_text"), Command.ITEM, 4);	// commands for messages list	private static Command cmdSelect = new Command(ResourceBundle			.getString("select"), Command.OK, 1);	private static Command cmdBack = new Command(ResourceBundle			.getString("back"), Jimm.cmdBack, 2);	private static Command cmdClear = new Command(ResourceBundle.getString(			"clear", ResourceBundle.FLAG_ELLIPSIS), Command.ITEM, 4);	private static Command cmdFind = new Command(ResourceBundle.getString(			"find", ResourceBundle.FLAG_ELLIPSIS), Command.ITEM, 3);	private static Command cmdInfo = new Command(ResourceBundle			.getString("history_info"), Command.ITEM, 6);	private static Command cmdCopytext = new Command(ResourceBundle			.getString("copy_text"), Command.ITEM, 5);	private static Command cmdExport = new Command(ResourceBundle			.getString("export"), Command.ITEM, 7);	private static Command cmdExportAll = new Command(ResourceBundle			.getString("exportall"), Command.ITEM, 8);//#sijapp cond.if target != "DEFAULT"#	private static Command cmdGotoURL = new Command(ResourceBundle.getString("goto_url"), Command.ITEM, 9);//#sijapp cond.end#		//commands for url list	private static Command cmdurlSelect = new Command(ResourceBundle			.getString("select"), Command.OK, 1);	private static Command cmdurlBack = new Command(ResourceBundle			.getString("back"), Jimm.cmdBack, 2);	static TextList messText;	private final static int SELECTOR_DEL_HISTORY = 2;	// list UIN	private static String currUin = new String(), currName = new String();	// Controls for finding text	private static Form frmFind;	private static Command cmdFindOk;	private static Command cmdFindCancel;	private static TextField tfldFind;	private static ChoiceGroup chsFind;	// Constructor	public HistoryStorageList()	{		super(null);				addCommandEx(cmdBack, VirtualList.MENU_TYPE_LEFT_BAR);//#sijapp cond.if target!="RIM" & target!="DEFAULT"#		addCommandEx(JimmUI.cmdMenu, VirtualList.MENU_TYPE_RIGHT_BAR);//#sijapp cond.end#		addCommandEx(cmdSelect, VirtualList.MENU_TYPE_RIGHT);		addCommandEx(cmdClear, VirtualList.MENU_TYPE_RIGHT);		addCommandEx(cmdFind, VirtualList.MENU_TYPE_RIGHT);		addCommandEx(cmdInfo, VirtualList.MENU_TYPE_RIGHT);		addCommandEx(cmdCopytext, VirtualList.MENU_TYPE_RIGHT);		addCommandEx(cmdExport, VirtualList.MENU_TYPE_RIGHT);		addCommandEx(cmdExportAll, VirtualList.MENU_TYPE_RIGHT);		//addCommand(cmdGotoURL);		setCommandListener(this);		setVLCommands(this);		JimmUI.setColorScheme(this, false, -1, true);	}	// VirtualList command impl.	public void vlCursorMoved(VirtualList sender)	{		// user select some history storage line		if (sender == this)		{			CachedRecord record = HistoryStorage.getCachedRecord(currUin,					getCurrIndex());			if (record == null)				return;//#sijapp cond.if target != "DEFAULT"#			removeCommandEx(cmdGotoURL);			if (record.contains_url)				addCommandEx(cmdGotoURL, VirtualList.MENU_TYPE_RIGHT);//#sijapp cond.end#			setCaption(record.from + " " + record.date);		}	}	// VirtualList command impl.	public void vlKeyPress(VirtualList sender, int keyCode, int type)	{		if ((sender == messText) && (type == VirtualList.KEY_PRESSED))		{			switch (getGameAction(keyCode))			{			case Canvas.LEFT:				moveInList(-1);				break;			case Canvas.RIGHT:				moveInList(1);				break;			}		}	}	// Moves on next/previous message in list and shows message text	private void moveInList(int offset)	{		moveCursor(offset, false);		showMessText();	}	// VirtualList command impl.	public void vlItemClicked(VirtualList sender)	{		if (sender == this)		{			showMessText();		}	}//#sijapp cond.if target != "DEFAULT"#	private Object fileSystem; 	private boolean cp1251;	private String exportUin;	private String directory;	private TextList messTextList;	public void export(String uin)	{		exportUin = uin;		try		{			FileSystem2 fb = new FileSystem2();			fb.browse(null, this, true);			fileSystem = fb; 		} catch (Exception e)		{		}	}		private static final int MODE_EXPORT_HISTORY = 1;	private static final int MODE_SHOW_EH_MESSAGE = 2;	private int currentMode;	private String currMessage;	public void run()	{		switch (currentMode)		{		case MODE_EXPORT_HISTORY:			System.out.println("Start history export!");			if (exportUin == null) startExport(null);			else startExport(new ContactItem[]{ ContactList.getItembyUIN(exportUin) });			break;					case MODE_SHOW_EH_MESSAGE:			messTextList = new TextList(currName);			JimmUI.setColorScheme(messTextList, false, -1, true);			messTextList.setFontSize(Font.SIZE_LARGE);			messTextList.setMode(VirtualList.CURSOR_MODE_DISABLED);			messTextList.addBigText(currMessage, messTextList.getTextColor(), Font.STYLE_PLAIN, -1);			messTextList.setCommandListener(this);			messTextList.addCommandEx(JimmUI.cmdOk, VirtualList.MENU_TYPE_RIGHT_BAR);			messTextList.activate(Jimm.display);			break;		}	}	private void exportUinToStream(ContactItem item, OutputStream os)			throws IOException	{		String endl = "\r\n";		CachedRecord record;		String uin = item				.getStringValue(ContactItem.CONTACTITEM_UIN);		int max = HistoryStorage.getRecordCount(uin);		if (max > 0)		{			String nick = (item.getStringValue(					ContactItem.CONTACTITEM_NAME).length() > 0) ? item					.getStringValue(ContactItem.CONTACTITEM_NAME)					: uin;			SplashCanvas.setMessage(nick);			SplashCanvas.setProgress(0);			StringBuffer str_buf = new StringBuffer().append(endl).append(					'\t').append(					ResourceBundle.getString("message_history_with")).append(					nick).append(" (").append(uin).append(')').append(endl).append('\t')					.append(ResourceBundle.getString("export_date")).append(							Util.getDateString(false)).append(endl).append(endl);			os.write(Util.stringToByteArray(str_buf.toString(), !cp1251));			char cc;			String curr_msg_text;			StringBuffer msg_str_buf;			for (int i = 0; i < max; i++)			{				record = HistoryStorage.getRecord(uin, i);				os.write(Util.stringToByteArray(" "						+ ((record.type == 0) ? nick : ResourceBundle								.getString("me")) + " (" + record.date						+ "):\r\n", !cp1251));				curr_msg_text = record.text.trim();				msg_str_buf = new StringBuffer(curr_msg_text.length());				for (int k = 0; k < curr_msg_text.length(); k++)				{					cc = curr_msg_text.charAt(k);					if (cc == '\r') continue;					else if (cc == '\n') msg_str_buf.append(endl);					else msg_str_buf.append(cc);				}				msg_str_buf.append(endl);				os.write(Util.stringToByteArray(msg_str_buf.toString(), !cp1251));				os.flush();				SplashCanvas.setProgress((100 * i) / max);			}			curr_msg_text = null;			msg_str_buf = null;		}	}	private void exportUinToFile(ContactItem item, String filename) throws IOException	{		if (HistoryStorage.getRecordCount(item.getStringValue(ContactItem.CONTACTITEM_UIN)) > 0)		{			FileSystem2 fs = null;			OutputStream os = null;			try			{				fs = (FileSystem2)fileSystem;				fs.openFile(filename, Connector.READ_WRITE);				os = fs.openOutputStream();				if (!cp1251) os.write(new byte[]{ (byte) 0xef, (byte) 0xbb, (byte) 0xbf });				exportUinToStream(item, os);			}			finally			{				if (os != null) try { os.close(); } catch (Exception e) {}				if (fs != null) try { fs.close(); } catch (Exception e) {}			}		}	}	public void startExport(ContactItem[] citems)	{		cp1251 = Options.getBoolean(Options.OPTION_CP1251_HACK);		SplashCanvas.setMessage(ResourceBundle.getString("exporting",				ResourceBundle.FLAG_ELLIPSIS));		SplashCanvas.setProgress(0);		Jimm.display.setCurrent(Jimm.jimm.getSplashCanvasRef());		Jimm.setBkltOn(true);				if (citems == null)			citems = ContactList.getContactItems();				try		{			for (int i = 0; i < citems.length; i++)				exportUinToFile(						citems[i],						directory								+ "jimm_hist_"								+ citems[i]										.getStringValue(ContactItem.CONTACTITEM_UIN)								+ ".txt");									((FileSystem2)fileSystem).close();			currMessage = ResourceBundle.getString("export_complete");		}		catch (Exception e)		{			currMessage = e.toString()+e.getMessage();		}		fileSystem = null;				System.out.println("currMessage="+currMessage);				// Show success (or error message) in main thread		currentMode = MODE_SHOW_EH_MESSAGE;		Jimm.display.callSerially(this);	}	private static TextList URLList;	private void gotoURL()	{		CachedRecord rec = HistoryStorage.getCachedRecord(currUin,				getCurrIndex());		Vector urls = Util.parseMessageForURL(rec.text + "\n");		if (urls == null)			return;		if (urls.size() == 1)			try			{				Jimm.jimm.platformRequest((String) urls.elementAt(0));			} catch (Exception e)			{			}		else		{			URLList = JimmUI.getInfoTextList(ResourceBundle.getString("goto_url"), false);			URLList.addCommandEx(cmdurlSelect, VirtualList.MENU_TYPE_RIGHT_BAR);			URLList.addCommandEx(cmdurlBack, VirtualList.MENU_TYPE_LEFT_BAR);			URLList.setCommandListener(this);			for (int i = 0; i < urls.size(); i++)			{				URLList.addBigText((String) urls.elementAt(i), getTextColor(),						Font.STYLE_PLAIN, i).doCRLF(i);			}			JimmUI.showInfoTextList(URLList);		}	}//#sijapp cond.end#	public void commandAction(Command c, Displayable d)	{		Jimm.aaUserActivity();		//#sijapp cond.if target != "DEFAULT"#				if (JimmUI.isControlActive(messTextList))		{			messTextList = null;			HistoryStorage.showHistoryList(currUin, currName);			return;		}				if (fileSystem != null)		{			if (c == JimmUI.cmdOk)			{				FileSystem2 fs = (FileSystem2)fileSystem;				directory = fs.getValue();				currentMode = MODE_EXPORT_HISTORY;				(new Thread(this)).start();			}			else			{				HistoryStorage.showHistoryList(currUin, currName);				fileSystem = null;			}			return;		}				if (c == cmdurlBack)		{			URLList = null;			HistoryStorage.showHistoryList(currUin, currName);		}		else if (c == cmdurlSelect)		{			try			{				Jimm.jimm.platformRequest(URLList.getCurrText(0, false));			} catch (Exception e)			{			}		}		else if (c == cmdGotoURL)			gotoURL();				// Export history to txt file		if (c == cmdExport)			export(currUin);		if (c == cmdExportAll)			export(null);//#sijapp cond.end#		// back to contact list		if (c == cmdBack)		{			HistoryStorage.clearCache();			messText = null;			JimmUI.backToLastScreen();		}		// select message		else if (c == cmdSelect)		{			showMessText();		}		// Clear messages		else if (c == cmdClear)		{			JimmUI.showSelector("clear_history", JimmUI.stdSelector, this,					SELECTOR_DEL_HISTORY, true);		}		// "Clear history"		else if (JimmUI.getCurScreenTag() == SELECTOR_DEL_HISTORY)		{			if (c == JimmUI.cmdOk)			{				switch (JimmUI.getLastSelIndex())				{				case 0: // Current					HistoryStorage.clearHistory(currUin);					break;				case 1: // All except current					HistoryStorage.clear_all(currUin);					break;				case 2: // All					HistoryStorage.clear_all(null);					break;				}			}			activate(Jimm.display);			invalidate();		}		// Copy text from messages list		else if ((c == cmdCopytext) || (c == cmdMsgCopyText))		{			int index = getCurrIndex();			if (index == -1)				return;			CachedRecord record = HistoryStorage					.getCachedRecord(currUin, index);			if (record == null)				return;			JimmUI.setClipBoardText((record.type == 0), record.date,					record.from, record.text);		}		// back to messages list		else if (c == cmdMsgBack)		{			activate(Jimm.display);		}		// next message command		else if (c == cmdMsgNext)		{			moveInList(1);		}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合久久久久影院| 亚洲欧洲美洲综合色网| 久久综合久久综合久久| 国产拍揄自揄精品视频麻豆| 亚洲人成影院在线观看| 亚洲高清免费观看高清完整版在线观看| 五月天激情综合网| 国产精品18久久久久| 一本到高清视频免费精品| 91精品国产福利在线观看| 日本一区免费视频| 亚洲18色成人| 国产成人免费视频网站高清观看视频| www.欧美日韩国产在线| 欧美精品1区2区3区| 国产欧美视频一区二区| 亚洲精品v日韩精品| 九九九精品视频| 97精品超碰一区二区三区| 欧美日韩精品久久久| 欧美极品另类videosde| 亚洲va欧美va人人爽午夜| 国产精品系列在线播放| 欧美中文字幕一区二区三区 | 亚洲一区中文在线| 久久国产剧场电影| 在线一区二区三区做爰视频网站| 日韩手机在线导航| 夜夜爽夜夜爽精品视频| 国产九色sp调教91| 欧美专区在线观看一区| 国产婷婷色一区二区三区在线| 亚洲一区二区三区不卡国产欧美| 国产福利91精品一区二区三区| 日本福利一区二区| 国产精品天美传媒| 久久爱www久久做| 在线观看免费一区| 国产精品丝袜一区| 日韩国产欧美视频| 在线观看国产一区二区| 日本一区二区综合亚洲| 免费黄网站欧美| 欧美体内she精高潮| 一区免费观看视频| 国产成人免费网站| 欧美videossexotv100| 亚洲专区一二三| 99久久精品情趣| 久久久www免费人成精品| 日韩福利视频导航| 欧美性猛交xxxxxx富婆| 国产精品不卡一区| 国产精品资源在线看| 日韩一区二区精品在线观看| 亚洲综合免费观看高清完整版| 成人免费看的视频| 2021久久国产精品不只是精品| 奇米888四色在线精品| 欧美视频一区二区三区| 亚洲免费观看高清| 91在线国内视频| 国产精品久久久久久久久久久免费看 | 成人高清视频在线| 精品国产一区二区精华 | 精品久久国产字幕高潮| 日韩精品电影在线观看| 欧美性猛片xxxx免费看久爱| 一区二区三区欧美亚洲| 91丨国产丨九色丨pron| 国产精品国产a| 成人手机在线视频| 国产精品私人影院| 丁香一区二区三区| 久久蜜桃av一区精品变态类天堂| 轻轻草成人在线| 在线不卡中文字幕| 视频一区二区三区在线| 欧美主播一区二区三区美女| 一区二区激情视频| 欧美日韩一区二区在线观看视频| 亚洲美女一区二区三区| 97精品视频在线观看自产线路二| 成人欧美一区二区三区| 91网站视频在线观看| 亚洲人成电影网站色mp4| 一本大道久久a久久综合婷婷| 亚洲欧美欧美一区二区三区| 色婷婷综合久久| 亚洲a一区二区| 欧美一区二区在线免费播放| 蜜桃精品视频在线| 久久久久青草大香线综合精品| 国产成人在线视频网址| 国产精品国产三级国产aⅴ无密码| zzijzzij亚洲日本少妇熟睡| 亚洲欧美国产77777| 欧洲亚洲国产日韩| 秋霞午夜鲁丝一区二区老狼| 精品久久国产老人久久综合| 国产 欧美在线| 国产精品久久久久久久久搜平片 | 亚洲一区二区三区在线看| 6080yy午夜一二三区久久| 蜜桃精品视频在线观看| 亚洲国产精品二十页| 在线看日本不卡| 秋霞影院一区二区| 欧美国产精品一区| 欧美日韩久久久一区| 美女任你摸久久| 国产精品福利av| 欧美二区三区91| 国产高清久久久久| 亚洲一区日韩精品中文字幕| 日韩三级视频在线看| 成人午夜在线视频| 亚洲无线码一区二区三区| 精品蜜桃在线看| 99精品桃花视频在线观看| 天天影视涩香欲综合网| 久久久久免费观看| 欧美探花视频资源| 国产风韵犹存在线视精品| 亚洲激情五月婷婷| 欧美第一区第二区| 91在线免费看| 久久国产生活片100| 亚洲天堂2016| 日韩视频一区二区三区| 91丝袜美腿高跟国产极品老师 | 欧美一区二区三区免费| 成人自拍视频在线| 日韩综合在线视频| 国产精品青草久久| 日韩视频在线一区二区| 一本到不卡免费一区二区| 日韩一区日韩二区| 自拍偷拍亚洲欧美日韩| 日韩欧美在线综合网| 91香蕉视频mp4| 国产在线麻豆精品观看| 亚洲一区在线看| 国产精品久久久久久一区二区三区 | 日韩一区二区三区视频| 色欧美乱欧美15图片| 国产成人精品免费在线| 午夜欧美在线一二页| 国产精品久久久久影视| 欧美精品一区二| 在线不卡欧美精品一区二区三区| 不卡高清视频专区| 国产一区二区三区久久久| 日韩高清电影一区| 亚洲黄色在线视频| 国产精品久久久久久久午夜片| 精品福利视频一区二区三区| 欧美日韩国产电影| 在线观看日韩电影| 色婷婷狠狠综合| 成人福利视频网站| 国产馆精品极品| 狠狠色丁香婷综合久久| 首页国产欧美日韩丝袜| 夜夜嗨av一区二区三区四季av| 国产女主播在线一区二区| 欧美mv日韩mv| 欧美一区二区精品在线| 91麻豆精品国产91久久久久久| 在线观看亚洲精品| 色偷偷88欧美精品久久久 | 一区二区日韩电影| 亚洲日本成人在线观看| 国产精品网站在线观看| 久久久99免费| 26uuu另类欧美亚洲曰本| 日韩欧美亚洲国产另类| 日韩欧美久久久| 91精选在线观看| 在线播放91灌醉迷j高跟美女 | 午夜不卡av免费| 亚洲国产精品久久久久婷婷884 | 欧美伊人久久久久久久久影院 | 三级在线观看一区二区| 亚洲国产精品久久不卡毛片| 亚洲综合久久久久| 亚洲成av人片www| 日韩激情视频在线观看| 午夜精品福利一区二区蜜股av| 亚洲成a天堂v人片| 婷婷一区二区三区| 美女一区二区三区在线观看| 久久精品国产澳门| 国产在线视频一区二区三区| 国产麻豆精品久久一二三| 国产成人精品网址| 99精品欧美一区| 欧美在线不卡视频| 欧美剧在线免费观看网站| 在线播放日韩导航|