comparison urwid_satext/files_management.py @ 92:fdd0543677d4

use of new keys module in files_management
author Goffi <goffi@goffi.org>
date Mon, 08 Sep 2014 15:42:25 +0200
parents eddb8369ba06
children 900014ae36b8
comparison
equal deleted inserted replaced
91:b447a9c6f1d3 92:fdd0543677d4
21 import sat_widgets 21 import sat_widgets
22 import os, os.path 22 import os, os.path
23 from xml.dom import minidom 23 from xml.dom import minidom
24 from logging import debug, info, error 24 from logging import debug, info, error
25 from time import time 25 from time import time
26 from .keys import action_key_map as a_key
26 27
27 import gettext 28 import gettext
28 gettext.install('urwid_satext', unicode=True) 29 gettext.install('urwid_satext', unicode=True)
29 30
30 class PathEdit(sat_widgets.AdvancedEdit): 31 class PathEdit(sat_widgets.AdvancedEdit):
33 def keypress(self, size, key): 34 def keypress(self, size, key):
34 if key == '~' and self.edit_pos==0: 35 if key == '~' and self.edit_pos==0:
35 expanded = os.path.expanduser('~') 36 expanded = os.path.expanduser('~')
36 self.set_edit_text(os.path.normpath(expanded+'/'+self.edit_text)) 37 self.set_edit_text(os.path.normpath(expanded+'/'+self.edit_text))
37 self.set_edit_pos(len(expanded)+1) 38 self.set_edit_pos(len(expanded)+1)
38 elif key == 'ctrl w': 39 elif key == a_key['EDIT_DELETE_LAST_WORD']:
39 if self.edit_pos<2: 40 if self.edit_pos<2:
40 return 41 return
41 before = self.edit_text[:self.edit_pos] 42 before = self.edit_text[:self.edit_pos]
42 pos = (before[:-1] if before.endswith('/') else before).rfind("/")+1 43 pos = (before[:-1] if before.endswith('/') else before).rfind("/")+1
43 self.set_edit_text(before[:pos] + self.edit_text[self.edit_pos:]) 44 self.set_edit_text(before[:pos] + self.edit_text[self.edit_pos:])
60 self.show_hidden = True 61 self.show_hidden = True
61 listbox = urwid.ListBox(self.files_list) 62 listbox = urwid.ListBox(self.files_list)
62 urwid.WidgetWrap.__init__(self, listbox) 63 urwid.WidgetWrap.__init__(self, listbox)
63 64
64 def keypress(self, size, key): 65 def keypress(self, size, key):
65 if key=='meta h': 66 if key==a_key['FILES_HIDDEN_HIDE']:
66 #(un)hide hidden files 67 #(un)hide hidden files
67 self.show_hidden = not self.show_hidden 68 self.show_hidden = not self.show_hidden
68 self.showDirectory(self.path) 69 self.showDirectory(self.path)
69 if key=='meta d': 70 elif key==a_key['FILES_JUMP_DIRECTORIES']:
70 #jump to directories 71 #jump to directories
71 if self.files_list: 72 if self.files_list:
72 self._w.set_focus(0) 73 self._w.set_focus(0)
73 elif key=='meta f': 74 elif key==a_key['FILES_JUMP_FILES']:
74 for idx in range(len(self.files_list)): 75 for idx in range(len(self.files_list)):
75 if isinstance(self.files_list[idx].base_widget,urwid.Divider): 76 if isinstance(self.files_list[idx].base_widget,urwid.Divider):
76 if idx<len(self.files_list)-1: 77 if idx<len(self.files_list)-1:
77 self._w.set_focus(idx+1) 78 self._w.set_focus(idx+1)
78 break 79 break