##################################
#-*- coding:utf8 -*- #
# Author:biansutao@gmail.com #
# Purpose:Text edit programer #
# #
##################################
#import s60
import appuifw
import e32
#import sys
import os
import time
import sys
sys.setdefaultencoding("utf8")
rootDir="e:/text/"
title = ""
content = ""
app_lock=e32.Ao_lock()
def info(msg):
appuifw.note(msg,'info')
def error(msg):
appuifw.note(msg,'error')
def conf(msg):
appuifw.note(msg,'conf')
def init():
global rootDir
if not os.path.isdir(rootDir):
os.makedirs(rootDir)
def new():
global content,title
content=appuifw.Text()
content.set("")
appuifw.app.body=content
appuifw.app.title=unicode("","utf8")
title = unicode("","utf8")
def save():
global rootDir,title,content
file = ""
if title == "":
if not appuifw.query(unicode("请输入文件名","utf8"),'query'):
file=rootDir+time.strftime("%Y%m%d%H%S%M")+".txt"
else:
newTitle=appuifw.query(unicode("请输入文件标题:","utf8"),'text')
appuifw.app.title=newTitle
title=newTitle
file=rootDir+title+".txt"
else:
file=rootDir+title+".txt"
result={}
result['title']=title
result['content']=content.get()
try:
f=open(file,'w')
f.write(repr(result))
f.close()
msg = unicode("保存成功","utf8")+file
conf(msg)
except IOError,TypeError:
msg = unicode("保存失败","utf8")+file
info(msg)
def saveas():
global title
newTitle=appuifw.query(unicode("请输入文件标题:","utf8"),'text')
appuifw.app.title=newTitle
title=newTitle
save()
def list():
global rootDir,title,content
appuifw.app.title=unicode("请您选择文件","utf8")
try:
list=map(unicode,os.listdir(rootDir))
index=appuifw.selection_list(choices=list,search_field=1)
file=rootDir+list[index]
try:
f=open(file,'r')
result=f.read()
f.close();
data=eval(result)
title=data.get("title","")
content1=data.get("content","")
appuifw.app.title=title
content=appuifw.Text()
content.set(content1)
appuifw.app.body=content
except:
info(unicode("打开文件失败","utf8")+"\n"+file)
except:
info(unicode("选择文件发生错误","utf8"))
def quit():
if appuifw.query(unicode("确认退出?","utf8"),'query'):
app_lock.signal()
# appuifw.app.set_exit()
def about():
appuifw.note(unicode("记事本 V1.0","utf8"),'info')
def delete():
global rootDir,title,content
appuifw.app.title=unicode("请您选择要删除的文件","utf8")
try:
list=map(unicode,os.listdir(rootDir))
index=appuifw.selection_list(choices=list,search_field=1)
file=rootDir+list[index]
try:
if appuifw.query(unicode("确认删除文件吗?","utf8"),'query'):
os.remove(file)
info(unicode("删除成功","utf8")+"\n"+file)
except:
info(unicode("删除文件失败","utf8")+"\n"+file)
except:
info(unicode("选择文件发生错误","utf8"))
if __name__ == "__main__":
appuifw.app.title=unicode("记事本","utf8")
appuifw.app.screen='normal'
appuifw.app.menu=[(unicode("新建","utf8"),new),(unicode("保存","utf8"),save),(unicode("另存为","utf8"),saveas),(unicode("打开","utf8"),list),(unicode("删除","utf8"),delete),(unicode("退出","utf8"),quit),(unicode("关于","utf8"),about)]
appuifw.app.exit_key_handler=quit
content=appuifw.Text()
content.set("")
appuifw.app.body=content
init()
app_lock.wait()
Python For S60 文本编辑器
最新推荐文章于 2020-11-29 16:30:43 发布