##// END OF EJS Templates
segun diagrana 1era parte - no funciona ...
ralonso -
r75:76
parent child
Show More
@@ -1,269 +1,281
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 #class BKmanager:
3 #class BKmanager:
4 # def __init__(self):
4 # def __init__(self):
5
5
6 from subprocess import *
6 from subprocess import *
7 import sys
7 import sys
8 import os
8 import os
9 import subprocess
9 import subprocess
10 import commands
10 import commands
11 import shutil
11 import shutil
12
12
13 #--------------------------------------------- Entero a cadena agregando ceros delante -------------------------------------------------
13 #--------------------------------------------- Entero a cadena agregando ceros delante -------------------------------------------------
14
14
15 def i2s(var_n, var_length=4):
15 def i2s(var_n, var_length=4):
16 var_n2=str(var_n)
16 var_n2=str(var_n)
17 while len(var_n2) < var_length:
17 while len(var_n2) < var_length:
18 var_n2 = "0"+var_n2
18 var_n2 = "0"+var_n2
19 return var_n2
19 return var_n2
20
20
21
21
22 #----------------------------------------- Se verifica que la ruta exista y sea un directorio -------------------------------------------------
22 #----------------------------------------- Se verifica que la ruta exista y sea un directorio -------------------------------------------------
23
23
24 def dir_exists(var_dir, self):
24 def dir_exists(var_dir, self):
25 if os.path.isdir(var_dir):
25 if os.path.isdir(var_dir):
26 return True
26 return True
27 else:
27 else:
28 self.txtInfo.append("Incorrect path:" + str(var_dir))
28 self.txtInfo.append("Incorrect path:" + str(var_dir))
29 return False
29 return False
30
30
31
31
32 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas -----------------------------
32 #-------------------------------- Se buscan los archivos del tipo especificado y se cargan las fechas -----------------------------
33
33
34 def load_days(self):
34 def load_days(self):
35
35
36 self.var_list=[]
36 self.var_list=[]
37 self.lstStartDay.clear()
37 self.lstStartDay.clear()
38 self.lstStopDay.clear()
38 self.lstStopDay.clear()
39
39
40 if self.statusDpath == False:
40 if self.statusDpath == False:
41 self.btnGbkp.setEnabled(False)
41 self.btnGbkp.setEnabled(False)
42 return
42 return
43
43
44 if self.var_Dtype == '':
44 if self.var_Dtype == '':
45 return
45 return
46
46
47 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
47 var_cmd="find " + str(self.var_Dpath) + " -name *."+ str(self.var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
48 output=commands.getstatusoutput(var_cmd)[1]
48 output=commands.getstatusoutput(var_cmd)[1]
49
49
50 #Si no se encuentra ningun archivo
50 #Si no se encuentra ningun archivo
51 if len(output) == 0:
51 if len(output) == 0:
52 self.txtInfo.append("File not found")
52 self.txtInfo.append("File not found")
53 self.btnGbkp.setEnabled(False)
53 self.btnGbkp.setEnabled(False)
54 return
54 return
55
55
56 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
56 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
57 for i in range(0, (len(output)+1)/8):
57 for i in range(0, (len(output)+1)/8):
58 self.var_list.append(output[8*i:8*(i+1)-1])
58 self.var_list.append(output[8*i:8*(i+1)-1])
59
59
60 for i in self.var_list:
60 for i in self.var_list:
61 self.lstStartDay.addItem(i)
61 self.lstStartDay.addItem(i)
62 self.lstStopDay.addItem(i)
62 self.lstStopDay.addItem(i)
63 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
63 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
64
64
65 get_sub_list(self)
65 get_sub_list(self)
66 self.btnGbkp.setEnabled(True)
66 self.btnGbkp.setEnabled(True)
67
67
68
68
69 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas -----------------------------------------
69 #-------------------------------------------------- Obtiene el rango de las fechas seleccionadas -----------------------------------------
70
70
71 def get_sub_list(self):
71 def get_sub_list(self):
72 self.var_sublist=[]
72 self.var_sublist=[]
73 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
73 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
74 self.var_sublist.append(i)
74 self.var_sublist.append(i)
75
75
76
76
77 #----------------------------------------------------- Verifica los parametros faltantes -----------------------------------------------------------
77 #----------------------------------------------------- Verifica los parametros faltantes -----------------------------------------------------------
78
78
79 def validate_parameters(self):
79 def validate_parameters(self):
80 #Verifica que las ruta del proyecto sea valida
80 #Verifica que las ruta del proyecto sea valida
81 if self.statusRpath == False:
81 if self.statusRpath == False:
82 self.txtInfo.append("Incorrect proyect path")
82 self.txtInfo.append("Incorrect proyect path")
83 return False
83 return False
84
84
85 #Verifica la etiqueta
85 #Verifica la etiqueta
86 if len(self.var_Elabel) == 0:
86 if len(self.var_Elabel) == 0:
87 self.txtInfo.append("Enter label")
87 self.txtInfo.append("Enter label")
88 return False
88 return False
89
89
90 return True
90 return True
91
91
92
92
93 #------------------------------------------------- Crea directorios en la ruta indicada -----------------------------------------------------------
93 #------------------------------------------------- Crea directorios en la ruta indicada -----------------------------------------------------------
94
94
95 def make_dirs(list_dirs, self):
95 def make_dirs(list_dirs, self):
96 """
96 """
97
97
98 """
98 """
99
99
100 for var_dir in list_dirs:
100 for var_dir in list_dirs:
101 shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
101 shutil.rmtree(self.var_Rpath+'/'+var_dir, True)
102 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)[0]
102 var_output=commands.getstatusoutput("mkdir -p "+self.var_Rpath+'/'+var_dir)[0]
103 if var_output != 0:
103 if var_output != 0:
104 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output))
104 self.txtInfo.append("Error creating directory: "+var_dir+", output_error:" + str(var_output))
105 return False
105 return False
106 self.txtInfo.append('Directories created correctly')
106 self.txtInfo.append('Directories created correctly')
107 return True
107 return True
108
108
109
109
110 #-------------------------------------------- Busca los archivos con los parametros de busqueda ---------------------------------------
110 #-------------------------------------------- Busca los archivos con los parametros de busqueda ---------------------------------------
111
111
112 def list_files(self):
112 def list_files(self):
113 var_files_list=[]
113 var_files_list=[]
114 for var_doy in self.var_sublist:
114 for var_doy in self.var_sublist:
115 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort"
115 var_cmd="find " + str(self.var_Dpath) + " -name ?"+var_doy+"???."+ str(self.var_Dtype) + " |sort"
116 var_output=commands.getstatusoutput(var_cmd)[1]
116 var_output=commands.getstatusoutput(var_cmd)[1]
117 for var_file in var_output.split():
117 for var_file in var_output.split():
118 var_files_list.append(var_file) #Almacena cada archivo en la lista
118 var_files_list.append(var_file) #Almacena cada archivo en la lista
119 return var_files_list
119 return var_files_list
120
120
121
121
122 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD -----------------------
122 #--------------- Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD -----------------------
123
123
124 def make_files_dat(var_files_list, self):
124 def make_files_dat(var_files_list, self):
125 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
125 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
126 var_n=1 #Numero del DVD actual
126 var_n=1 #Numero del DVD actual
127 var_tmp=0 #Se usa para acumular el tamaño de los archivos de la lista
127 var_tmp=0 #Se usa para acumular el tamaño de los archivos de la lista
128 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
128 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
129
129
130 for i in var_files_list: #Se asignan en i los archivos de la lista
130 for i in var_files_list: #Se asignan en i los archivos de la lista
131
131
132 var_size_i=os.path.getsize(i)/1024+1 #tamaño en KB del archivo de la lista, se suma 1 KB para evitar problemas al momento de sumar
132 var_size_i=os.path.getsize(i)/1024+1 #tamaño en KB del archivo de la lista, se suma 1 KB para evitar problemas al momento de sumar
133 var_tmp += var_size_i #Se acumulan el tamaño de los archivos de la lista
133 var_tmp += var_size_i #Se acumulan el tamaño de los archivos de la lista
134
134
135 #Si el tamaño acumulado es mayor que el de el DVD
135 #Si el tamaño acumulado es mayor que el de el DVD
136 if var_tmp > (self.var_Dcapacity * 1024):
136 if var_tmp > (self.var_Dcapacity * 1024):
137 var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
137 var_tmp -= var_size_i #se quita el tamaño sumado para mostrar el tamaño real
138 #se crea un archivo con numeral en el sufijo y extension .dat
138 #se crea un archivo con numeral en el sufijo y extension .dat
139 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
139 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
140 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
140 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
141 for line in var_files_list_2:
141 for line in var_files_list_2:
142 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
142 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
143 var_file.write(var_tmp_path+'='+line+'\n')
143 var_file.write(var_tmp_path+'='+line+'\n')
144 var_file.close()
144 var_file.close()
145
145
146 var_tmp = var_size_i #Se asigna a la variable el tamaño del archivo actual
146 var_tmp = var_size_i #Se asigna a la variable el tamaño del archivo actual
147 var_files_list_2=[] #Se reinicia la lista
147 var_files_list_2=[] #Se reinicia la lista
148 var_n += 1
148 var_n += 1
149 var_files_list_2.append(i)
149 var_files_list_2.append(i)
150
150
151 #se crea un archivo con numeral en el sufijo y extension .dat
151 #se crea un archivo con numeral en el sufijo y extension .dat
152 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
152 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","w")
153 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
153 #Se añade la lista de archivos a grabar en el DVD al archivo .dat
154 for line in var_files_list_2:
154 for line in var_files_list_2:
155 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
155 var_tmp_path=line.split(self.var_Dpath)[1][:-13]
156 var_file.write(var_tmp_path+'='+line+'\n')
156 var_file.write(var_tmp_path+'='+line+'\n')
157 var_file.close()
157 var_file.close()
158
158
159 self.txtInfo.append("configuration files created")
159 self.txtInfo.append("configuration files created")
160 return var_n
160 return var_n
161
161
162
162
163 #------------------------------ Genera los archivos .print con los cuales se creara los postscript -----------------------------------
163 #------------------------------ Genera los archivos .print con los cuales se creara los postscript -----------------------------------
164
164
165 def make_files_print(self):
165 def make_files_print(self):
166
166
167 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
167 var_Rpath_ppath=self.var_Rpath+"/ppath" #Ruta de los archivos a grabar
168 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript
168 var_Rpath_gpath=self.var_Rpath+"/gpath" #Ruta de los archivos postscript
169 var_labels=[]
169 var_labels=[]
170 for m in range (0, self.txtPSgraphic.value() - 1):
170 for m in range (0, self.txtPSgraphic.value() - 1):
171 var_lines = "\n" * 9
171 var_lines = "\n" * 9
172 var_labels.append(var_lines)
172 var_labels.append(var_lines)
173
173
174 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print
174 # Se leen todos los archivos .dat creados para crear las etiquetas en los archivos .print
175 for var_n in range(1, self.var_Discs + 1):
175 for var_n in range(1, self.var_Discs + 1):
176
176
177 #se abren los archivos .dat en modo lectura
177 #se abren los archivos .dat en modo lectura
178 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r")
178 var_file = open(var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(var_n)+".dat","r")
179 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista
179 lines=var_file.readlines() # Se lee las lineas en el archivo y se almacenan en la lista
180 var_file.close()
180 var_file.close()
181 list_files=[]
181 list_files=[]
182 var_lines=[]
182 var_lines=[]
183
183
184 for j in range(0, len(lines)):
184 for j in range(0, len(lines)):
185
185
186 if j == 0:
186 if j == 0:
187 var_first_folder = lines[j].split('=')[0]
187 var_first_folder = lines[j].split('=')[0]
188 var_first_file = (lines[j].split('=')[1])[:-1]
188 var_first_file = (lines[j].split('=')[1])[:-1]
189 continue
189 continue
190
190
191 var_tmp_folder = lines[j].split('=')[0]
191 var_tmp_folder = lines[j].split('=')[0]
192 var_tmp_file = (lines[j].split('=')[1])[:-1]
192 var_tmp_file = (lines[j].split('=')[1])[:-1]
193
193
194 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes
194 # Si el subfolder superior o el DOY del archivo actual y el anterior son diferentes
195 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]):
195 if (var_tmp_folder != var_first_folder) or (var_tmp_file[0:-5] != var_first_file[0:-5]):
196 var_last_file = (lines[j-1].split('=')[1])[:-1]
196 var_last_file = (lines[j-1].split('=')[1])[:-1]
197 list_files.append([var_first_folder, var_first_file, var_last_file])
197 list_files.append([var_first_folder, var_first_file, var_last_file])
198
198
199 var_first_folder = lines[j].split('=')[0]
199 var_first_folder = lines[j].split('=')[0]
200 var_first_file = (lines[j].split('=')[1])[:-1]
200 var_first_file = (lines[j].split('=')[1])[:-1]
201
201
202 var_last_file = (lines[-1].split('=')[1])[:-1]
202 var_last_file = (lines[-1].split('=')[1])[:-1]
203 list_files.append([var_first_folder, var_first_file, var_last_file])
203 list_files.append([var_first_folder, var_first_file, var_last_file])
204
204
205 var_lines2 = lines_print(list_files, self.var_Elabel)
205 var_lines2 = lines_print(list_files, self.var_Elabel)
206
206
207 for k in range(0, len(var_lines2) / 5):
207 for k in range(0, len(var_lines2) / 5):
208 var_lines=["\n"]
208 var_lines=["\n"]
209 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
209 var_lines.append(" "+self.var_Elabel+" "+i2s(var_n)+"/"+i2s(self.var_Discs)+"\n")
210 var_lines.append("Year Doy Folder"+" "*6+"Set"+" "*9+"Time range\n")
210 var_lines.append("Year Doy Folder"+" "*6+"Set"+" "*9+"Time range\n")
211 var_lines.extend(var_lines2[(5*k):(5*(k+1))])
211 var_lines.extend(var_lines2[(5*k):(5*(k+1))])
212 var_lines.append("\n")
212 var_lines.append("\n")
213 var_labels.append(var_lines)
213 var_labels.append(var_lines)
214
214
215 for i in range(0, (len(var_labels) // 33) +1 ):
215 for i in range(0, (len(var_labels) // 33) +1 ):
216 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1)
216 var_file=var_Rpath_gpath+"/"+self.var_Elabel+"_"+i2s(i+1)
217 file_ps = open(var_file+".print","w")
217 file_ps = open(var_file+".print","w")
218 if i == (len(var_labels) // 33):
218 if i == (len(var_labels) // 33):
219 var_sub_labels = var_labels[33*i:]
219 var_sub_labels = var_labels[33*i:]
220 else:
220 else:
221 var_sub_labels = var_labels[33*i:33*(i+1)]
221 var_sub_labels = var_labels[33*i:33*(i+1)]
222
222
223 for label in var_sub_labels:
223 for label in var_sub_labels:
224 for line in label:
224 for line in label:
225 file_ps.write(line)
225 file_ps.write(line)
226 file_ps.close()
226 file_ps.close()
227 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \
227 var_cmd="enscript "+var_file+".print -p "+var_file+".ps -f Times-Roman7 " \
228 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4"
228 +" -3R -j -B --margins=21.25:20.4:25.51:20 --media=A4"
229 var_output=commands.getstatusoutput(var_cmd)[0]
229 var_output=commands.getstatusoutput(var_cmd)[0]
230
230
231
231
232 def lines_print(list_files, var_Elabel):
232 def lines_print(list_files, var_Elabel):
233 """
233 """
234 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato
234 Devuelve las lineas del rango de archivos de cada etiqueta segun el formato
235 """
235 """
236 var_lines=[]
236 var_lines=[]
237 for i in list_files:
237 for i in list_files:
238
238
239 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/
239 # Si el archivo se grabara directamente en la / del DVD y no en un /directorio/
240 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio
240 # se usa la etiqueta para indicar la parte de la etiqueta donde va el subdirectorio
241 if i[0] == '/':
241 if i[0] == '/':
242 var_folder = var_Elabel
242 var_folder = var_Elabel
243 else:
243 else:
244 var_folder = i[0].split('/')[-2]
244 var_folder = i[0].split('/')[-2]
245
245
246 var_first_file = i[1]
246 var_first_file = i[1]
247 var_last_file = i[2]
247 var_last_file = i[2]
248
248
249 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1]
249 var_date_first_file=commands.getstatusoutput("date -r "+var_first_file+" +'%T'")[1]
250 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1]
250 var_date_last_file=commands.getstatusoutput("date -r "+var_last_file+" +'%T'")[1]
251
251
252 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+" "
252 var_lines.append(var_first_file[-12:-8]+" "+var_first_file[-8:-5]+" "+var_folder +" "+var_first_file[-5:-2]+"-"
253 +var_last_file[-5:-2]+" "+var_date_first_file+" "+var_date_last_file+"\n")
253 +var_last_file[-5:-2]+" "+var_date_first_file+"-"+var_date_last_file+"\n")
254 #Nos aseguramos que sea un mutiplo de 5
254 #Nos aseguramos que sea un mutiplo de 5
255 while (len(var_lines) % 5) != 0:
255 while (len(var_lines) % 5) != 0:
256 var_lines.append("\n")
256 var_lines.append("\n")
257
257
258 return var_lines
258 return var_lines
259
259
260 def cmd_iso(self):
260 def cmd_iso(self):
261 var_Rpath_ppath=self.var_Rpath+"/ppath"
261 var_Rpath_ppath=self.var_Rpath+"/ppath"
262 var_Rpath_iso=self.var_Rpath+"/iso"
262 var_Rpath_iso=self.var_Rpath+"/iso"
263 #comando para la creacion del archivo.iso
263 #comando para la creacion del archivo.iso
264 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat"
264 file_dat=var_Rpath_ppath+"/"+self.var_Elabel+"_"+i2s(self.var_disc_n)+".dat"
265 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
265 file_iso=var_Rpath_iso+"/"+i2s(self.var_disc_n)+".iso"
266 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
266 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
267 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel
267 var_cmd += ' -A '+self.var_Elabel+' -V '+self.var_Elabel
268 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
268 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
269 return var_cmd
269 return var_cmd
270
271
272 def next_var_disc(self, error = False):
273 pass
274 # if self.var_copy_n < self.var_Copys:
275 # self.var_copy_n += 1
276 # self.var_step == 1:
277 #
278 # if self.var_disc_n < self.var_Discs:
279
280 pass
281
@@ -1,242 +1,248
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3
3
4 from subprocess import *
4 from subprocess import *
5 import sys
5 import sys
6 import os
6 import os
7 import subprocess
7 import subprocess
8 import commands
8 import commands
9
9
10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion ---------------------------------------------------------------
10 #----------------------------------------------------- Deteccion de los dispositivos de grabacion ---------------------------------------------------------------
11
11
12 def detect_devices(self):
12 def detect_devices(self):
13 """
13 """
14 Deteccion de los dispositvos de grabacion
14 Deteccion de los dispositvos de grabacion
15 """
15 """
16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ¿?
16 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ¿?
17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
17 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
18
18
19 var_output = commands.getstatusoutput(var_cmd)
19 var_output = commands.getstatusoutput(var_cmd)
20 if var_output[0] != 0:
20 if var_output[0] != 0:
21 self.txtInfo.append("No recording devices")
21 self.txtInfo.append("No recording devices")
22 else:
22 else:
23 # self.txtInfo.append("dispositivos encontrados")
24 var_devices = var_output[1].split('\n')
23 var_devices = var_output[1].split('\n')
25
24
26 var_tmp=[]
25 var_tmp=[]
27 for i in range(0, 4):
26 for i in range(0, 4):
28 if i < len(var_devices):
27 if i < len(var_devices):
29 var_len = len(var_devices[i])
28 var_len = len(var_devices[i])
30 var_tmp.append(var_devices[i][1:var_len - 1])
29 var_tmp.append(var_devices[i][1:var_len - 1])
31 else:
30 else:
32 var_tmp.append('')
31 var_tmp.append('')
33
32
34 #Se escriben los dispostivos correspodientes, si existen
33 #Se escriben los dispostivos correspodientes, si existen
35 self.txtDeviceA.setText(str(var_tmp[0]))
34 self.txtDeviceA.setText(str(var_tmp[0]))
36 self.txtDeviceB.setText(str(var_tmp[1]))
35 self.txtDeviceB.setText(str(var_tmp[1]))
37 self.txtDeviceC.setText(str(var_tmp[2]))
36 self.txtDeviceC.setText(str(var_tmp[2]))
38 self.txtDeviceD.setText(str(var_tmp[3]))
37 self.txtDeviceD.setText(str(var_tmp[3]))
39 #Se desactivan los que no existen
38 #Se desactivan los que no existen
40 if len(var_tmp[0]) == 0 :
39 if len(var_tmp[0]) == 0 :
41 self.chkDevA.setChecked(False)
40 self.chkDevA.setChecked(False)
42 self.chkDevA.setEnabled(False)
41 self.chkDevA.setEnabled(False)
43 if len(var_tmp[1]) == 0 :
42 if len(var_tmp[1]) == 0 :
44 self.chkDevB.setChecked(False)
43 self.chkDevB.setChecked(False)
45 self.chkDevB.setEnabled(False)
44 self.chkDevB.setEnabled(False)
46 if len(var_tmp[2]) == 0 :
45 if len(var_tmp[2]) == 0 :
47 self.chkDevC.setChecked(False)
46 self.chkDevC.setChecked(False)
48 self.chkDevC.setEnabled(False)
47 self.chkDevC.setEnabled(False)
49 if len(var_tmp[3]) == 0 :
48 if len(var_tmp[3]) == 0 :
50 self.chkDevD.setChecked(False)
49 self.chkDevD.setChecked(False)
51 self.chkDevD.setEnabled(False)
50 self.chkDevD.setEnabled(False)
52
51
53 #----------------------------------- expulsa los dispositivos de grabacion --------------------------------------------
52 #----------------------------------- expulsa los dispositivos de grabacion --------------------------------------------
54
53
55 def eject_devices(self):
54 def eject_devices(self):
56 self.txtInfo.append("Ejecting recording devices")
55 self.txtInfo.append("Ejecting recording devices")
57 return
56 return
58 for var_dev in self.var_devices:
57 for var_dev in self.var_devices:
59 var_cmd = 'eject ' + var_dev
58 var_cmd = 'eject ' + var_dev
60 commands.getstatusoutput(var_cmd)
59 commands.getstatusoutput(var_cmd)
61
60
62 #----------------------------------- listado de los dispositivos de grabacion seleccionados --------------------------------------------
61 #----------------------------------- listado de los dispositivos de grabacion seleccionados --------------------------------------------
63
62
64 def selected_devices(self):
63 def selected_devices(self):
65 self.var_devices=[]
64 self.var_devices=[]
66 if self.chkDevA.isChecked():
65 if self.chkDevA.isChecked():
67 self.var_devices.append(str(self.txtDeviceA.text()))
66 self.var_devices.append(str(self.txtDeviceA.text()))
68 if self.chkDevB.isChecked():
67 if self.chkDevB.isChecked():
69 self.var_devices.append(str(self.txtDeviceB.text()))
68 self.var_devices.append(str(self.txtDeviceB.text()))
70 if self.chkDevC.isChecked():
69 if self.chkDevC.isChecked():
71 self.var_devices.append(str(self.txtDeviceC.text()))
70 self.var_devices.append(str(self.txtDeviceC.text()))
72 if self.chkDevD.isChecked():
71 if self.chkDevD.isChecked():
73 self.var_devices.append(str(self.txtDeviceD.text()))
72 self.var_devices.append(str(self.txtDeviceD.text()))
74
73
75 if len(self.var_devices) == 0:
74 if len(self.var_devices) == 0:
76 return False
75 return False
77 else:
76 else:
78 return True
77 return True
79
78
80
79
81 #----------------------------------------------------- Inicializacion para pruebas---------------------------------------------------------------
80 #----------------------------------------------------- Inicializacion para pruebas---------------------------------------------------------------
82
81
83 def set_parameters_test(self):
82 def set_parameters_test(self):
84 """
83 """
85 Se usa para inicializar ciertos parametros para pruebas
84 Se usa para inicializar ciertos parametros para pruebas
86 """
85 """
87 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
86 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
88 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
87 self.txtRpath.setText('/home/ricardoar/optional/prueba1_jro_backup_manager')
89 self.txtElabel.setText('EW_DRIFTS_pruebas')
88 self.txtElabel.setText('EW_DRIFTS_pruebas')
90 self.lstDcapacity.setCurrentIndex(4)
89 self.lstDcapacity.setCurrentIndex(4)
91 self.txtDcapacity.setValue(100.0)
90 self.txtDcapacity.setValue(100.0)
92 self.txtDcapacity.setReadOnly(False)
91 self.txtDcapacity.setReadOnly(False)
92
93 def set_devices_test(self):
93 self.txtDeviceA.setText("/dev/scd0")
94 self.txtDeviceA.setText("/dev/scd0")
94 self.txtDeviceB.setText("/dev/scd1")
95 self.txtDeviceB.setText("/dev/scd1")
95 self.txtDeviceC.setText("/dev/scd2")
96 self.txtDeviceC.setText("/dev/scd2")
96 self.txtDeviceD.setText("/dev/scd3")
97 self.txtDeviceD.setText("/dev/scd3")
97
98
98
99
99
100
100 #----------------------------------------------------- crea parameters.conf ---------------------------------------------------------------
101 #----------------------------------------------------- crea parameters.conf ---------------------------------------------------------------
101
102
102 def make_parameters_conf(self):
103 def make_parameters_conf(self):
103 var_file = open("parameters.conf","w")
104 var_file = open("parameters.conf","w")
104 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos
105 var_file.write(self.var_Dpath+"\n") #0 Ruta de los datos
105 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto
106 var_file.write(self.var_Rpath+"\n") #1 Ruta del proyecto
106 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type
107 var_file.write(str(self.var_lstDtype)+"\n") #2 opcion Data Type
107 var_file.write(self.var_Dtype+"\n") #3 extension Data Type
108 var_file.write(self.var_Dtype+"\n") #3 extension Data Type
108 var_file.write(self.var_Elabel+"\n") #4 etiqueta
109 var_file.write(self.var_Elabel+"\n") #4 etiqueta
109 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias
110 var_file.write(str(self.var_Copys)+"\n") #5 Numero de copias
110 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity
111 var_file.write(str(self.var_lstDcapacity)+"\n") #6 opcion Device Capacity
111 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaño Device Capacity
112 var_file.write(str(self.var_Dcapacity)+"\n") #7 tamaño Device Capacity
112 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar
113 var_file.write(str(self.var_Discs)+"\n") #8 Numero de discos a grabar
113 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial
114 # var_file.write(str(self.lstStartDay.currentIndex())+"\n") #9 Indice fecha inicial
114 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final
115 # var_file.write(str(self.lstStopDay.currentIndex())+"\n") #10 Indice fecha final
115
116 var_file.close()
116 var_file.close()
117
117
118 #----------------------------------------------------- carga parameters.conf ---------------------------------------------------------------
118 #----------------------------------------------------- carga parameters.conf ---------------------------------------------------------------
119
119
120 def get_parameters_conf(self):
120 def get_parameters_conf(self):
121 var_file = open("parameters.conf","r")
121 var_file = open("parameters.conf","r")
122 lines = var_file.readlines()
122 lines = var_file.readlines()
123 self.txtDpath.setText(lines[0][:-1]) #0
123 self.txtDpath.setText(lines[0][:-1]) #0
124 self.txtRpath.setText(lines[1][:-1]) #1
124 self.txtRpath.setText(lines[1][:-1]) #1
125 self.lstDtype.setCurrentIndex(int(lines[2])) #2
125 self.lstDtype.setCurrentIndex(int(lines[2])) #2
126 self.txtDtype.setText(lines[3][:-1]) #3
126 self.txtDtype.setText(lines[3][:-1]) #3
127 self.txtElabel.setText(lines[4][:-1]) #4
127 self.txtElabel.setText(lines[4][:-1]) #4
128 self.txtCopys.setValue(int(lines[5][:-1])) #5
128 self.txtCopys.setValue(int(lines[5][:-1])) #5
129 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
129 self.lstDcapacity.setCurrentIndex(int(lines[6])) #6
130 self.txtDcapacity.setValue(float(lines[7])) #7
130 self.txtDcapacity.setValue(float(lines[7])) #7
131 self.var_Discs = int(lines[8]) #8
131 self.var_Discs = int(lines[8]) #8
132 # var_StartDay = int(lines[6]) #9
132 # var_StartDay = int(lines[6]) #9
133 # var_StopDay = int(lines[7]) #10
133 # var_StopDay = int(lines[7]) #10
134 ################################
134 ################################
135 self.var_Copys = self.txtCopys.value() #5
135 self.var_Copys = self.txtCopys.value() #5
136 ################################
136 ################################
137
137
138 var_file.close()
138 var_file.close()
139
139
140
140
141
142 #-------------------------- actualiza el valor de las variables con los parametros seleccionados -----------------------------
141 #-------------------------- actualiza el valor de las variables con los parametros seleccionados -----------------------------
143
142
144 def set_vars(self):
143 def set_vars(self):
145 self.var_Dpath = str(self.txtDpath.text()) #0
144 self.var_Dpath = str(self.txtDpath.text()) #0
146 self.var_Rpath = str(self.txtRpath.text()) #1
145 self.var_Rpath = str(self.txtRpath.text()) #1
147 self.var_lstDtype = self.lstDtype.currentIndex() #2
146 self.var_lstDtype = self.lstDtype.currentIndex() #2
148 self.var_Dtype = str(self.txtDtype.text()) #3
147 self.var_Dtype = str(self.txtDtype.text()) #3
149 self.var_Elabel = str(self.txtElabel.text()) #4
148 self.var_Elabel = str(self.txtElabel.text()) #4
150 self.var_Copys = self.txtCopys.value() #5
149 self.var_Copys = self.txtCopys.value() #5
151 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6
150 self.var_lstDcapacity = self.lstDcapacity.currentIndex() #6
152 self.var_Dcapacity = self.txtDcapacity.value() #7
151 self.var_Dcapacity = self.txtDcapacity.value() #7
153 self.var_Discs = self.var_Discs #8
152 self.var_Discs = self.var_Discs #8
154
153
155
154
156 #-------------------------- crea burning.conf -----------------------------
155 #-------------------------- crea burning.conf -----------------------------
157
156
158 def make_burning_conf(self):
157 def make_burning_conf(self):
159 var_file = open("burning.conf","w")
158 var_file = open("burning.conf","w")
160 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
159 var_n_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
161 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados
160 var_file.write(str(var_n_burned_discs)+"\n") #0 Numero de discos ya grabados
162 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar
161 var_file.write(str(self.var_disc_n)+"\n") #1 Disco actual para grabar
163 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar
162 var_file.write(str(self.var_copy_n)+"\n") #2 Numero de copia actual para grabar
164 var_file.close()
163 var_file.close()
165
164
166 #----------------------------------------------------- carga burning.conf ---------------------------------------------------------------
165 #----------------------------------------------------- carga burning.conf ---------------------------------------------------------------
167
166
168 def get_burning_conf(self):
167 def get_burning_conf(self):
169 var_file = open("burning.conf","r")
168 var_file = open("burning.conf","r")
170 lines = var_file.readlines()
169 lines = var_file.readlines()
171 self.var_burned_discs = int(lines[0]) #0
170 self.var_burned_discs = int(lines[0]) #0
172 self.var_disc_n = int(lines[1])
171 self.var_disc_n = int(lines[1])
173 self.var_copy_n = int(lines[2])
172 self.var_copy_n = int(lines[2])
174 var_file.close()
173 var_file.close()
175
174
176 #---------------------------------------------- Habilitacion y deshabilitacion de items -------------------------------------------------------
175 #---------------------------------------------- Habilitacion y deshabilitacion de items -------------------------------------------------------
177
176
178 def enabled_items1(var_bool, self):
177 def enabled_items1(var_bool, self):
179 self.tabParameters.setEnabled(not(var_bool))
178 self.tabParameters.setEnabled(not(var_bool))
180 self.lstDcapacity.setEnabled(not(var_bool))
179 self.lstDcapacity.setEnabled(not(var_bool))
181 self.txtDcapacity.setEnabled(not(var_bool))
180 self.txtDcapacity.setEnabled(not(var_bool))
182 self.actionChange_Parameters.setEnabled(var_bool)
181 self.actionChange_Parameters.setEnabled(var_bool)
183 self.btnGbkp.setEnabled(not(var_bool))
182 self.btnGbkp.setEnabled(not(var_bool))
184 self.btnRestart.setEnabled(var_bool)
183 self.btnRestart.setEnabled(var_bool)
185 self.btnStartburn.setEnabled(var_bool)
184 self.btnStartburn.setEnabled(var_bool)
186
185
187
186
188 def enabled_items2(var_bool, self):
187 def enabled_items2(var_bool, self):
189 self.btnRestart.setEnabled(not(var_bool))
188 self.btnRestart.setEnabled(not(var_bool))
190 self.btnStartburn.setEnabled(not(var_bool))
189 self.btnStartburn.setEnabled(not(var_bool))
191 self.btnStopburn.setEnabled(var_bool)
190 self.btnStopburn.setEnabled(var_bool)
192 self.chkCheck.setEnabled(not(var_bool))
191 self.chkCheck.setEnabled(not(var_bool))
193 self.actionChange_Parameters.setEnabled(False)
192 self.actionChange_Parameters.setEnabled(False)
194
193
195
194
196
195
197
196
198 #---------------------------------------------- Actualiza estado en los labels -------------------------------------------------------
197 #---------------------------------------------- Actualiza estado en los labels -------------------------------------------------------
199
198
200 def update_message(type, self):
199 def update_message(type, message, self, index=0):
201
200 if index == 0:
202 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
201 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
202 else:
203 var_index = index
204
205 var_message = message
206 # var_message = "BURNING"
207 # var_message = "COMPLETED"
208 # var_message = "ERROR"
209 # var_message = "CHECKING"
210 # var_message = "CHECKED"
203
211
204 if type == 1:
212 if type == 1:
205 var_message = "BURNING"
213
206 if var_index == 0:
214 if var_index == 0:
207 self.txtBstatusA.setText(var_message)
215 self.txtBstatusA.setText(var_message)
208 self.txtBdiscA.setText(str(self.var_disc_n))
216 self.txtBdiscA.setText(str(self.var_disc_n))
209 self.txtBcopyA.setText(str(self.var_copy_n))
217 self.txtBcopyA.setText(str(self.var_copy_n))
210
218
211 if var_index == 1:
219 if var_index == 1:
212 self.txtBstatusB.setText(var_message)
220 self.txtBstatusB.setText(var_message)
213 self.txtBdiscB.setText(str(self.var_disc_n))
221 self.txtBdiscB.setText(str(self.var_disc_n))
214 self.txtBcopyB.setText(str(self.var_copy_n))
222 self.txtBcopyB.setText(str(self.var_copy_n))
215
223
216 if var_index == 2:
224 if var_index == 2:
217 self.txtBstatusC.setText(var_message)
225 self.txtBstatusC.setText(var_message)
218 self.txtBdiscC.setText(str(self.var_disc_n))
226 self.txtBdiscC.setText(str(self.var_disc_n))
219 self.txtBcopyC.setText(str(self.var_copy_n))
227 self.txtBcopyC.setText(str(self.var_copy_n))
220
228
221 if var_index == 3:
229 if var_index == 3:
222 self.txtBstatusD.setText(var_message)
230 self.txtBstatusD.setText(var_message)
223 self.txtBdiscD.setText(str(self.var_disc_n))
231 self.txtBdiscD.setText(str(self.var_disc_n))
224 self.txtBcopyD.setText(str(self.var_copy_n))
232 self.txtBcopyD.setText(str(self.var_copy_n))
225
233
226 if type == 2:
234 if type == 2:
227 var_message = "COMPLETED"
235
228 if var_index == 0:
236 if var_index == 0:
229 self.txtBstatusA.setText(var_message)
237 self.txtCHstatusA.setText(var_message)
230
238
231 if var_index == 1:
239 if var_index == 1:
232 self.txtBstatusB.setText(var_message)
240 self.txtCHstatusB.setText(var_message)
233
241
234 if var_index == 2:
242 if var_index == 2:
235 self.txtBstatusC.setText(var_message)
243 self.txtCHstatusC.setText(var_message)
236
244
237 if var_index == 3:
245 if var_index == 3:
238 self.txtBstatusD.setText(var_message)
246 self.txtCHstatusD.setText(var_message)
239
247
240
248
241
242
@@ -1,523 +1,598
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 """
3 """
4 Module implementing MainWindow.
4 Module implementing MainWindow.
5 """
5 """
6
6
7 from PyQt4.QtGui import QMainWindow
7 from PyQt4.QtGui import QMainWindow
8 from PyQt4.QtCore import pyqtSignature
8 from PyQt4.QtCore import pyqtSignature
9 from PyQt4 import QtCore
9 from PyQt4 import QtCore
10 from Ui_MainWindow import Ui_MainWindow
10 from Ui_MainWindow import Ui_MainWindow
11 from Ui_Parameters import Ui_Parameters
11 from Ui_Parameters import Ui_Parameters
12 from Ui_About import Ui_About
12 from Ui_About import Ui_About
13 from PyQt4 import QtGui
13 from PyQt4 import QtGui
14 from subprocess import *
14 from subprocess import *
15 import sys
15 import sys
16 import os
16 import os
17 #import subprocess
17 #import subprocess
18 import time
18 import commands
19 import commands
19 from functions import functions
20 from functions import functions
20 from functions import functions2
21 from functions import functions2
21
22
22 class MainWindow(QMainWindow, Ui_MainWindow):
23 class MainWindow(QMainWindow, Ui_MainWindow):
23 """
24 """
24 Class documentation goes here.
25 Class documentation goes here.
25 """
26 """
26
27
27 def __init__(self, parent = None):
28 def __init__(self, parent = None):
28 QMainWindow.__init__(self, parent)
29 QMainWindow.__init__(self, parent)
29 self.setupUi(self)
30 self.setupUi(self)
30
31 self.setupUi2()
31 self.setupUi2()
32 #sys.stdout = self #redirige salida estandar
33
32
34 def setupUi2(self):
33 def setupUi2(self):
35
34
35 # Reconocimiento de los dispositivos de grabacion
36 # functions2.detect_devices(self) #busca los dispositivos de grabacion
36 # functions2.detect_devices(self) #busca los dispositivos de grabacion
37
37 ####################################
38 functions2.set_devices_test(self) ############
39 ####################################
40
41 #Inicialiazacion de variables
38 self.var_Discs = 0 #Numero de discos del proyecto
42 self.var_Discs = 0 #Numero de discos del proyecto
39 self.var_Copys = 0 #Numero de copias
43 self.var_Copys = 0 #Numero de copias
40 self.var_disc_n = 0
44 self.var_disc_n = 0 # disco actual
41 self.var_copy_n = 0
45 self.var_copy_n = 0 # copia actual
42 self.var_burned_discs = 0
46 self.var_burned_discs = 0 #numero de discos ya grabados
43
47
44 self.var_list=[]
48 self.var_step = 0 # numero de paso en el proceso
45 self.var_sublist=[]
49 self.bool_state_burning = False #si es True se puede grabar
46
50 self.blank_discs = False # Si es true significa que se acaban de ingresar discos en blanco
47 self.var_devices=[]
51
48
52 self.var_list=[] # Lista de DOYs
49 self.var_step = 0
53 self.var_sublist=[] # Sub-lista de DOYs seleccionados
50 self.bool_state_burning = False
54 self.var_devices=[] #Lista de dispositivos seleccionados
51 self.blank_discs = False
55
52
56 #Revisa si existe el archivo de confirguracion y lo carga
53
54 #Revisa si existe el archivo de confirguracion
55 if os.path.isfile("parameters.conf"):
57 if os.path.isfile("parameters.conf"):
56 functions2.get_parameters_conf(self)
58 functions2.get_parameters_conf(self)
57 self.txtInfo.append("Parameters were loaded from configuration file")
59 self.txtInfo.append("Parameters were loaded from configuration file")
58 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
60 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
59
61
60 else:
62 else:
61 # self.txtInfo.append("Elija los parametros de configuracion")
62 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas
63 functions2.set_parameters_test(self) #Establece ciertos parametros, para pruebas
63
64
64 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados
65 functions2.set_vars(self) #Carga las variables de la clase con los parametros seleccionados
65
66
66 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
67 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
67 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
68 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
68 functions.load_days(self)
69 functions.load_days(self)
69
70
70 if os.path.isfile("parameters.conf"):
71 if os.path.isfile("parameters.conf"):
71 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion
72 functions2.enabled_items1(True, self) #Se bloquean los parametros de configuracion
72
73
73 if os.path.isfile("burning.conf"):
74 if os.path.isfile("burning.conf"):
74 functions2.get_burning_conf(self)
75 functions2.get_burning_conf(self)
75 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
76 self.txtInfo.append("Current disc: "+str(self.var_disc_n))
76 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
77 self.txtInfo.append("Current copy: "+str(self.var_copy_n))
78 self.txtInfo.append("Burned discs: "+str(self.var_burned_discs))
77 self.btnStartburn.setText("Continue")
79 self.btnStartburn.setText("Continue")
78
80
79 self.txtDeviceA.setText("/dev/scd0")
81
80 self.txtDeviceB.setText("/dev/scd1")
81 self.txtDeviceC.setText("/dev/scd2")
82 self.txtDeviceD.setText("/dev/scd3")
83
82
84 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters)
83 self.connect(self.actionChange_Parameters, QtCore.SIGNAL("triggered()"), self.changeParameters)
85 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about)
84 self.connect(self.actionAbout, QtCore.SIGNAL("triggered()"), self.about)
86
85
87 self.var_process = QtCore.QProcess()
86 self.process_iso = QtCore.QProcess()
88 self.connect(self.var_process, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput)
87 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_iso)
89 self.connect(self.var_process, QtCore.SIGNAL('readyReadStandardError()'), self.readError)
88 self.connect(self.process_iso, QtCore.SIGNAL('readyReadStandardError()'), self.readError_iso)
90 self.connect(self.var_process, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished)
89 self.connect(self.process_iso, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_iso)
91
90
92 self.var_process_check = QtCore.QProcess()
91 self.process_burn = QtCore.QProcess()
93 self.connect(self.var_process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check)
92 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_burn)
94 self.connect(self.var_process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check)
93 self.connect(self.process_burn, QtCore.SIGNAL('readyReadStandardError()'), self.readError_burn)
95 self.connect(self.var_process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check)
94 self.connect(self.process_burn, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_burn)
96
95
97 def write(self, txt):
96 self.process_check = QtCore.QProcess()
98 self.txtInfo.append(str(txt))
97 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardOutput()'), self.readOuput_check)
99
98 self.connect(self.process_check, QtCore.SIGNAL('readyReadStandardError()'), self.readError_check)
99 self.connect(self.process_check, QtCore.SIGNAL('finished(int,QProcess::ExitStatus)'), self.finished_check)
100
101
100 def changeParameters(self):
102 def changeParameters(self):
101 dlg=QtGui.QDialog()
103 dlg=QtGui.QDialog()
102 dlgui=Ui_Parameters()
104 dlgui=Ui_Parameters()
103 dlgui.setupUi(dlg)
105 dlgui.setupUi(dlg)
104 if (dlg.exec_() == QtGui.QDialog.Accepted):
106 if (dlg.exec_() == QtGui.QDialog.Accepted):
105 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value():
107 if dlgui.txtDisc.value() > self.var_Discs or dlgui.txtCopy.value() > dlgui.txtNcopys.value():
106 self.txtInfo.append("Wrong parameters")
108 self.txtInfo.append("Wrong parameters")
107 else:
109 else:
108 self.var_Copys = dlgui.txtNcopys.value()
110 self.var_Copys = dlgui.txtNcopys.value()
109 self.var_disc_n = dlgui.txtDisc.value()
111 self.var_disc_n = dlgui.txtDisc.value()
110 self.var_copy_n = dlgui.txtCopy.value()
112 self.var_copy_n = dlgui.txtCopy.value()
111 self.txtInfo.append("Changed parameters")
113 self.txtInfo.append("Changed parameters")
112 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
114 self.var_burned_discs = ( ( (self.var_disc_n - 1) * self.var_Copys) + self.var_copy_n -1 )
113
115
114
116
115 def about(self):
117 def about(self):
116 dlg_about=QtGui.QDialog()
118 dlg_about=QtGui.QDialog()
117 dlgui_about=Ui_About()
119 dlgui_about=Ui_About()
118 dlgui_about.setupUi(dlg_about)
120 dlgui_about.setupUi(dlg_about)
119 dlg_about.exec_()
121 dlg_about.exec_()
120
122
121 #----------------------------------------------------- Funciones del proceso ---------------------------------------------------------------
123
122
124 #==============================================================================
123 def readOuput(self):
125 # Manejo de los eventos
124 # self.txtInfo.insertPlainText("stdout: " + QtCore.QString(self.var_process.readAllStandardOutput()))
126 #==============================================================================
125 pass
126
127 def readError(self):
128 self.txtInfo.insertPlainText("stderr: " + QtCore.QString(self.var_process.readAllStandardError()))
129
130 def finished(self):
131 self.txtInfo.insertPlainText("\nprocess completed"+QtCore.QString(self.var_process.exitCode())+"\n")
132
133
134 if self.var_process.exitCode() != 0:
135 self.txtInfo.append("ERROR")
136
137 if self.bool_state_burning:
138 if self.var_step == 0:
139 self.var_step = 1 #Se ira al paso de la grabacion en la siguiente llamada
140
141 elif self.var_step == 1:
142 functions2.update_message(2, self)
143 self.var_copy_n += 1
144
145 self.burning()
146
147
148 #----------------------------------------------------- Funciones del proceso de verificacion ---------------------------------------------------------------
149
150 def readOuput_check(self):
151 self.txtInfo.insertPlainText("stdout check: " + QtCore.QString(self.var_process_check.readAllStandardOutput()))
152
153 def readError_check(self):
154 self.txtInfo.setText("stderr check: " + QtCore.QString(self.var_process_check.readAllStandardError()))
155
156 def finished_check(self):
157 self.txtInfo.append("check process completed "+QtCore.QString(self.var_process_check.exitCode())+"\n")
158
159
127
160 #----------------------------------------------------- Obtencion de la ruta de los datos ---------------------------------------------------------------
128 #----------------------------------------------------- Obtencion de la ruta de los datos ---------------------------------------------------------------
161
129
162 @pyqtSignature("")
130 @pyqtSignature("")
163 def on_btnDpath_clicked(self):
131 def on_btnDpath_clicked(self):
164 """
132 """
165 Permite seleccionar graficamente el direcorio de los datos a grabar
133 Permite seleccionar graficamente el direcorio de los datos a grabar
166 """
134 """
167 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
135 self.var_Dpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
168 self.txtDpath.setText(self.var_Dpath)
136 self.txtDpath.setText(self.var_Dpath)
169 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
137 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
170 functions.load_days(self)
138 functions.load_days(self)
171
139
172
140
173 @pyqtSignature("")
141 @pyqtSignature("")
174 def on_txtDpath_editingFinished(self):
142 def on_txtDpath_editingFinished(self):
175 """
143 """
176 Carga la ruta editada y verifica que sea correcta y carga la lista de dias
144 Carga la ruta editada y verifica que sea correcta y carga la lista de dias
177 """
145 """
178 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada
146 self.var_Dpath=str(self.txtDpath.text()) #Se carga la variable con la ruta recien editada
179 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
147 self.statusDpath = functions.dir_exists(self.var_Dpath, self)
180 functions.load_days(self)
148 functions.load_days(self)
181
149
182
150
183 #----------------------------------------------------- Obtencion de las ruta del proyecto ---------------------------------------------------------------
151 #----------------------------------------------------- Obtencion de las ruta del proyecto ---------------------------------------------------------------
184
152
185 @pyqtSignature("")
153 @pyqtSignature("")
186 def on_btnRpath_clicked(self):
154 def on_btnRpath_clicked(self):
187 """
155 """
188 Permite seleccionar graficamente el direcorio del proyecto
156 Permite seleccionar graficamente el direcorio del proyecto
189 """
157 """
190 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
158 self.var_Rpath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
191 self.txtRpath.setText(self.var_Rpath)
159 self.txtRpath.setText(self.var_Rpath)
192 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
160 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
193
161
194
162
195 @pyqtSignature("")
163 @pyqtSignature("")
196 def on_txtRpath_editingFinished(self):
164 def on_txtRpath_editingFinished(self):
197 """
165 """
198 Valida la ruta del proyecto
166 Valida la ruta del proyecto
199 """
167 """
200 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada
168 self.var_Rpath = str(self.txtRpath.text()) #Se carga la variable con la ruta recien editada
201 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
169 self.statusRpath = functions.dir_exists(self.var_Rpath, self)
202
170
203
171
204 #----------------------------------------------------- Tipo de datos ---------------------------------------------------------------
172 #----------------------------------------------------- Tipo de datos ---------------------------------------------------------------
205
173
206 @pyqtSignature("int")
174 @pyqtSignature("int")
207 def on_lstDtype_activated(self, index):
175 def on_lstDtype_activated(self, index):
208 """
176 """
209 Permite elegir entre los tipos de archivos
177 Permite elegir entre los tipos de archivos
210 """
178 """
211 self.txtDtype.setReadOnly(True)
179 self.txtDtype.setReadOnly(True)
212 if index == 0:
180 if index == 0:
213 self.var_Dtype ='r'
181 self.var_Dtype ='r'
214 elif index == 1:
182 elif index == 1:
215 self.var_Dtype ='pdata'
183 self.var_Dtype ='pdata'
216 elif index == 2:
184 elif index == 2:
217 self.var_Dtype ='sswma'
185 self.var_Dtype ='sswma'
218 else :
186 else :
219 self.var_Dtype =''
187 self.var_Dtype =''
220 self.txtDtype.setReadOnly(False)
188 self.txtDtype.setReadOnly(False)
221
189
222 self.txtDtype.setText(self.var_Dtype)
190 self.txtDtype.setText(self.var_Dtype)
223 functions.load_days(self) #llamada a funcion
191 functions.load_days(self) #llamada a funcion
224
192
225 @pyqtSignature("")
193 @pyqtSignature("")
226 def on_txtDtype_editingFinished(self):
194 def on_txtDtype_editingFinished(self):
227 self.var_Dtype=str(self.txtDtype.text())
195 self.var_Dtype=str(self.txtDtype.text())
228 functions.load_days(self) #llamada a funcion
196 functions.load_days(self) #llamada a funcion
229
197
230
198
231 #----------------------------------------------------- Etiqueta ---------------------------------------------------------------
199 #----------------------------------------------------- Etiqueta ---------------------------------------------------------------
232
200
233 @pyqtSignature("")
201 @pyqtSignature("")
234 def on_txtElabel_editingFinished(self):
202 def on_txtElabel_editingFinished(self):
235 self.var_Elabel = str(self.txtElabel.text())
203 self.var_Elabel = str(self.txtElabel.text())
236
204
237 #----------------------------------------------------- Numero de copias ---------------------------------------------------------------
205 #----------------------------------------------------- Numero de copias ---------------------------------------------------------------
238 @pyqtSignature("")
206 @pyqtSignature("")
239 def on_txtCopys_editingFinished(self):
207 def on_txtCopys_editingFinished(self):
240 self.var_Copys = self.txtCopys.value()
208 self.var_Copys = self.txtCopys.value()
241
209
242 #----------------------------------------------------- Seleccion del rango de fechas ---------------------------------------------------------------
210 #----------------------------------------------------- Seleccion del rango de fechas ---------------------------------------------------------------
243
211
244 @pyqtSignature("int") #CLOSED
212 @pyqtSignature("int") #CLOSED
245 def on_lstStartDay_activated(self, index):
213 def on_lstStartDay_activated(self, index):
246 """
214 """
247 Cambia la lista de opciones en lstStopDay
215 Cambia la lista de opciones en lstStopDay
248 """
216 """
249 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
217 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
250 self.lstStopDay.clear()
218 self.lstStopDay.clear()
251
219
252 for i in self.var_list[index:]:
220 for i in self.var_list[index:]:
253 self.lstStopDay.addItem(i)
221 self.lstStopDay.addItem(i)
254
222
255 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
223 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
256
224
257 functions.get_sub_list(self)
225 functions.get_sub_list(self)
258
226
259
227
260 @pyqtSignature("int") #CLOSED
228 @pyqtSignature("int") #CLOSED
261 def on_lstStopDay_activated(self, index):
229 def on_lstStopDay_activated(self, index):
262 """
230 """
263 Cambia la lista de opciones en lstStartDay
231 Cambia la lista de opciones en lstStartDay
264 """
232 """
265 var_StartDay_index=self.lstStartDay.currentIndex()
233 var_StartDay_index=self.lstStartDay.currentIndex()
266 var_end_index = self.lstStopDay.count() - index
234 var_end_index = self.lstStopDay.count() - index
267 self.lstStartDay.clear()
235 self.lstStartDay.clear()
268
236
269 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
237 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
270 self.lstStartDay.addItem(i)
238 self.lstStartDay.addItem(i)
271
239
272 self.lstStartDay.setCurrentIndex(var_StartDay_index)
240 self.lstStartDay.setCurrentIndex(var_StartDay_index)
273
241
274 functions.get_sub_list(self)
242 functions.get_sub_list(self)
275
243
276
244
277 #----------------------------------------------------- Capacidad del dispositivo de grabacion ---------------------------------------------------------------
245 #----------------------------------------------------- Capacidad del dispositivo de grabacion ---------------------------------------------------------------
278
246
279 @pyqtSignature("")
247 @pyqtSignature("")
280 def on_txtDcapacity_editingFinished(self):
248 def on_txtDcapacity_editingFinished(self):
281 self.var_Dcapacity = self.txtDcapacity.value()
249 self.var_Dcapacity = self.txtDcapacity.value()
282
250
283
251
284 @pyqtSignature("int") #CLOSED
252 @pyqtSignature("int") #CLOSED
285 def on_lstDcapacity_activated(self, index):
253 def on_lstDcapacity_activated(self, index):
286 """
254 """
287 Permite elegir el tamaño del disco
255 Permite elegir el tamaño del disco
288 """
256 """
289 if index == 0:
257 if index == 0:
290 var_size=25.0
258 var_size=25.0
291 elif index == 1:
259 elif index == 1:
292 var_size=8.5
260 var_size=8.5
293 elif index == 2:
261 elif index == 2:
294 var_size=4.7
262 var_size=4.7
295 elif index == 3:
263 elif index == 3:
296 var_size=0.7
264 var_size=0.7
297
265
298 if index != 4:
266 if index != 4:
299 self.txtDcapacity.setValue(var_size*10**9/1024**2)
267 self.txtDcapacity.setValue(var_size*10**9/1024**2)
300 self.txtDcapacity.setReadOnly(True)
268 self.txtDcapacity.setReadOnly(True)
301 else:
269 else:
302 self.txtDcapacity.setValue(100.0)
270 self.txtDcapacity.setValue(100.0)
303 self.txtDcapacity.setReadOnly(False)
271 self.txtDcapacity.setReadOnly(False)
304
272
305 self.var_lstDcapacity = self.lstDcapacity.currentIndex()
273 self.var_lstDcapacity = self.lstDcapacity.currentIndex()
306 self.var_Dcapacity = self.txtDcapacity.value()
274 self.var_Dcapacity = self.txtDcapacity.value()
307
275
308
276 #----------------------------------------------------- Testeo de las unidades de grabacion ---------------------------------------------------------------
309 #==============================================================================
277
310 # Botones para la generacion de los archivos de configuracion y el proceso de grabacion
278 @pyqtSignature("")
279 def on_btnTdevA_clicked(self):
280 var_dev = str(self.txtDeviceA.text())
281 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
282 commands.getstatusoutput(var_cmd)
283
284 @pyqtSignature("")
285 def on_btnTdevB_clicked(self):
286 var_dev = str(self.txtDeviceB.text())
287 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
288 commands.getstatusoutput(var_cmd)
289
290 @pyqtSignature("")
291 def on_btnTdevC_clicked(self):
292 var_dev = str(self.txtDeviceC.text())
293 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
294 commands.getstatusoutput(var_cmd)
295
296 @pyqtSignature("")
297 def on_btnTdevD_clicked(self):
298 var_dev = str(self.txtDeviceD.text())
299 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
300 commands.getstatusoutput(var_cmd)
301
302
303 #==============================================================================
304 # Botones para la generacion de los archivos de configuracion
311 #==============================================================================
305 #==============================================================================
312
306
313 #----------------------------------------------------- Generacion de la configuracion usando los parametros ---------------------------------------------------------------
307 #----------------------------------------------------- Generacion de la configuracion usando los parametros ---------------------------------------------------------------
314
308
315 @pyqtSignature("")
309 @pyqtSignature("")
316 def on_btnGbkp_clicked(self):
310 def on_btnGbkp_clicked(self):
317 """
311 """
318 Generacion de archivos de configuracion usando los parametros
312 Generacion de archivos de configuracion usando los parametros
319 """
313 """
320
314
321 if functions.validate_parameters(self) == False:
315 if functions.validate_parameters(self) == False:
322 return
316 return
323
317
324 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
318 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
325 list_dirs=['gpath','iso','ppath', 'tmpdata']
319 list_dirs=['gpath','iso','ppath', 'tmpdata']
326 bool_make_dirs = functions.make_dirs(list_dirs, self)
320 bool_make_dirs = functions.make_dirs(list_dirs, self)
327 if bool_make_dirs == False:
321 if bool_make_dirs == False:
328 return
322 return
329
323
330 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar
324 var_files_list = functions.list_files(self) #Se obtiene la lista de archivos a grabar
331
325
332 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat
326 self.var_Discs = functions.make_files_dat(var_files_list, self) #Se crean los archivos .dat
333
327
334 functions.make_files_print(self) # Se crean los archivos .print
328 functions.make_files_print(self) # Se crean los archivos .print
335
329
336 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf
330 functions2.make_parameters_conf(self) # se crea el archivo parameters.conf
337
331
338 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
332 self.txtInfo.append("Total number of discs for recording: "+str(self.var_Discs * self.var_Copys))
339
333
340 #Se bloquean los parametros de configuracion
334 #Se bloquean los parametros de configuracion
341 functions2.enabled_items1(True, self)
335 functions2.enabled_items1(True, self)
342
336
343
337
344
338
345 #----------------------------------------------------- Permite reiniciar la configuracion ---------------------------------------------------------------
339 #----------------------------------------------------- Permite reiniciar la configuracion ---------------------------------------------------------------
346
340
347 @pyqtSignature("")
341 @pyqtSignature("")
348 def on_btnRestart_clicked(self):
342 def on_btnRestart_clicked(self):
349 """
343 """
350 Permite que se puedan cambiar los parametros
344 Permite que se puedan cambiar los parametros
351 """
345 """
352 if os.path.isfile("parameters.conf"):
346 if os.path.isfile("parameters.conf"):
353 os.remove("parameters.conf")
347 os.remove("parameters.conf")
354 if os.path.isfile("burning.conf"):
348 if os.path.isfile("burning.conf"):
355 os.remove("burning.conf")
349 os.remove("burning.conf")
356
350
357 functions2.enabled_items1(False, self)
351 functions2.enabled_items1(False, self)
358 self.btnStartburn.setText("Start Burn")
352 self.btnStartburn.setText("Start Burn")
359
353
360
354
355 #==============================================================================
356 # Acciones de los procesos
357 #==============================================================================
358
359 #------------------------------------------------ Funciones del proceso de creacion del iso ------------------------------------------------------
360
361 def readOuput_iso(self):
362 self.txtProgress.setText("stdout iso: " + QtCore.QString(self.process_iso.readAllStandardOutput()))
363
364 def readError_iso(self):
365 self.txtProgress.setText("stderr iso: " + QtCore.QString(self.process_iso.readAllStandardError()))
366
367 def finished_iso(self):
368 self.txtProgress.clear()
369
370 if not(self.bool_state_burning):
371 return
372
373 if self.process_iso.exitCode() == 0:
374 self.txtInfo.append("Iso file"+function.i2s(self.var_disc_n)+" created successfully \n")
375 self.var_step = 1
376 self.function_burn()
377
378 else:
379 self.txtInfo.append("Error creating iso file "+function.i2s(self.var_disc_n)
380 +" , code "+QtCore.QString(self.process_iso.exitCode()))
381 self.txtInfo.append("Please check the data \n")
382
383 #----------------------------------------------------- Funciones del proceso de grabado ---------------------------------------------------------------
384
385 def readOuput_burn(self):
386 self.txtProgress.setText("stdout burn: " + QtCore.QString(self.process_burn.readAllStandardOutput()))
387
388 def readError_burn(self):
389 self.txtProgress.setText("stderr burn: " + QtCore.QString(self.process_burn.readAllStandardError()))
390
391 def finished_burn(self):
392 self.txtProgress.clear()
393
394 if not(self.bool_state_burning):
395 return
396
397 if self.process_burn.exitCode() == 0:
398 self.txtInfo.append("Complete recording, disc: "+self.var_disc_n+" copy: "+self.var_copy_n)
399 functions2.update_message(1, "COMPLETED", self)
400 self.var_step = 2
401 self.function_check()
402
403 else:
404 self.txtInfo.append("Error recording, disc: "+function.i2s(self.var_disc_n)+" copy: "
405 +function.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_burn.exitCode()))
406 functions2.update_message(1, "ERROR", self)
407
408 functions.next_var_disc(self, True)
409 if self.var_step == 0:
410 self.function_iso()
411 elif self.var_step == 1:
412 self.function_burn()
413
414
415 #----------------------------------------------------- Funciones del proceso de verificacion ---------------------------------------------------------------
416
417 def readOuput_check(self):
418 self.txtProgress.setText("stdout check: " + QtCore.QString(self.process_check.readAllStandardOutput()))
419
420 def readError_check(self):
421 self.txtProgress.setText("stderr check: " + QtCore.QString(self.process_check.readAllStandardError()))
422
423 def finished_check(self):
424 self.txtProgress.clear()
425
426 if not(self.bool_state_burning):
427 return
428
429 if self.process_check.exitCode() == 0:
430 self.txtInfo.append("Complete checking, disc: "+self.var_disc_n+" copy: "+self.var_copy_n)
431 functions2.update_message(2, "CHECKED", self)
432
433 else:
434 self.txtInfo.append("Error checking, disc: "+function.i2s(self.var_disc_n)+" copy: "
435 +function.i2s(self.var_copy_n)+", code "+QtCore.QString(self.process_check.exitCode()))
436 functions2.update_message(2, "ERROR", self)
437
438 self.function_check()
439
440
441
442 #==============================================================================
443 # Botones para el proceso de grabacion
444 #==============================================================================
361
445
362 #----------------------------------------------------- Iniciar proceso de grabacion ---------------------------------------------------------------
446 #----------------------------------------------------- Iniciar proceso de grabacion ---------------------------------------------------------------
363
447
364 @pyqtSignature("")
448 @pyqtSignature("")
365 def on_btnStartburn_clicked(self):
449 def on_btnStartburn_clicked(self):
366 """
450 """
367 Se inicia el proceso de grabacion
451 Se inicia el proceso de grabacion
368 """
452 """
369 ####### self.txtInfo.append("BUTTON: on_btnStartburn_clicked")
453 self.txtInfo.append("BUTTON: on_btnStartburn_clicked")
454
370 #Verifica que exista algun dispositivo de grabacion seleccionado
455 #Verifica que exista algun dispositivo de grabacion seleccionado
371 if not(functions2.selected_devices(self)):
456 if not(functions2.selected_devices(self)):
372 self.txtInfo.append("There is no recording device selected")
457 self.txtInfo.append("There is no recording device selected")
373 return
458 return
374
459
375 # #Lista los dispositivos de grabacion a usar
460 # #Lista los dispositivos de grabacion a usar
376 # for dev in self.var_devices:
461 # for dev in self.var_devices:
377 # self.txtInfo.append("recording device :"+dev)
462 # self.txtInfo.append("recording device :"+dev)
378
463
379 #Si se ingresaron los DVDs en blanco
464 #Si se ingresaron los DVDs en blanco
380 if self.blank_discs == True:
465 if self.blank_discs == True:
381 self.btnStartburn.setEnabled(False)
466 self.btnStartburn.setEnabled(False)
382 self.burning()
467 self.burning()
383 return
468 return
384
469
385 #Si se cargo los parametros de burning.conf
470 #Si se cargo los parametros de burning.conf
386 if self.var_burned_discs != 0:
471 if self.var_burned_discs != 0:
387 self.txtInfo.append("BURNED DISC: "+str(self.var_burned_discs))
472 self.txtInfo.append("BURNED DISC: "+str(self.var_burned_discs))
388 self.var_step = 0
473 self.var_step = 0
389 self.bool_state_burning = True
474 self.bool_state_burning = True
390 self.blank_discs = False
475 self.blank_discs = False
391 functions2.enabled_items2(True, self)
476 functions2.enabled_items2(True, self)
392 self.burning()
477 self.burning()
393 return
478 return
394
479
395 #Asigna las variables con los valores iniciales
480 #Asigna las variables con los valores iniciales
396 self.var_disc_n = 1 # numero de disco actual para grabacion
481 self.var_disc_n = 1 # numero de disco actual para grabacion
397 self.var_copy_n = 1
482 self.var_copy_n = 1
398 self.var_burned_discs = 0 #numero de discos grabados
483 self.var_burned_discs = 0 #numero de discos grabados
399 self.var_step = 0
484 self.var_step = 0
400 self.bool_state_burning = True
485 self.bool_state_burning = True
401 self.blank_discs = False
486 self.blank_discs = False
402 functions2.enabled_items2(True, self)
487 functions2.enabled_items2(True, self)
403 self.burning()
488 self.burning()
404
489
490 #----------------------------------------------------- Funcion para el grabado ---------------------------------------------------------------
405
491
406 def burning(self):
492 def burning(self):
407
493
408 var_Rpath_ppath=self.var_Rpath+"/ppath"
494 var_Rpath_ppath=self.var_Rpath+"/ppath"
409 var_Rpath_iso=self.var_Rpath+"/iso"
495 var_Rpath_iso=self.var_Rpath+"/iso"
410
496
411 #Si ya se grabaron todas las copias del disco
497 #Si ya se grabaron todas las copias del disco
412 if self.var_copy_n > self.var_Copys:
498 if self.var_copy_n > self.var_Copys:
413 #borra la imagen.iso del numero de disco anterior
499 #borra la imagen.iso del numero de disco anterior
414 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso"
500 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso"
415 # self.txtInfo.append("Deleting iso file")
501 # self.txtInfo.append("Deleting iso file")
416 # os.remove(file_iso)
502 # os.remove(file_iso)
417 self.var_copy_n = 1
503 self.var_copy_n = 1
418 self.var_disc_n += 1 # aumenta numero de disco actual para grabacion
504 self.var_disc_n += 1 # aumenta numero de disco actual para grabacion
419 self.var_step = 0
505 self.var_step = 0
420
506
421 #Si ya se grabaron todos los discos
507 #Si ya se grabaron todos los discos
422 if self.var_disc_n > self.var_Discs:
508 if self.var_disc_n > self.var_Discs:
423 self.bool_state_burning = False
509 self.bool_state_burning = False
424 self.txtInfo.append("Recording process is complete")
510 self.txtInfo.append("Recording process is complete")
425 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
511 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
426 self.on_btnRestart_clicked()
512 self.on_btnRestart_clicked()
427 self.btnStopburn.setEnabled(False)
513 self.btnStopburn.setEnabled(False)
428 return
514 return
429
515
430 # self.txtInfo.append("\n"+str(self.var_disc_n)+" "+str(self.var_copy_n)+" "+str(self.var_step))
516 # self.txtInfo.append("\n"+str(self.var_disc_n)+" "+str(self.var_copy_n)+" "+str(self.var_step))
431
517
432 #Creacion del archivo.iso para la grabacion
518 #Creacion del archivo.iso para la grabacion
433 if self.var_step == 0:
519 if self.var_step == 0:
434 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########")
520 self.txtInfo.append("########## Disc number: "+str(self.var_disc_n)+"##########")
435 self.txtInfo.append("---------Creating iso file number: "+str(self.var_disc_n))
521 self.txtInfo.append("---------Creating iso file number: "+str(self.var_disc_n))
436 var_cmd = functions.cmd_iso(self)
522 var_cmd = functions.cmd_iso(self)
437
523
438 #Grabacion de los DVDs
524 #Grabacion de los DVDs
439 elif self.var_step == 1:
525 elif self.var_step == 1:
440
526
441 functions2.make_burning_conf(self)
527 functions2.make_burning_conf(self)
442
528
443 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
529 var_index = ( ( (self.var_disc_n - 1) * self.var_Copys) + (self.var_copy_n - 1) - self.var_burned_discs ) % len(self.var_devices)
444 # self.txtInfo.append("INDEX: "+str(var_index))
530 # self.txtInfo.append("INDEX: "+str(var_index))
445 if var_index == 0 and self.blank_discs == False:
531 if var_index == 0 and self.blank_discs == False:
446 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
532 functions2.eject_devices(self) # Expulsa las bandejas de los dispostivos de grabacion
447 self.blank_discs = True
533 self.blank_discs = True
448 self.btnStartburn.setText("Continue")
534 self.btnStartburn.setText("Continue")
449 self.btnStartburn.setEnabled(True)
535 self.btnStartburn.setEnabled(True)
450 return
536 return
451
537
452 self.blank_discs = False
538 self.blank_discs = False
453
539
454 self.txtInfo.append("recording disc:"+str(self.var_copy_n)+", copy:"+str(self.var_copy_n))
540 self.txtInfo.append("recording disc:"+str(self.var_copy_n)+", copy:"+str(self.var_copy_n))
455 functions2.update_message(1, self)
541 functions2.update_message(1, "BURNING", self)
456
542
457 var_dev_tmp = self.var_devices[var_index]
543 var_dev_tmp = self.var_devices[var_index]
458 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso"
544 file_iso=var_Rpath_iso+"/"+functions.i2s(self.var_disc_n)+".iso"
459 var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso
545 var_cmd = "wodim -v dev="+var_dev_tmp+" speed=16 "+ file_iso
460
546
461 self.var_process.start('echo "comando"')
547 self.var_process.start('echo "comando"')
462 # self.txtInfo.append("CMD: "+var_cmd)
548 # self.txtInfo.append("CMD: "+var_cmd)
463
549
464 # self.txtInfo.append("creando iso")
550 # self.txtInfo.append("creando iso")
465 # self.var_process.start(var_cmd)
551 # self.var_process.start(var_cmd)
466
552
467
553
468 #----------------------------------------------------- Detener proceso de grabacion ---------------------------------------------------------------
554 #----------------------------------------------------- Detener proceso de grabacion ---------------------------------------------------------------
469
555
470 @pyqtSignature("")
556 @pyqtSignature("")
471 def on_btnStopburn_clicked(self):
557 def on_btnStopburn_clicked(self):
472 """
558 """
473 Slot documentation goes here.
559 Slot documentation goes here.
474 """
560 """
475 self.bool_state_burning = False
561 self.bool_state_burning = False
476 self.var_process.terminate() #Termina el proceso, si puede
562
477 # self.var_process.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona
563 if self.var_step == 0:
564 self.process_iso.terminate() #Termina el proceso, si puede
565 # self.process_iso.kill() #Mata el proceso, no es la forma adecuada, solo usar si terminate() no funciona
566 elif self.var_step == 1:
567 self.process_burn.terminate()
568 elif self.var_step == 2:
569 self.process_check.terminate()
570
478 self.txtInfo.append("Stopped recording")
571 self.txtInfo.append("Stopped recording")
479 functions2.enabled_items2(False, self)
572 functions2.enabled_items2(False, self)
480
573
481
574
482 #----------------------------------------------------- Testeo de las unidades de grabacion ---------------------------------------------------------------
575 #==============================================================================
483
576 # Proceso verificacion manual
484 @pyqtSignature("")
577 #==============================================================================
485 def on_btnTdevA_clicked(self):
578
486 var_dev = str(self.txtDeviceA.text())
579
487 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
580 #----------------------------------------------------- Proceso de verificaion manual ---------------------------------------------------------------
488 commands.getstatusoutput(var_cmd)
581
489
490 @pyqtSignature("")
491 def on_btnTdevB_clicked(self):
492 var_dev = str(self.txtDeviceB.text())
493 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
494 commands.getstatusoutput(var_cmd)
495
496 @pyqtSignature("")
497 def on_btnTdevC_clicked(self):
498 var_dev = str(self.txtDeviceC.text())
499 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
500 commands.getstatusoutput(var_cmd)
501
502 @pyqtSignature("")
503 def on_btnTdevD_clicked(self):
504 var_dev = str(self.txtDeviceD.text())
505 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
506 commands.getstatusoutput(var_cmd)
507
582
508 @pyqtSignature("")
583 @pyqtSignature("")
509 def on_btnTDpath_clicked(self):
584 def on_btnTDpath_clicked(self):
510 """
585 """
511 Slot documentation goes here.
586 Slot documentation goes here.
512 """
587 """
513 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
588 self.var_TDpath= str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
514 self.txtTDpath.setText(self.var_TDpath)
589 self.txtTDpath.setText(self.var_TDpath)
515 self.statusTDpath = functions.dir_exists(self.var_TDpath, self)
590 self.statusTDpath = functions.dir_exists(self.var_TDpath, self)
516
591
517
592
518 @pyqtSignature("")
593 @pyqtSignature("")
519 def on_btnCHstart_clicked(self):
594 def on_btnCHstart_clicked(self):
520 """
595 """
521 Slot documentation goes here.
596 Slot documentation goes here.
522 """
597 """
523 pass
598 pass
@@ -1,1458 +1,1463
1 <?xml version="1.0" encoding="UTF-8"?>
1 <?xml version="1.0" encoding="UTF-8"?>
2 <ui version="4.0">
2 <ui version="4.0">
3 <class>MainWindow</class>
3 <class>MainWindow</class>
4 <widget class="QMainWindow" name="MainWindow">
4 <widget class="QMainWindow" name="MainWindow">
5 <property name="geometry">
5 <property name="geometry">
6 <rect>
6 <rect>
7 <x>0</x>
7 <x>0</x>
8 <y>0</y>
8 <y>0</y>
9 <width>824</width>
9 <width>621</width>
10 <height>717</height>
10 <height>717</height>
11 </rect>
11 </rect>
12 </property>
12 </property>
13 <property name="windowTitle">
13 <property name="windowTitle">
14 <string>JRO BACKUP MANAGER</string>
14 <string>JRO BACKUP MANAGER</string>
15 </property>
15 </property>
16 <widget class="QWidget" name="centralwidget">
16 <widget class="QWidget" name="centralwidget">
17 <layout class="QVBoxLayout" name="verticalLayout">
17 <layout class="QVBoxLayout" name="verticalLayout">
18 <item>
18 <item>
19 <widget class="QTabWidget" name="tabWidget">
19 <widget class="QTabWidget" name="tabWidget">
20 <property name="enabled">
20 <property name="enabled">
21 <bool>true</bool>
21 <bool>true</bool>
22 </property>
22 </property>
23 <property name="sizePolicy">
23 <property name="sizePolicy">
24 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
24 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
25 <horstretch>0</horstretch>
25 <horstretch>0</horstretch>
26 <verstretch>0</verstretch>
26 <verstretch>0</verstretch>
27 </sizepolicy>
27 </sizepolicy>
28 </property>
28 </property>
29 <property name="currentIndex">
29 <property name="currentIndex">
30 <number>0</number>
30 <number>0</number>
31 </property>
31 </property>
32 <widget class="QWidget" name="tabParameters">
32 <widget class="QWidget" name="tabParameters">
33 <property name="enabled">
33 <property name="enabled">
34 <bool>true</bool>
34 <bool>true</bool>
35 </property>
35 </property>
36 <attribute name="title">
36 <attribute name="title">
37 <string>Parameters</string>
37 <string>Parameters</string>
38 </attribute>
38 </attribute>
39 <layout class="QVBoxLayout" name="verticalLayout_2">
39 <layout class="QVBoxLayout" name="verticalLayout_2">
40 <item>
40 <item>
41 <layout class="QHBoxLayout" name="horizontalLayout">
41 <layout class="QHBoxLayout" name="horizontalLayout">
42 <property name="sizeConstraint">
42 <property name="sizeConstraint">
43 <enum>QLayout::SetDefaultConstraint</enum>
43 <enum>QLayout::SetDefaultConstraint</enum>
44 </property>
44 </property>
45 <item>
45 <item>
46 <widget class="QLineEdit" name="txtDpath">
46 <widget class="QLineEdit" name="txtDpath">
47 <property name="sizePolicy">
47 <property name="sizePolicy">
48 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
48 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
49 <horstretch>0</horstretch>
49 <horstretch>0</horstretch>
50 <verstretch>0</verstretch>
50 <verstretch>0</verstretch>
51 </sizepolicy>
51 </sizepolicy>
52 </property>
52 </property>
53 </widget>
53 </widget>
54 </item>
54 </item>
55 <item>
55 <item>
56 <widget class="QPushButton" name="btnDpath">
56 <widget class="QPushButton" name="btnDpath">
57 <property name="sizePolicy">
57 <property name="sizePolicy">
58 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
58 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
59 <horstretch>0</horstretch>
59 <horstretch>0</horstretch>
60 <verstretch>0</verstretch>
60 <verstretch>0</verstretch>
61 </sizepolicy>
61 </sizepolicy>
62 </property>
62 </property>
63 <property name="text">
63 <property name="text">
64 <string>Data Path</string>
64 <string>Data Path</string>
65 </property>
65 </property>
66 <property name="checkable">
66 <property name="checkable">
67 <bool>false</bool>
67 <bool>false</bool>
68 </property>
68 </property>
69 </widget>
69 </widget>
70 </item>
70 </item>
71 </layout>
71 </layout>
72 </item>
72 </item>
73 <item>
73 <item>
74 <layout class="QHBoxLayout" name="horizontalLayout_3">
74 <layout class="QHBoxLayout" name="horizontalLayout_3">
75 <item>
75 <item>
76 <widget class="QLineEdit" name="txtRpath"/>
76 <widget class="QLineEdit" name="txtRpath"/>
77 </item>
77 </item>
78 <item>
78 <item>
79 <widget class="QPushButton" name="btnRpath">
79 <widget class="QPushButton" name="btnRpath">
80 <property name="text">
80 <property name="text">
81 <string>Resource Path</string>
81 <string>Resource Path</string>
82 </property>
82 </property>
83 </widget>
83 </widget>
84 </item>
84 </item>
85 </layout>
85 </layout>
86 </item>
86 </item>
87 <item>
87 <item>
88 <widget class="QLabel" name="lblDtype">
88 <widget class="QLabel" name="lblDtype">
89 <property name="text">
89 <property name="text">
90 <string>Data Type</string>
90 <string>Data Type</string>
91 </property>
91 </property>
92 </widget>
92 </widget>
93 </item>
93 </item>
94 <item>
94 <item>
95 <layout class="QHBoxLayout" name="horizontalLayout_4">
95 <layout class="QHBoxLayout" name="horizontalLayout_4">
96 <item>
96 <item>
97 <widget class="QComboBox" name="lstDtype">
97 <widget class="QComboBox" name="lstDtype">
98 <item>
98 <item>
99 <property name="text">
99 <property name="text">
100 <string>Raw Data</string>
100 <string>Raw Data</string>
101 </property>
101 </property>
102 </item>
102 </item>
103 <item>
103 <item>
104 <property name="text">
104 <property name="text">
105 <string>Process Data</string>
105 <string>Process Data</string>
106 </property>
106 </property>
107 </item>
107 </item>
108 <item>
108 <item>
109 <property name="text">
109 <property name="text">
110 <string>BLTR Data</string>
110 <string>BLTR Data</string>
111 </property>
111 </property>
112 </item>
112 </item>
113 <item>
113 <item>
114 <property name="text">
114 <property name="text">
115 <string>Other</string>
115 <string>Other</string>
116 </property>
116 </property>
117 </item>
117 </item>
118 </widget>
118 </widget>
119 </item>
119 </item>
120 <item>
120 <item>
121 <widget class="QLineEdit" name="txtDtype">
121 <widget class="QLineEdit" name="txtDtype">
122 <property name="sizePolicy">
122 <property name="sizePolicy">
123 <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
123 <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
124 <horstretch>0</horstretch>
124 <horstretch>0</horstretch>
125 <verstretch>0</verstretch>
125 <verstretch>0</verstretch>
126 </sizepolicy>
126 </sizepolicy>
127 </property>
127 </property>
128 <property name="text">
128 <property name="text">
129 <string>r</string>
129 <string>r</string>
130 </property>
130 </property>
131 <property name="readOnly">
131 <property name="readOnly">
132 <bool>true</bool>
132 <bool>true</bool>
133 </property>
133 </property>
134 </widget>
134 </widget>
135 </item>
135 </item>
136 <item>
136 <item>
137 <spacer name="horizontalSpacer">
137 <spacer name="horizontalSpacer">
138 <property name="orientation">
138 <property name="orientation">
139 <enum>Qt::Horizontal</enum>
139 <enum>Qt::Horizontal</enum>
140 </property>
140 </property>
141 <property name="sizeType">
141 <property name="sizeType">
142 <enum>QSizePolicy::Expanding</enum>
142 <enum>QSizePolicy::Expanding</enum>
143 </property>
143 </property>
144 <property name="sizeHint" stdset="0">
144 <property name="sizeHint" stdset="0">
145 <size>
145 <size>
146 <width>40</width>
146 <width>40</width>
147 <height>20</height>
147 <height>20</height>
148 </size>
148 </size>
149 </property>
149 </property>
150 </spacer>
150 </spacer>
151 </item>
151 </item>
152 </layout>
152 </layout>
153 </item>
153 </item>
154 <item>
154 <item>
155 <layout class="QHBoxLayout" name="horizontalLayout_6">
155 <layout class="QHBoxLayout" name="horizontalLayout_6">
156 <item>
156 <item>
157 <widget class="QLabel" name="lblElabel">
157 <widget class="QLabel" name="lblElabel">
158 <property name="text">
158 <property name="text">
159 <string>Exp. Label at device</string>
159 <string>Exp. Label at device</string>
160 </property>
160 </property>
161 </widget>
161 </widget>
162 </item>
162 </item>
163 <item>
163 <item>
164 <widget class="QLabel" name="lblCopys">
164 <widget class="QLabel" name="lblCopys">
165 <property name="text">
165 <property name="text">
166 <string>Copys</string>
166 <string>Copys</string>
167 </property>
167 </property>
168 </widget>
168 </widget>
169 </item>
169 </item>
170 </layout>
170 </layout>
171 </item>
171 </item>
172 <item>
172 <item>
173 <layout class="QHBoxLayout" name="horizontalLayout_5">
173 <layout class="QHBoxLayout" name="horizontalLayout_5">
174 <item>
174 <item>
175 <widget class="QLineEdit" name="txtElabel"/>
175 <widget class="QLineEdit" name="txtElabel"/>
176 </item>
176 </item>
177 <item>
177 <item>
178 <widget class="QSpinBox" name="txtCopys">
178 <widget class="QSpinBox" name="txtCopys">
179 <property name="sizePolicy">
179 <property name="sizePolicy">
180 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
180 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
181 <horstretch>0</horstretch>
181 <horstretch>0</horstretch>
182 <verstretch>0</verstretch>
182 <verstretch>0</verstretch>
183 </sizepolicy>
183 </sizepolicy>
184 </property>
184 </property>
185 <property name="minimum">
185 <property name="minimum">
186 <number>1</number>
186 <number>1</number>
187 </property>
187 </property>
188 </widget>
188 </widget>
189 </item>
189 </item>
190 </layout>
190 </layout>
191 </item>
191 </item>
192 <item>
192 <item>
193 <layout class="QHBoxLayout" name="horizontalLayout_7">
193 <layout class="QHBoxLayout" name="horizontalLayout_7">
194 <item>
194 <item>
195 <widget class="QLabel" name="lblStartDay">
195 <widget class="QLabel" name="lblStartDay">
196 <property name="text">
196 <property name="text">
197 <string>Start Day:</string>
197 <string>Start Day:</string>
198 </property>
198 </property>
199 </widget>
199 </widget>
200 </item>
200 </item>
201 <item>
201 <item>
202 <widget class="QLabel" name="lblStopDay">
202 <widget class="QLabel" name="lblStopDay">
203 <property name="text">
203 <property name="text">
204 <string>Stop Day:</string>
204 <string>Stop Day:</string>
205 </property>
205 </property>
206 </widget>
206 </widget>
207 </item>
207 </item>
208 </layout>
208 </layout>
209 </item>
209 </item>
210 <item>
210 <item>
211 <layout class="QHBoxLayout" name="horizontalLayout_8">
211 <layout class="QHBoxLayout" name="horizontalLayout_8">
212 <item>
212 <item>
213 <widget class="QComboBox" name="lstStartDay"/>
213 <widget class="QComboBox" name="lstStartDay"/>
214 </item>
214 </item>
215 <item>
215 <item>
216 <widget class="QComboBox" name="lstStopDay"/>
216 <widget class="QComboBox" name="lstStopDay"/>
217 </item>
217 </item>
218 </layout>
218 </layout>
219 </item>
219 </item>
220 </layout>
220 </layout>
221 </widget>
221 </widget>
222 <widget class="QWidget" name="tabDconfig">
222 <widget class="QWidget" name="tabDconfig">
223 <property name="enabled">
223 <property name="enabled">
224 <bool>true</bool>
224 <bool>true</bool>
225 </property>
225 </property>
226 <property name="sizePolicy">
226 <property name="sizePolicy">
227 <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
227 <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
228 <horstretch>0</horstretch>
228 <horstretch>0</horstretch>
229 <verstretch>0</verstretch>
229 <verstretch>0</verstretch>
230 </sizepolicy>
230 </sizepolicy>
231 </property>
231 </property>
232 <attribute name="title">
232 <attribute name="title">
233 <string>Device Config.</string>
233 <string>Device Config.</string>
234 </attribute>
234 </attribute>
235 <layout class="QVBoxLayout" name="verticalLayout_3">
235 <layout class="QVBoxLayout" name="verticalLayout_3">
236 <item>
236 <item>
237 <layout class="QHBoxLayout" name="horizontalLayout_12">
237 <layout class="QHBoxLayout" name="horizontalLayout_12">
238 <item>
238 <item>
239 <layout class="QVBoxLayout" name="verticalLayout_15">
239 <layout class="QVBoxLayout" name="verticalLayout_15">
240 <item>
240 <item>
241 <widget class="QCheckBox" name="chkDevA">
241 <widget class="QCheckBox" name="chkDevA">
242 <property name="text">
242 <property name="text">
243 <string>Dev A</string>
243 <string>Dev A</string>
244 </property>
244 </property>
245 <property name="checked">
245 <property name="checked">
246 <bool>true</bool>
246 <bool>true</bool>
247 </property>
247 </property>
248 </widget>
248 </widget>
249 </item>
249 </item>
250 <item>
250 <item>
251 <widget class="QWidget" name="grpDevA" native="true">
251 <widget class="QWidget" name="grpDevA" native="true">
252 <layout class="QVBoxLayout" name="verticalLayout_11">
252 <layout class="QVBoxLayout" name="verticalLayout_11">
253 <item>
253 <item>
254 <widget class="QLineEdit" name="txtDeviceA">
254 <widget class="QLineEdit" name="txtDeviceA">
255 <property name="readOnly">
255 <property name="readOnly">
256 <bool>true</bool>
256 <bool>true</bool>
257 </property>
257 </property>
258 </widget>
258 </widget>
259 </item>
259 </item>
260 <item>
260 <item>
261 <widget class="QSpinBox" name="txtBspeedA">
261 <widget class="QSpinBox" name="txtBspeedA">
262 <property name="readOnly">
263 <bool>true</bool>
264 </property>
262 <property name="minimum">
265 <property name="minimum">
263 <number>1</number>
266 <number>1</number>
264 </property>
267 </property>
265 <property name="value">
268 <property name="value">
266 <number>16</number>
269 <number>16</number>
267 </property>
270 </property>
268 </widget>
271 </widget>
269 </item>
272 </item>
270 <item>
273 <item>
271 <widget class="QLineEdit" name="txtBmodeA">
274 <widget class="QLineEdit" name="txtBmodeA">
272 <property name="text">
275 <property name="text">
273 <string>-sao</string>
276 <string>-sao</string>
274 </property>
277 </property>
275 <property name="readOnly">
278 <property name="readOnly">
276 <bool>true</bool>
279 <bool>true</bool>
277 </property>
280 </property>
278 </widget>
281 </widget>
279 </item>
282 </item>
280 <item>
283 <item>
281 <widget class="QPushButton" name="btnTdevA">
284 <widget class="QPushButton" name="btnTdevA">
282 <property name="text">
285 <property name="text">
283 <string>Test DevA</string>
286 <string>Test DevA</string>
284 </property>
287 </property>
285 </widget>
288 </widget>
286 </item>
289 </item>
287 </layout>
290 </layout>
288 </widget>
291 </widget>
289 </item>
292 </item>
290 </layout>
293 </layout>
291 </item>
294 </item>
292 <item>
295 <item>
293 <layout class="QVBoxLayout" name="verticalLayout_16">
296 <layout class="QVBoxLayout" name="verticalLayout_16">
294 <item>
297 <item>
295 <widget class="QCheckBox" name="chkDevB">
298 <widget class="QCheckBox" name="chkDevB">
296 <property name="text">
299 <property name="text">
297 <string>Dev B</string>
300 <string>Dev B</string>
298 </property>
301 </property>
299 <property name="checked">
302 <property name="checked">
300 <bool>true</bool>
303 <bool>true</bool>
301 </property>
304 </property>
302 </widget>
305 </widget>
303 </item>
306 </item>
304 <item>
307 <item>
305 <widget class="QWidget" name="grpDevB" native="true">
308 <widget class="QWidget" name="grpDevB" native="true">
306 <layout class="QVBoxLayout" name="verticalLayout_12">
309 <layout class="QVBoxLayout" name="verticalLayout_12">
307 <item>
310 <item>
308 <widget class="QLineEdit" name="txtDeviceB">
311 <widget class="QLineEdit" name="txtDeviceB">
309 <property name="readOnly">
312 <property name="readOnly">
310 <bool>true</bool>
313 <bool>true</bool>
311 </property>
314 </property>
312 </widget>
315 </widget>
313 </item>
316 </item>
314 <item>
317 <item>
315 <widget class="QSpinBox" name="txtBspeedB">
318 <widget class="QSpinBox" name="txtBspeedB">
319 <property name="readOnly">
320 <bool>true</bool>
321 </property>
316 <property name="minimum">
322 <property name="minimum">
317 <number>1</number>
323 <number>1</number>
318 </property>
324 </property>
319 <property name="value">
325 <property name="value">
320 <number>16</number>
326 <number>16</number>
321 </property>
327 </property>
322 </widget>
328 </widget>
323 </item>
329 </item>
324 <item>
330 <item>
325 <widget class="QLineEdit" name="txtBmodeB">
331 <widget class="QLineEdit" name="txtBmodeB">
326 <property name="text">
332 <property name="text">
327 <string>-sao</string>
333 <string>-sao</string>
328 </property>
334 </property>
329 <property name="readOnly">
335 <property name="readOnly">
330 <bool>true</bool>
336 <bool>true</bool>
331 </property>
337 </property>
332 </widget>
338 </widget>
333 </item>
339 </item>
334 <item>
340 <item>
335 <widget class="QPushButton" name="btnTdevB">
341 <widget class="QPushButton" name="btnTdevB">
336 <property name="text">
342 <property name="text">
337 <string>Test DevB</string>
343 <string>Test DevB</string>
338 </property>
344 </property>
339 </widget>
345 </widget>
340 </item>
346 </item>
341 </layout>
347 </layout>
342 </widget>
348 </widget>
343 </item>
349 </item>
344 </layout>
350 </layout>
345 </item>
351 </item>
346 <item>
352 <item>
347 <layout class="QVBoxLayout" name="verticalLayout_17">
353 <layout class="QVBoxLayout" name="verticalLayout_17">
348 <item>
354 <item>
349 <widget class="QCheckBox" name="chkDevC">
355 <widget class="QCheckBox" name="chkDevC">
350 <property name="text">
356 <property name="text">
351 <string>Dev C</string>
357 <string>Dev C</string>
352 </property>
358 </property>
353 <property name="checked">
359 <property name="checked">
354 <bool>true</bool>
360 <bool>true</bool>
355 </property>
361 </property>
356 </widget>
362 </widget>
357 </item>
363 </item>
358 <item>
364 <item>
359 <widget class="QWidget" name="grpDevC" native="true">
365 <widget class="QWidget" name="grpDevC" native="true">
360 <layout class="QVBoxLayout" name="verticalLayout_13">
366 <layout class="QVBoxLayout" name="verticalLayout_13">
361 <item>
367 <item>
362 <widget class="QLineEdit" name="txtDeviceC">
368 <widget class="QLineEdit" name="txtDeviceC">
363 <property name="readOnly">
369 <property name="readOnly">
364 <bool>true</bool>
370 <bool>true</bool>
365 </property>
371 </property>
366 </widget>
372 </widget>
367 </item>
373 </item>
368 <item>
374 <item>
369 <widget class="QSpinBox" name="txtBspeedC">
375 <widget class="QSpinBox" name="txtBspeedC">
376 <property name="readOnly">
377 <bool>true</bool>
378 </property>
370 <property name="minimum">
379 <property name="minimum">
371 <number>1</number>
380 <number>1</number>
372 </property>
381 </property>
373 <property name="value">
382 <property name="value">
374 <number>16</number>
383 <number>16</number>
375 </property>
384 </property>
376 </widget>
385 </widget>
377 </item>
386 </item>
378 <item>
387 <item>
379 <widget class="QLineEdit" name="txtBmodeC">
388 <widget class="QLineEdit" name="txtBmodeC">
380 <property name="text">
389 <property name="text">
381 <string>-sao</string>
390 <string>-sao</string>
382 </property>
391 </property>
383 <property name="readOnly">
392 <property name="readOnly">
384 <bool>true</bool>
393 <bool>true</bool>
385 </property>
394 </property>
386 </widget>
395 </widget>
387 </item>
396 </item>
388 <item>
397 <item>
389 <widget class="QPushButton" name="btnTdevC">
398 <widget class="QPushButton" name="btnTdevC">
390 <property name="text">
399 <property name="text">
391 <string>Test DevC</string>
400 <string>Test DevC</string>
392 </property>
401 </property>
393 </widget>
402 </widget>
394 </item>
403 </item>
395 </layout>
404 </layout>
396 </widget>
405 </widget>
397 </item>
406 </item>
398 </layout>
407 </layout>
399 </item>
408 </item>
400 <item>
409 <item>
401 <layout class="QVBoxLayout" name="verticalLayout_18">
410 <layout class="QVBoxLayout" name="verticalLayout_18">
402 <item>
411 <item>
403 <widget class="QCheckBox" name="chkDevD">
412 <widget class="QCheckBox" name="chkDevD">
404 <property name="text">
413 <property name="text">
405 <string>Dev D</string>
414 <string>Dev D</string>
406 </property>
415 </property>
407 <property name="checked">
416 <property name="checked">
408 <bool>true</bool>
417 <bool>true</bool>
409 </property>
418 </property>
410 </widget>
419 </widget>
411 </item>
420 </item>
412 <item>
421 <item>
413 <widget class="QWidget" name="grpDevD" native="true">
422 <widget class="QWidget" name="grpDevD" native="true">
414 <layout class="QVBoxLayout" name="verticalLayout_14">
423 <layout class="QVBoxLayout" name="verticalLayout_14">
415 <item>
424 <item>
416 <widget class="QLineEdit" name="txtDeviceD">
425 <widget class="QLineEdit" name="txtDeviceD">
417 <property name="readOnly">
426 <property name="readOnly">
418 <bool>true</bool>
427 <bool>true</bool>
419 </property>
428 </property>
420 </widget>
429 </widget>
421 </item>
430 </item>
422 <item>
431 <item>
423 <widget class="QSpinBox" name="txtBspeedD">
432 <widget class="QSpinBox" name="txtBspeedD">
433 <property name="readOnly">
434 <bool>true</bool>
435 </property>
424 <property name="minimum">
436 <property name="minimum">
425 <number>1</number>
437 <number>1</number>
426 </property>
438 </property>
427 <property name="value">
439 <property name="value">
428 <number>16</number>
440 <number>16</number>
429 </property>
441 </property>
430 </widget>
442 </widget>
431 </item>
443 </item>
432 <item>
444 <item>
433 <widget class="QLineEdit" name="txtBmodeD">
445 <widget class="QLineEdit" name="txtBmodeD">
434 <property name="text">
446 <property name="text">
435 <string>-sao</string>
447 <string>-sao</string>
436 </property>
448 </property>
437 <property name="readOnly">
449 <property name="readOnly">
438 <bool>true</bool>
450 <bool>true</bool>
439 </property>
451 </property>
440 </widget>
452 </widget>
441 </item>
453 </item>
442 <item>
454 <item>
443 <widget class="QPushButton" name="btnTdevD">
455 <widget class="QPushButton" name="btnTdevD">
444 <property name="text">
456 <property name="text">
445 <string>Test DevD</string>
457 <string>Test DevD</string>
446 </property>
458 </property>
447 </widget>
459 </widget>
448 </item>
460 </item>
449 </layout>
461 </layout>
450 </widget>
462 </widget>
451 </item>
463 </item>
452 </layout>
464 </layout>
453 </item>
465 </item>
454 <item>
466 <item>
455 <layout class="QVBoxLayout" name="verticalLayout_19">
467 <layout class="QVBoxLayout" name="verticalLayout_19">
456 <item>
468 <item>
457 <spacer name="verticalSpacer_3">
469 <spacer name="verticalSpacer_3">
458 <property name="orientation">
470 <property name="orientation">
459 <enum>Qt::Vertical</enum>
471 <enum>Qt::Vertical</enum>
460 </property>
472 </property>
461 <property name="sizeType">
473 <property name="sizeType">
462 <enum>QSizePolicy::Minimum</enum>
474 <enum>QSizePolicy::Minimum</enum>
463 </property>
475 </property>
464 <property name="sizeHint" stdset="0">
476 <property name="sizeHint" stdset="0">
465 <size>
477 <size>
466 <width>20</width>
478 <width>20</width>
467 <height>40</height>
479 <height>40</height>
468 </size>
480 </size>
469 </property>
481 </property>
470 </spacer>
482 </spacer>
471 </item>
483 </item>
472 <item>
484 <item>
473 <widget class="QWidget" name="grpDevD_2" native="true">
485 <widget class="QWidget" name="grpDevD_2" native="true">
474 <layout class="QVBoxLayout" name="verticalLayout_20">
486 <layout class="QVBoxLayout" name="verticalLayout_20">
475 <item>
487 <item>
476 <widget class="QLabel" name="lblDevice">
488 <widget class="QLabel" name="lblDevice">
477 <property name="text">
489 <property name="text">
478 <string>Device</string>
490 <string>Device</string>
479 </property>
491 </property>
480 </widget>
492 </widget>
481 </item>
493 </item>
482 <item>
494 <item>
483 <widget class="QLabel" name="lblBspeed">
495 <widget class="QLabel" name="lblBspeed">
484 <property name="text">
496 <property name="text">
485 <string>Burn Speed</string>
497 <string>Burn Speed</string>
486 </property>
498 </property>
487 </widget>
499 </widget>
488 </item>
500 </item>
489 <item>
501 <item>
490 <widget class="QLabel" name="lblBmode">
502 <widget class="QLabel" name="lblBmode">
491 <property name="text">
503 <property name="text">
492 <string>Burn Mode</string>
504 <string>Burn Mode</string>
493 </property>
505 </property>
494 </widget>
506 </widget>
495 </item>
507 </item>
496 <item>
508 <item>
497 <spacer name="verticalSpacer_4">
509 <spacer name="verticalSpacer_4">
498 <property name="orientation">
510 <property name="orientation">
499 <enum>Qt::Vertical</enum>
511 <enum>Qt::Vertical</enum>
500 </property>
512 </property>
501 <property name="sizeType">
513 <property name="sizeType">
502 <enum>QSizePolicy::Fixed</enum>
514 <enum>QSizePolicy::Fixed</enum>
503 </property>
515 </property>
504 <property name="sizeHint" stdset="0">
516 <property name="sizeHint" stdset="0">
505 <size>
517 <size>
506 <width>20</width>
518 <width>20</width>
507 <height>40</height>
519 <height>40</height>
508 </size>
520 </size>
509 </property>
521 </property>
510 </spacer>
522 </spacer>
511 </item>
523 </item>
512 </layout>
524 </layout>
513 </widget>
525 </widget>
514 </item>
526 </item>
515 </layout>
527 </layout>
516 </item>
528 </item>
517 </layout>
529 </layout>
518 </item>
530 </item>
519 <item>
531 <item>
520 <spacer name="verticalSpacer_2">
532 <spacer name="verticalSpacer_2">
521 <property name="orientation">
533 <property name="orientation">
522 <enum>Qt::Vertical</enum>
534 <enum>Qt::Vertical</enum>
523 </property>
535 </property>
524 <property name="sizeType">
536 <property name="sizeType">
525 <enum>QSizePolicy::Minimum</enum>
537 <enum>QSizePolicy::Minimum</enum>
526 </property>
538 </property>
527 <property name="sizeHint" stdset="0">
539 <property name="sizeHint" stdset="0">
528 <size>
540 <size>
529 <width>20</width>
541 <width>20</width>
530 <height>40</height>
542 <height>40</height>
531 </size>
543 </size>
532 </property>
544 </property>
533 </spacer>
545 </spacer>
534 </item>
546 </item>
535 <item>
547 <item>
536 <layout class="QHBoxLayout" name="horizontalLayout_11">
548 <layout class="QHBoxLayout" name="horizontalLayout_11">
537 <property name="spacing">
549 <property name="spacing">
538 <number>6</number>
550 <number>6</number>
539 </property>
551 </property>
540 <property name="sizeConstraint">
552 <property name="sizeConstraint">
541 <enum>QLayout::SetDefaultConstraint</enum>
553 <enum>QLayout::SetDefaultConstraint</enum>
542 </property>
554 </property>
543 <item>
555 <item>
544 <widget class="QLabel" name="lblDcapacity">
556 <widget class="QLabel" name="lblDcapacity">
545 <property name="sizePolicy">
557 <property name="sizePolicy">
546 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
558 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
547 <horstretch>0</horstretch>
559 <horstretch>0</horstretch>
548 <verstretch>0</verstretch>
560 <verstretch>0</verstretch>
549 </sizepolicy>
561 </sizepolicy>
550 </property>
562 </property>
551 <property name="text">
563 <property name="text">
552 <string>Device Capacity</string>
564 <string>Device Capacity</string>
553 </property>
565 </property>
554 </widget>
566 </widget>
555 </item>
567 </item>
556 <item>
568 <item>
557 <spacer name="horizontalSpacer_2">
569 <spacer name="horizontalSpacer_2">
558 <property name="orientation">
570 <property name="orientation">
559 <enum>Qt::Horizontal</enum>
571 <enum>Qt::Horizontal</enum>
560 </property>
572 </property>
561 <property name="sizeHint" stdset="0">
573 <property name="sizeHint" stdset="0">
562 <size>
574 <size>
563 <width>40</width>
575 <width>40</width>
564 <height>20</height>
576 <height>20</height>
565 </size>
577 </size>
566 </property>
578 </property>
567 </spacer>
579 </spacer>
568 </item>
580 </item>
569 </layout>
581 </layout>
570 </item>
582 </item>
571 <item>
583 <item>
572 <layout class="QHBoxLayout" name="horizontalLayout_10">
584 <layout class="QHBoxLayout" name="horizontalLayout_10">
573 <property name="sizeConstraint">
585 <property name="sizeConstraint">
574 <enum>QLayout::SetFixedSize</enum>
586 <enum>QLayout::SetFixedSize</enum>
575 </property>
587 </property>
576 <item>
588 <item>
577 <widget class="QComboBox" name="lstDcapacity">
589 <widget class="QComboBox" name="lstDcapacity">
578 <property name="currentIndex">
590 <property name="currentIndex">
579 <number>2</number>
591 <number>2</number>
580 </property>
592 </property>
581 <item>
593 <item>
582 <property name="text">
594 <property name="text">
583 <string>BluRay [25.0 GB]</string>
595 <string>BluRay [25.0 GB]</string>
584 </property>
596 </property>
585 </item>
597 </item>
586 <item>
598 <item>
587 <property name="text">
599 <property name="text">
588 <string>DVD2 [8.5 GB]</string>
600 <string>DVD2 [8.5 GB]</string>
589 </property>
601 </property>
590 </item>
602 </item>
591 <item>
603 <item>
592 <property name="text">
604 <property name="text">
593 <string>DVD1 [4.7 GB]</string>
605 <string>DVD1 [4.7 GB]</string>
594 </property>
606 </property>
595 </item>
607 </item>
596 <item>
608 <item>
597 <property name="text">
609 <property name="text">
598 <string>CD [0.7 GB]</string>
610 <string>CD [0.7 GB]</string>
599 </property>
611 </property>
600 </item>
612 </item>
601 <item>
613 <item>
602 <property name="text">
614 <property name="text">
603 <string>Other [? MB]</string>
615 <string>Other [? MB]</string>
604 </property>
616 </property>
605 </item>
617 </item>
606 </widget>
618 </widget>
607 </item>
619 </item>
608 <item>
620 <item>
609 <widget class="QDoubleSpinBox" name="txtDcapacity">
621 <widget class="QDoubleSpinBox" name="txtDcapacity">
610 <property name="sizePolicy">
622 <property name="sizePolicy">
611 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
623 <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
612 <horstretch>0</horstretch>
624 <horstretch>0</horstretch>
613 <verstretch>0</verstretch>
625 <verstretch>0</verstretch>
614 </sizepolicy>
626 </sizepolicy>
615 </property>
627 </property>
616 <property name="readOnly">
628 <property name="readOnly">
617 <bool>true</bool>
629 <bool>true</bool>
618 </property>
630 </property>
619 <property name="minimum">
631 <property name="minimum">
620 <double>100.000000000000000</double>
632 <double>100.000000000000000</double>
621 </property>
633 </property>
622 <property name="maximum">
634 <property name="maximum">
623 <double>99999.990000000005239</double>
635 <double>99999.990000000005239</double>
624 </property>
636 </property>
625 <property name="value">
637 <property name="value">
626 <double>4482.270000000000437</double>
638 <double>4482.270000000000437</double>
627 </property>
639 </property>
628 </widget>
640 </widget>
629 </item>
641 </item>
630 <item>
642 <item>
631 <spacer name="horizontalSpacer_3">
643 <spacer name="horizontalSpacer_3">
632 <property name="orientation">
644 <property name="orientation">
633 <enum>Qt::Horizontal</enum>
645 <enum>Qt::Horizontal</enum>
634 </property>
646 </property>
635 <property name="sizeHint" stdset="0">
647 <property name="sizeHint" stdset="0">
636 <size>
648 <size>
637 <width>40</width>
649 <width>40</width>
638 <height>20</height>
650 <height>20</height>
639 </size>
651 </size>
640 </property>
652 </property>
641 </spacer>
653 </spacer>
642 </item>
654 </item>
643 <item>
655 <item>
644 <widget class="QLabel" name="lblPSgraphic">
656 <widget class="QLabel" name="lblPSgraphic">
645 <property name="text">
657 <property name="text">
646 <string>PS Graphic</string>
658 <string>PS Graphic</string>
647 </property>
659 </property>
648 </widget>
660 </widget>
649 </item>
661 </item>
650 <item>
662 <item>
651 <widget class="QSpinBox" name="txtPSgraphic">
663 <widget class="QSpinBox" name="txtPSgraphic">
652 <property name="minimum">
664 <property name="minimum">
653 <number>1</number>
665 <number>1</number>
654 </property>
666 </property>
655 <property name="maximum">
667 <property name="maximum">
656 <number>33</number>
668 <number>33</number>
657 </property>
669 </property>
658 </widget>
670 </widget>
659 </item>
671 </item>
660 </layout>
672 </layout>
661 </item>
673 </item>
662 </layout>
674 </layout>
663 </widget>
675 </widget>
664 <widget class="QWidget" name="tabStatus">
676 <widget class="QWidget" name="tabStatus">
665 <attribute name="title">
677 <attribute name="title">
666 <string>Status Burn</string>
678 <string>Status Burn</string>
667 </attribute>
679 </attribute>
668 <layout class="QVBoxLayout" name="verticalLayout_4">
680 <layout class="QVBoxLayout" name="verticalLayout_4">
669 <item>
681 <item>
670 <layout class="QHBoxLayout" name="horizontalLayout_18">
682 <layout class="QHBoxLayout" name="horizontalLayout_18">
671 <item>
683 <item>
672 <layout class="QVBoxLayout" name="verticalLayout_21">
684 <layout class="QVBoxLayout" name="verticalLayout_21">
673 <item>
685 <item>
674 <widget class="QLabel" name="label_4">
686 <widget class="QLabel" name="label_4">
675 <property name="text">
687 <property name="text">
676 <string>BURN</string>
688 <string>BURN</string>
677 </property>
689 </property>
678 </widget>
690 </widget>
679 </item>
691 </item>
680 <item>
692 <item>
681 <spacer name="horizontalSpacer_9">
693 <spacer name="horizontalSpacer_9">
682 <property name="orientation">
694 <property name="orientation">
683 <enum>Qt::Horizontal</enum>
695 <enum>Qt::Horizontal</enum>
684 </property>
696 </property>
685 <property name="sizeType">
697 <property name="sizeType">
686 <enum>QSizePolicy::Minimum</enum>
698 <enum>QSizePolicy::Minimum</enum>
687 </property>
699 </property>
688 <property name="sizeHint" stdset="0">
700 <property name="sizeHint" stdset="0">
689 <size>
701 <size>
690 <width>40</width>
702 <width>40</width>
691 <height>20</height>
703 <height>20</height>
692 </size>
704 </size>
693 </property>
705 </property>
694 </spacer>
706 </spacer>
695 </item>
707 </item>
696 <item>
708 <item>
697 <widget class="QLabel" name="lblSTATUS">
709 <widget class="QLabel" name="lblSTATUS">
698 <property name="sizePolicy">
710 <property name="sizePolicy">
699 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
711 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
700 <horstretch>0</horstretch>
712 <horstretch>0</horstretch>
701 <verstretch>0</verstretch>
713 <verstretch>0</verstretch>
702 </sizepolicy>
714 </sizepolicy>
703 </property>
715 </property>
704 <property name="text">
716 <property name="text">
705 <string>STATUS</string>
717 <string>STATUS</string>
706 </property>
718 </property>
707 </widget>
719 </widget>
708 </item>
720 </item>
709 <item>
721 <item>
710 <widget class="QLabel" name="lblINFO">
722 <widget class="QLabel" name="lblINFO">
711 <property name="text">
723 <property name="text">
712 <string>DISC</string>
724 <string>DISC</string>
713 </property>
725 </property>
714 </widget>
726 </widget>
715 </item>
727 </item>
716 <item>
728 <item>
717 <widget class="QLabel" name="lblSET">
729 <widget class="QLabel" name="lblSET">
718 <property name="text">
730 <property name="text">
719 <string>COPY</string>
731 <string>COPY</string>
720 </property>
732 </property>
721 </widget>
733 </widget>
722 </item>
734 </item>
723 </layout>
735 </layout>
724 </item>
736 </item>
725 <item>
737 <item>
726 <layout class="QVBoxLayout" name="verticalLayout_22">
738 <layout class="QVBoxLayout" name="verticalLayout_22">
727 <item>
739 <item>
728 <spacer name="horizontalSpacer_5">
740 <spacer name="horizontalSpacer_5">
729 <property name="orientation">
741 <property name="orientation">
730 <enum>Qt::Horizontal</enum>
742 <enum>Qt::Horizontal</enum>
731 </property>
743 </property>
732 <property name="sizeType">
744 <property name="sizeType">
733 <enum>QSizePolicy::Minimum</enum>
745 <enum>QSizePolicy::Minimum</enum>
734 </property>
746 </property>
735 <property name="sizeHint" stdset="0">
747 <property name="sizeHint" stdset="0">
736 <size>
748 <size>
737 <width>40</width>
749 <width>40</width>
738 <height>20</height>
750 <height>20</height>
739 </size>
751 </size>
740 </property>
752 </property>
741 </spacer>
753 </spacer>
742 </item>
754 </item>
743 <item>
755 <item>
744 <widget class="QLabel" name="lblDevA">
756 <widget class="QLabel" name="lblDevA">
745 <property name="text">
757 <property name="text">
746 <string>DEV A</string>
758 <string>DEV A</string>
747 </property>
759 </property>
748 <property name="alignment">
760 <property name="alignment">
749 <set>Qt::AlignCenter</set>
761 <set>Qt::AlignCenter</set>
750 </property>
762 </property>
751 </widget>
763 </widget>
752 </item>
764 </item>
753 <item>
765 <item>
754 <widget class="QLineEdit" name="txtBstatusA">
766 <widget class="QLineEdit" name="txtBstatusA">
755 <property name="readOnly">
767 <property name="readOnly">
756 <bool>true</bool>
768 <bool>true</bool>
757 </property>
769 </property>
758 </widget>
770 </widget>
759 </item>
771 </item>
760 <item>
772 <item>
761 <widget class="QLineEdit" name="txtBdiscA">
773 <widget class="QLineEdit" name="txtBdiscA">
762 <property name="readOnly">
774 <property name="readOnly">
763 <bool>true</bool>
775 <bool>true</bool>
764 </property>
776 </property>
765 </widget>
777 </widget>
766 </item>
778 </item>
767 <item>
779 <item>
768 <widget class="QLineEdit" name="txtBcopyA">
780 <widget class="QLineEdit" name="txtBcopyA">
769 <property name="readOnly">
781 <property name="readOnly">
770 <bool>true</bool>
782 <bool>true</bool>
771 </property>
783 </property>
772 </widget>
784 </widget>
773 </item>
785 </item>
774 </layout>
786 </layout>
775 </item>
787 </item>
776 <item>
788 <item>
777 <layout class="QVBoxLayout" name="verticalLayout_23">
789 <layout class="QVBoxLayout" name="verticalLayout_23">
778 <item>
790 <item>
779 <spacer name="horizontalSpacer_6">
791 <spacer name="horizontalSpacer_6">
780 <property name="orientation">
792 <property name="orientation">
781 <enum>Qt::Horizontal</enum>
793 <enum>Qt::Horizontal</enum>
782 </property>
794 </property>
783 <property name="sizeType">
795 <property name="sizeType">
784 <enum>QSizePolicy::Minimum</enum>
796 <enum>QSizePolicy::Minimum</enum>
785 </property>
797 </property>
786 <property name="sizeHint" stdset="0">
798 <property name="sizeHint" stdset="0">
787 <size>
799 <size>
788 <width>40</width>
800 <width>40</width>
789 <height>20</height>
801 <height>20</height>
790 </size>
802 </size>
791 </property>
803 </property>
792 </spacer>
804 </spacer>
793 </item>
805 </item>
794 <item>
806 <item>
795 <widget class="QLabel" name="lblDevB">
807 <widget class="QLabel" name="lblDevB">
796 <property name="text">
808 <property name="text">
797 <string>DEV B</string>
809 <string>DEV B</string>
798 </property>
810 </property>
799 <property name="alignment">
811 <property name="alignment">
800 <set>Qt::AlignCenter</set>
812 <set>Qt::AlignCenter</set>
801 </property>
813 </property>
802 </widget>
814 </widget>
803 </item>
815 </item>
804 <item>
816 <item>
805 <widget class="QLineEdit" name="txtBstatusB">
817 <widget class="QLineEdit" name="txtBstatusB">
806 <property name="readOnly">
818 <property name="readOnly">
807 <bool>true</bool>
819 <bool>true</bool>
808 </property>
820 </property>
809 </widget>
821 </widget>
810 </item>
822 </item>
811 <item>
823 <item>
812 <widget class="QLineEdit" name="txtBdiscB">
824 <widget class="QLineEdit" name="txtBdiscB">
813 <property name="readOnly">
825 <property name="readOnly">
814 <bool>true</bool>
826 <bool>true</bool>
815 </property>
827 </property>
816 </widget>
828 </widget>
817 </item>
829 </item>
818 <item>
830 <item>
819 <widget class="QLineEdit" name="txtBcopyB">
831 <widget class="QLineEdit" name="txtBcopyB">
820 <property name="readOnly">
832 <property name="readOnly">
821 <bool>true</bool>
833 <bool>true</bool>
822 </property>
834 </property>
823 </widget>
835 </widget>
824 </item>
836 </item>
825 </layout>
837 </layout>
826 </item>
838 </item>
827 <item>
839 <item>
828 <layout class="QVBoxLayout" name="verticalLayout_24">
840 <layout class="QVBoxLayout" name="verticalLayout_24">
829 <item>
841 <item>
830 <spacer name="horizontalSpacer_7">
842 <spacer name="horizontalSpacer_7">
831 <property name="orientation">
843 <property name="orientation">
832 <enum>Qt::Horizontal</enum>
844 <enum>Qt::Horizontal</enum>
833 </property>
845 </property>
834 <property name="sizeType">
846 <property name="sizeType">
835 <enum>QSizePolicy::Minimum</enum>
847 <enum>QSizePolicy::Minimum</enum>
836 </property>
848 </property>
837 <property name="sizeHint" stdset="0">
849 <property name="sizeHint" stdset="0">
838 <size>
850 <size>
839 <width>40</width>
851 <width>40</width>
840 <height>20</height>
852 <height>20</height>
841 </size>
853 </size>
842 </property>
854 </property>
843 </spacer>
855 </spacer>
844 </item>
856 </item>
845 <item>
857 <item>
846 <widget class="QLabel" name="lblDevC">
858 <widget class="QLabel" name="lblDevC">
847 <property name="text">
859 <property name="text">
848 <string>DEV C</string>
860 <string>DEV C</string>
849 </property>
861 </property>
850 <property name="alignment">
862 <property name="alignment">
851 <set>Qt::AlignCenter</set>
863 <set>Qt::AlignCenter</set>
852 </property>
864 </property>
853 </widget>
865 </widget>
854 </item>
866 </item>
855 <item>
867 <item>
856 <widget class="QLineEdit" name="txtBstatusC">
868 <widget class="QLineEdit" name="txtBstatusC">
857 <property name="readOnly">
869 <property name="readOnly">
858 <bool>true</bool>
870 <bool>true</bool>
859 </property>
871 </property>
860 </widget>
872 </widget>
861 </item>
873 </item>
862 <item>
874 <item>
863 <widget class="QLineEdit" name="txtBdiscC">
875 <widget class="QLineEdit" name="txtBdiscC">
864 <property name="readOnly">
876 <property name="readOnly">
865 <bool>true</bool>
877 <bool>true</bool>
866 </property>
878 </property>
867 </widget>
879 </widget>
868 </item>
880 </item>
869 <item>
881 <item>
870 <widget class="QLineEdit" name="txtBcopyC">
882 <widget class="QLineEdit" name="txtBcopyC">
871 <property name="readOnly">
883 <property name="readOnly">
872 <bool>true</bool>
884 <bool>true</bool>
873 </property>
885 </property>
874 </widget>
886 </widget>
875 </item>
887 </item>
876 </layout>
888 </layout>
877 </item>
889 </item>
878 <item>
890 <item>
879 <layout class="QVBoxLayout" name="verticalLayout_25">
891 <layout class="QVBoxLayout" name="verticalLayout_25">
880 <item>
892 <item>
881 <spacer name="horizontalSpacer_8">
893 <spacer name="horizontalSpacer_8">
882 <property name="orientation">
894 <property name="orientation">
883 <enum>Qt::Horizontal</enum>
895 <enum>Qt::Horizontal</enum>
884 </property>
896 </property>
885 <property name="sizeType">
897 <property name="sizeType">
886 <enum>QSizePolicy::Minimum</enum>
898 <enum>QSizePolicy::Minimum</enum>
887 </property>
899 </property>
888 <property name="sizeHint" stdset="0">
900 <property name="sizeHint" stdset="0">
889 <size>
901 <size>
890 <width>40</width>
902 <width>40</width>
891 <height>20</height>
903 <height>20</height>
892 </size>
904 </size>
893 </property>
905 </property>
894 </spacer>
906 </spacer>
895 </item>
907 </item>
896 <item>
908 <item>
897 <widget class="QLabel" name="lblDevD">
909 <widget class="QLabel" name="lblDevD">
898 <property name="text">
910 <property name="text">
899 <string>DEV D</string>
911 <string>DEV D</string>
900 </property>
912 </property>
901 <property name="alignment">
913 <property name="alignment">
902 <set>Qt::AlignCenter</set>
914 <set>Qt::AlignCenter</set>
903 </property>
915 </property>
904 </widget>
916 </widget>
905 </item>
917 </item>
906 <item>
918 <item>
907 <widget class="QLineEdit" name="txtBstatusD">
919 <widget class="QLineEdit" name="txtBstatusD">
908 <property name="readOnly">
920 <property name="readOnly">
909 <bool>true</bool>
921 <bool>true</bool>
910 </property>
922 </property>
911 </widget>
923 </widget>
912 </item>
924 </item>
913 <item>
925 <item>
914 <widget class="QLineEdit" name="txtBdiscD">
926 <widget class="QLineEdit" name="txtBdiscD">
915 <property name="readOnly">
927 <property name="readOnly">
916 <bool>true</bool>
928 <bool>true</bool>
917 </property>
929 </property>
918 </widget>
930 </widget>
919 </item>
931 </item>
920 <item>
932 <item>
921 <widget class="QLineEdit" name="txtBcopyD">
933 <widget class="QLineEdit" name="txtBcopyD">
922 <property name="readOnly">
934 <property name="readOnly">
923 <bool>true</bool>
935 <bool>true</bool>
924 </property>
936 </property>
925 </widget>
937 </widget>
926 </item>
938 </item>
927 </layout>
939 </layout>
928 </item>
940 </item>
929 </layout>
941 </layout>
930 </item>
942 </item>
931 <item>
943 <item>
932 <spacer name="verticalSpacer">
944 <spacer name="verticalSpacer">
933 <property name="orientation">
945 <property name="orientation">
934 <enum>Qt::Vertical</enum>
946 <enum>Qt::Vertical</enum>
935 </property>
947 </property>
936 <property name="sizeType">
948 <property name="sizeType">
937 <enum>QSizePolicy::Fixed</enum>
949 <enum>QSizePolicy::Fixed</enum>
938 </property>
950 </property>
939 <property name="sizeHint" stdset="0">
951 <property name="sizeHint" stdset="0">
940 <size>
952 <size>
941 <width>20</width>
953 <width>20</width>
942 <height>20</height>
954 <height>20</height>
943 </size>
955 </size>
944 </property>
956 </property>
945 </spacer>
957 </spacer>
946 </item>
958 </item>
947 <item>
959 <item>
948 <layout class="QHBoxLayout" name="horizontalLayout_16">
960 <layout class="QHBoxLayout" name="horizontalLayout_16">
949 <item>
961 <item>
950 <widget class="QLabel" name="label">
962 <widget class="QLabel" name="label">
951 <property name="text">
963 <property name="text">
952 <string>CHECK</string>
964 <string>CHECK</string>
953 </property>
965 </property>
954 </widget>
966 </widget>
955 </item>
967 </item>
956 <item>
968 <item>
957 <spacer name="horizontalSpacer_14">
969 <spacer name="horizontalSpacer_14">
958 <property name="orientation">
970 <property name="orientation">
959 <enum>Qt::Horizontal</enum>
971 <enum>Qt::Horizontal</enum>
960 </property>
972 </property>
961 <property name="sizeHint" stdset="0">
973 <property name="sizeHint" stdset="0">
962 <size>
974 <size>
963 <width>40</width>
975 <width>40</width>
964 <height>20</height>
976 <height>20</height>
965 </size>
977 </size>
966 </property>
978 </property>
967 </spacer>
979 </spacer>
968 </item>
980 </item>
969 </layout>
981 </layout>
970 </item>
982 </item>
971 <item>
983 <item>
972 <layout class="QHBoxLayout" name="horizontalLayout_17">
984 <layout class="QHBoxLayout" name="horizontalLayout_17">
973 <item>
985 <item>
974 <spacer name="horizontalSpacer_13">
986 <spacer name="horizontalSpacer_13">
975 <property name="orientation">
987 <property name="orientation">
976 <enum>Qt::Horizontal</enum>
988 <enum>Qt::Horizontal</enum>
977 </property>
989 </property>
978 <property name="sizeType">
990 <property name="sizeType">
979 <enum>QSizePolicy::Fixed</enum>
991 <enum>QSizePolicy::Fixed</enum>
980 </property>
992 </property>
981 <property name="sizeHint" stdset="0">
993 <property name="sizeHint" stdset="0">
982 <size>
994 <size>
983 <width>50</width>
995 <width>50</width>
984 <height>20</height>
996 <height>20</height>
985 </size>
997 </size>
986 </property>
998 </property>
987 </spacer>
999 </spacer>
988 </item>
1000 </item>
989 <item>
1001 <item>
990 <widget class="QLineEdit" name="txtTDpath">
1002 <widget class="QLineEdit" name="txtTDpath">
991 <property name="enabled">
1003 <property name="enabled">
992 <bool>false</bool>
1004 <bool>false</bool>
993 </property>
1005 </property>
994 </widget>
1006 </widget>
995 </item>
1007 </item>
996 <item>
1008 <item>
997 <widget class="QPushButton" name="btnTDpath">
1009 <widget class="QPushButton" name="btnTDpath">
998 <property name="enabled">
1010 <property name="enabled">
999 <bool>false</bool>
1011 <bool>false</bool>
1000 </property>
1012 </property>
1001 <property name="text">
1013 <property name="text">
1002 <string>Temp Data Path</string>
1014 <string>Temp Data Path</string>
1003 </property>
1015 </property>
1004 </widget>
1016 </widget>
1005 </item>
1017 </item>
1006 </layout>
1018 </layout>
1007 </item>
1019 </item>
1008 <item>
1020 <item>
1009 <layout class="QHBoxLayout" name="horizontalLayout_19">
1021 <layout class="QHBoxLayout" name="horizontalLayout_19">
1010 <item>
1022 <item>
1011 <layout class="QVBoxLayout" name="verticalLayout_26">
1023 <layout class="QVBoxLayout" name="verticalLayout_26">
1012 <item>
1024 <item>
1013 <spacer name="horizontalSpacer_10">
1025 <spacer name="horizontalSpacer_10">
1014 <property name="orientation">
1026 <property name="orientation">
1015 <enum>Qt::Horizontal</enum>
1027 <enum>Qt::Horizontal</enum>
1016 </property>
1028 </property>
1017 <property name="sizeType">
1029 <property name="sizeType">
1018 <enum>QSizePolicy::Minimum</enum>
1030 <enum>QSizePolicy::Minimum</enum>
1019 </property>
1031 </property>
1020 <property name="sizeHint" stdset="0">
1032 <property name="sizeHint" stdset="0">
1021 <size>
1033 <size>
1022 <width>40</width>
1034 <width>40</width>
1023 <height>20</height>
1035 <height>20</height>
1024 </size>
1036 </size>
1025 </property>
1037 </property>
1026 </spacer>
1038 </spacer>
1027 </item>
1039 </item>
1028 <item>
1040 <item>
1029 <widget class="QLabel" name="lblSTATUS_2">
1041 <widget class="QLabel" name="lblSTATUS_2">
1030 <property name="sizePolicy">
1042 <property name="sizePolicy">
1031 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
1043 <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
1032 <horstretch>0</horstretch>
1044 <horstretch>0</horstretch>
1033 <verstretch>0</verstretch>
1045 <verstretch>0</verstretch>
1034 </sizepolicy>
1046 </sizepolicy>
1035 </property>
1047 </property>
1036 <property name="text">
1048 <property name="text">
1037 <string>STATUS</string>
1049 <string>STATUS</string>
1038 </property>
1050 </property>
1039 </widget>
1051 </widget>
1040 </item>
1052 </item>
1041 </layout>
1053 </layout>
1042 </item>
1054 </item>
1043 <item>
1055 <item>
1044 <layout class="QVBoxLayout" name="verticalLayout_27">
1056 <layout class="QVBoxLayout" name="verticalLayout_27">
1045 <item>
1057 <item>
1046 <widget class="QLabel" name="lblDevA_2">
1058 <widget class="QLabel" name="lblDevA_2">
1047 <property name="text">
1059 <property name="text">
1048 <string>DEV A</string>
1060 <string>DEV A</string>
1049 </property>
1061 </property>
1050 <property name="alignment">
1062 <property name="alignment">
1051 <set>Qt::AlignCenter</set>
1063 <set>Qt::AlignCenter</set>
1052 </property>
1064 </property>
1053 </widget>
1065 </widget>
1054 </item>
1066 </item>
1055 <item>
1067 <item>
1056 <widget class="QLineEdit" name="txtCHstatusA">
1068 <widget class="QLineEdit" name="txtCHstatusA">
1057 <property name="readOnly">
1069 <property name="readOnly">
1058 <bool>true</bool>
1070 <bool>true</bool>
1059 </property>
1071 </property>
1060 </widget>
1072 </widget>
1061 </item>
1073 </item>
1062 </layout>
1074 </layout>
1063 </item>
1075 </item>
1064 <item>
1076 <item>
1065 <layout class="QVBoxLayout" name="verticalLayout_28">
1077 <layout class="QVBoxLayout" name="verticalLayout_28">
1066 <item>
1078 <item>
1067 <widget class="QLabel" name="lblDevB_2">
1079 <widget class="QLabel" name="lblDevB_2">
1068 <property name="text">
1080 <property name="text">
1069 <string>DEV B</string>
1081 <string>DEV B</string>
1070 </property>
1082 </property>
1071 <property name="alignment">
1083 <property name="alignment">
1072 <set>Qt::AlignCenter</set>
1084 <set>Qt::AlignCenter</set>
1073 </property>
1085 </property>
1074 </widget>
1086 </widget>
1075 </item>
1087 </item>
1076 <item>
1088 <item>
1077 <widget class="QLineEdit" name="txtCHstatusB">
1089 <widget class="QLineEdit" name="txtCHstatusB">
1078 <property name="readOnly">
1090 <property name="readOnly">
1079 <bool>true</bool>
1091 <bool>true</bool>
1080 </property>
1092 </property>
1081 </widget>
1093 </widget>
1082 </item>
1094 </item>
1083 </layout>
1095 </layout>
1084 </item>
1096 </item>
1085 <item>
1097 <item>
1086 <layout class="QVBoxLayout" name="verticalLayout_29">
1098 <layout class="QVBoxLayout" name="verticalLayout_29">
1087 <item>
1099 <item>
1088 <widget class="QLabel" name="lblDevC_2">
1100 <widget class="QLabel" name="lblDevC_2">
1089 <property name="text">
1101 <property name="text">
1090 <string>DEV C</string>
1102 <string>DEV C</string>
1091 </property>
1103 </property>
1092 <property name="alignment">
1104 <property name="alignment">
1093 <set>Qt::AlignCenter</set>
1105 <set>Qt::AlignCenter</set>
1094 </property>
1106 </property>
1095 </widget>
1107 </widget>
1096 </item>
1108 </item>
1097 <item>
1109 <item>
1098 <widget class="QLineEdit" name="txtCHstatusC">
1110 <widget class="QLineEdit" name="txtCHstatusC">
1099 <property name="readOnly">
1111 <property name="readOnly">
1100 <bool>true</bool>
1112 <bool>true</bool>
1101 </property>
1113 </property>
1102 </widget>
1114 </widget>
1103 </item>
1115 </item>
1104 </layout>
1116 </layout>
1105 </item>
1117 </item>
1106 <item>
1118 <item>
1107 <layout class="QVBoxLayout" name="verticalLayout_30">
1119 <layout class="QVBoxLayout" name="verticalLayout_30">
1108 <item>
1120 <item>
1109 <widget class="QLabel" name="lblDevD_2">
1121 <widget class="QLabel" name="lblDevD_2">
1110 <property name="text">
1122 <property name="text">
1111 <string>DEV D</string>
1123 <string>DEV D</string>
1112 </property>
1124 </property>
1113 <property name="alignment">
1125 <property name="alignment">
1114 <set>Qt::AlignCenter</set>
1126 <set>Qt::AlignCenter</set>
1115 </property>
1127 </property>
1116 </widget>
1128 </widget>
1117 </item>
1129 </item>
1118 <item>
1130 <item>
1119 <widget class="QLineEdit" name="txtCHstatusD">
1131 <widget class="QLineEdit" name="txtCHstatusD">
1120 <property name="readOnly">
1132 <property name="readOnly">
1121 <bool>true</bool>
1133 <bool>true</bool>
1122 </property>
1134 </property>
1123 </widget>
1135 </widget>
1124 </item>
1136 </item>
1125 </layout>
1137 </layout>
1126 </item>
1138 </item>
1127 </layout>
1139 </layout>
1128 </item>
1140 </item>
1129 <item>
1141 <item>
1130 <layout class="QHBoxLayout" name="horizontalLayout_20">
1142 <layout class="QHBoxLayout" name="horizontalLayout_20">
1131 <item>
1143 <item>
1132 <spacer name="horizontalSpacer_12">
1144 <spacer name="horizontalSpacer_12">
1133 <property name="orientation">
1145 <property name="orientation">
1134 <enum>Qt::Horizontal</enum>
1146 <enum>Qt::Horizontal</enum>
1135 </property>
1147 </property>
1136 <property name="sizeType">
1148 <property name="sizeType">
1137 <enum>QSizePolicy::Minimum</enum>
1149 <enum>QSizePolicy::Minimum</enum>
1138 </property>
1150 </property>
1139 <property name="sizeHint" stdset="0">
1151 <property name="sizeHint" stdset="0">
1140 <size>
1152 <size>
1141 <width>50</width>
1153 <width>50</width>
1142 <height>20</height>
1154 <height>20</height>
1143 </size>
1155 </size>
1144 </property>
1156 </property>
1145 </spacer>
1157 </spacer>
1146 </item>
1158 </item>
1147 <item>
1159 <item>
1148 <widget class="QCheckBox" name="chkCheck">
1160 <widget class="QCheckBox" name="chkCheck">
1149 <property name="enabled">
1161 <property name="enabled">
1150 <bool>true</bool>
1162 <bool>true</bool>
1151 </property>
1163 </property>
1152 <property name="text">
1164 <property name="text">
1153 <string>MANUAL</string>
1165 <string>MANUAL</string>
1154 </property>
1166 </property>
1155 </widget>
1167 </widget>
1156 </item>
1168 </item>
1157 <item>
1169 <item>
1158 <spacer name="horizontalSpacer_15">
1170 <spacer name="horizontalSpacer_15">
1159 <property name="orientation">
1171 <property name="orientation">
1160 <enum>Qt::Horizontal</enum>
1172 <enum>Qt::Horizontal</enum>
1161 </property>
1173 </property>
1162 <property name="sizeHint" stdset="0">
1174 <property name="sizeHint" stdset="0">
1163 <size>
1175 <size>
1164 <width>40</width>
1176 <width>40</width>
1165 <height>20</height>
1177 <height>20</height>
1166 </size>
1178 </size>
1167 </property>
1179 </property>
1168 </spacer>
1180 </spacer>
1169 </item>
1181 </item>
1170 <item>
1182 <item>
1171 <widget class="QPushButton" name="btnCHstart">
1183 <widget class="QPushButton" name="btnCHstart">
1172 <property name="enabled">
1184 <property name="enabled">
1173 <bool>false</bool>
1185 <bool>false</bool>
1174 </property>
1186 </property>
1175 <property name="text">
1187 <property name="text">
1176 <string>START</string>
1188 <string>START</string>
1177 </property>
1189 </property>
1178 </widget>
1190 </widget>
1179 </item>
1191 </item>
1180 </layout>
1192 </layout>
1181 </item>
1193 </item>
1182 <item>
1183 <widget class="QWidget" name="widget_2" native="true">
1184 <property name="sizePolicy">
1185 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
1186 <horstretch>0</horstretch>
1187 <verstretch>0</verstretch>
1188 </sizepolicy>
1189 </property>
1190 <property name="maximumSize">
1191 <size>
1192 <width>500</width>
1193 <height>16777215</height>
1194 </size>
1195 </property>
1196 <layout class="QGridLayout" name="gridLayout_2"/>
1197 </widget>
1198 </item>
1199 </layout>
1194 </layout>
1200 </widget>
1195 </widget>
1201 </widget>
1196 </widget>
1202 </item>
1197 </item>
1203 <item>
1198 <item>
1204 <widget class="QTextEdit" name="txtInfo">
1199 <widget class="QTextEdit" name="txtInfo">
1205 <property name="readOnly">
1200 <property name="readOnly">
1206 <bool>true</bool>
1201 <bool>true</bool>
1202 </property>
1203 </widget>
1204 </item>
1205 <item>
1206 <widget class="QLineEdit" name="txtProgress">
1207 <property name="sizePolicy">
1208 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
1209 <horstretch>0</horstretch>
1210 <verstretch>0</verstretch>
1211 </sizepolicy>
1207 </property>
1212 </property>
1208 </widget>
1213 </widget>
1209 </item>
1214 </item>
1210 <item>
1215 <item>
1211 <layout class="QHBoxLayout" name="horizontalLayout_2">
1216 <layout class="QHBoxLayout" name="horizontalLayout_2">
1212 <property name="sizeConstraint">
1217 <property name="sizeConstraint">
1213 <enum>QLayout::SetDefaultConstraint</enum>
1218 <enum>QLayout::SetDefaultConstraint</enum>
1214 </property>
1219 </property>
1215 <item>
1220 <item>
1216 <widget class="QPushButton" name="btnGbkp">
1221 <widget class="QPushButton" name="btnGbkp">
1217 <property name="enabled">
1222 <property name="enabled">
1218 <bool>false</bool>
1223 <bool>false</bool>
1219 </property>
1224 </property>
1220 <property name="text">
1225 <property name="text">
1221 <string>Generate Bkp</string>
1226 <string>Generate Bkp</string>
1222 </property>
1227 </property>
1223 </widget>
1228 </widget>
1224 </item>
1229 </item>
1225 <item>
1230 <item>
1226 <widget class="QPushButton" name="btnRestart">
1231 <widget class="QPushButton" name="btnRestart">
1227 <property name="enabled">
1232 <property name="enabled">
1228 <bool>false</bool>
1233 <bool>false</bool>
1229 </property>
1234 </property>
1230 <property name="text">
1235 <property name="text">
1231 <string>Restart</string>
1236 <string>Restart</string>
1232 </property>
1237 </property>
1233 </widget>
1238 </widget>
1234 </item>
1239 </item>
1235 <item>
1240 <item>
1236 <widget class="QPushButton" name="btnStartburn">
1241 <widget class="QPushButton" name="btnStartburn">
1237 <property name="enabled">
1242 <property name="enabled">
1238 <bool>false</bool>
1243 <bool>false</bool>
1239 </property>
1244 </property>
1240 <property name="text">
1245 <property name="text">
1241 <string>Start Burn</string>
1246 <string>Start Burn</string>
1242 </property>
1247 </property>
1243 </widget>
1248 </widget>
1244 </item>
1249 </item>
1245 <item>
1250 <item>
1246 <widget class="QPushButton" name="btnStopburn">
1251 <widget class="QPushButton" name="btnStopburn">
1247 <property name="enabled">
1252 <property name="enabled">
1248 <bool>false</bool>
1253 <bool>false</bool>
1249 </property>
1254 </property>
1250 <property name="text">
1255 <property name="text">
1251 <string>Stop Burn</string>
1256 <string>Stop Burn</string>
1252 </property>
1257 </property>
1253 </widget>
1258 </widget>
1254 </item>
1259 </item>
1255 </layout>
1260 </layout>
1256 </item>
1261 </item>
1257 </layout>
1262 </layout>
1258 </widget>
1263 </widget>
1259 <widget class="QMenuBar" name="menubar">
1264 <widget class="QMenuBar" name="menubar">
1260 <property name="geometry">
1265 <property name="geometry">
1261 <rect>
1266 <rect>
1262 <x>0</x>
1267 <x>0</x>
1263 <y>0</y>
1268 <y>0</y>
1264 <width>824</width>
1269 <width>621</width>
1265 <height>25</height>
1270 <height>21</height>
1266 </rect>
1271 </rect>
1267 </property>
1272 </property>
1268 <widget class="QMenu" name="menuFile">
1273 <widget class="QMenu" name="menuFile">
1269 <property name="title">
1274 <property name="title">
1270 <string>File</string>
1275 <string>File</string>
1271 </property>
1276 </property>
1272 <addaction name="actionQuit"/>
1277 <addaction name="actionQuit"/>
1273 </widget>
1278 </widget>
1274 <widget class="QMenu" name="menuHelp">
1279 <widget class="QMenu" name="menuHelp">
1275 <property name="title">
1280 <property name="title">
1276 <string>Help</string>
1281 <string>Help</string>
1277 </property>
1282 </property>
1278 <addaction name="actionAbout"/>
1283 <addaction name="actionAbout"/>
1279 </widget>
1284 </widget>
1280 <widget class="QMenu" name="menuParameters">
1285 <widget class="QMenu" name="menuParameters">
1281 <property name="title">
1286 <property name="title">
1282 <string>Parameters</string>
1287 <string>Parameters</string>
1283 </property>
1288 </property>
1284 <addaction name="actionChange_Parameters"/>
1289 <addaction name="actionChange_Parameters"/>
1285 </widget>
1290 </widget>
1286 <addaction name="menuFile"/>
1291 <addaction name="menuFile"/>
1287 <addaction name="menuParameters"/>
1292 <addaction name="menuParameters"/>
1288 <addaction name="menuHelp"/>
1293 <addaction name="menuHelp"/>
1289 </widget>
1294 </widget>
1290 <widget class="QStatusBar" name="statusbar"/>
1295 <widget class="QStatusBar" name="statusbar"/>
1291 <action name="actionChange_Parameters">
1296 <action name="actionChange_Parameters">
1292 <property name="enabled">
1297 <property name="enabled">
1293 <bool>false</bool>
1298 <bool>false</bool>
1294 </property>
1299 </property>
1295 <property name="text">
1300 <property name="text">
1296 <string>Change Parameters</string>
1301 <string>Change Parameters</string>
1297 </property>
1302 </property>
1298 </action>
1303 </action>
1299 <action name="actionQuit">
1304 <action name="actionQuit">
1300 <property name="text">
1305 <property name="text">
1301 <string>Quit</string>
1306 <string>Quit</string>
1302 </property>
1307 </property>
1303 </action>
1308 </action>
1304 <action name="actionAbout">
1309 <action name="actionAbout">
1305 <property name="text">
1310 <property name="text">
1306 <string>About</string>
1311 <string>About</string>
1307 </property>
1312 </property>
1308 </action>
1313 </action>
1309 </widget>
1314 </widget>
1310 <tabstops>
1315 <tabstops>
1311 <tabstop>txtDpath</tabstop>
1316 <tabstop>txtDpath</tabstop>
1312 <tabstop>btnDpath</tabstop>
1317 <tabstop>btnDpath</tabstop>
1313 <tabstop>txtRpath</tabstop>
1318 <tabstop>txtRpath</tabstop>
1314 <tabstop>btnRpath</tabstop>
1319 <tabstop>btnRpath</tabstop>
1315 <tabstop>lstDtype</tabstop>
1320 <tabstop>lstDtype</tabstop>
1316 <tabstop>txtDtype</tabstop>
1321 <tabstop>txtDtype</tabstop>
1317 <tabstop>txtElabel</tabstop>
1322 <tabstop>txtElabel</tabstop>
1318 <tabstop>lstStartDay</tabstop>
1323 <tabstop>lstStartDay</tabstop>
1319 <tabstop>lstStopDay</tabstop>
1324 <tabstop>lstStopDay</tabstop>
1320 <tabstop>lstDcapacity</tabstop>
1325 <tabstop>lstDcapacity</tabstop>
1321 <tabstop>tabWidget</tabstop>
1326 <tabstop>tabWidget</tabstop>
1322 <tabstop>btnGbkp</tabstop>
1327 <tabstop>btnGbkp</tabstop>
1323 <tabstop>btnRestart</tabstop>
1328 <tabstop>btnRestart</tabstop>
1324 <tabstop>btnStartburn</tabstop>
1329 <tabstop>btnStartburn</tabstop>
1325 <tabstop>btnStopburn</tabstop>
1330 <tabstop>btnStopburn</tabstop>
1326 </tabstops>
1331 </tabstops>
1327 <resources/>
1332 <resources/>
1328 <connections>
1333 <connections>
1329 <connection>
1334 <connection>
1330 <sender>actionQuit</sender>
1335 <sender>actionQuit</sender>
1331 <signal>triggered()</signal>
1336 <signal>triggered()</signal>
1332 <receiver>MainWindow</receiver>
1337 <receiver>MainWindow</receiver>
1333 <slot>close()</slot>
1338 <slot>close()</slot>
1334 <hints>
1339 <hints>
1335 <hint type="sourcelabel">
1340 <hint type="sourcelabel">
1336 <x>-1</x>
1341 <x>-1</x>
1337 <y>-1</y>
1342 <y>-1</y>
1338 </hint>
1343 </hint>
1339 <hint type="destinationlabel">
1344 <hint type="destinationlabel">
1340 <x>306</x>
1345 <x>306</x>
1341 <y>358</y>
1346 <y>358</y>
1342 </hint>
1347 </hint>
1343 </hints>
1348 </hints>
1344 </connection>
1349 </connection>
1345 <connection>
1350 <connection>
1346 <sender>chkCheck</sender>
1351 <sender>chkCheck</sender>
1347 <signal>toggled(bool)</signal>
1352 <signal>toggled(bool)</signal>
1348 <receiver>txtTDpath</receiver>
1353 <receiver>txtTDpath</receiver>
1349 <slot>setEnabled(bool)</slot>
1354 <slot>setEnabled(bool)</slot>
1350 <hints>
1355 <hints>
1351 <hint type="sourcelabel">
1356 <hint type="sourcelabel">
1352 <x>160</x>
1357 <x>160</x>
1353 <y>378</y>
1358 <y>378</y>
1354 </hint>
1359 </hint>
1355 <hint type="destinationlabel">
1360 <hint type="destinationlabel">
1356 <x>231</x>
1361 <x>231</x>
1357 <y>306</y>
1362 <y>306</y>
1358 </hint>
1363 </hint>
1359 </hints>
1364 </hints>
1360 </connection>
1365 </connection>
1361 <connection>
1366 <connection>
1362 <sender>chkCheck</sender>
1367 <sender>chkCheck</sender>
1363 <signal>toggled(bool)</signal>
1368 <signal>toggled(bool)</signal>
1364 <receiver>btnTDpath</receiver>
1369 <receiver>btnTDpath</receiver>
1365 <slot>setEnabled(bool)</slot>
1370 <slot>setEnabled(bool)</slot>
1366 <hints>
1371 <hints>
1367 <hint type="sourcelabel">
1372 <hint type="sourcelabel">
1368 <x>160</x>
1373 <x>160</x>
1369 <y>387</y>
1374 <y>387</y>
1370 </hint>
1375 </hint>
1371 <hint type="destinationlabel">
1376 <hint type="destinationlabel">
1372 <x>802</x>
1377 <x>802</x>
1373 <y>305</y>
1378 <y>305</y>
1374 </hint>
1379 </hint>
1375 </hints>
1380 </hints>
1376 </connection>
1381 </connection>
1377 <connection>
1382 <connection>
1378 <sender>chkCheck</sender>
1383 <sender>chkCheck</sender>
1379 <signal>toggled(bool)</signal>
1384 <signal>toggled(bool)</signal>
1380 <receiver>btnCHstart</receiver>
1385 <receiver>btnCHstart</receiver>
1381 <slot>setEnabled(bool)</slot>
1386 <slot>setEnabled(bool)</slot>
1382 <hints>
1387 <hints>
1383 <hint type="sourcelabel">
1388 <hint type="sourcelabel">
1384 <x>160</x>
1389 <x>160</x>
1385 <y>383</y>
1390 <y>383</y>
1386 </hint>
1391 </hint>
1387 <hint type="destinationlabel">
1392 <hint type="destinationlabel">
1388 <x>802</x>
1393 <x>802</x>
1389 <y>389</y>
1394 <y>389</y>
1390 </hint>
1395 </hint>
1391 </hints>
1396 </hints>
1392 </connection>
1397 </connection>
1393 <connection>
1398 <connection>
1394 <sender>chkDevD</sender>
1399 <sender>chkDevD</sender>
1395 <signal>toggled(bool)</signal>
1400 <signal>toggled(bool)</signal>
1396 <receiver>grpDevD</receiver>
1401 <receiver>grpDevD</receiver>
1397 <slot>setEnabled(bool)</slot>
1402 <slot>setEnabled(bool)</slot>
1398 <hints>
1403 <hints>
1399 <hint type="sourcelabel">
1404 <hint type="sourcelabel">
1400 <x>701</x>
1405 <x>701</x>
1401 <y>98</y>
1406 <y>98</y>
1402 </hint>
1407 </hint>
1403 <hint type="destinationlabel">
1408 <hint type="destinationlabel">
1404 <x>701</x>
1409 <x>701</x>
1405 <y>251</y>
1410 <y>251</y>
1406 </hint>
1411 </hint>
1407 </hints>
1412 </hints>
1408 </connection>
1413 </connection>
1409 <connection>
1414 <connection>
1410 <sender>chkDevB</sender>
1415 <sender>chkDevB</sender>
1411 <signal>toggled(bool)</signal>
1416 <signal>toggled(bool)</signal>
1412 <receiver>grpDevB</receiver>
1417 <receiver>grpDevB</receiver>
1413 <slot>setEnabled(bool)</slot>
1418 <slot>setEnabled(bool)</slot>
1414 <hints>
1419 <hints>
1415 <hint type="sourcelabel">
1420 <hint type="sourcelabel">
1416 <x>263</x>
1421 <x>263</x>
1417 <y>79</y>
1422 <y>79</y>
1418 </hint>
1423 </hint>
1419 <hint type="destinationlabel">
1424 <hint type="destinationlabel">
1420 <x>251</x>
1425 <x>251</x>
1421 <y>167</y>
1426 <y>167</y>
1422 </hint>
1427 </hint>
1423 </hints>
1428 </hints>
1424 </connection>
1429 </connection>
1425 <connection>
1430 <connection>
1426 <sender>chkDevC</sender>
1431 <sender>chkDevC</sender>
1427 <signal>toggled(bool)</signal>
1432 <signal>toggled(bool)</signal>
1428 <receiver>grpDevC</receiver>
1433 <receiver>grpDevC</receiver>
1429 <slot>setEnabled(bool)</slot>
1434 <slot>setEnabled(bool)</slot>
1430 <hints>
1435 <hints>
1431 <hint type="sourcelabel">
1436 <hint type="sourcelabel">
1432 <x>391</x>
1437 <x>391</x>
1433 <y>79</y>
1438 <y>79</y>
1434 </hint>
1439 </hint>
1435 <hint type="destinationlabel">
1440 <hint type="destinationlabel">
1436 <x>391</x>
1441 <x>391</x>
1437 <y>202</y>
1442 <y>202</y>
1438 </hint>
1443 </hint>
1439 </hints>
1444 </hints>
1440 </connection>
1445 </connection>
1441 <connection>
1446 <connection>
1442 <sender>chkDevA</sender>
1447 <sender>chkDevA</sender>
1443 <signal>toggled(bool)</signal>
1448 <signal>toggled(bool)</signal>
1444 <receiver>grpDevA</receiver>
1449 <receiver>grpDevA</receiver>
1445 <slot>setEnabled(bool)</slot>
1450 <slot>setEnabled(bool)</slot>
1446 <hints>
1451 <hints>
1447 <hint type="sourcelabel">
1452 <hint type="sourcelabel">
1448 <x>105</x>
1453 <x>105</x>
1449 <y>79</y>
1454 <y>79</y>
1450 </hint>
1455 </hint>
1451 <hint type="destinationlabel">
1456 <hint type="destinationlabel">
1452 <x>95</x>
1457 <x>95</x>
1453 <y>167</y>
1458 <y>167</y>
1454 </hint>
1459 </hint>
1455 </hints>
1460 </hints>
1456 </connection>
1461 </connection>
1457 </connections>
1462 </connections>
1458 </ui>
1463 </ui>
@@ -1,58 +1,58
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/About.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/About.ui'
4 #
4 #
5 # Created: Mon May 24 17:45:30 2010
5 # Created: Mon May 24 22:39:27 2010
6 # by: PyQt4 UI code generator 4.6
6 # by: PyQt4 UI code generator 4.7.2
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11
11
12 class Ui_About(object):
12 class Ui_About(object):
13 def setupUi(self, About):
13 def setupUi(self, About):
14 About.setObjectName("About")
14 About.setObjectName("About")
15 About.resize(250, 230)
15 About.resize(250, 230)
16 About.setMinimumSize(QtCore.QSize(250, 230))
16 About.setMinimumSize(QtCore.QSize(250, 230))
17 About.setMaximumSize(QtCore.QSize(250, 230))
17 About.setMaximumSize(QtCore.QSize(250, 230))
18 self.verticalLayout = QtGui.QVBoxLayout(About)
18 self.verticalLayout = QtGui.QVBoxLayout(About)
19 self.verticalLayout.setObjectName("verticalLayout")
19 self.verticalLayout.setObjectName("verticalLayout")
20 self.textEdit = QtGui.QTextEdit(About)
20 self.textEdit = QtGui.QTextEdit(About)
21 self.textEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
21 self.textEdit.setMaximumSize(QtCore.QSize(16777215, 16777215))
22 self.textEdit.setReadOnly(True)
22 self.textEdit.setReadOnly(True)
23 self.textEdit.setObjectName("textEdit")
23 self.textEdit.setObjectName("textEdit")
24 self.verticalLayout.addWidget(self.textEdit)
24 self.verticalLayout.addWidget(self.textEdit)
25 self.btnOK = QtGui.QPushButton(About)
25 self.btnOK = QtGui.QPushButton(About)
26 self.btnOK.setObjectName("btnOK")
26 self.btnOK.setObjectName("btnOK")
27 self.verticalLayout.addWidget(self.btnOK)
27 self.verticalLayout.addWidget(self.btnOK)
28
28
29 self.retranslateUi(About)
29 self.retranslateUi(About)
30 QtCore.QObject.connect(self.btnOK, QtCore.SIGNAL("clicked()"), About.close)
30 QtCore.QObject.connect(self.btnOK, QtCore.SIGNAL("clicked()"), About.close)
31 QtCore.QMetaObject.connectSlotsByName(About)
31 QtCore.QMetaObject.connectSlotsByName(About)
32
32
33 def retranslateUi(self, About):
33 def retranslateUi(self, About):
34 About.setWindowTitle(QtGui.QApplication.translate("About", "About", None, QtGui.QApplication.UnicodeUTF8))
34 About.setWindowTitle(QtGui.QApplication.translate("About", "About", None, QtGui.QApplication.UnicodeUTF8))
35 self.textEdit.setHtml(QtGui.QApplication.translate("About", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
35 self.textEdit.setHtml(QtGui.QApplication.translate("About", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
36 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
36 "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
37 "p, li { white-space: pre-wrap; }\n"
37 "p, li { white-space: pre-wrap; }\n"
38 "</style></head><body style=\" font-family:\'Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
38 "</style></head><body style=\" font-family:\'Sans\'; font-size:10pt; font-weight:400; font-style:normal;\">\n"
39 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">JRO BACKUP MANAGER</span></p>\n"
39 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-weight:600;\">JRO BACKUP MANAGER</span></p>\n"
40 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;\"></p>\n"
40 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-weight:600;\"></p>\n"
41 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Author:</span></p>\n"
41 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Author:</span></p>\n"
42 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Ricardo Farino Alonso Rondón</span></p>\n"
42 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Ricardo Farino Alonso Rondón</span></p>\n"
43 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">ricardo.alonso@jro.igp.gob.pe</span></p>\n"
43 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">ricardo.alonso@jro.igp.gob.pe</span></p>\n"
44 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;\"></p>\n"
44 "<p align=\"center\" style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;\"></p>\n"
45 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca Radio Observatory</span></p>\n"
45 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca Radio Observatory</span></p>\n"
46 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca - May 2010</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
46 "<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-style:italic;\">Jicamarca - May 2010</span></p></body></html>", None, QtGui.QApplication.UnicodeUTF8))
47 self.btnOK.setText(QtGui.QApplication.translate("About", "OK", None, QtGui.QApplication.UnicodeUTF8))
47 self.btnOK.setText(QtGui.QApplication.translate("About", "OK", None, QtGui.QApplication.UnicodeUTF8))
48
48
49
49
50 if __name__ == "__main__":
50 if __name__ == "__main__":
51 import sys
51 import sys
52 app = QtGui.QApplication(sys.argv)
52 app = QtGui.QApplication(sys.argv)
53 About = QtGui.QDialog()
53 About = QtGui.QDialog()
54 ui = Ui_About()
54 ui = Ui_About()
55 ui.setupUi(About)
55 ui.setupUi(About)
56 About.show()
56 About.show()
57 sys.exit(app.exec_())
57 sys.exit(app.exec_())
58
58
@@ -1,707 +1,708
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
4 #
4 #
5 # Created: Mon May 24 17:45:30 2010
5 # Created: Mon May 24 22:39:26 2010
6 # by: PyQt4 UI code generator 4.6
6 # by: PyQt4 UI code generator 4.7.2
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11
11
12 class Ui_MainWindow(object):
12 class Ui_MainWindow(object):
13 def setupUi(self, MainWindow):
13 def setupUi(self, MainWindow):
14 MainWindow.setObjectName("MainWindow")
14 MainWindow.setObjectName("MainWindow")
15 MainWindow.resize(824, 717)
15 MainWindow.resize(621, 717)
16 self.centralwidget = QtGui.QWidget(MainWindow)
16 self.centralwidget = QtGui.QWidget(MainWindow)
17 self.centralwidget.setObjectName("centralwidget")
17 self.centralwidget.setObjectName("centralwidget")
18 self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
18 self.verticalLayout = QtGui.QVBoxLayout(self.centralwidget)
19 self.verticalLayout.setObjectName("verticalLayout")
19 self.verticalLayout.setObjectName("verticalLayout")
20 self.tabWidget = QtGui.QTabWidget(self.centralwidget)
20 self.tabWidget = QtGui.QTabWidget(self.centralwidget)
21 self.tabWidget.setEnabled(True)
21 self.tabWidget.setEnabled(True)
22 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
22 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
23 sizePolicy.setHorizontalStretch(0)
23 sizePolicy.setHorizontalStretch(0)
24 sizePolicy.setVerticalStretch(0)
24 sizePolicy.setVerticalStretch(0)
25 sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
25 sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
26 self.tabWidget.setSizePolicy(sizePolicy)
26 self.tabWidget.setSizePolicy(sizePolicy)
27 self.tabWidget.setObjectName("tabWidget")
27 self.tabWidget.setObjectName("tabWidget")
28 self.tabParameters = QtGui.QWidget()
28 self.tabParameters = QtGui.QWidget()
29 self.tabParameters.setEnabled(True)
29 self.tabParameters.setEnabled(True)
30 self.tabParameters.setObjectName("tabParameters")
30 self.tabParameters.setObjectName("tabParameters")
31 self.verticalLayout_2 = QtGui.QVBoxLayout(self.tabParameters)
31 self.verticalLayout_2 = QtGui.QVBoxLayout(self.tabParameters)
32 self.verticalLayout_2.setObjectName("verticalLayout_2")
32 self.verticalLayout_2.setObjectName("verticalLayout_2")
33 self.horizontalLayout = QtGui.QHBoxLayout()
33 self.horizontalLayout = QtGui.QHBoxLayout()
34 self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
34 self.horizontalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
35 self.horizontalLayout.setObjectName("horizontalLayout")
35 self.horizontalLayout.setObjectName("horizontalLayout")
36 self.txtDpath = QtGui.QLineEdit(self.tabParameters)
36 self.txtDpath = QtGui.QLineEdit(self.tabParameters)
37 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
37 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
38 sizePolicy.setHorizontalStretch(0)
38 sizePolicy.setHorizontalStretch(0)
39 sizePolicy.setVerticalStretch(0)
39 sizePolicy.setVerticalStretch(0)
40 sizePolicy.setHeightForWidth(self.txtDpath.sizePolicy().hasHeightForWidth())
40 sizePolicy.setHeightForWidth(self.txtDpath.sizePolicy().hasHeightForWidth())
41 self.txtDpath.setSizePolicy(sizePolicy)
41 self.txtDpath.setSizePolicy(sizePolicy)
42 self.txtDpath.setObjectName("txtDpath")
42 self.txtDpath.setObjectName("txtDpath")
43 self.horizontalLayout.addWidget(self.txtDpath)
43 self.horizontalLayout.addWidget(self.txtDpath)
44 self.btnDpath = QtGui.QPushButton(self.tabParameters)
44 self.btnDpath = QtGui.QPushButton(self.tabParameters)
45 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
45 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
46 sizePolicy.setHorizontalStretch(0)
46 sizePolicy.setHorizontalStretch(0)
47 sizePolicy.setVerticalStretch(0)
47 sizePolicy.setVerticalStretch(0)
48 sizePolicy.setHeightForWidth(self.btnDpath.sizePolicy().hasHeightForWidth())
48 sizePolicy.setHeightForWidth(self.btnDpath.sizePolicy().hasHeightForWidth())
49 self.btnDpath.setSizePolicy(sizePolicy)
49 self.btnDpath.setSizePolicy(sizePolicy)
50 self.btnDpath.setCheckable(False)
50 self.btnDpath.setCheckable(False)
51 self.btnDpath.setObjectName("btnDpath")
51 self.btnDpath.setObjectName("btnDpath")
52 self.horizontalLayout.addWidget(self.btnDpath)
52 self.horizontalLayout.addWidget(self.btnDpath)
53 self.verticalLayout_2.addLayout(self.horizontalLayout)
53 self.verticalLayout_2.addLayout(self.horizontalLayout)
54 self.horizontalLayout_3 = QtGui.QHBoxLayout()
54 self.horizontalLayout_3 = QtGui.QHBoxLayout()
55 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
55 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
56 self.txtRpath = QtGui.QLineEdit(self.tabParameters)
56 self.txtRpath = QtGui.QLineEdit(self.tabParameters)
57 self.txtRpath.setObjectName("txtRpath")
57 self.txtRpath.setObjectName("txtRpath")
58 self.horizontalLayout_3.addWidget(self.txtRpath)
58 self.horizontalLayout_3.addWidget(self.txtRpath)
59 self.btnRpath = QtGui.QPushButton(self.tabParameters)
59 self.btnRpath = QtGui.QPushButton(self.tabParameters)
60 self.btnRpath.setObjectName("btnRpath")
60 self.btnRpath.setObjectName("btnRpath")
61 self.horizontalLayout_3.addWidget(self.btnRpath)
61 self.horizontalLayout_3.addWidget(self.btnRpath)
62 self.verticalLayout_2.addLayout(self.horizontalLayout_3)
62 self.verticalLayout_2.addLayout(self.horizontalLayout_3)
63 self.lblDtype = QtGui.QLabel(self.tabParameters)
63 self.lblDtype = QtGui.QLabel(self.tabParameters)
64 self.lblDtype.setObjectName("lblDtype")
64 self.lblDtype.setObjectName("lblDtype")
65 self.verticalLayout_2.addWidget(self.lblDtype)
65 self.verticalLayout_2.addWidget(self.lblDtype)
66 self.horizontalLayout_4 = QtGui.QHBoxLayout()
66 self.horizontalLayout_4 = QtGui.QHBoxLayout()
67 self.horizontalLayout_4.setObjectName("horizontalLayout_4")
67 self.horizontalLayout_4.setObjectName("horizontalLayout_4")
68 self.lstDtype = QtGui.QComboBox(self.tabParameters)
68 self.lstDtype = QtGui.QComboBox(self.tabParameters)
69 self.lstDtype.setObjectName("lstDtype")
69 self.lstDtype.setObjectName("lstDtype")
70 self.lstDtype.addItem("")
70 self.lstDtype.addItem("")
71 self.lstDtype.addItem("")
71 self.lstDtype.addItem("")
72 self.lstDtype.addItem("")
72 self.lstDtype.addItem("")
73 self.lstDtype.addItem("")
73 self.lstDtype.addItem("")
74 self.horizontalLayout_4.addWidget(self.lstDtype)
74 self.horizontalLayout_4.addWidget(self.lstDtype)
75 self.txtDtype = QtGui.QLineEdit(self.tabParameters)
75 self.txtDtype = QtGui.QLineEdit(self.tabParameters)
76 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
76 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
77 sizePolicy.setHorizontalStretch(0)
77 sizePolicy.setHorizontalStretch(0)
78 sizePolicy.setVerticalStretch(0)
78 sizePolicy.setVerticalStretch(0)
79 sizePolicy.setHeightForWidth(self.txtDtype.sizePolicy().hasHeightForWidth())
79 sizePolicy.setHeightForWidth(self.txtDtype.sizePolicy().hasHeightForWidth())
80 self.txtDtype.setSizePolicy(sizePolicy)
80 self.txtDtype.setSizePolicy(sizePolicy)
81 self.txtDtype.setReadOnly(True)
81 self.txtDtype.setReadOnly(True)
82 self.txtDtype.setObjectName("txtDtype")
82 self.txtDtype.setObjectName("txtDtype")
83 self.horizontalLayout_4.addWidget(self.txtDtype)
83 self.horizontalLayout_4.addWidget(self.txtDtype)
84 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
84 spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
85 self.horizontalLayout_4.addItem(spacerItem)
85 self.horizontalLayout_4.addItem(spacerItem)
86 self.verticalLayout_2.addLayout(self.horizontalLayout_4)
86 self.verticalLayout_2.addLayout(self.horizontalLayout_4)
87 self.horizontalLayout_6 = QtGui.QHBoxLayout()
87 self.horizontalLayout_6 = QtGui.QHBoxLayout()
88 self.horizontalLayout_6.setObjectName("horizontalLayout_6")
88 self.horizontalLayout_6.setObjectName("horizontalLayout_6")
89 self.lblElabel = QtGui.QLabel(self.tabParameters)
89 self.lblElabel = QtGui.QLabel(self.tabParameters)
90 self.lblElabel.setObjectName("lblElabel")
90 self.lblElabel.setObjectName("lblElabel")
91 self.horizontalLayout_6.addWidget(self.lblElabel)
91 self.horizontalLayout_6.addWidget(self.lblElabel)
92 self.lblCopys = QtGui.QLabel(self.tabParameters)
92 self.lblCopys = QtGui.QLabel(self.tabParameters)
93 self.lblCopys.setObjectName("lblCopys")
93 self.lblCopys.setObjectName("lblCopys")
94 self.horizontalLayout_6.addWidget(self.lblCopys)
94 self.horizontalLayout_6.addWidget(self.lblCopys)
95 self.verticalLayout_2.addLayout(self.horizontalLayout_6)
95 self.verticalLayout_2.addLayout(self.horizontalLayout_6)
96 self.horizontalLayout_5 = QtGui.QHBoxLayout()
96 self.horizontalLayout_5 = QtGui.QHBoxLayout()
97 self.horizontalLayout_5.setObjectName("horizontalLayout_5")
97 self.horizontalLayout_5.setObjectName("horizontalLayout_5")
98 self.txtElabel = QtGui.QLineEdit(self.tabParameters)
98 self.txtElabel = QtGui.QLineEdit(self.tabParameters)
99 self.txtElabel.setObjectName("txtElabel")
99 self.txtElabel.setObjectName("txtElabel")
100 self.horizontalLayout_5.addWidget(self.txtElabel)
100 self.horizontalLayout_5.addWidget(self.txtElabel)
101 self.txtCopys = QtGui.QSpinBox(self.tabParameters)
101 self.txtCopys = QtGui.QSpinBox(self.tabParameters)
102 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
102 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
103 sizePolicy.setHorizontalStretch(0)
103 sizePolicy.setHorizontalStretch(0)
104 sizePolicy.setVerticalStretch(0)
104 sizePolicy.setVerticalStretch(0)
105 sizePolicy.setHeightForWidth(self.txtCopys.sizePolicy().hasHeightForWidth())
105 sizePolicy.setHeightForWidth(self.txtCopys.sizePolicy().hasHeightForWidth())
106 self.txtCopys.setSizePolicy(sizePolicy)
106 self.txtCopys.setSizePolicy(sizePolicy)
107 self.txtCopys.setMinimum(1)
107 self.txtCopys.setMinimum(1)
108 self.txtCopys.setObjectName("txtCopys")
108 self.txtCopys.setObjectName("txtCopys")
109 self.horizontalLayout_5.addWidget(self.txtCopys)
109 self.horizontalLayout_5.addWidget(self.txtCopys)
110 self.verticalLayout_2.addLayout(self.horizontalLayout_5)
110 self.verticalLayout_2.addLayout(self.horizontalLayout_5)
111 self.horizontalLayout_7 = QtGui.QHBoxLayout()
111 self.horizontalLayout_7 = QtGui.QHBoxLayout()
112 self.horizontalLayout_7.setObjectName("horizontalLayout_7")
112 self.horizontalLayout_7.setObjectName("horizontalLayout_7")
113 self.lblStartDay = QtGui.QLabel(self.tabParameters)
113 self.lblStartDay = QtGui.QLabel(self.tabParameters)
114 self.lblStartDay.setObjectName("lblStartDay")
114 self.lblStartDay.setObjectName("lblStartDay")
115 self.horizontalLayout_7.addWidget(self.lblStartDay)
115 self.horizontalLayout_7.addWidget(self.lblStartDay)
116 self.lblStopDay = QtGui.QLabel(self.tabParameters)
116 self.lblStopDay = QtGui.QLabel(self.tabParameters)
117 self.lblStopDay.setObjectName("lblStopDay")
117 self.lblStopDay.setObjectName("lblStopDay")
118 self.horizontalLayout_7.addWidget(self.lblStopDay)
118 self.horizontalLayout_7.addWidget(self.lblStopDay)
119 self.verticalLayout_2.addLayout(self.horizontalLayout_7)
119 self.verticalLayout_2.addLayout(self.horizontalLayout_7)
120 self.horizontalLayout_8 = QtGui.QHBoxLayout()
120 self.horizontalLayout_8 = QtGui.QHBoxLayout()
121 self.horizontalLayout_8.setObjectName("horizontalLayout_8")
121 self.horizontalLayout_8.setObjectName("horizontalLayout_8")
122 self.lstStartDay = QtGui.QComboBox(self.tabParameters)
122 self.lstStartDay = QtGui.QComboBox(self.tabParameters)
123 self.lstStartDay.setObjectName("lstStartDay")
123 self.lstStartDay.setObjectName("lstStartDay")
124 self.horizontalLayout_8.addWidget(self.lstStartDay)
124 self.horizontalLayout_8.addWidget(self.lstStartDay)
125 self.lstStopDay = QtGui.QComboBox(self.tabParameters)
125 self.lstStopDay = QtGui.QComboBox(self.tabParameters)
126 self.lstStopDay.setObjectName("lstStopDay")
126 self.lstStopDay.setObjectName("lstStopDay")
127 self.horizontalLayout_8.addWidget(self.lstStopDay)
127 self.horizontalLayout_8.addWidget(self.lstStopDay)
128 self.verticalLayout_2.addLayout(self.horizontalLayout_8)
128 self.verticalLayout_2.addLayout(self.horizontalLayout_8)
129 self.tabWidget.addTab(self.tabParameters, "")
129 self.tabWidget.addTab(self.tabParameters, "")
130 self.tabDconfig = QtGui.QWidget()
130 self.tabDconfig = QtGui.QWidget()
131 self.tabDconfig.setEnabled(True)
131 self.tabDconfig.setEnabled(True)
132 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
132 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
133 sizePolicy.setHorizontalStretch(0)
133 sizePolicy.setHorizontalStretch(0)
134 sizePolicy.setVerticalStretch(0)
134 sizePolicy.setVerticalStretch(0)
135 sizePolicy.setHeightForWidth(self.tabDconfig.sizePolicy().hasHeightForWidth())
135 sizePolicy.setHeightForWidth(self.tabDconfig.sizePolicy().hasHeightForWidth())
136 self.tabDconfig.setSizePolicy(sizePolicy)
136 self.tabDconfig.setSizePolicy(sizePolicy)
137 self.tabDconfig.setObjectName("tabDconfig")
137 self.tabDconfig.setObjectName("tabDconfig")
138 self.verticalLayout_3 = QtGui.QVBoxLayout(self.tabDconfig)
138 self.verticalLayout_3 = QtGui.QVBoxLayout(self.tabDconfig)
139 self.verticalLayout_3.setObjectName("verticalLayout_3")
139 self.verticalLayout_3.setObjectName("verticalLayout_3")
140 self.horizontalLayout_12 = QtGui.QHBoxLayout()
140 self.horizontalLayout_12 = QtGui.QHBoxLayout()
141 self.horizontalLayout_12.setObjectName("horizontalLayout_12")
141 self.horizontalLayout_12.setObjectName("horizontalLayout_12")
142 self.verticalLayout_15 = QtGui.QVBoxLayout()
142 self.verticalLayout_15 = QtGui.QVBoxLayout()
143 self.verticalLayout_15.setObjectName("verticalLayout_15")
143 self.verticalLayout_15.setObjectName("verticalLayout_15")
144 self.chkDevA = QtGui.QCheckBox(self.tabDconfig)
144 self.chkDevA = QtGui.QCheckBox(self.tabDconfig)
145 self.chkDevA.setChecked(True)
145 self.chkDevA.setChecked(True)
146 self.chkDevA.setObjectName("chkDevA")
146 self.chkDevA.setObjectName("chkDevA")
147 self.verticalLayout_15.addWidget(self.chkDevA)
147 self.verticalLayout_15.addWidget(self.chkDevA)
148 self.grpDevA = QtGui.QWidget(self.tabDconfig)
148 self.grpDevA = QtGui.QWidget(self.tabDconfig)
149 self.grpDevA.setObjectName("grpDevA")
149 self.grpDevA.setObjectName("grpDevA")
150 self.verticalLayout_11 = QtGui.QVBoxLayout(self.grpDevA)
150 self.verticalLayout_11 = QtGui.QVBoxLayout(self.grpDevA)
151 self.verticalLayout_11.setObjectName("verticalLayout_11")
151 self.verticalLayout_11.setObjectName("verticalLayout_11")
152 self.txtDeviceA = QtGui.QLineEdit(self.grpDevA)
152 self.txtDeviceA = QtGui.QLineEdit(self.grpDevA)
153 self.txtDeviceA.setReadOnly(True)
153 self.txtDeviceA.setReadOnly(True)
154 self.txtDeviceA.setObjectName("txtDeviceA")
154 self.txtDeviceA.setObjectName("txtDeviceA")
155 self.verticalLayout_11.addWidget(self.txtDeviceA)
155 self.verticalLayout_11.addWidget(self.txtDeviceA)
156 self.txtBspeedA = QtGui.QSpinBox(self.grpDevA)
156 self.txtBspeedA = QtGui.QSpinBox(self.grpDevA)
157 self.txtBspeedA.setReadOnly(True)
157 self.txtBspeedA.setMinimum(1)
158 self.txtBspeedA.setMinimum(1)
158 self.txtBspeedA.setProperty("value", 16)
159 self.txtBspeedA.setProperty("value", 16)
159 self.txtBspeedA.setObjectName("txtBspeedA")
160 self.txtBspeedA.setObjectName("txtBspeedA")
160 self.verticalLayout_11.addWidget(self.txtBspeedA)
161 self.verticalLayout_11.addWidget(self.txtBspeedA)
161 self.txtBmodeA = QtGui.QLineEdit(self.grpDevA)
162 self.txtBmodeA = QtGui.QLineEdit(self.grpDevA)
162 self.txtBmodeA.setReadOnly(True)
163 self.txtBmodeA.setReadOnly(True)
163 self.txtBmodeA.setObjectName("txtBmodeA")
164 self.txtBmodeA.setObjectName("txtBmodeA")
164 self.verticalLayout_11.addWidget(self.txtBmodeA)
165 self.verticalLayout_11.addWidget(self.txtBmodeA)
165 self.btnTdevA = QtGui.QPushButton(self.grpDevA)
166 self.btnTdevA = QtGui.QPushButton(self.grpDevA)
166 self.btnTdevA.setObjectName("btnTdevA")
167 self.btnTdevA.setObjectName("btnTdevA")
167 self.verticalLayout_11.addWidget(self.btnTdevA)
168 self.verticalLayout_11.addWidget(self.btnTdevA)
168 self.verticalLayout_15.addWidget(self.grpDevA)
169 self.verticalLayout_15.addWidget(self.grpDevA)
169 self.horizontalLayout_12.addLayout(self.verticalLayout_15)
170 self.horizontalLayout_12.addLayout(self.verticalLayout_15)
170 self.verticalLayout_16 = QtGui.QVBoxLayout()
171 self.verticalLayout_16 = QtGui.QVBoxLayout()
171 self.verticalLayout_16.setObjectName("verticalLayout_16")
172 self.verticalLayout_16.setObjectName("verticalLayout_16")
172 self.chkDevB = QtGui.QCheckBox(self.tabDconfig)
173 self.chkDevB = QtGui.QCheckBox(self.tabDconfig)
173 self.chkDevB.setChecked(True)
174 self.chkDevB.setChecked(True)
174 self.chkDevB.setObjectName("chkDevB")
175 self.chkDevB.setObjectName("chkDevB")
175 self.verticalLayout_16.addWidget(self.chkDevB)
176 self.verticalLayout_16.addWidget(self.chkDevB)
176 self.grpDevB = QtGui.QWidget(self.tabDconfig)
177 self.grpDevB = QtGui.QWidget(self.tabDconfig)
177 self.grpDevB.setObjectName("grpDevB")
178 self.grpDevB.setObjectName("grpDevB")
178 self.verticalLayout_12 = QtGui.QVBoxLayout(self.grpDevB)
179 self.verticalLayout_12 = QtGui.QVBoxLayout(self.grpDevB)
179 self.verticalLayout_12.setObjectName("verticalLayout_12")
180 self.verticalLayout_12.setObjectName("verticalLayout_12")
180 self.txtDeviceB = QtGui.QLineEdit(self.grpDevB)
181 self.txtDeviceB = QtGui.QLineEdit(self.grpDevB)
181 self.txtDeviceB.setReadOnly(True)
182 self.txtDeviceB.setReadOnly(True)
182 self.txtDeviceB.setObjectName("txtDeviceB")
183 self.txtDeviceB.setObjectName("txtDeviceB")
183 self.verticalLayout_12.addWidget(self.txtDeviceB)
184 self.verticalLayout_12.addWidget(self.txtDeviceB)
184 self.txtBspeedB = QtGui.QSpinBox(self.grpDevB)
185 self.txtBspeedB = QtGui.QSpinBox(self.grpDevB)
186 self.txtBspeedB.setReadOnly(True)
185 self.txtBspeedB.setMinimum(1)
187 self.txtBspeedB.setMinimum(1)
186 self.txtBspeedB.setProperty("value", 16)
188 self.txtBspeedB.setProperty("value", 16)
187 self.txtBspeedB.setObjectName("txtBspeedB")
189 self.txtBspeedB.setObjectName("txtBspeedB")
188 self.verticalLayout_12.addWidget(self.txtBspeedB)
190 self.verticalLayout_12.addWidget(self.txtBspeedB)
189 self.txtBmodeB = QtGui.QLineEdit(self.grpDevB)
191 self.txtBmodeB = QtGui.QLineEdit(self.grpDevB)
190 self.txtBmodeB.setReadOnly(True)
192 self.txtBmodeB.setReadOnly(True)
191 self.txtBmodeB.setObjectName("txtBmodeB")
193 self.txtBmodeB.setObjectName("txtBmodeB")
192 self.verticalLayout_12.addWidget(self.txtBmodeB)
194 self.verticalLayout_12.addWidget(self.txtBmodeB)
193 self.btnTdevB = QtGui.QPushButton(self.grpDevB)
195 self.btnTdevB = QtGui.QPushButton(self.grpDevB)
194 self.btnTdevB.setObjectName("btnTdevB")
196 self.btnTdevB.setObjectName("btnTdevB")
195 self.verticalLayout_12.addWidget(self.btnTdevB)
197 self.verticalLayout_12.addWidget(self.btnTdevB)
196 self.verticalLayout_16.addWidget(self.grpDevB)
198 self.verticalLayout_16.addWidget(self.grpDevB)
197 self.horizontalLayout_12.addLayout(self.verticalLayout_16)
199 self.horizontalLayout_12.addLayout(self.verticalLayout_16)
198 self.verticalLayout_17 = QtGui.QVBoxLayout()
200 self.verticalLayout_17 = QtGui.QVBoxLayout()
199 self.verticalLayout_17.setObjectName("verticalLayout_17")
201 self.verticalLayout_17.setObjectName("verticalLayout_17")
200 self.chkDevC = QtGui.QCheckBox(self.tabDconfig)
202 self.chkDevC = QtGui.QCheckBox(self.tabDconfig)
201 self.chkDevC.setChecked(True)
203 self.chkDevC.setChecked(True)
202 self.chkDevC.setObjectName("chkDevC")
204 self.chkDevC.setObjectName("chkDevC")
203 self.verticalLayout_17.addWidget(self.chkDevC)
205 self.verticalLayout_17.addWidget(self.chkDevC)
204 self.grpDevC = QtGui.QWidget(self.tabDconfig)
206 self.grpDevC = QtGui.QWidget(self.tabDconfig)
205 self.grpDevC.setObjectName("grpDevC")
207 self.grpDevC.setObjectName("grpDevC")
206 self.verticalLayout_13 = QtGui.QVBoxLayout(self.grpDevC)
208 self.verticalLayout_13 = QtGui.QVBoxLayout(self.grpDevC)
207 self.verticalLayout_13.setObjectName("verticalLayout_13")
209 self.verticalLayout_13.setObjectName("verticalLayout_13")
208 self.txtDeviceC = QtGui.QLineEdit(self.grpDevC)
210 self.txtDeviceC = QtGui.QLineEdit(self.grpDevC)
209 self.txtDeviceC.setReadOnly(True)
211 self.txtDeviceC.setReadOnly(True)
210 self.txtDeviceC.setObjectName("txtDeviceC")
212 self.txtDeviceC.setObjectName("txtDeviceC")
211 self.verticalLayout_13.addWidget(self.txtDeviceC)
213 self.verticalLayout_13.addWidget(self.txtDeviceC)
212 self.txtBspeedC = QtGui.QSpinBox(self.grpDevC)
214 self.txtBspeedC = QtGui.QSpinBox(self.grpDevC)
215 self.txtBspeedC.setReadOnly(True)
213 self.txtBspeedC.setMinimum(1)
216 self.txtBspeedC.setMinimum(1)
214 self.txtBspeedC.setProperty("value", 16)
217 self.txtBspeedC.setProperty("value", 16)
215 self.txtBspeedC.setObjectName("txtBspeedC")
218 self.txtBspeedC.setObjectName("txtBspeedC")
216 self.verticalLayout_13.addWidget(self.txtBspeedC)
219 self.verticalLayout_13.addWidget(self.txtBspeedC)
217 self.txtBmodeC = QtGui.QLineEdit(self.grpDevC)
220 self.txtBmodeC = QtGui.QLineEdit(self.grpDevC)
218 self.txtBmodeC.setReadOnly(True)
221 self.txtBmodeC.setReadOnly(True)
219 self.txtBmodeC.setObjectName("txtBmodeC")
222 self.txtBmodeC.setObjectName("txtBmodeC")
220 self.verticalLayout_13.addWidget(self.txtBmodeC)
223 self.verticalLayout_13.addWidget(self.txtBmodeC)
221 self.btnTdevC = QtGui.QPushButton(self.grpDevC)
224 self.btnTdevC = QtGui.QPushButton(self.grpDevC)
222 self.btnTdevC.setObjectName("btnTdevC")
225 self.btnTdevC.setObjectName("btnTdevC")
223 self.verticalLayout_13.addWidget(self.btnTdevC)
226 self.verticalLayout_13.addWidget(self.btnTdevC)
224 self.verticalLayout_17.addWidget(self.grpDevC)
227 self.verticalLayout_17.addWidget(self.grpDevC)
225 self.horizontalLayout_12.addLayout(self.verticalLayout_17)
228 self.horizontalLayout_12.addLayout(self.verticalLayout_17)
226 self.verticalLayout_18 = QtGui.QVBoxLayout()
229 self.verticalLayout_18 = QtGui.QVBoxLayout()
227 self.verticalLayout_18.setObjectName("verticalLayout_18")
230 self.verticalLayout_18.setObjectName("verticalLayout_18")
228 self.chkDevD = QtGui.QCheckBox(self.tabDconfig)
231 self.chkDevD = QtGui.QCheckBox(self.tabDconfig)
229 self.chkDevD.setChecked(True)
232 self.chkDevD.setChecked(True)
230 self.chkDevD.setObjectName("chkDevD")
233 self.chkDevD.setObjectName("chkDevD")
231 self.verticalLayout_18.addWidget(self.chkDevD)
234 self.verticalLayout_18.addWidget(self.chkDevD)
232 self.grpDevD = QtGui.QWidget(self.tabDconfig)
235 self.grpDevD = QtGui.QWidget(self.tabDconfig)
233 self.grpDevD.setObjectName("grpDevD")
236 self.grpDevD.setObjectName("grpDevD")
234 self.verticalLayout_14 = QtGui.QVBoxLayout(self.grpDevD)
237 self.verticalLayout_14 = QtGui.QVBoxLayout(self.grpDevD)
235 self.verticalLayout_14.setObjectName("verticalLayout_14")
238 self.verticalLayout_14.setObjectName("verticalLayout_14")
236 self.txtDeviceD = QtGui.QLineEdit(self.grpDevD)
239 self.txtDeviceD = QtGui.QLineEdit(self.grpDevD)
237 self.txtDeviceD.setReadOnly(True)
240 self.txtDeviceD.setReadOnly(True)
238 self.txtDeviceD.setObjectName("txtDeviceD")
241 self.txtDeviceD.setObjectName("txtDeviceD")
239 self.verticalLayout_14.addWidget(self.txtDeviceD)
242 self.verticalLayout_14.addWidget(self.txtDeviceD)
240 self.txtBspeedD = QtGui.QSpinBox(self.grpDevD)
243 self.txtBspeedD = QtGui.QSpinBox(self.grpDevD)
244 self.txtBspeedD.setReadOnly(True)
241 self.txtBspeedD.setMinimum(1)
245 self.txtBspeedD.setMinimum(1)
242 self.txtBspeedD.setProperty("value", 16)
246 self.txtBspeedD.setProperty("value", 16)
243 self.txtBspeedD.setObjectName("txtBspeedD")
247 self.txtBspeedD.setObjectName("txtBspeedD")
244 self.verticalLayout_14.addWidget(self.txtBspeedD)
248 self.verticalLayout_14.addWidget(self.txtBspeedD)
245 self.txtBmodeD = QtGui.QLineEdit(self.grpDevD)
249 self.txtBmodeD = QtGui.QLineEdit(self.grpDevD)
246 self.txtBmodeD.setReadOnly(True)
250 self.txtBmodeD.setReadOnly(True)
247 self.txtBmodeD.setObjectName("txtBmodeD")
251 self.txtBmodeD.setObjectName("txtBmodeD")
248 self.verticalLayout_14.addWidget(self.txtBmodeD)
252 self.verticalLayout_14.addWidget(self.txtBmodeD)
249 self.btnTdevD = QtGui.QPushButton(self.grpDevD)
253 self.btnTdevD = QtGui.QPushButton(self.grpDevD)
250 self.btnTdevD.setObjectName("btnTdevD")
254 self.btnTdevD.setObjectName("btnTdevD")
251 self.verticalLayout_14.addWidget(self.btnTdevD)
255 self.verticalLayout_14.addWidget(self.btnTdevD)
252 self.verticalLayout_18.addWidget(self.grpDevD)
256 self.verticalLayout_18.addWidget(self.grpDevD)
253 self.horizontalLayout_12.addLayout(self.verticalLayout_18)
257 self.horizontalLayout_12.addLayout(self.verticalLayout_18)
254 self.verticalLayout_19 = QtGui.QVBoxLayout()
258 self.verticalLayout_19 = QtGui.QVBoxLayout()
255 self.verticalLayout_19.setObjectName("verticalLayout_19")
259 self.verticalLayout_19.setObjectName("verticalLayout_19")
256 spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
260 spacerItem1 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
257 self.verticalLayout_19.addItem(spacerItem1)
261 self.verticalLayout_19.addItem(spacerItem1)
258 self.grpDevD_2 = QtGui.QWidget(self.tabDconfig)
262 self.grpDevD_2 = QtGui.QWidget(self.tabDconfig)
259 self.grpDevD_2.setObjectName("grpDevD_2")
263 self.grpDevD_2.setObjectName("grpDevD_2")
260 self.verticalLayout_20 = QtGui.QVBoxLayout(self.grpDevD_2)
264 self.verticalLayout_20 = QtGui.QVBoxLayout(self.grpDevD_2)
261 self.verticalLayout_20.setObjectName("verticalLayout_20")
265 self.verticalLayout_20.setObjectName("verticalLayout_20")
262 self.lblDevice = QtGui.QLabel(self.grpDevD_2)
266 self.lblDevice = QtGui.QLabel(self.grpDevD_2)
263 self.lblDevice.setObjectName("lblDevice")
267 self.lblDevice.setObjectName("lblDevice")
264 self.verticalLayout_20.addWidget(self.lblDevice)
268 self.verticalLayout_20.addWidget(self.lblDevice)
265 self.lblBspeed = QtGui.QLabel(self.grpDevD_2)
269 self.lblBspeed = QtGui.QLabel(self.grpDevD_2)
266 self.lblBspeed.setObjectName("lblBspeed")
270 self.lblBspeed.setObjectName("lblBspeed")
267 self.verticalLayout_20.addWidget(self.lblBspeed)
271 self.verticalLayout_20.addWidget(self.lblBspeed)
268 self.lblBmode = QtGui.QLabel(self.grpDevD_2)
272 self.lblBmode = QtGui.QLabel(self.grpDevD_2)
269 self.lblBmode.setObjectName("lblBmode")
273 self.lblBmode.setObjectName("lblBmode")
270 self.verticalLayout_20.addWidget(self.lblBmode)
274 self.verticalLayout_20.addWidget(self.lblBmode)
271 spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
275 spacerItem2 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
272 self.verticalLayout_20.addItem(spacerItem2)
276 self.verticalLayout_20.addItem(spacerItem2)
273 self.verticalLayout_19.addWidget(self.grpDevD_2)
277 self.verticalLayout_19.addWidget(self.grpDevD_2)
274 self.horizontalLayout_12.addLayout(self.verticalLayout_19)
278 self.horizontalLayout_12.addLayout(self.verticalLayout_19)
275 self.verticalLayout_3.addLayout(self.horizontalLayout_12)
279 self.verticalLayout_3.addLayout(self.horizontalLayout_12)
276 spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
280 spacerItem3 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
277 self.verticalLayout_3.addItem(spacerItem3)
281 self.verticalLayout_3.addItem(spacerItem3)
278 self.horizontalLayout_11 = QtGui.QHBoxLayout()
282 self.horizontalLayout_11 = QtGui.QHBoxLayout()
279 self.horizontalLayout_11.setSpacing(6)
283 self.horizontalLayout_11.setSpacing(6)
280 self.horizontalLayout_11.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
284 self.horizontalLayout_11.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
281 self.horizontalLayout_11.setObjectName("horizontalLayout_11")
285 self.horizontalLayout_11.setObjectName("horizontalLayout_11")
282 self.lblDcapacity = QtGui.QLabel(self.tabDconfig)
286 self.lblDcapacity = QtGui.QLabel(self.tabDconfig)
283 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
287 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
284 sizePolicy.setHorizontalStretch(0)
288 sizePolicy.setHorizontalStretch(0)
285 sizePolicy.setVerticalStretch(0)
289 sizePolicy.setVerticalStretch(0)
286 sizePolicy.setHeightForWidth(self.lblDcapacity.sizePolicy().hasHeightForWidth())
290 sizePolicy.setHeightForWidth(self.lblDcapacity.sizePolicy().hasHeightForWidth())
287 self.lblDcapacity.setSizePolicy(sizePolicy)
291 self.lblDcapacity.setSizePolicy(sizePolicy)
288 self.lblDcapacity.setObjectName("lblDcapacity")
292 self.lblDcapacity.setObjectName("lblDcapacity")
289 self.horizontalLayout_11.addWidget(self.lblDcapacity)
293 self.horizontalLayout_11.addWidget(self.lblDcapacity)
290 spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
294 spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
291 self.horizontalLayout_11.addItem(spacerItem4)
295 self.horizontalLayout_11.addItem(spacerItem4)
292 self.verticalLayout_3.addLayout(self.horizontalLayout_11)
296 self.verticalLayout_3.addLayout(self.horizontalLayout_11)
293 self.horizontalLayout_10 = QtGui.QHBoxLayout()
297 self.horizontalLayout_10 = QtGui.QHBoxLayout()
294 self.horizontalLayout_10.setSizeConstraint(QtGui.QLayout.SetFixedSize)
298 self.horizontalLayout_10.setSizeConstraint(QtGui.QLayout.SetFixedSize)
295 self.horizontalLayout_10.setObjectName("horizontalLayout_10")
299 self.horizontalLayout_10.setObjectName("horizontalLayout_10")
296 self.lstDcapacity = QtGui.QComboBox(self.tabDconfig)
300 self.lstDcapacity = QtGui.QComboBox(self.tabDconfig)
297 self.lstDcapacity.setObjectName("lstDcapacity")
301 self.lstDcapacity.setObjectName("lstDcapacity")
298 self.lstDcapacity.addItem("")
302 self.lstDcapacity.addItem("")
299 self.lstDcapacity.addItem("")
303 self.lstDcapacity.addItem("")
300 self.lstDcapacity.addItem("")
304 self.lstDcapacity.addItem("")
301 self.lstDcapacity.addItem("")
305 self.lstDcapacity.addItem("")
302 self.lstDcapacity.addItem("")
306 self.lstDcapacity.addItem("")
303 self.horizontalLayout_10.addWidget(self.lstDcapacity)
307 self.horizontalLayout_10.addWidget(self.lstDcapacity)
304 self.txtDcapacity = QtGui.QDoubleSpinBox(self.tabDconfig)
308 self.txtDcapacity = QtGui.QDoubleSpinBox(self.tabDconfig)
305 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
309 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Fixed)
306 sizePolicy.setHorizontalStretch(0)
310 sizePolicy.setHorizontalStretch(0)
307 sizePolicy.setVerticalStretch(0)
311 sizePolicy.setVerticalStretch(0)
308 sizePolicy.setHeightForWidth(self.txtDcapacity.sizePolicy().hasHeightForWidth())
312 sizePolicy.setHeightForWidth(self.txtDcapacity.sizePolicy().hasHeightForWidth())
309 self.txtDcapacity.setSizePolicy(sizePolicy)
313 self.txtDcapacity.setSizePolicy(sizePolicy)
310 self.txtDcapacity.setReadOnly(True)
314 self.txtDcapacity.setReadOnly(True)
311 self.txtDcapacity.setMinimum(100.0)
315 self.txtDcapacity.setMinimum(100.0)
312 self.txtDcapacity.setMaximum(99999.99)
316 self.txtDcapacity.setMaximum(99999.99)
313 self.txtDcapacity.setProperty("value", 4482.27)
317 self.txtDcapacity.setProperty("value", 4482.27)
314 self.txtDcapacity.setObjectName("txtDcapacity")
318 self.txtDcapacity.setObjectName("txtDcapacity")
315 self.horizontalLayout_10.addWidget(self.txtDcapacity)
319 self.horizontalLayout_10.addWidget(self.txtDcapacity)
316 spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
320 spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
317 self.horizontalLayout_10.addItem(spacerItem5)
321 self.horizontalLayout_10.addItem(spacerItem5)
318 self.lblPSgraphic = QtGui.QLabel(self.tabDconfig)
322 self.lblPSgraphic = QtGui.QLabel(self.tabDconfig)
319 self.lblPSgraphic.setObjectName("lblPSgraphic")
323 self.lblPSgraphic.setObjectName("lblPSgraphic")
320 self.horizontalLayout_10.addWidget(self.lblPSgraphic)
324 self.horizontalLayout_10.addWidget(self.lblPSgraphic)
321 self.txtPSgraphic = QtGui.QSpinBox(self.tabDconfig)
325 self.txtPSgraphic = QtGui.QSpinBox(self.tabDconfig)
322 self.txtPSgraphic.setMinimum(1)
326 self.txtPSgraphic.setMinimum(1)
323 self.txtPSgraphic.setMaximum(33)
327 self.txtPSgraphic.setMaximum(33)
324 self.txtPSgraphic.setObjectName("txtPSgraphic")
328 self.txtPSgraphic.setObjectName("txtPSgraphic")
325 self.horizontalLayout_10.addWidget(self.txtPSgraphic)
329 self.horizontalLayout_10.addWidget(self.txtPSgraphic)
326 self.verticalLayout_3.addLayout(self.horizontalLayout_10)
330 self.verticalLayout_3.addLayout(self.horizontalLayout_10)
327 self.tabWidget.addTab(self.tabDconfig, "")
331 self.tabWidget.addTab(self.tabDconfig, "")
328 self.tabStatus = QtGui.QWidget()
332 self.tabStatus = QtGui.QWidget()
329 self.tabStatus.setObjectName("tabStatus")
333 self.tabStatus.setObjectName("tabStatus")
330 self.verticalLayout_4 = QtGui.QVBoxLayout(self.tabStatus)
334 self.verticalLayout_4 = QtGui.QVBoxLayout(self.tabStatus)
331 self.verticalLayout_4.setObjectName("verticalLayout_4")
335 self.verticalLayout_4.setObjectName("verticalLayout_4")
332 self.horizontalLayout_18 = QtGui.QHBoxLayout()
336 self.horizontalLayout_18 = QtGui.QHBoxLayout()
333 self.horizontalLayout_18.setObjectName("horizontalLayout_18")
337 self.horizontalLayout_18.setObjectName("horizontalLayout_18")
334 self.verticalLayout_21 = QtGui.QVBoxLayout()
338 self.verticalLayout_21 = QtGui.QVBoxLayout()
335 self.verticalLayout_21.setObjectName("verticalLayout_21")
339 self.verticalLayout_21.setObjectName("verticalLayout_21")
336 self.label_4 = QtGui.QLabel(self.tabStatus)
340 self.label_4 = QtGui.QLabel(self.tabStatus)
337 self.label_4.setObjectName("label_4")
341 self.label_4.setObjectName("label_4")
338 self.verticalLayout_21.addWidget(self.label_4)
342 self.verticalLayout_21.addWidget(self.label_4)
339 spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
343 spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
340 self.verticalLayout_21.addItem(spacerItem6)
344 self.verticalLayout_21.addItem(spacerItem6)
341 self.lblSTATUS = QtGui.QLabel(self.tabStatus)
345 self.lblSTATUS = QtGui.QLabel(self.tabStatus)
342 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
346 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
343 sizePolicy.setHorizontalStretch(0)
347 sizePolicy.setHorizontalStretch(0)
344 sizePolicy.setVerticalStretch(0)
348 sizePolicy.setVerticalStretch(0)
345 sizePolicy.setHeightForWidth(self.lblSTATUS.sizePolicy().hasHeightForWidth())
349 sizePolicy.setHeightForWidth(self.lblSTATUS.sizePolicy().hasHeightForWidth())
346 self.lblSTATUS.setSizePolicy(sizePolicy)
350 self.lblSTATUS.setSizePolicy(sizePolicy)
347 self.lblSTATUS.setObjectName("lblSTATUS")
351 self.lblSTATUS.setObjectName("lblSTATUS")
348 self.verticalLayout_21.addWidget(self.lblSTATUS)
352 self.verticalLayout_21.addWidget(self.lblSTATUS)
349 self.lblINFO = QtGui.QLabel(self.tabStatus)
353 self.lblINFO = QtGui.QLabel(self.tabStatus)
350 self.lblINFO.setObjectName("lblINFO")
354 self.lblINFO.setObjectName("lblINFO")
351 self.verticalLayout_21.addWidget(self.lblINFO)
355 self.verticalLayout_21.addWidget(self.lblINFO)
352 self.lblSET = QtGui.QLabel(self.tabStatus)
356 self.lblSET = QtGui.QLabel(self.tabStatus)
353 self.lblSET.setObjectName("lblSET")
357 self.lblSET.setObjectName("lblSET")
354 self.verticalLayout_21.addWidget(self.lblSET)
358 self.verticalLayout_21.addWidget(self.lblSET)
355 self.horizontalLayout_18.addLayout(self.verticalLayout_21)
359 self.horizontalLayout_18.addLayout(self.verticalLayout_21)
356 self.verticalLayout_22 = QtGui.QVBoxLayout()
360 self.verticalLayout_22 = QtGui.QVBoxLayout()
357 self.verticalLayout_22.setObjectName("verticalLayout_22")
361 self.verticalLayout_22.setObjectName("verticalLayout_22")
358 spacerItem7 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
362 spacerItem7 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
359 self.verticalLayout_22.addItem(spacerItem7)
363 self.verticalLayout_22.addItem(spacerItem7)
360 self.lblDevA = QtGui.QLabel(self.tabStatus)
364 self.lblDevA = QtGui.QLabel(self.tabStatus)
361 self.lblDevA.setAlignment(QtCore.Qt.AlignCenter)
365 self.lblDevA.setAlignment(QtCore.Qt.AlignCenter)
362 self.lblDevA.setObjectName("lblDevA")
366 self.lblDevA.setObjectName("lblDevA")
363 self.verticalLayout_22.addWidget(self.lblDevA)
367 self.verticalLayout_22.addWidget(self.lblDevA)
364 self.txtBstatusA = QtGui.QLineEdit(self.tabStatus)
368 self.txtBstatusA = QtGui.QLineEdit(self.tabStatus)
365 self.txtBstatusA.setReadOnly(True)
369 self.txtBstatusA.setReadOnly(True)
366 self.txtBstatusA.setObjectName("txtBstatusA")
370 self.txtBstatusA.setObjectName("txtBstatusA")
367 self.verticalLayout_22.addWidget(self.txtBstatusA)
371 self.verticalLayout_22.addWidget(self.txtBstatusA)
368 self.txtBdiscA = QtGui.QLineEdit(self.tabStatus)
372 self.txtBdiscA = QtGui.QLineEdit(self.tabStatus)
369 self.txtBdiscA.setReadOnly(True)
373 self.txtBdiscA.setReadOnly(True)
370 self.txtBdiscA.setObjectName("txtBdiscA")
374 self.txtBdiscA.setObjectName("txtBdiscA")
371 self.verticalLayout_22.addWidget(self.txtBdiscA)
375 self.verticalLayout_22.addWidget(self.txtBdiscA)
372 self.txtBcopyA = QtGui.QLineEdit(self.tabStatus)
376 self.txtBcopyA = QtGui.QLineEdit(self.tabStatus)
373 self.txtBcopyA.setReadOnly(True)
377 self.txtBcopyA.setReadOnly(True)
374 self.txtBcopyA.setObjectName("txtBcopyA")
378 self.txtBcopyA.setObjectName("txtBcopyA")
375 self.verticalLayout_22.addWidget(self.txtBcopyA)
379 self.verticalLayout_22.addWidget(self.txtBcopyA)
376 self.horizontalLayout_18.addLayout(self.verticalLayout_22)
380 self.horizontalLayout_18.addLayout(self.verticalLayout_22)
377 self.verticalLayout_23 = QtGui.QVBoxLayout()
381 self.verticalLayout_23 = QtGui.QVBoxLayout()
378 self.verticalLayout_23.setObjectName("verticalLayout_23")
382 self.verticalLayout_23.setObjectName("verticalLayout_23")
379 spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
383 spacerItem8 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
380 self.verticalLayout_23.addItem(spacerItem8)
384 self.verticalLayout_23.addItem(spacerItem8)
381 self.lblDevB = QtGui.QLabel(self.tabStatus)
385 self.lblDevB = QtGui.QLabel(self.tabStatus)
382 self.lblDevB.setAlignment(QtCore.Qt.AlignCenter)
386 self.lblDevB.setAlignment(QtCore.Qt.AlignCenter)
383 self.lblDevB.setObjectName("lblDevB")
387 self.lblDevB.setObjectName("lblDevB")
384 self.verticalLayout_23.addWidget(self.lblDevB)
388 self.verticalLayout_23.addWidget(self.lblDevB)
385 self.txtBstatusB = QtGui.QLineEdit(self.tabStatus)
389 self.txtBstatusB = QtGui.QLineEdit(self.tabStatus)
386 self.txtBstatusB.setReadOnly(True)
390 self.txtBstatusB.setReadOnly(True)
387 self.txtBstatusB.setObjectName("txtBstatusB")
391 self.txtBstatusB.setObjectName("txtBstatusB")
388 self.verticalLayout_23.addWidget(self.txtBstatusB)
392 self.verticalLayout_23.addWidget(self.txtBstatusB)
389 self.txtBdiscB = QtGui.QLineEdit(self.tabStatus)
393 self.txtBdiscB = QtGui.QLineEdit(self.tabStatus)
390 self.txtBdiscB.setReadOnly(True)
394 self.txtBdiscB.setReadOnly(True)
391 self.txtBdiscB.setObjectName("txtBdiscB")
395 self.txtBdiscB.setObjectName("txtBdiscB")
392 self.verticalLayout_23.addWidget(self.txtBdiscB)
396 self.verticalLayout_23.addWidget(self.txtBdiscB)
393 self.txtBcopyB = QtGui.QLineEdit(self.tabStatus)
397 self.txtBcopyB = QtGui.QLineEdit(self.tabStatus)
394 self.txtBcopyB.setReadOnly(True)
398 self.txtBcopyB.setReadOnly(True)
395 self.txtBcopyB.setObjectName("txtBcopyB")
399 self.txtBcopyB.setObjectName("txtBcopyB")
396 self.verticalLayout_23.addWidget(self.txtBcopyB)
400 self.verticalLayout_23.addWidget(self.txtBcopyB)
397 self.horizontalLayout_18.addLayout(self.verticalLayout_23)
401 self.horizontalLayout_18.addLayout(self.verticalLayout_23)
398 self.verticalLayout_24 = QtGui.QVBoxLayout()
402 self.verticalLayout_24 = QtGui.QVBoxLayout()
399 self.verticalLayout_24.setObjectName("verticalLayout_24")
403 self.verticalLayout_24.setObjectName("verticalLayout_24")
400 spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
404 spacerItem9 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
401 self.verticalLayout_24.addItem(spacerItem9)
405 self.verticalLayout_24.addItem(spacerItem9)
402 self.lblDevC = QtGui.QLabel(self.tabStatus)
406 self.lblDevC = QtGui.QLabel(self.tabStatus)
403 self.lblDevC.setAlignment(QtCore.Qt.AlignCenter)
407 self.lblDevC.setAlignment(QtCore.Qt.AlignCenter)
404 self.lblDevC.setObjectName("lblDevC")
408 self.lblDevC.setObjectName("lblDevC")
405 self.verticalLayout_24.addWidget(self.lblDevC)
409 self.verticalLayout_24.addWidget(self.lblDevC)
406 self.txtBstatusC = QtGui.QLineEdit(self.tabStatus)
410 self.txtBstatusC = QtGui.QLineEdit(self.tabStatus)
407 self.txtBstatusC.setReadOnly(True)
411 self.txtBstatusC.setReadOnly(True)
408 self.txtBstatusC.setObjectName("txtBstatusC")
412 self.txtBstatusC.setObjectName("txtBstatusC")
409 self.verticalLayout_24.addWidget(self.txtBstatusC)
413 self.verticalLayout_24.addWidget(self.txtBstatusC)
410 self.txtBdiscC = QtGui.QLineEdit(self.tabStatus)
414 self.txtBdiscC = QtGui.QLineEdit(self.tabStatus)
411 self.txtBdiscC.setReadOnly(True)
415 self.txtBdiscC.setReadOnly(True)
412 self.txtBdiscC.setObjectName("txtBdiscC")
416 self.txtBdiscC.setObjectName("txtBdiscC")
413 self.verticalLayout_24.addWidget(self.txtBdiscC)
417 self.verticalLayout_24.addWidget(self.txtBdiscC)
414 self.txtBcopyC = QtGui.QLineEdit(self.tabStatus)
418 self.txtBcopyC = QtGui.QLineEdit(self.tabStatus)
415 self.txtBcopyC.setReadOnly(True)
419 self.txtBcopyC.setReadOnly(True)
416 self.txtBcopyC.setObjectName("txtBcopyC")
420 self.txtBcopyC.setObjectName("txtBcopyC")
417 self.verticalLayout_24.addWidget(self.txtBcopyC)
421 self.verticalLayout_24.addWidget(self.txtBcopyC)
418 self.horizontalLayout_18.addLayout(self.verticalLayout_24)
422 self.horizontalLayout_18.addLayout(self.verticalLayout_24)
419 self.verticalLayout_25 = QtGui.QVBoxLayout()
423 self.verticalLayout_25 = QtGui.QVBoxLayout()
420 self.verticalLayout_25.setObjectName("verticalLayout_25")
424 self.verticalLayout_25.setObjectName("verticalLayout_25")
421 spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
425 spacerItem10 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
422 self.verticalLayout_25.addItem(spacerItem10)
426 self.verticalLayout_25.addItem(spacerItem10)
423 self.lblDevD = QtGui.QLabel(self.tabStatus)
427 self.lblDevD = QtGui.QLabel(self.tabStatus)
424 self.lblDevD.setAlignment(QtCore.Qt.AlignCenter)
428 self.lblDevD.setAlignment(QtCore.Qt.AlignCenter)
425 self.lblDevD.setObjectName("lblDevD")
429 self.lblDevD.setObjectName("lblDevD")
426 self.verticalLayout_25.addWidget(self.lblDevD)
430 self.verticalLayout_25.addWidget(self.lblDevD)
427 self.txtBstatusD = QtGui.QLineEdit(self.tabStatus)
431 self.txtBstatusD = QtGui.QLineEdit(self.tabStatus)
428 self.txtBstatusD.setReadOnly(True)
432 self.txtBstatusD.setReadOnly(True)
429 self.txtBstatusD.setObjectName("txtBstatusD")
433 self.txtBstatusD.setObjectName("txtBstatusD")
430 self.verticalLayout_25.addWidget(self.txtBstatusD)
434 self.verticalLayout_25.addWidget(self.txtBstatusD)
431 self.txtBdiscD = QtGui.QLineEdit(self.tabStatus)
435 self.txtBdiscD = QtGui.QLineEdit(self.tabStatus)
432 self.txtBdiscD.setReadOnly(True)
436 self.txtBdiscD.setReadOnly(True)
433 self.txtBdiscD.setObjectName("txtBdiscD")
437 self.txtBdiscD.setObjectName("txtBdiscD")
434 self.verticalLayout_25.addWidget(self.txtBdiscD)
438 self.verticalLayout_25.addWidget(self.txtBdiscD)
435 self.txtBcopyD = QtGui.QLineEdit(self.tabStatus)
439 self.txtBcopyD = QtGui.QLineEdit(self.tabStatus)
436 self.txtBcopyD.setReadOnly(True)
440 self.txtBcopyD.setReadOnly(True)
437 self.txtBcopyD.setObjectName("txtBcopyD")
441 self.txtBcopyD.setObjectName("txtBcopyD")
438 self.verticalLayout_25.addWidget(self.txtBcopyD)
442 self.verticalLayout_25.addWidget(self.txtBcopyD)
439 self.horizontalLayout_18.addLayout(self.verticalLayout_25)
443 self.horizontalLayout_18.addLayout(self.verticalLayout_25)
440 self.verticalLayout_4.addLayout(self.horizontalLayout_18)
444 self.verticalLayout_4.addLayout(self.horizontalLayout_18)
441 spacerItem11 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
445 spacerItem11 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Fixed)
442 self.verticalLayout_4.addItem(spacerItem11)
446 self.verticalLayout_4.addItem(spacerItem11)
443 self.horizontalLayout_16 = QtGui.QHBoxLayout()
447 self.horizontalLayout_16 = QtGui.QHBoxLayout()
444 self.horizontalLayout_16.setObjectName("horizontalLayout_16")
448 self.horizontalLayout_16.setObjectName("horizontalLayout_16")
445 self.label = QtGui.QLabel(self.tabStatus)
449 self.label = QtGui.QLabel(self.tabStatus)
446 self.label.setObjectName("label")
450 self.label.setObjectName("label")
447 self.horizontalLayout_16.addWidget(self.label)
451 self.horizontalLayout_16.addWidget(self.label)
448 spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
452 spacerItem12 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
449 self.horizontalLayout_16.addItem(spacerItem12)
453 self.horizontalLayout_16.addItem(spacerItem12)
450 self.verticalLayout_4.addLayout(self.horizontalLayout_16)
454 self.verticalLayout_4.addLayout(self.horizontalLayout_16)
451 self.horizontalLayout_17 = QtGui.QHBoxLayout()
455 self.horizontalLayout_17 = QtGui.QHBoxLayout()
452 self.horizontalLayout_17.setObjectName("horizontalLayout_17")
456 self.horizontalLayout_17.setObjectName("horizontalLayout_17")
453 spacerItem13 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
457 spacerItem13 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
454 self.horizontalLayout_17.addItem(spacerItem13)
458 self.horizontalLayout_17.addItem(spacerItem13)
455 self.txtTDpath = QtGui.QLineEdit(self.tabStatus)
459 self.txtTDpath = QtGui.QLineEdit(self.tabStatus)
456 self.txtTDpath.setEnabled(False)
460 self.txtTDpath.setEnabled(False)
457 self.txtTDpath.setObjectName("txtTDpath")
461 self.txtTDpath.setObjectName("txtTDpath")
458 self.horizontalLayout_17.addWidget(self.txtTDpath)
462 self.horizontalLayout_17.addWidget(self.txtTDpath)
459 self.btnTDpath = QtGui.QPushButton(self.tabStatus)
463 self.btnTDpath = QtGui.QPushButton(self.tabStatus)
460 self.btnTDpath.setEnabled(False)
464 self.btnTDpath.setEnabled(False)
461 self.btnTDpath.setObjectName("btnTDpath")
465 self.btnTDpath.setObjectName("btnTDpath")
462 self.horizontalLayout_17.addWidget(self.btnTDpath)
466 self.horizontalLayout_17.addWidget(self.btnTDpath)
463 self.verticalLayout_4.addLayout(self.horizontalLayout_17)
467 self.verticalLayout_4.addLayout(self.horizontalLayout_17)
464 self.horizontalLayout_19 = QtGui.QHBoxLayout()
468 self.horizontalLayout_19 = QtGui.QHBoxLayout()
465 self.horizontalLayout_19.setObjectName("horizontalLayout_19")
469 self.horizontalLayout_19.setObjectName("horizontalLayout_19")
466 self.verticalLayout_26 = QtGui.QVBoxLayout()
470 self.verticalLayout_26 = QtGui.QVBoxLayout()
467 self.verticalLayout_26.setObjectName("verticalLayout_26")
471 self.verticalLayout_26.setObjectName("verticalLayout_26")
468 spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
472 spacerItem14 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
469 self.verticalLayout_26.addItem(spacerItem14)
473 self.verticalLayout_26.addItem(spacerItem14)
470 self.lblSTATUS_2 = QtGui.QLabel(self.tabStatus)
474 self.lblSTATUS_2 = QtGui.QLabel(self.tabStatus)
471 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
475 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Preferred)
472 sizePolicy.setHorizontalStretch(0)
476 sizePolicy.setHorizontalStretch(0)
473 sizePolicy.setVerticalStretch(0)
477 sizePolicy.setVerticalStretch(0)
474 sizePolicy.setHeightForWidth(self.lblSTATUS_2.sizePolicy().hasHeightForWidth())
478 sizePolicy.setHeightForWidth(self.lblSTATUS_2.sizePolicy().hasHeightForWidth())
475 self.lblSTATUS_2.setSizePolicy(sizePolicy)
479 self.lblSTATUS_2.setSizePolicy(sizePolicy)
476 self.lblSTATUS_2.setObjectName("lblSTATUS_2")
480 self.lblSTATUS_2.setObjectName("lblSTATUS_2")
477 self.verticalLayout_26.addWidget(self.lblSTATUS_2)
481 self.verticalLayout_26.addWidget(self.lblSTATUS_2)
478 self.horizontalLayout_19.addLayout(self.verticalLayout_26)
482 self.horizontalLayout_19.addLayout(self.verticalLayout_26)
479 self.verticalLayout_27 = QtGui.QVBoxLayout()
483 self.verticalLayout_27 = QtGui.QVBoxLayout()
480 self.verticalLayout_27.setObjectName("verticalLayout_27")
484 self.verticalLayout_27.setObjectName("verticalLayout_27")
481 self.lblDevA_2 = QtGui.QLabel(self.tabStatus)
485 self.lblDevA_2 = QtGui.QLabel(self.tabStatus)
482 self.lblDevA_2.setAlignment(QtCore.Qt.AlignCenter)
486 self.lblDevA_2.setAlignment(QtCore.Qt.AlignCenter)
483 self.lblDevA_2.setObjectName("lblDevA_2")
487 self.lblDevA_2.setObjectName("lblDevA_2")
484 self.verticalLayout_27.addWidget(self.lblDevA_2)
488 self.verticalLayout_27.addWidget(self.lblDevA_2)
485 self.txtCHstatusA = QtGui.QLineEdit(self.tabStatus)
489 self.txtCHstatusA = QtGui.QLineEdit(self.tabStatus)
486 self.txtCHstatusA.setReadOnly(True)
490 self.txtCHstatusA.setReadOnly(True)
487 self.txtCHstatusA.setObjectName("txtCHstatusA")
491 self.txtCHstatusA.setObjectName("txtCHstatusA")
488 self.verticalLayout_27.addWidget(self.txtCHstatusA)
492 self.verticalLayout_27.addWidget(self.txtCHstatusA)
489 self.horizontalLayout_19.addLayout(self.verticalLayout_27)
493 self.horizontalLayout_19.addLayout(self.verticalLayout_27)
490 self.verticalLayout_28 = QtGui.QVBoxLayout()
494 self.verticalLayout_28 = QtGui.QVBoxLayout()
491 self.verticalLayout_28.setObjectName("verticalLayout_28")
495 self.verticalLayout_28.setObjectName("verticalLayout_28")
492 self.lblDevB_2 = QtGui.QLabel(self.tabStatus)
496 self.lblDevB_2 = QtGui.QLabel(self.tabStatus)
493 self.lblDevB_2.setAlignment(QtCore.Qt.AlignCenter)
497 self.lblDevB_2.setAlignment(QtCore.Qt.AlignCenter)
494 self.lblDevB_2.setObjectName("lblDevB_2")
498 self.lblDevB_2.setObjectName("lblDevB_2")
495 self.verticalLayout_28.addWidget(self.lblDevB_2)
499 self.verticalLayout_28.addWidget(self.lblDevB_2)
496 self.txtCHstatusB = QtGui.QLineEdit(self.tabStatus)
500 self.txtCHstatusB = QtGui.QLineEdit(self.tabStatus)
497 self.txtCHstatusB.setReadOnly(True)
501 self.txtCHstatusB.setReadOnly(True)
498 self.txtCHstatusB.setObjectName("txtCHstatusB")
502 self.txtCHstatusB.setObjectName("txtCHstatusB")
499 self.verticalLayout_28.addWidget(self.txtCHstatusB)
503 self.verticalLayout_28.addWidget(self.txtCHstatusB)
500 self.horizontalLayout_19.addLayout(self.verticalLayout_28)
504 self.horizontalLayout_19.addLayout(self.verticalLayout_28)
501 self.verticalLayout_29 = QtGui.QVBoxLayout()
505 self.verticalLayout_29 = QtGui.QVBoxLayout()
502 self.verticalLayout_29.setObjectName("verticalLayout_29")
506 self.verticalLayout_29.setObjectName("verticalLayout_29")
503 self.lblDevC_2 = QtGui.QLabel(self.tabStatus)
507 self.lblDevC_2 = QtGui.QLabel(self.tabStatus)
504 self.lblDevC_2.setAlignment(QtCore.Qt.AlignCenter)
508 self.lblDevC_2.setAlignment(QtCore.Qt.AlignCenter)
505 self.lblDevC_2.setObjectName("lblDevC_2")
509 self.lblDevC_2.setObjectName("lblDevC_2")
506 self.verticalLayout_29.addWidget(self.lblDevC_2)
510 self.verticalLayout_29.addWidget(self.lblDevC_2)
507 self.txtCHstatusC = QtGui.QLineEdit(self.tabStatus)
511 self.txtCHstatusC = QtGui.QLineEdit(self.tabStatus)
508 self.txtCHstatusC.setReadOnly(True)
512 self.txtCHstatusC.setReadOnly(True)
509 self.txtCHstatusC.setObjectName("txtCHstatusC")
513 self.txtCHstatusC.setObjectName("txtCHstatusC")
510 self.verticalLayout_29.addWidget(self.txtCHstatusC)
514 self.verticalLayout_29.addWidget(self.txtCHstatusC)
511 self.horizontalLayout_19.addLayout(self.verticalLayout_29)
515 self.horizontalLayout_19.addLayout(self.verticalLayout_29)
512 self.verticalLayout_30 = QtGui.QVBoxLayout()
516 self.verticalLayout_30 = QtGui.QVBoxLayout()
513 self.verticalLayout_30.setObjectName("verticalLayout_30")
517 self.verticalLayout_30.setObjectName("verticalLayout_30")
514 self.lblDevD_2 = QtGui.QLabel(self.tabStatus)
518 self.lblDevD_2 = QtGui.QLabel(self.tabStatus)
515 self.lblDevD_2.setAlignment(QtCore.Qt.AlignCenter)
519 self.lblDevD_2.setAlignment(QtCore.Qt.AlignCenter)
516 self.lblDevD_2.setObjectName("lblDevD_2")
520 self.lblDevD_2.setObjectName("lblDevD_2")
517 self.verticalLayout_30.addWidget(self.lblDevD_2)
521 self.verticalLayout_30.addWidget(self.lblDevD_2)
518 self.txtCHstatusD = QtGui.QLineEdit(self.tabStatus)
522 self.txtCHstatusD = QtGui.QLineEdit(self.tabStatus)
519 self.txtCHstatusD.setReadOnly(True)
523 self.txtCHstatusD.setReadOnly(True)
520 self.txtCHstatusD.setObjectName("txtCHstatusD")
524 self.txtCHstatusD.setObjectName("txtCHstatusD")
521 self.verticalLayout_30.addWidget(self.txtCHstatusD)
525 self.verticalLayout_30.addWidget(self.txtCHstatusD)
522 self.horizontalLayout_19.addLayout(self.verticalLayout_30)
526 self.horizontalLayout_19.addLayout(self.verticalLayout_30)
523 self.verticalLayout_4.addLayout(self.horizontalLayout_19)
527 self.verticalLayout_4.addLayout(self.horizontalLayout_19)
524 self.horizontalLayout_20 = QtGui.QHBoxLayout()
528 self.horizontalLayout_20 = QtGui.QHBoxLayout()
525 self.horizontalLayout_20.setObjectName("horizontalLayout_20")
529 self.horizontalLayout_20.setObjectName("horizontalLayout_20")
526 spacerItem15 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
530 spacerItem15 = QtGui.QSpacerItem(50, 20, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
527 self.horizontalLayout_20.addItem(spacerItem15)
531 self.horizontalLayout_20.addItem(spacerItem15)
528 self.chkCheck = QtGui.QCheckBox(self.tabStatus)
532 self.chkCheck = QtGui.QCheckBox(self.tabStatus)
529 self.chkCheck.setEnabled(True)
533 self.chkCheck.setEnabled(True)
530 self.chkCheck.setObjectName("chkCheck")
534 self.chkCheck.setObjectName("chkCheck")
531 self.horizontalLayout_20.addWidget(self.chkCheck)
535 self.horizontalLayout_20.addWidget(self.chkCheck)
532 spacerItem16 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
536 spacerItem16 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
533 self.horizontalLayout_20.addItem(spacerItem16)
537 self.horizontalLayout_20.addItem(spacerItem16)
534 self.btnCHstart = QtGui.QPushButton(self.tabStatus)
538 self.btnCHstart = QtGui.QPushButton(self.tabStatus)
535 self.btnCHstart.setEnabled(False)
539 self.btnCHstart.setEnabled(False)
536 self.btnCHstart.setObjectName("btnCHstart")
540 self.btnCHstart.setObjectName("btnCHstart")
537 self.horizontalLayout_20.addWidget(self.btnCHstart)
541 self.horizontalLayout_20.addWidget(self.btnCHstart)
538 self.verticalLayout_4.addLayout(self.horizontalLayout_20)
542 self.verticalLayout_4.addLayout(self.horizontalLayout_20)
539 self.widget_2 = QtGui.QWidget(self.tabStatus)
540 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
541 sizePolicy.setHorizontalStretch(0)
542 sizePolicy.setVerticalStretch(0)
543 sizePolicy.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
544 self.widget_2.setSizePolicy(sizePolicy)
545 self.widget_2.setMaximumSize(QtCore.QSize(500, 16777215))
546 self.widget_2.setObjectName("widget_2")
547 self.gridLayout_2 = QtGui.QGridLayout(self.widget_2)
548 self.gridLayout_2.setObjectName("gridLayout_2")
549 self.verticalLayout_4.addWidget(self.widget_2)
550 self.tabWidget.addTab(self.tabStatus, "")
543 self.tabWidget.addTab(self.tabStatus, "")
551 self.verticalLayout.addWidget(self.tabWidget)
544 self.verticalLayout.addWidget(self.tabWidget)
552 self.txtInfo = QtGui.QTextEdit(self.centralwidget)
545 self.txtInfo = QtGui.QTextEdit(self.centralwidget)
553 self.txtInfo.setReadOnly(True)
546 self.txtInfo.setReadOnly(True)
554 self.txtInfo.setObjectName("txtInfo")
547 self.txtInfo.setObjectName("txtInfo")
555 self.verticalLayout.addWidget(self.txtInfo)
548 self.verticalLayout.addWidget(self.txtInfo)
549 self.txtProgress = QtGui.QLineEdit(self.centralwidget)
550 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Fixed)
551 sizePolicy.setHorizontalStretch(0)
552 sizePolicy.setVerticalStretch(0)
553 sizePolicy.setHeightForWidth(self.txtProgress.sizePolicy().hasHeightForWidth())
554 self.txtProgress.setSizePolicy(sizePolicy)
555 self.txtProgress.setObjectName("txtProgress")
556 self.verticalLayout.addWidget(self.txtProgress)
556 self.horizontalLayout_2 = QtGui.QHBoxLayout()
557 self.horizontalLayout_2 = QtGui.QHBoxLayout()
557 self.horizontalLayout_2.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
558 self.horizontalLayout_2.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
558 self.horizontalLayout_2.setObjectName("horizontalLayout_2")
559 self.horizontalLayout_2.setObjectName("horizontalLayout_2")
559 self.btnGbkp = QtGui.QPushButton(self.centralwidget)
560 self.btnGbkp = QtGui.QPushButton(self.centralwidget)
560 self.btnGbkp.setEnabled(False)
561 self.btnGbkp.setEnabled(False)
561 self.btnGbkp.setObjectName("btnGbkp")
562 self.btnGbkp.setObjectName("btnGbkp")
562 self.horizontalLayout_2.addWidget(self.btnGbkp)
563 self.horizontalLayout_2.addWidget(self.btnGbkp)
563 self.btnRestart = QtGui.QPushButton(self.centralwidget)
564 self.btnRestart = QtGui.QPushButton(self.centralwidget)
564 self.btnRestart.setEnabled(False)
565 self.btnRestart.setEnabled(False)
565 self.btnRestart.setObjectName("btnRestart")
566 self.btnRestart.setObjectName("btnRestart")
566 self.horizontalLayout_2.addWidget(self.btnRestart)
567 self.horizontalLayout_2.addWidget(self.btnRestart)
567 self.btnStartburn = QtGui.QPushButton(self.centralwidget)
568 self.btnStartburn = QtGui.QPushButton(self.centralwidget)
568 self.btnStartburn.setEnabled(False)
569 self.btnStartburn.setEnabled(False)
569 self.btnStartburn.setObjectName("btnStartburn")
570 self.btnStartburn.setObjectName("btnStartburn")
570 self.horizontalLayout_2.addWidget(self.btnStartburn)
571 self.horizontalLayout_2.addWidget(self.btnStartburn)
571 self.btnStopburn = QtGui.QPushButton(self.centralwidget)
572 self.btnStopburn = QtGui.QPushButton(self.centralwidget)
572 self.btnStopburn.setEnabled(False)
573 self.btnStopburn.setEnabled(False)
573 self.btnStopburn.setObjectName("btnStopburn")
574 self.btnStopburn.setObjectName("btnStopburn")
574 self.horizontalLayout_2.addWidget(self.btnStopburn)
575 self.horizontalLayout_2.addWidget(self.btnStopburn)
575 self.verticalLayout.addLayout(self.horizontalLayout_2)
576 self.verticalLayout.addLayout(self.horizontalLayout_2)
576 MainWindow.setCentralWidget(self.centralwidget)
577 MainWindow.setCentralWidget(self.centralwidget)
577 self.menubar = QtGui.QMenuBar(MainWindow)
578 self.menubar = QtGui.QMenuBar(MainWindow)
578 self.menubar.setGeometry(QtCore.QRect(0, 0, 824, 25))
579 self.menubar.setGeometry(QtCore.QRect(0, 0, 621, 21))
579 self.menubar.setObjectName("menubar")
580 self.menubar.setObjectName("menubar")
580 self.menuFile = QtGui.QMenu(self.menubar)
581 self.menuFile = QtGui.QMenu(self.menubar)
581 self.menuFile.setObjectName("menuFile")
582 self.menuFile.setObjectName("menuFile")
582 self.menuHelp = QtGui.QMenu(self.menubar)
583 self.menuHelp = QtGui.QMenu(self.menubar)
583 self.menuHelp.setObjectName("menuHelp")
584 self.menuHelp.setObjectName("menuHelp")
584 self.menuParameters = QtGui.QMenu(self.menubar)
585 self.menuParameters = QtGui.QMenu(self.menubar)
585 self.menuParameters.setObjectName("menuParameters")
586 self.menuParameters.setObjectName("menuParameters")
586 MainWindow.setMenuBar(self.menubar)
587 MainWindow.setMenuBar(self.menubar)
587 self.statusbar = QtGui.QStatusBar(MainWindow)
588 self.statusbar = QtGui.QStatusBar(MainWindow)
588 self.statusbar.setObjectName("statusbar")
589 self.statusbar.setObjectName("statusbar")
589 MainWindow.setStatusBar(self.statusbar)
590 MainWindow.setStatusBar(self.statusbar)
590 self.actionChange_Parameters = QtGui.QAction(MainWindow)
591 self.actionChange_Parameters = QtGui.QAction(MainWindow)
591 self.actionChange_Parameters.setEnabled(False)
592 self.actionChange_Parameters.setEnabled(False)
592 self.actionChange_Parameters.setObjectName("actionChange_Parameters")
593 self.actionChange_Parameters.setObjectName("actionChange_Parameters")
593 self.actionQuit = QtGui.QAction(MainWindow)
594 self.actionQuit = QtGui.QAction(MainWindow)
594 self.actionQuit.setObjectName("actionQuit")
595 self.actionQuit.setObjectName("actionQuit")
595 self.actionAbout = QtGui.QAction(MainWindow)
596 self.actionAbout = QtGui.QAction(MainWindow)
596 self.actionAbout.setObjectName("actionAbout")
597 self.actionAbout.setObjectName("actionAbout")
597 self.menuFile.addAction(self.actionQuit)
598 self.menuFile.addAction(self.actionQuit)
598 self.menuHelp.addAction(self.actionAbout)
599 self.menuHelp.addAction(self.actionAbout)
599 self.menuParameters.addAction(self.actionChange_Parameters)
600 self.menuParameters.addAction(self.actionChange_Parameters)
600 self.menubar.addAction(self.menuFile.menuAction())
601 self.menubar.addAction(self.menuFile.menuAction())
601 self.menubar.addAction(self.menuParameters.menuAction())
602 self.menubar.addAction(self.menuParameters.menuAction())
602 self.menubar.addAction(self.menuHelp.menuAction())
603 self.menubar.addAction(self.menuHelp.menuAction())
603
604
604 self.retranslateUi(MainWindow)
605 self.retranslateUi(MainWindow)
605 self.tabWidget.setCurrentIndex(0)
606 self.tabWidget.setCurrentIndex(0)
606 self.lstDcapacity.setCurrentIndex(2)
607 self.lstDcapacity.setCurrentIndex(2)
607 QtCore.QObject.connect(self.actionQuit, QtCore.SIGNAL("triggered()"), MainWindow.close)
608 QtCore.QObject.connect(self.actionQuit, QtCore.SIGNAL("triggered()"), MainWindow.close)
608 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.txtTDpath.setEnabled)
609 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.txtTDpath.setEnabled)
609 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnTDpath.setEnabled)
610 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnTDpath.setEnabled)
610 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnCHstart.setEnabled)
611 QtCore.QObject.connect(self.chkCheck, QtCore.SIGNAL("toggled(bool)"), self.btnCHstart.setEnabled)
611 QtCore.QObject.connect(self.chkDevD, QtCore.SIGNAL("toggled(bool)"), self.grpDevD.setEnabled)
612 QtCore.QObject.connect(self.chkDevD, QtCore.SIGNAL("toggled(bool)"), self.grpDevD.setEnabled)
612 QtCore.QObject.connect(self.chkDevB, QtCore.SIGNAL("toggled(bool)"), self.grpDevB.setEnabled)
613 QtCore.QObject.connect(self.chkDevB, QtCore.SIGNAL("toggled(bool)"), self.grpDevB.setEnabled)
613 QtCore.QObject.connect(self.chkDevC, QtCore.SIGNAL("toggled(bool)"), self.grpDevC.setEnabled)
614 QtCore.QObject.connect(self.chkDevC, QtCore.SIGNAL("toggled(bool)"), self.grpDevC.setEnabled)
614 QtCore.QObject.connect(self.chkDevA, QtCore.SIGNAL("toggled(bool)"), self.grpDevA.setEnabled)
615 QtCore.QObject.connect(self.chkDevA, QtCore.SIGNAL("toggled(bool)"), self.grpDevA.setEnabled)
615 QtCore.QMetaObject.connectSlotsByName(MainWindow)
616 QtCore.QMetaObject.connectSlotsByName(MainWindow)
616 MainWindow.setTabOrder(self.txtDpath, self.btnDpath)
617 MainWindow.setTabOrder(self.txtDpath, self.btnDpath)
617 MainWindow.setTabOrder(self.btnDpath, self.txtRpath)
618 MainWindow.setTabOrder(self.btnDpath, self.txtRpath)
618 MainWindow.setTabOrder(self.txtRpath, self.btnRpath)
619 MainWindow.setTabOrder(self.txtRpath, self.btnRpath)
619 MainWindow.setTabOrder(self.btnRpath, self.lstDtype)
620 MainWindow.setTabOrder(self.btnRpath, self.lstDtype)
620 MainWindow.setTabOrder(self.lstDtype, self.txtDtype)
621 MainWindow.setTabOrder(self.lstDtype, self.txtDtype)
621 MainWindow.setTabOrder(self.txtDtype, self.txtElabel)
622 MainWindow.setTabOrder(self.txtDtype, self.txtElabel)
622 MainWindow.setTabOrder(self.txtElabel, self.lstStartDay)
623 MainWindow.setTabOrder(self.txtElabel, self.lstStartDay)
623 MainWindow.setTabOrder(self.lstStartDay, self.lstStopDay)
624 MainWindow.setTabOrder(self.lstStartDay, self.lstStopDay)
624 MainWindow.setTabOrder(self.lstStopDay, self.lstDcapacity)
625 MainWindow.setTabOrder(self.lstStopDay, self.lstDcapacity)
625 MainWindow.setTabOrder(self.lstDcapacity, self.tabWidget)
626 MainWindow.setTabOrder(self.lstDcapacity, self.tabWidget)
626 MainWindow.setTabOrder(self.tabWidget, self.btnGbkp)
627 MainWindow.setTabOrder(self.tabWidget, self.btnGbkp)
627 MainWindow.setTabOrder(self.btnGbkp, self.btnRestart)
628 MainWindow.setTabOrder(self.btnGbkp, self.btnRestart)
628 MainWindow.setTabOrder(self.btnRestart, self.btnStartburn)
629 MainWindow.setTabOrder(self.btnRestart, self.btnStartburn)
629 MainWindow.setTabOrder(self.btnStartburn, self.btnStopburn)
630 MainWindow.setTabOrder(self.btnStartburn, self.btnStopburn)
630
631
631 def retranslateUi(self, MainWindow):
632 def retranslateUi(self, MainWindow):
632 MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "JRO BACKUP MANAGER", None, QtGui.QApplication.UnicodeUTF8))
633 MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "JRO BACKUP MANAGER", None, QtGui.QApplication.UnicodeUTF8))
633 self.btnDpath.setText(QtGui.QApplication.translate("MainWindow", "Data Path", None, QtGui.QApplication.UnicodeUTF8))
634 self.btnDpath.setText(QtGui.QApplication.translate("MainWindow", "Data Path", None, QtGui.QApplication.UnicodeUTF8))
634 self.btnRpath.setText(QtGui.QApplication.translate("MainWindow", "Resource Path", None, QtGui.QApplication.UnicodeUTF8))
635 self.btnRpath.setText(QtGui.QApplication.translate("MainWindow", "Resource Path", None, QtGui.QApplication.UnicodeUTF8))
635 self.lblDtype.setText(QtGui.QApplication.translate("MainWindow", "Data Type", None, QtGui.QApplication.UnicodeUTF8))
636 self.lblDtype.setText(QtGui.QApplication.translate("MainWindow", "Data Type", None, QtGui.QApplication.UnicodeUTF8))
636 self.lstDtype.setItemText(0, QtGui.QApplication.translate("MainWindow", "Raw Data", None, QtGui.QApplication.UnicodeUTF8))
637 self.lstDtype.setItemText(0, QtGui.QApplication.translate("MainWindow", "Raw Data", None, QtGui.QApplication.UnicodeUTF8))
637 self.lstDtype.setItemText(1, QtGui.QApplication.translate("MainWindow", "Process Data", None, QtGui.QApplication.UnicodeUTF8))
638 self.lstDtype.setItemText(1, QtGui.QApplication.translate("MainWindow", "Process Data", None, QtGui.QApplication.UnicodeUTF8))
638 self.lstDtype.setItemText(2, QtGui.QApplication.translate("MainWindow", "BLTR Data", None, QtGui.QApplication.UnicodeUTF8))
639 self.lstDtype.setItemText(2, QtGui.QApplication.translate("MainWindow", "BLTR Data", None, QtGui.QApplication.UnicodeUTF8))
639 self.lstDtype.setItemText(3, QtGui.QApplication.translate("MainWindow", "Other", None, QtGui.QApplication.UnicodeUTF8))
640 self.lstDtype.setItemText(3, QtGui.QApplication.translate("MainWindow", "Other", None, QtGui.QApplication.UnicodeUTF8))
640 self.txtDtype.setText(QtGui.QApplication.translate("MainWindow", "r", None, QtGui.QApplication.UnicodeUTF8))
641 self.txtDtype.setText(QtGui.QApplication.translate("MainWindow", "r", None, QtGui.QApplication.UnicodeUTF8))
641 self.lblElabel.setText(QtGui.QApplication.translate("MainWindow", "Exp. Label at device", None, QtGui.QApplication.UnicodeUTF8))
642 self.lblElabel.setText(QtGui.QApplication.translate("MainWindow", "Exp. Label at device", None, QtGui.QApplication.UnicodeUTF8))
642 self.lblCopys.setText(QtGui.QApplication.translate("MainWindow", "Copys", None, QtGui.QApplication.UnicodeUTF8))
643 self.lblCopys.setText(QtGui.QApplication.translate("MainWindow", "Copys", None, QtGui.QApplication.UnicodeUTF8))
643 self.lblStartDay.setText(QtGui.QApplication.translate("MainWindow", "Start Day:", None, QtGui.QApplication.UnicodeUTF8))
644 self.lblStartDay.setText(QtGui.QApplication.translate("MainWindow", "Start Day:", None, QtGui.QApplication.UnicodeUTF8))
644 self.lblStopDay.setText(QtGui.QApplication.translate("MainWindow", "Stop Day:", None, QtGui.QApplication.UnicodeUTF8))
645 self.lblStopDay.setText(QtGui.QApplication.translate("MainWindow", "Stop Day:", None, QtGui.QApplication.UnicodeUTF8))
645 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParameters), QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
646 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParameters), QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
646 self.chkDevA.setText(QtGui.QApplication.translate("MainWindow", "Dev A", None, QtGui.QApplication.UnicodeUTF8))
647 self.chkDevA.setText(QtGui.QApplication.translate("MainWindow", "Dev A", None, QtGui.QApplication.UnicodeUTF8))
647 self.txtBmodeA.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
648 self.txtBmodeA.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
648 self.btnTdevA.setText(QtGui.QApplication.translate("MainWindow", "Test DevA", None, QtGui.QApplication.UnicodeUTF8))
649 self.btnTdevA.setText(QtGui.QApplication.translate("MainWindow", "Test DevA", None, QtGui.QApplication.UnicodeUTF8))
649 self.chkDevB.setText(QtGui.QApplication.translate("MainWindow", "Dev B", None, QtGui.QApplication.UnicodeUTF8))
650 self.chkDevB.setText(QtGui.QApplication.translate("MainWindow", "Dev B", None, QtGui.QApplication.UnicodeUTF8))
650 self.txtBmodeB.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
651 self.txtBmodeB.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
651 self.btnTdevB.setText(QtGui.QApplication.translate("MainWindow", "Test DevB", None, QtGui.QApplication.UnicodeUTF8))
652 self.btnTdevB.setText(QtGui.QApplication.translate("MainWindow", "Test DevB", None, QtGui.QApplication.UnicodeUTF8))
652 self.chkDevC.setText(QtGui.QApplication.translate("MainWindow", "Dev C", None, QtGui.QApplication.UnicodeUTF8))
653 self.chkDevC.setText(QtGui.QApplication.translate("MainWindow", "Dev C", None, QtGui.QApplication.UnicodeUTF8))
653 self.txtBmodeC.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
654 self.txtBmodeC.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
654 self.btnTdevC.setText(QtGui.QApplication.translate("MainWindow", "Test DevC", None, QtGui.QApplication.UnicodeUTF8))
655 self.btnTdevC.setText(QtGui.QApplication.translate("MainWindow", "Test DevC", None, QtGui.QApplication.UnicodeUTF8))
655 self.chkDevD.setText(QtGui.QApplication.translate("MainWindow", "Dev D", None, QtGui.QApplication.UnicodeUTF8))
656 self.chkDevD.setText(QtGui.QApplication.translate("MainWindow", "Dev D", None, QtGui.QApplication.UnicodeUTF8))
656 self.txtBmodeD.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
657 self.txtBmodeD.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
657 self.btnTdevD.setText(QtGui.QApplication.translate("MainWindow", "Test DevD", None, QtGui.QApplication.UnicodeUTF8))
658 self.btnTdevD.setText(QtGui.QApplication.translate("MainWindow", "Test DevD", None, QtGui.QApplication.UnicodeUTF8))
658 self.lblDevice.setText(QtGui.QApplication.translate("MainWindow", "Device", None, QtGui.QApplication.UnicodeUTF8))
659 self.lblDevice.setText(QtGui.QApplication.translate("MainWindow", "Device", None, QtGui.QApplication.UnicodeUTF8))
659 self.lblBspeed.setText(QtGui.QApplication.translate("MainWindow", "Burn Speed", None, QtGui.QApplication.UnicodeUTF8))
660 self.lblBspeed.setText(QtGui.QApplication.translate("MainWindow", "Burn Speed", None, QtGui.QApplication.UnicodeUTF8))
660 self.lblBmode.setText(QtGui.QApplication.translate("MainWindow", "Burn Mode", None, QtGui.QApplication.UnicodeUTF8))
661 self.lblBmode.setText(QtGui.QApplication.translate("MainWindow", "Burn Mode", None, QtGui.QApplication.UnicodeUTF8))
661 self.lblDcapacity.setText(QtGui.QApplication.translate("MainWindow", "Device Capacity", None, QtGui.QApplication.UnicodeUTF8))
662 self.lblDcapacity.setText(QtGui.QApplication.translate("MainWindow", "Device Capacity", None, QtGui.QApplication.UnicodeUTF8))
662 self.lstDcapacity.setItemText(0, QtGui.QApplication.translate("MainWindow", "BluRay [25.0 GB]", None, QtGui.QApplication.UnicodeUTF8))
663 self.lstDcapacity.setItemText(0, QtGui.QApplication.translate("MainWindow", "BluRay [25.0 GB]", None, QtGui.QApplication.UnicodeUTF8))
663 self.lstDcapacity.setItemText(1, QtGui.QApplication.translate("MainWindow", "DVD2 [8.5 GB]", None, QtGui.QApplication.UnicodeUTF8))
664 self.lstDcapacity.setItemText(1, QtGui.QApplication.translate("MainWindow", "DVD2 [8.5 GB]", None, QtGui.QApplication.UnicodeUTF8))
664 self.lstDcapacity.setItemText(2, QtGui.QApplication.translate("MainWindow", "DVD1 [4.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
665 self.lstDcapacity.setItemText(2, QtGui.QApplication.translate("MainWindow", "DVD1 [4.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
665 self.lstDcapacity.setItemText(3, QtGui.QApplication.translate("MainWindow", "CD [0.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
666 self.lstDcapacity.setItemText(3, QtGui.QApplication.translate("MainWindow", "CD [0.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
666 self.lstDcapacity.setItemText(4, QtGui.QApplication.translate("MainWindow", "Other [? MB]", None, QtGui.QApplication.UnicodeUTF8))
667 self.lstDcapacity.setItemText(4, QtGui.QApplication.translate("MainWindow", "Other [? MB]", None, QtGui.QApplication.UnicodeUTF8))
667 self.lblPSgraphic.setText(QtGui.QApplication.translate("MainWindow", "PS Graphic", None, QtGui.QApplication.UnicodeUTF8))
668 self.lblPSgraphic.setText(QtGui.QApplication.translate("MainWindow", "PS Graphic", None, QtGui.QApplication.UnicodeUTF8))
668 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabDconfig), QtGui.QApplication.translate("MainWindow", "Device Config.", None, QtGui.QApplication.UnicodeUTF8))
669 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabDconfig), QtGui.QApplication.translate("MainWindow", "Device Config.", None, QtGui.QApplication.UnicodeUTF8))
669 self.label_4.setText(QtGui.QApplication.translate("MainWindow", "BURN", None, QtGui.QApplication.UnicodeUTF8))
670 self.label_4.setText(QtGui.QApplication.translate("MainWindow", "BURN", None, QtGui.QApplication.UnicodeUTF8))
670 self.lblSTATUS.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
671 self.lblSTATUS.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
671 self.lblINFO.setText(QtGui.QApplication.translate("MainWindow", "DISC", None, QtGui.QApplication.UnicodeUTF8))
672 self.lblINFO.setText(QtGui.QApplication.translate("MainWindow", "DISC", None, QtGui.QApplication.UnicodeUTF8))
672 self.lblSET.setText(QtGui.QApplication.translate("MainWindow", "COPY", None, QtGui.QApplication.UnicodeUTF8))
673 self.lblSET.setText(QtGui.QApplication.translate("MainWindow", "COPY", None, QtGui.QApplication.UnicodeUTF8))
673 self.lblDevA.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
674 self.lblDevA.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
674 self.lblDevB.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
675 self.lblDevB.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
675 self.lblDevC.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
676 self.lblDevC.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
676 self.lblDevD.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
677 self.lblDevD.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
677 self.label.setText(QtGui.QApplication.translate("MainWindow", "CHECK", None, QtGui.QApplication.UnicodeUTF8))
678 self.label.setText(QtGui.QApplication.translate("MainWindow", "CHECK", None, QtGui.QApplication.UnicodeUTF8))
678 self.btnTDpath.setText(QtGui.QApplication.translate("MainWindow", "Temp Data Path", None, QtGui.QApplication.UnicodeUTF8))
679 self.btnTDpath.setText(QtGui.QApplication.translate("MainWindow", "Temp Data Path", None, QtGui.QApplication.UnicodeUTF8))
679 self.lblSTATUS_2.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
680 self.lblSTATUS_2.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
680 self.lblDevA_2.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
681 self.lblDevA_2.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
681 self.lblDevB_2.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
682 self.lblDevB_2.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
682 self.lblDevC_2.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
683 self.lblDevC_2.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
683 self.lblDevD_2.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
684 self.lblDevD_2.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
684 self.chkCheck.setText(QtGui.QApplication.translate("MainWindow", "MANUAL", None, QtGui.QApplication.UnicodeUTF8))
685 self.chkCheck.setText(QtGui.QApplication.translate("MainWindow", "MANUAL", None, QtGui.QApplication.UnicodeUTF8))
685 self.btnCHstart.setText(QtGui.QApplication.translate("MainWindow", "START", None, QtGui.QApplication.UnicodeUTF8))
686 self.btnCHstart.setText(QtGui.QApplication.translate("MainWindow", "START", None, QtGui.QApplication.UnicodeUTF8))
686 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabStatus), QtGui.QApplication.translate("MainWindow", "Status Burn", None, QtGui.QApplication.UnicodeUTF8))
687 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabStatus), QtGui.QApplication.translate("MainWindow", "Status Burn", None, QtGui.QApplication.UnicodeUTF8))
687 self.btnGbkp.setText(QtGui.QApplication.translate("MainWindow", "Generate Bkp", None, QtGui.QApplication.UnicodeUTF8))
688 self.btnGbkp.setText(QtGui.QApplication.translate("MainWindow", "Generate Bkp", None, QtGui.QApplication.UnicodeUTF8))
688 self.btnRestart.setText(QtGui.QApplication.translate("MainWindow", "Restart", None, QtGui.QApplication.UnicodeUTF8))
689 self.btnRestart.setText(QtGui.QApplication.translate("MainWindow", "Restart", None, QtGui.QApplication.UnicodeUTF8))
689 self.btnStartburn.setText(QtGui.QApplication.translate("MainWindow", "Start Burn", None, QtGui.QApplication.UnicodeUTF8))
690 self.btnStartburn.setText(QtGui.QApplication.translate("MainWindow", "Start Burn", None, QtGui.QApplication.UnicodeUTF8))
690 self.btnStopburn.setText(QtGui.QApplication.translate("MainWindow", "Stop Burn", None, QtGui.QApplication.UnicodeUTF8))
691 self.btnStopburn.setText(QtGui.QApplication.translate("MainWindow", "Stop Burn", None, QtGui.QApplication.UnicodeUTF8))
691 self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
692 self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
692 self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
693 self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
693 self.menuParameters.setTitle(QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
694 self.menuParameters.setTitle(QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
694 self.actionChange_Parameters.setText(QtGui.QApplication.translate("MainWindow", "Change Parameters", None, QtGui.QApplication.UnicodeUTF8))
695 self.actionChange_Parameters.setText(QtGui.QApplication.translate("MainWindow", "Change Parameters", None, QtGui.QApplication.UnicodeUTF8))
695 self.actionQuit.setText(QtGui.QApplication.translate("MainWindow", "Quit", None, QtGui.QApplication.UnicodeUTF8))
696 self.actionQuit.setText(QtGui.QApplication.translate("MainWindow", "Quit", None, QtGui.QApplication.UnicodeUTF8))
696 self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
697 self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
697
698
698
699
699 if __name__ == "__main__":
700 if __name__ == "__main__":
700 import sys
701 import sys
701 app = QtGui.QApplication(sys.argv)
702 app = QtGui.QApplication(sys.argv)
702 MainWindow = QtGui.QMainWindow()
703 MainWindow = QtGui.QMainWindow()
703 ui = Ui_MainWindow()
704 ui = Ui_MainWindow()
704 ui.setupUi(MainWindow)
705 ui.setupUi(MainWindow)
705 MainWindow.show()
706 MainWindow.show()
706 sys.exit(app.exec_())
707 sys.exit(app.exec_())
707
708
@@ -1,77 +1,77
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2
2
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/Parameters.ui'
3 # Form implementation generated from reading ui file '/home/ricardoar/JRO_SVN/eric4/jro_backup_manager/ui/Parameters.ui'
4 #
4 #
5 # Created: Mon May 24 17:45:30 2010
5 # Created: Mon May 24 22:39:28 2010
6 # by: PyQt4 UI code generator 4.6
6 # by: PyQt4 UI code generator 4.7.2
7 #
7 #
8 # WARNING! All changes made in this file will be lost!
8 # WARNING! All changes made in this file will be lost!
9
9
10 from PyQt4 import QtCore, QtGui
10 from PyQt4 import QtCore, QtGui
11
11
12 class Ui_Parameters(object):
12 class Ui_Parameters(object):
13 def setupUi(self, Parameters):
13 def setupUi(self, Parameters):
14 Parameters.setObjectName("Parameters")
14 Parameters.setObjectName("Parameters")
15 Parameters.resize(207, 152)
15 Parameters.resize(207, 152)
16 self.verticalLayout = QtGui.QVBoxLayout(Parameters)
16 self.verticalLayout = QtGui.QVBoxLayout(Parameters)
17 self.verticalLayout.setObjectName("verticalLayout")
17 self.verticalLayout.setObjectName("verticalLayout")
18 self.horizontalLayout_3 = QtGui.QHBoxLayout()
18 self.horizontalLayout_3 = QtGui.QHBoxLayout()
19 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
19 self.horizontalLayout_3.setObjectName("horizontalLayout_3")
20 self.verticalLayout_2 = QtGui.QVBoxLayout()
20 self.verticalLayout_2 = QtGui.QVBoxLayout()
21 self.verticalLayout_2.setObjectName("verticalLayout_2")
21 self.verticalLayout_2.setObjectName("verticalLayout_2")
22 self.label = QtGui.QLabel(Parameters)
22 self.label = QtGui.QLabel(Parameters)
23 self.label.setObjectName("label")
23 self.label.setObjectName("label")
24 self.verticalLayout_2.addWidget(self.label)
24 self.verticalLayout_2.addWidget(self.label)
25 self.label_3 = QtGui.QLabel(Parameters)
25 self.label_3 = QtGui.QLabel(Parameters)
26 self.label_3.setObjectName("label_3")
26 self.label_3.setObjectName("label_3")
27 self.verticalLayout_2.addWidget(self.label_3)
27 self.verticalLayout_2.addWidget(self.label_3)
28 self.label_2 = QtGui.QLabel(Parameters)
28 self.label_2 = QtGui.QLabel(Parameters)
29 self.label_2.setObjectName("label_2")
29 self.label_2.setObjectName("label_2")
30 self.verticalLayout_2.addWidget(self.label_2)
30 self.verticalLayout_2.addWidget(self.label_2)
31 self.horizontalLayout_3.addLayout(self.verticalLayout_2)
31 self.horizontalLayout_3.addLayout(self.verticalLayout_2)
32 self.verticalLayout_3 = QtGui.QVBoxLayout()
32 self.verticalLayout_3 = QtGui.QVBoxLayout()
33 self.verticalLayout_3.setObjectName("verticalLayout_3")
33 self.verticalLayout_3.setObjectName("verticalLayout_3")
34 self.txtNcopys = QtGui.QSpinBox(Parameters)
34 self.txtNcopys = QtGui.QSpinBox(Parameters)
35 self.txtNcopys.setMinimum(1)
35 self.txtNcopys.setMinimum(1)
36 self.txtNcopys.setMaximum(999)
36 self.txtNcopys.setMaximum(999)
37 self.txtNcopys.setObjectName("txtNcopys")
37 self.txtNcopys.setObjectName("txtNcopys")
38 self.verticalLayout_3.addWidget(self.txtNcopys)
38 self.verticalLayout_3.addWidget(self.txtNcopys)
39 self.txtDisc = QtGui.QSpinBox(Parameters)
39 self.txtDisc = QtGui.QSpinBox(Parameters)
40 self.txtDisc.setMinimum(1)
40 self.txtDisc.setMinimum(1)
41 self.txtDisc.setMaximum(999999)
41 self.txtDisc.setMaximum(999999)
42 self.txtDisc.setObjectName("txtDisc")
42 self.txtDisc.setObjectName("txtDisc")
43 self.verticalLayout_3.addWidget(self.txtDisc)
43 self.verticalLayout_3.addWidget(self.txtDisc)
44 self.txtCopy = QtGui.QSpinBox(Parameters)
44 self.txtCopy = QtGui.QSpinBox(Parameters)
45 self.txtCopy.setMinimum(1)
45 self.txtCopy.setMinimum(1)
46 self.txtCopy.setMaximum(999)
46 self.txtCopy.setMaximum(999)
47 self.txtCopy.setObjectName("txtCopy")
47 self.txtCopy.setObjectName("txtCopy")
48 self.verticalLayout_3.addWidget(self.txtCopy)
48 self.verticalLayout_3.addWidget(self.txtCopy)
49 self.horizontalLayout_3.addLayout(self.verticalLayout_3)
49 self.horizontalLayout_3.addLayout(self.verticalLayout_3)
50 self.verticalLayout.addLayout(self.horizontalLayout_3)
50 self.verticalLayout.addLayout(self.horizontalLayout_3)
51 self.buttonBox = QtGui.QDialogButtonBox(Parameters)
51 self.buttonBox = QtGui.QDialogButtonBox(Parameters)
52 self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
52 self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
53 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
53 self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
54 self.buttonBox.setObjectName("buttonBox")
54 self.buttonBox.setObjectName("buttonBox")
55 self.verticalLayout.addWidget(self.buttonBox)
55 self.verticalLayout.addWidget(self.buttonBox)
56
56
57 self.retranslateUi(Parameters)
57 self.retranslateUi(Parameters)
58 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), Parameters.accept)
58 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), Parameters.accept)
59 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Parameters.reject)
59 QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("rejected()"), Parameters.reject)
60 QtCore.QMetaObject.connectSlotsByName(Parameters)
60 QtCore.QMetaObject.connectSlotsByName(Parameters)
61
61
62 def retranslateUi(self, Parameters):
62 def retranslateUi(self, Parameters):
63 Parameters.setWindowTitle(QtGui.QApplication.translate("Parameters", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
63 Parameters.setWindowTitle(QtGui.QApplication.translate("Parameters", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
64 self.label.setText(QtGui.QApplication.translate("Parameters", "N° Copys", None, QtGui.QApplication.UnicodeUTF8))
64 self.label.setText(QtGui.QApplication.translate("Parameters", "N° Copys", None, QtGui.QApplication.UnicodeUTF8))
65 self.label_3.setText(QtGui.QApplication.translate("Parameters", "Disc", None, QtGui.QApplication.UnicodeUTF8))
65 self.label_3.setText(QtGui.QApplication.translate("Parameters", "Disc", None, QtGui.QApplication.UnicodeUTF8))
66 self.label_2.setText(QtGui.QApplication.translate("Parameters", "Copy", None, QtGui.QApplication.UnicodeUTF8))
66 self.label_2.setText(QtGui.QApplication.translate("Parameters", "Copy", None, QtGui.QApplication.UnicodeUTF8))
67
67
68
68
69 if __name__ == "__main__":
69 if __name__ == "__main__":
70 import sys
70 import sys
71 app = QtGui.QApplication(sys.argv)
71 app = QtGui.QApplication(sys.argv)
72 Parameters = QtGui.QDialog()
72 Parameters = QtGui.QDialog()
73 ui = Ui_Parameters()
73 ui = Ui_Parameters()
74 ui.setupUi(Parameters)
74 ui.setupUi(Parameters)
75 Parameters.show()
75 Parameters.show()
76 sys.exit(app.exec_())
76 sys.exit(app.exec_())
77
77
General Comments 0
You need to be logged in to leave comments. Login now