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