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