Advertisement
Guest User

Untitled

a guest
Aug 15th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # coding=utf-8
  2. ru=lambda x: x.decode('utf-8')
  3. import appuifw, os, e32
  4. appuifw.app.title = u"PPad"
  5. appuifw.app.screen = "large"
  6. appuifw.app.body = t = appuifw.Text()
  7. t.color = 0x000000
  8. t.add(ru("Вас приветствует PPad - простейший текстовый редактор для быстрого создания и сохранения Ваших заметок."))
  9.  
  10. #Объявляем функцию выхода из программы
  11. def quit():
  12.    if appuifw.query(ru("Хотите выйти?"), "query"): appuifw.app.set_exit()
  13.  
  14. appuifw.app.exit_key_handler=quit
  15.  
  16. #Функция очистки экрана/создания нового документа
  17. def ClearDoc():
  18.    if appuifw.query(ru("Создать новый документ?"), "query"):
  19.       t.clear()
  20.       t.set_pos(0)
  21.  
  22. #Функция сохранения документа
  23. def SaveDoc():
  24.    filename = appuifw.query(ru("Введите имя файла"), "text")
  25.    if not filename:
  26.       appuifw.note(ru("Файл НЕ сохранен!"), "error")
  27.       return
  28.    fullpath = filename + ".txt"
  29.    fullpath = "e:\\data\\notes\\" + fullpath
  30.    if os.path.exists(fullpath):
  31.       rewritefile = appuifw.query(ru("Файл уже существует! Заменить?"), "query")
  32.       if not rewritefile:
  33.          appuifw.note(ru("Файл НЕ сохранен!"), "error")
  34.          return
  35.    elif not os.path.exists(os.path.dirname(fullpath)):
  36.       os.makedirs(os.path.dirname(fullpath))
  37.    filewrite = open(fullpath, 'w')
  38.    content = t.get().replace(u"\u2029", u"\r\n")
  39.    encontent = content.encode("UTF-8")
  40.    filewrite.writelines(encontent)
  41.    filewrite.close()
  42.    #appuifw.note(ru("Файл сохранен!"), "conf")
  43.    appuifw.note(ru("Файл " + fullpath + " сохранен!"), "info")
  44.  
  45. #Функция вывода информации
  46. def AboutSoft():
  47.    appuifw.note(ru("Огромная благодарность:\nEvil_Penguin за поддержку\nJOIN_ME за вывод из тупика"), "info")
  48.  
  49. def Stub():
  50.    appuifw.note(ru("Функция не реализована!"), "info")
  51.  
  52. def InsertFromClipboard():
  53.    Stub()
  54.  
  55. def FileMan(path = None):
  56.    if path is None:
  57.       path = e32.drive_list()
  58.       index = appuifw.selection_list(path)
  59.       if index is None:
  60.          return None
  61.       path = path[index]
  62.       return FileMan(path)
  63.    elif os.path.isdir(path):
  64.       flst = sorted(os.listdir(path))
  65.       index = appuifw.selection_list(flst)
  66.       if index is None:
  67.          return None
  68.       path = os.path.join(path, flst[index])
  69.       return FileMan(path)
  70.    else:
  71.       return path
  72.    
  73. #Вставляет текст в открытый документ,
  74. #не заменяет уже набранный.
  75. def OpenFile():
  76.    file = FileMan()
  77.    if file is None:
  78.       return
  79. #   t.add(u"\r\nFile to open:" + file + '\r\n')
  80.    text = open(file, 'r')
  81.    t.add(text.read().decode('utf-8'))
  82.  
  83. def FindText():
  84.    Stub()
  85.  
  86. appuifw.app.menu = [
  87. (ru("Вставить"),  InsertFromClipboard),
  88. (ru("Открыть файл"), OpenFile),
  89. (ru("Новый/Очистить"), ClearDoc),
  90. (ru("Сохранить в UTF-8"), SaveDoc),
  91. (ru("Инфо"), AboutSoft)
  92. ]
  93.  
  94. lock = e32.Ao_lock()
  95. os.abort = lock.signal
  96. lock.wait()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement