Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # coding=utf-8
- ru=lambda x: x.decode('utf-8')
- import appuifw, os, e32
- appuifw.app.title = u"PPad"
- appuifw.app.screen = "large"
- appuifw.app.body = t = appuifw.Text()
- t.color = 0x000000
- t.add(ru("Вас приветствует PPad - простейший текстовый редактор для быстрого создания и сохранения Ваших заметок."))
- #Объявляем функцию выхода из программы
- def quit():
- if appuifw.query(ru("Хотите выйти?"), "query"): appuifw.app.set_exit()
- appuifw.app.exit_key_handler=quit
- #Функция очистки экрана/создания нового документа
- def ClearDoc():
- if appuifw.query(ru("Создать новый документ?"), "query"):
- t.clear()
- t.set_pos(0)
- #Функция сохранения документа
- def SaveDoc():
- filename = appuifw.query(ru("Введите имя файла"), "text")
- if not filename:
- appuifw.note(ru("Файл НЕ сохранен!"), "error")
- return
- fullpath = filename + ".txt"
- fullpath = "e:\\data\\notes\\" + fullpath
- if os.path.exists(fullpath):
- rewritefile = appuifw.query(ru("Файл уже существует! Заменить?"), "query")
- if not rewritefile:
- appuifw.note(ru("Файл НЕ сохранен!"), "error")
- return
- elif not os.path.exists(os.path.dirname(fullpath)):
- os.makedirs(os.path.dirname(fullpath))
- filewrite = open(fullpath, 'w')
- content = t.get().replace(u"\u2029", u"\r\n")
- encontent = content.encode("UTF-8")
- filewrite.writelines(encontent)
- filewrite.close()
- #appuifw.note(ru("Файл сохранен!"), "conf")
- appuifw.note(ru("Файл " + fullpath + " сохранен!"), "info")
- #Функция вывода информации
- def AboutSoft():
- appuifw.note(ru("Огромная благодарность:\nEvil_Penguin за поддержку\nJOIN_ME за вывод из тупика"), "info")
- def Stub():
- appuifw.note(ru("Функция не реализована!"), "info")
- def InsertFromClipboard():
- Stub()
- def FileMan(path = None):
- if path is None:
- path = e32.drive_list()
- index = appuifw.selection_list(path)
- if index is None:
- return None
- path = path[index]
- return FileMan(path)
- elif os.path.isdir(path):
- flst = sorted(os.listdir(path))
- index = appuifw.selection_list(flst)
- if index is None:
- return None
- path = os.path.join(path, flst[index])
- return FileMan(path)
- else:
- return path
- #Вставляет текст в открытый документ,
- #не заменяет уже набранный.
- def OpenFile():
- file = FileMan()
- if file is None:
- return
- # t.add(u"\r\nFile to open:" + file + '\r\n')
- text = open(file, 'r')
- t.add(text.read().decode('utf-8'))
- def FindText():
- Stub()
- appuifw.app.menu = [
- (ru("Вставить"), InsertFromClipboard),
- (ru("Открыть файл"), OpenFile),
- (ru("Новый/Очистить"), ClearDoc),
- (ru("Сохранить в UTF-8"), SaveDoc),
- (ru("Инфо"), AboutSoft)
- ]
- lock = e32.Ao_lock()
- os.abort = lock.signal
- lock.wait()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement