forked from yaribussi/Blindo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ImportExportView.py
153 lines (130 loc) · 7.29 KB
/
ImportExportView.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
from tkinter import *
import UtilityView as uv
import os
import StaticParameter as SP
class ImportExportView:
# schermata che permette di importare ed esportare i file da/su chiavetta
def import_export(path_punto_accesso_chiavette, path_che_simula_la_memoria_interna_del_raspberry):
root = Tk()
root.attributes('-fullscreen', SP.full_screen_option)
root.config(bg=SP.standard_color_setting("root_import_export_view"))
frame = Frame(root)
frame.config(bg=SP.standard_color_setting("frame_import_export_view"))
frame.pack()
label = Label(frame, text="Scegli l'azione desiderata",
bg=SP.standard_color_setting("label_import_export_view"),
width=90, height=3,
font=SP.font_medium,
fg=SP.root_font_color
)
label.pack();
# numbers_of_key is the number of connected key
numbers_of_key = len(os.listdir(path_punto_accesso_chiavette))
# le funzioni IMPORTA/ESPORTA vengono visualizzate
# solamente se è collegata almeno una chiavetta
if numbers_of_key > 0:
import_button = Button(frame,
text="Importa",
bg=SP.standard_color_setting("import_button_background"),
command=lambda: choose_key_and_import(root),
font=SP.font_small,
fg=SP.button_font_color_gray_scale,
bd=SP.bord_size,
relief=SP.bord_style,
activebackground=SP.standard_color_setting("import_button_background")
)
import_button.pack(side=LEFT)
import_button.config(height=5, width=22)
export_button = Button(frame,
text="Esporta",
bg=SP.standard_color_setting("export_button_background"),
command=lambda: choose_key_and_export(root),
font=SP.font_small,
fg=SP.button_font_color_gray_scale,
bd=SP.bord_size,
relief=SP.bord_style,
activebackground=SP.standard_color_setting("export_button_background")
)
export_button.pack(side=RIGHT)
export_button.config(height=5, width=22)
else:
# cambio il contenuto e la grandezza del label
label["text"] = "Inserisci una chiavetta \nper accedere alle altre funzionalità"
label["height"] = 3
'''
# pulsante mostrato solo se NON è inserita nessuna chiavetta
raspberry_memory_button = Button(frame,
text="Accedi alla memoria interna",
bg=SP.standard_color_setting("button_import_export_view"),
command=lambda: uv.raspberry_memory_manager(),
font=SP.font_piccolo,
fg=SP.button_font_color_gray_scale,
bd=SP.bord_size,
relief=SP.bord_style,
activebackground=SP.standard_color_setting("button_import_export_view")
)
raspberry_memory_button.pack()
raspberry_memory_button.config(height=5, width=25)
'''
# funzione che richiama la sottoschermata dopo aver cliccato su "ESPORTA"
def choose_key_and_export(cl_root):
root = Tk()
root.attributes('-fullscreen', SP.full_screen_option)
root.config(bg=SP.standard_color_setting("root_import_export_view"))
frame = Frame(root, bg=SP.standard_color_setting("frame_import_export_view"))
frame.pack()
# passo alla funzione pi\media e quindi verranno visualizzate a schermo le chiavette disponibili
dirs = os.listdir(path_punto_accesso_chiavette)
label = Label(frame,
text="Selezionare la chiavetta su cui esportare i file audio",
bd=20,
bg=SP.standard_color_setting("label_import_export_view"),
font=SP.font_small,
fg=SP.root_font_color)
label.grid(row=1, column=0)
label.config(width=50, height=4)
# index necessario all' incolonnamento dei pulsanti, utilizzato in pulsante.grid() qualche riga sotto
index = 2
# ciclo che stampa tante "chiavette" quante inserite nel device
for cartella in dirs:
path_chiavetta = os.path.join(path_punto_accesso_chiavette, cartella)
pulsante = uv.button_usb_key(frame, "esportare", cartella,
path_che_simula_la_memoria_interna_del_raspberry, path_chiavetta,root)
pulsante.grid(row=index, column=0)
index += 1
uv.exit_button_with_text(root, SP.exit_text)
cl_root.destroy()
root.mainloop()
# funzione che richiama la sottoschermata dopo aver cliccato su "IMPORTA"
def choose_key_and_import(cl_root):
root = Tk()
root.attributes('-fullscreen', SP.full_screen_option)
root.config(bg=SP.standard_color_setting("root_import_export_view"))
frame = Frame(root, bg=SP.standard_color_setting("frame_import_export_view"))
frame.pack()
# passo alla funzione pi\media e quindi verranno visualizzate a schermo le chiavette disponibili
dirs = os.listdir(path_punto_accesso_chiavette)
label = Label(frame, text="Selezionare la chiavetta da cui importare i file audio",
bd=20,
bg=SP.standard_color_setting("label_import_export_view"),
font=SP.font_small,
fg=SP.root_font_color)
label.grid(row=1, column=0)
label.config(width=50, height=4)
# index necessario a posizionare il pulsante sulla schermata (indice della riga del pulsante)
index = 2
# ciclo che stampa tante "chiavette" quante inserite nel device
for cartella in dirs:
path_chiavetta = os.path.join(path_punto_accesso_chiavette, cartella)
pulsante = uv.button_usb_key(frame,
"importare",
cartella,
path_chiavetta,
path_che_simula_la_memoria_interna_del_raspberry,root)
pulsante.grid(row=index, column=0)
index += 1
uv.exit_button_with_text(root, SP.exit_text)
cl_root.destroy()
root.mainloop()
uv.exit_button_with_text(root, SP.exit_text)
root.mainloop()