32
|
1 #!/usr/bin/python |
|
2 # -*- coding: utf-8 -*- |
|
3 |
|
4 import urwid |
|
5 from urwid_satext.files_management import FileDialog |
|
6 import time |
|
7 |
|
8 |
|
9 #These palette is optional, but it's easier to use with some colors :) |
|
10 |
|
11 const_PALETTE = [('title', 'black', 'light gray', 'standout,underline'), |
|
12 ('default', 'default', 'default'), |
|
13 ('default_focus', 'default,bold', 'default'), |
|
14 ('directory', 'dark cyan, bold', 'default'), |
|
15 ('directory_focus', 'dark cyan, bold', 'dark green'), |
|
16 ('separator', 'brown', 'default'), |
|
17 ] |
|
18 |
|
19 def ok_cb(filename): |
|
20 """This callback is called when a file is choosen""" |
|
21 |
|
22 #We print the filename in the middle of the screen |
|
23 new_widget = urwid.Filler(urwid.Text(filename,align='center')) |
|
24 loop.widget = new_widget |
|
25 loop.draw_screen() |
|
26 #5 seconds pause |
|
27 time.sleep(5) |
|
28 #see you |
|
29 raise urwid.ExitMainLoop() |
|
30 |
|
31 def cancel_cb(control): |
|
32 """This callback is called when user cancelled the dialog""" |
|
33 raise urwid.ExitMainLoop() |
|
34 |
|
35 def test_quit(input): |
42
|
36 """We leave if user press 'esc'""" |
40
|
37 if input in ('esc',): |
32
|
38 raise urwid.ExitMainLoop() |
|
39 |
|
40 fd = FileDialog(ok_cb, cancel_cb) |
|
41 loop = urwid.MainLoop(fd, const_PALETTE, unhandled_input=test_quit) |
|
42 loop.run() |