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