##// END OF EJS Templates
***
ralonso -
r32:33
parent child
Show More
@@ -1,421 +1,410
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 Ui_MainWindow import Ui_MainWindow
10 10 from PyQt4 import QtGui
11 11 from subprocess import *
12 12 import sys
13 13 import os
14 14 import subprocess
15 15 import commands
16 16
17 17 class MainWindow(QMainWindow, Ui_MainWindow):
18 18 """
19 19 Class documentation goes here.
20 20 """
21 21
22 22 def __init__(self, parent = None):
23 23 QMainWindow.__init__(self, parent)
24 24 self.setupUi(self)
25 25 self.setupUi2()
26 26
27 27 #redirige salida estandar
28 28 sys.stdout = self
29 29
30 30
31 31 def setupUi2(self):
32 32 """
33 33 Se usa para inicializar ciertos parametros para pruebas
34 34 """
35 35 self.txtDpath.setText('/home/ricardoar/optional/STORAGE/EW_DRIFTS')
36 36 self.txtRpath.setText('/home/ricardoar/optional/STORAGE/prueba2_jro_backup_manager')
37 37 self.txtElabel.setText('EW_DRIFTS')
38 38 self.statusDpath = False
39 39 self.statusRpath = False
40 40
41
41 #
42 42 #Deteccion de los dispositvos de grabacion
43
43 #
44 44 #var_cmd="wodim --devices | grep /dev/ | awk -F\' '{print $2}'" #Funciona en consola pero no en python ΒΏ?
45 45 var_cmd="wodim --devices | grep /dev/ | awk '{print $2}' | awk -F= '{print $2}'"
46 46 var_output = commands.getstatusoutput(var_cmd)
47 47 if var_output[0] != 0:
48 48 self.txtInfo.setText("No se pudo encontrar los dispositivos de grabacion, output_error:" + str(var_output))
49 49 else:
50 50 self.txtInfo.append("dispositivos encontrados")
51 51 var_devices = var_output[1].split('\n')
52 52
53 53 var_tmp=[]
54 54 for i in range(0, 4):
55 55 if i < len(var_devices):
56 56 var_len = len(var_devices[i])
57 57 var_tmp.append(var_devices[i][1:var_len - 1])
58 58 else:
59 59 var_tmp.append('')
60 60
61 61 #Se escriben los dispostivos correspodientes, si existen
62 62 self.txtDeviceA.setText(str(var_tmp[0]))
63 63 self.txtDeviceB.setText(str(var_tmp[1]))
64 64 self.txtDeviceC.setText(str(var_tmp[2]))
65 65 self.txtDeviceD.setText(str(var_tmp[3]))
66 66 #Se desactivan los que no existen
67 67 if len(var_tmp[0]) == 0 :
68 68 self.chkDevA.setChecked(False)
69 69 self.chkDevA.setEnabled(False)
70 70 if len(var_tmp[1]) == 0 :
71 71 self.chkDevB.setChecked(False)
72 72 self.chkDevB.setEnabled(False)
73 73 if len(var_tmp[2]) == 0 :
74 74 self.chkDevC.setChecked(False)
75 75 self.chkDevC.setEnabled(False)
76 76 if len(var_tmp[3]) == 0 :
77 77 self.chkDevD.setChecked(False)
78 78 self.chkDevD.setEnabled(False)
79 79
80 80
81 81 def write(self, txt):
82 82 """
83 83 Escribe la salida estandar eb txtInfo
84 84 """
85 85 self.txtInfo.append(str(txt))
86 86
87 87
88 88 @pyqtSignature("")
89 89 def on_btnDpath_clicked(self):
90 90 """
91 91 Permite seleccionar graficamente el direcorio de los datos a grabar
92 92 """
93 93 var_Dpath= QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)
94 94 self.txtDpath.setText(var_Dpath)
95 95
96 96 #llamada a funcion
97 97 self.on_txtDpath_editingFinished()
98 98
99 99
100 100 @pyqtSignature("")
101 101 def on_btnRpath_clicked(self):
102 102 """
103 103 Permite seleccionar graficamente el direcorio del proyecto
104 104 """
105 105 var_Rpath = QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly)
106 106 self.txtRpath.setText(var_Rpath)
107 107
108 108 #llamada a funcion
109 109 self.on_txtRpath_editingFinished()
110 110
111 111
112 112 @pyqtSignature("")
113 113 def on_txtDpath_editingFinished(self):
114 114 """
115 115 Permite buscar los archivos de extension seleccionada en la ruta de de datos
116 116 y cargar los valores para el rango de tiempo a ser grabado
117 117 """
118 118
119 119 #Usando el modulo "subprocess", eric4 pide seleccion del tipo de subproceso (padre o hijo)
120 120 #por ello se prefiere usar el modulo "commands"
121 121 #p1= Popen(['find', var_Dpath, '-name', '*.r'], stdout=PIPE)
122 122 #p2= Popen(['awk', '-F/', '{print substr($NF,2,7)}'], stdin=p1.stdout, stdout=PIPE)
123 123 #output_p2= p2.communicate()[0]
124 124 #self.txtInfo.setText(output_p2)
125 125
126 126 #Se carga la variable con la ruta de datos
127 127 var_Dpath=self.txtDpath.text()
128 128
129 129 #Se verifica que la ruta exista y sea un directorio
130 130 var_cmd="test -d "+str(var_Dpath)
131 131 var_output=commands.getstatusoutput(var_cmd)[0]
132 132 if var_output != 0:
133 133 self.statusDpath = False
134 134 self.txtInfo.setText("Ruta no valida, output_error:" + str(var_output))
135 135 return
136 136 else:
137 137 self.statusDpath = True
138 138 self.txtInfo.append("Ruta valida, sin error:" + str(var_Dpath))
139 139
140 140 #Se buscan los archivos del tipo especificado
141 141 var_Dtype=self.txtDtype.text()
142 142 var_cmd="find " + str(var_Dpath) + " -name *."+ str(var_Dtype) +" | awk -F/ '{print substr($NF,2,7)}' | sort| uniq"
143 143 output_p2=commands.getstatusoutput(var_cmd)[1]
144 144
145 145 #Se cargan las listas para seleccionar StartDay y StopDay (QComboBox)
146 146 self.var_list=[]
147 147 for i in range(0, (len(output_p2)+1)/8):
148 148 self.var_list.append(output_p2[8*i:8*(i+1)-1])
149 149
150 150 self.lstStartDay.clear()
151 151 self.lstStopDay.clear()
152 152
153 153 for i in self.var_list:
154 154 self.lstStartDay.addItem(i)
155 155 self.lstStopDay.addItem(i)
156 156
157 157 self.lstStopDay.setCurrentIndex(self.lstStartDay.count()-1)
158 158
159 159
160 160 @pyqtSignature("")
161 161 def on_txtRpath_editingFinished(self):
162 162 """
163 163 Valida la ruta del proyecto
164 164 """
165 165 #Se carga la variable con la ruta del proyecto
166 166 var_Rpath=self.txtRpath.text()
167 167
168 168 #Se verifica que la ruta exista y sea un directorio
169 169 var_cmd="test -d "+str(var_Rpath)
170 170 var_output=commands.getstatusoutput(var_cmd)[0]
171 171 if var_output != 0:
172 172 self.statusRpath = False
173 173 self.txtInfo.append("Ruta no valida, output_error:" + str(var_output))
174 174 return
175 175 else:
176 176 self.statusRpath = True
177 177 self.txtInfo.append("Ruta valida, sin error:" + str(var_Rpath))
178 178
179 179
180 180 @pyqtSignature("int")
181 181 def on_lstDtype_activated(self, index):
182 182 """
183 183 Permite elegir entre los tipos de archivos
184 184 """
185 185 if index == 0:
186 186 var_type='r'
187 187 elif index == 1:
188 188 var_type='pdata'
189 189 elif index == 2:
190 190 var_type='sswma'
191 191
192 192 if index != 3:
193 193 self.txtDtype.setText(var_type)
194 194 self.txtDtype.setReadOnly(True)
195 195 self.on_txtDpath_editingFinished()
196 196 else:
197 197 self.txtDtype.setText('')
198 198 self.txtDtype.setReadOnly(False)
199 199
200 200
201 201 @pyqtSignature("")
202 202 def on_txtDtype_editingFinished(self):
203 203 """
204 204 Se activa cuando el tipo de archivo es ingresado manualmente
205 205 """
206 206 #llamada a funcion
207 207 self.on_txtDpath_editingFinished()
208 208
209 209
210 210 @pyqtSignature("int") #CLOSED
211 211 def on_lstStartDay_activated(self, index):
212 212 """
213 213 Cambia la lista de opciones en lstStopDay
214 214 """
215 215 var_StopDay_index=self.lstStopDay.count() - self.lstStopDay.currentIndex()
216 216 self.lstStopDay.clear()
217 217
218 218 for i in self.var_list[index:]:
219 219 self.lstStopDay.addItem(i)
220 220
221 221 self.lstStopDay.setCurrentIndex(self.lstStopDay.count() - var_StopDay_index)
222 222
223 223
224 224 @pyqtSignature("int") #CLOSED
225 225 def on_lstStopDay_activated(self, index):
226 226 """
227 227 Cambia la lista de opciones en lstStartDay
228 228 """
229 229 var_StartDay_index=self.lstStartDay.currentIndex()
230 230 var_end_index = self.lstStopDay.count() - index
231 231 self.lstStartDay.clear()
232 232
233 233 for i in self.var_list[:len(self.var_list) - var_end_index + 1]:
234 234 self.lstStartDay.addItem(i)
235 235
236 236 self.lstStartDay.setCurrentIndex(var_StartDay_index)
237 237
238 238
239 239 @pyqtSignature("int") #CLOSED
240 240 def on_lstDcapacity_activated(self, index):
241 241 """
242 242 Permite elegir el tamaΓ±o del disco
243 243 """
244 244 if index == 0:
245 245 var_size=25.0
246 246 elif index == 1:
247 247 var_size=8.5
248 248 elif index == 2:
249 249 var_size=4.7
250 250 elif index == 3:
251 251 var_size=0.7
252 252
253 253 if index != 4:
254 254 self.txtDcapacity.setText(str(var_size*10**9/1024**2))
255 255 self.txtDcapacity.setReadOnly(True)
256 256 else:
257 257 self.txtDcapacity.setText('')
258 258 self.txtDcapacity.setReadOnly(False)
259 259
260 260
261 261 @pyqtSignature("")
262 262 def on_btnGbkp_clicked(self):
263 263 """
264 264 Cuando se presiona el boton btnGbkp
265 265 """
266 266
267 267 #Verifica que las rutas sean validas
268 268 if self.statusDpath == False or self.statusRpath == False:
269 269 if self.statusDpath == False:
270 270 self.txtInfo.append("Ruta de datos no valida")
271 271 if self.statusRpath == False:
272 272 self.txtInfo.append("Ruta de proyecto no valida")
273 273 return
274 274
275 275 #Crea las carpetas en la ruta del proyecto y verifica que se crearon correctamente
276 276 var_Rpath=self.txtRpath.text()
277 277 var_dirs='/{gpath,iso,ppath}'
278 278 var_cmd="mkdir -p "+str(var_Rpath)+str(var_dirs)
279 279 var_output=commands.getstatusoutput(var_cmd)[0]
280 280 if var_output != 0:
281 281 self.txtInfo.append("No se pudieron crear los directorios, output_error:" + str(var_output))
282 282 return
283 283 else:
284 284 self.txtInfo.append('Carpetas creadas correctamente')
285 285
286 286 #Cargando variables con los parametros
287 287 var_Dpath=self.txtDpath.text()
288 288 var_Rpath=self.txtRpath.text()
289 289 var_Rpath_ppath=var_Rpath+"/ppath" #Ruta de los archivos a grabar
290 290 var_sublist=[]
291 291 for i in self.var_list[self.lstStartDay.currentIndex():self.lstStartDay.currentIndex() + self.lstStopDay.currentIndex()+1]:
292 292 var_sublist.append(i)
293 293 if len(var_sublist) == 0:
294 294 self.txtInfo.append("No existen archivos encontrados")
295 295 return
296 296 #self.txtInfo.append('elementos: '+str(len(var_sublist)))
297 297
298 298
299 299 var_Dtype=self.txtDtype.text()
300 300 var_Dcapacity=float(self.txtDcapacity.text())*1024 #tamaΓ±o en KB
301 301
302 302 #Busca los archivos con los parametros de busqueda
303 303 var_files_list=[]
304 304 for var_doy in var_sublist:
305 305 var_cmd="find " + str(var_Dpath) + " -name ?"+var_doy+"???."+ str(var_Dtype) + " |sort"
306 306 var_output=commands.getstatusoutput(var_cmd)[1]
307 307 for var_file in var_output.split():
308 308 var_files_list.append(var_file) #Almacena cada archivo en la lista
309 309
310 310 #
311 311 #Genera la lista de archivos .dat que contienen los archivos a grabar en cada DVD
312 312 #
313 313 var_n=0 #Se usa para contar el numero de archivos a grabar en el DVD
314 # var_n_files=0
315 var_tmp=0 #
316 var_files_list_2=[]
314 var_tmp=0 #Se usa para acumulanr el tamaΓ±o de los archivos de la lista
315 var_files_list_2=[] #Se usa para almacenar la lista de archivos agrbar en cada DVD
317 316
318 317 for i in var_files_list: #Se asignan en i los archivos de la lista
319 318 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
320 319 var_tmp += var_size_i #Se acumulan el tamaΓ±o de los archivos de la lista
321 320
322 321 #Si el tamaΓ±o acumulado es mayor que el de el DVD
323 322 if var_tmp > var_Dcapacity:
324 323 var_tmp -= var_size_i #se quita el tamaΓ±o sumado para mostrar el tamaΓ±o real
325 324 #se crea un archivo con numeral en el sufijo y extension .dat
326 325 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w")
327 326 #Se aΓ±ade la lista de archivos a grabar en el DVD al archivo .dat
328 327 for line in var_files_list_2:
329 328 var_file.write(line.split(var_Dpath)[1]+'=')
330 329 var_file.write(line+'\n')
331 330 var_file.close()
332 331
333 # var_n_files += len(var_files_list_2)
334 332 var_tmp = var_size_i #Se asigna a la variable el tamaΓ±o del archivo actual
335 var_files_list_2=[]
336 var_files_list_2.append(i)
333 var_files_list_2=[] #Se reinicia la lista
337 334 var_n += 1
338
339 else:
340 var_files_list_2.append(i)
341
342 #muestra info
343 self.txtInfo.append(str(len(var_files_list_2))+" size:"+str(var_tmp))
335 var_files_list_2.append(i)
344 336
345 337 var_file = open(var_Rpath_ppath+"/"+self.txtElabel.text()+"_"+str(var_n)+".dat","w")
346 338 for line in var_files_list_2:
347 339 var_file.write(line.split(var_Dpath)[1]+'=')
348 340 var_file.write(line+'\n')
349 341 var_file.close()
350
351 # var_n_files += len(var_files_list_2)
352 342
353 343 #Se deshabilita el Tab Parameters y el boton btnGbkp
354 344 self.tabParameters.setEnabled(False)
355 345 self.btnGbkp.setEnabled(False)
356 346
357 347
358 348 @pyqtSignature("")
359 349 def on_btnStartburn_clicked(self):
360 350 """
361 351 Slot documentation goes here.
362 352 """
363 353 sys.stdout = self
364 354 #sys.stderr = self
365 355 print "stdout_!!!"
366 356 var_Rpath=self.txtRpath.text()
367 357 var_Rpath_ppath=var_Rpath+"/ppath"
368 358 var_Rpath_iso=var_Rpath+"/iso"
369 359
370 360 var_label=self.txtElabel.text()
371 361
372 362 file_iso=var_Rpath_iso+'/2.iso'
373 363 file_dat=var_Rpath_ppath+'/EW_DRIFTS_1.dat'
374 364
375 365 var_cmd = 'genisoimage -hide-joliet-trans-tbl -joliet-long -r '
376 366 var_cmd += ' -A '+var_label+' -V '+var_label
377 367 var_cmd += ' -graft-points -path-list '+ file_dat+' -o '+file_iso
378 368 self.txtInfo.append(var_cmd)
379 369
380 370 #var_output=commands.getstatusoutput(str(var_cmd))[1]
381 371 #self.txtInfo.append(var_output)
382 372
383 373 #os.system(str(var_cmd))
384 374 #p = subprocess.Popen(str('ls /'), shell=True, stdout=self)
385 375 #os.waitpid(p.pid, 0)
386 376 ####self.txtInfo.append(str(p.pid))
387 377
388 #timer.time = 10
389 #timer.init()
378
390 379
391 380 @pyqtSignature("")
392 381 def on_btnRestart_clicked(self):
393 382 """
394 383 Slot documentation goes here.
395 384 """
396 385 self.tabParameters.setEnabled(True)
397 386 self.btnGbkp.setEnabled(True)
398 387
399 388 @pyqtSignature("")
400 389 def on_btnTdevA_clicked(self):
401 390 var_dev = str(self.txtDeviceA.text())
402 391 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
403 392 commands.getstatusoutput(var_cmd)
404 393
405 394 @pyqtSignature("")
406 395 def on_btnTdevB_clicked(self):
407 396 var_dev = str(self.txtDeviceB.text())
408 397 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
409 398 commands.getstatusoutput(var_cmd)
410 399
411 400 @pyqtSignature("")
412 401 def on_btnTdevC_clicked(self):
413 402 var_dev = str(self.txtDeviceC.text())
414 403 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
415 404 commands.getstatusoutput(var_cmd)
416 405
417 406 @pyqtSignature("")
418 407 def on_btnTdevD_clicked(self):
419 408 var_dev = str(self.txtDeviceD.text())
420 409 var_cmd = 'eject ' + var_dev + '; eject -t ' + var_dev
421 410 commands.getstatusoutput(var_cmd)
@@ -1,910 +1,942
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <ui version="4.0">
3 3 <class>MainWindow</class>
4 4 <widget class="QMainWindow" name="MainWindow">
5 5 <property name="geometry">
6 6 <rect>
7 7 <x>0</x>
8 8 <y>0</y>
9 <width>745</width>
9 <width>809</width>
10 10 <height>766</height>
11 11 </rect>
12 12 </property>
13 13 <property name="windowTitle">
14 14 <string>JRO BACKUP MANAGER</string>
15 15 </property>
16 16 <widget class="QWidget" name="centralwidget">
17 17 <layout class="QVBoxLayout" name="verticalLayout">
18 18 <item>
19 19 <widget class="QTabWidget" name="tabWidget">
20 20 <property name="enabled">
21 21 <bool>true</bool>
22 22 </property>
23 23 <property name="sizePolicy">
24 24 <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
25 25 <horstretch>0</horstretch>
26 26 <verstretch>0</verstretch>
27 27 </sizepolicy>
28 28 </property>
29 29 <property name="currentIndex">
30 30 <number>0</number>
31 31 </property>
32 32 <widget class="QWidget" name="tabParameters">
33 33 <property name="enabled">
34 34 <bool>true</bool>
35 35 </property>
36 36 <attribute name="title">
37 37 <string>Parameters</string>
38 38 </attribute>
39 39 <layout class="QVBoxLayout" name="verticalLayout_2">
40 40 <item>
41 41 <layout class="QHBoxLayout" name="horizontalLayout">
42 42 <property name="sizeConstraint">
43 43 <enum>QLayout::SetDefaultConstraint</enum>
44 44 </property>
45 45 <item>
46 46 <widget class="QLineEdit" name="txtDpath">
47 47 <property name="sizePolicy">
48 48 <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
49 49 <horstretch>0</horstretch>
50 50 <verstretch>0</verstretch>
51 51 </sizepolicy>
52 52 </property>
53 53 </widget>
54 54 </item>
55 55 <item>
56 56 <widget class="QPushButton" name="btnDpath">
57 57 <property name="sizePolicy">
58 58 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
59 59 <horstretch>0</horstretch>
60 60 <verstretch>0</verstretch>
61 61 </sizepolicy>
62 62 </property>
63 63 <property name="text">
64 64 <string>Data Path</string>
65 65 </property>
66 66 <property name="checkable">
67 67 <bool>false</bool>
68 68 </property>
69 69 </widget>
70 70 </item>
71 71 </layout>
72 72 </item>
73 73 <item>
74 74 <layout class="QHBoxLayout" name="horizontalLayout_3">
75 75 <item>
76 76 <widget class="QLineEdit" name="txtRpath"/>
77 77 </item>
78 78 <item>
79 79 <widget class="QPushButton" name="btnRpath">
80 80 <property name="text">
81 81 <string>Resource Path</string>
82 82 </property>
83 83 </widget>
84 84 </item>
85 85 </layout>
86 86 </item>
87 87 <item>
88 88 <widget class="QLabel" name="lblDtype">
89 89 <property name="text">
90 90 <string>Data Type</string>
91 91 </property>
92 92 </widget>
93 93 </item>
94 94 <item>
95 95 <layout class="QHBoxLayout" name="horizontalLayout_4">
96 96 <item>
97 97 <widget class="QComboBox" name="lstDtype">
98 98 <item>
99 99 <property name="text">
100 100 <string>Raw Data</string>
101 101 </property>
102 102 </item>
103 103 <item>
104 104 <property name="text">
105 105 <string>Process Data</string>
106 106 </property>
107 107 </item>
108 108 <item>
109 109 <property name="text">
110 110 <string>BLTR Data</string>
111 111 </property>
112 112 </item>
113 113 <item>
114 114 <property name="text">
115 115 <string>Other</string>
116 116 </property>
117 117 </item>
118 118 </widget>
119 119 </item>
120 120 <item>
121 121 <widget class="QLineEdit" name="txtDtype">
122 122 <property name="text">
123 123 <string>r</string>
124 124 </property>
125 125 <property name="readOnly">
126 126 <bool>true</bool>
127 127 </property>
128 128 </widget>
129 129 </item>
130 130 <item>
131 131 <widget class="QCheckBox" name="chkMST">
132 132 <property name="text">
133 133 <string>MST-ISR Data</string>
134 134 </property>
135 135 </widget>
136 136 </item>
137 137 </layout>
138 138 </item>
139 139 <item>
140 140 <layout class="QHBoxLayout" name="horizontalLayout_6">
141 141 <item>
142 142 <widget class="QLabel" name="lblElabel">
143 143 <property name="text">
144 144 <string>Exp. Label at device</string>
145 145 </property>
146 146 </widget>
147 147 </item>
148 148 <item>
149 149 <widget class="QLabel" name="lblCopys">
150 150 <property name="text">
151 151 <string>Copys</string>
152 152 </property>
153 153 </widget>
154 154 </item>
155 155 </layout>
156 156 </item>
157 157 <item>
158 158 <layout class="QHBoxLayout" name="horizontalLayout_5">
159 159 <item>
160 160 <widget class="QLineEdit" name="txtElabel"/>
161 161 </item>
162 162 <item>
163 163 <widget class="QLineEdit" name="txtCopys">
164 164 <property name="text">
165 165 <string>0</string>
166 166 </property>
167 167 </widget>
168 168 </item>
169 169 </layout>
170 170 </item>
171 171 <item>
172 172 <layout class="QHBoxLayout" name="horizontalLayout_7">
173 173 <item>
174 174 <widget class="QLabel" name="lblStartDay">
175 175 <property name="text">
176 176 <string>Start Day:</string>
177 177 </property>
178 178 </widget>
179 179 </item>
180 180 <item>
181 181 <widget class="QLabel" name="lblStopDay">
182 182 <property name="text">
183 183 <string>Stop Day:</string>
184 184 </property>
185 185 </widget>
186 186 </item>
187 187 </layout>
188 188 </item>
189 189 <item>
190 190 <layout class="QHBoxLayout" name="horizontalLayout_8">
191 191 <item>
192 192 <widget class="QComboBox" name="lstStartDay"/>
193 193 </item>
194 194 <item>
195 195 <widget class="QComboBox" name="lstStopDay"/>
196 196 </item>
197 197 </layout>
198 198 </item>
199 199 </layout>
200 200 </widget>
201 201 <widget class="QWidget" name="tabDconfig">
202 202 <property name="enabled">
203 203 <bool>true</bool>
204 204 </property>
205 205 <property name="sizePolicy">
206 206 <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
207 207 <horstretch>0</horstretch>
208 208 <verstretch>0</verstretch>
209 209 </sizepolicy>
210 210 </property>
211 211 <attribute name="title">
212 212 <string>Device Config.</string>
213 213 </attribute>
214 214 <layout class="QVBoxLayout" name="verticalLayout_3">
215 215 <item>
216 216 <layout class="QGridLayout" name="gridLayout">
217 217 <item row="0" column="0">
218 218 <layout class="QVBoxLayout" name="verticalLayout_15">
219 219 <item>
220 220 <widget class="QCheckBox" name="chkDevA">
221 221 <property name="text">
222 222 <string>Dev A</string>
223 223 </property>
224 224 <property name="checked">
225 225 <bool>true</bool>
226 226 </property>
227 227 </widget>
228 228 </item>
229 229 <item>
230 230 <widget class="QWidget" name="grpDevA" native="true">
231 231 <layout class="QVBoxLayout" name="verticalLayout_11">
232 232 <item>
233 233 <widget class="QLineEdit" name="txtDeviceA"/>
234 234 </item>
235 235 <item>
236 <widget class="QLineEdit" name="txtBspeedA"/>
237 </item>
238 <item>
239 <widget class="QLineEdit" name="txtBmodeA"/>
236 <widget class="QLineEdit" name="txtBspeedA">
237 <property name="text">
238 <string>16</string>
239 </property>
240 </widget>
241 </item>
242 <item>
243 <widget class="QLineEdit" name="txtBmodeA">
244 <property name="text">
245 <string>-sao</string>
246 </property>
247 </widget>
240 248 </item>
241 249 <item>
242 250 <widget class="QPushButton" name="btnTdevA">
243 251 <property name="text">
244 252 <string>Test DevA</string>
245 253 </property>
246 254 </widget>
247 255 </item>
248 256 </layout>
249 257 </widget>
250 258 </item>
251 259 </layout>
252 260 </item>
253 261 <item row="0" column="1">
254 262 <layout class="QVBoxLayout" name="verticalLayout_16">
255 263 <item>
256 264 <widget class="QCheckBox" name="chkDevB">
257 265 <property name="text">
258 266 <string>Dev B</string>
259 267 </property>
260 268 <property name="checked">
261 269 <bool>true</bool>
262 270 </property>
263 271 </widget>
264 272 </item>
265 273 <item>
266 274 <widget class="QWidget" name="grpDevB" native="true">
267 275 <layout class="QVBoxLayout" name="verticalLayout_12">
268 276 <item>
269 277 <widget class="QLineEdit" name="txtDeviceB"/>
270 278 </item>
271 279 <item>
272 <widget class="QLineEdit" name="txtBspeedB"/>
273 </item>
274 <item>
275 <widget class="QLineEdit" name="txtBmodeB"/>
280 <widget class="QLineEdit" name="txtBspeedB">
281 <property name="text">
282 <string>16</string>
283 </property>
284 </widget>
285 </item>
286 <item>
287 <widget class="QLineEdit" name="txtBmodeB">
288 <property name="text">
289 <string>-sao</string>
290 </property>
291 </widget>
276 292 </item>
277 293 <item>
278 294 <widget class="QPushButton" name="btnTdevB">
279 295 <property name="text">
280 296 <string>Test DevB</string>
281 297 </property>
282 298 </widget>
283 299 </item>
284 300 </layout>
285 301 </widget>
286 302 </item>
287 303 </layout>
288 304 </item>
289 305 <item row="0" column="2">
290 306 <layout class="QVBoxLayout" name="verticalLayout_17">
291 307 <item>
292 308 <widget class="QCheckBox" name="chkDevC">
293 309 <property name="text">
294 310 <string>Dev C</string>
295 311 </property>
296 312 <property name="checked">
297 313 <bool>true</bool>
298 314 </property>
299 315 </widget>
300 316 </item>
301 317 <item>
302 318 <widget class="QWidget" name="grpDevC" native="true">
303 319 <layout class="QVBoxLayout" name="verticalLayout_13">
304 320 <item>
305 321 <widget class="QLineEdit" name="txtDeviceC"/>
306 322 </item>
307 323 <item>
308 <widget class="QLineEdit" name="txtBspeedC"/>
309 </item>
310 <item>
311 <widget class="QLineEdit" name="txtBmodeC"/>
324 <widget class="QLineEdit" name="txtBspeedC">
325 <property name="text">
326 <string>16</string>
327 </property>
328 </widget>
329 </item>
330 <item>
331 <widget class="QLineEdit" name="txtBmodeC">
332 <property name="text">
333 <string>-sao</string>
334 </property>
335 </widget>
312 336 </item>
313 337 <item>
314 338 <widget class="QPushButton" name="btnTdevC">
315 339 <property name="text">
316 340 <string>Test DevC</string>
317 341 </property>
318 342 </widget>
319 343 </item>
320 344 </layout>
321 345 </widget>
322 346 </item>
323 347 </layout>
324 348 </item>
325 349 <item row="0" column="3">
326 350 <layout class="QVBoxLayout" name="verticalLayout_18">
327 351 <item>
328 352 <widget class="QCheckBox" name="chkDevD">
329 353 <property name="text">
330 354 <string>Dev D</string>
331 355 </property>
332 356 <property name="checked">
333 357 <bool>true</bool>
334 358 </property>
335 359 </widget>
336 360 </item>
337 361 <item>
338 362 <widget class="QWidget" name="grpDevD" native="true">
339 363 <layout class="QVBoxLayout" name="verticalLayout_14">
340 364 <item>
341 365 <widget class="QLineEdit" name="txtDeviceD"/>
342 366 </item>
343 367 <item>
344 <widget class="QLineEdit" name="txtBspeedD"/>
345 </item>
346 <item>
347 <widget class="QLineEdit" name="txtBmodeD"/>
368 <widget class="QLineEdit" name="txtBspeedD">
369 <property name="text">
370 <string>16</string>
371 </property>
372 </widget>
373 </item>
374 <item>
375 <widget class="QLineEdit" name="txtBmodeD">
376 <property name="text">
377 <string>-sao</string>
378 </property>
379 </widget>
348 380 </item>
349 381 <item>
350 382 <widget class="QPushButton" name="btnTdevD">
351 383 <property name="text">
352 384 <string>Test DevD</string>
353 385 </property>
354 386 </widget>
355 387 </item>
356 388 </layout>
357 389 </widget>
358 390 </item>
359 391 </layout>
360 392 </item>
361 393 <item row="0" column="4">
362 394 <layout class="QVBoxLayout" name="verticalLayout_19">
363 395 <item>
364 396 <widget class="QLabel" name="label_2">
365 397 <property name="text">
366 398 <string/>
367 399 </property>
368 400 </widget>
369 401 </item>
370 402 <item>
371 403 <widget class="QLabel" name="lblDevice">
372 404 <property name="text">
373 405 <string>Device</string>
374 406 </property>
375 407 </widget>
376 408 </item>
377 409 <item>
378 410 <widget class="QLabel" name="lblBspeed">
379 411 <property name="text">
380 412 <string>Burn Speed</string>
381 413 </property>
382 414 </widget>
383 415 </item>
384 416 <item>
385 417 <widget class="QLabel" name="lblBmode">
386 418 <property name="text">
387 419 <string>Burn Mode</string>
388 420 </property>
389 421 </widget>
390 422 </item>
391 423 <item>
392 424 <widget class="QLabel" name="label">
393 425 <property name="text">
394 426 <string/>
395 427 </property>
396 428 </widget>
397 429 </item>
398 430 </layout>
399 431 </item>
400 432 </layout>
401 433 </item>
402 434 <item>
403 435 <layout class="QHBoxLayout" name="horizontalLayout_9">
404 436 <property name="sizeConstraint">
405 437 <enum>QLayout::SetFixedSize</enum>
406 438 </property>
407 439 <item>
408 440 <widget class="QLabel" name="lblBprocess">
409 441 <property name="sizePolicy">
410 442 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
411 443 <horstretch>0</horstretch>
412 444 <verstretch>0</verstretch>
413 445 </sizepolicy>
414 446 </property>
415 447 <property name="text">
416 448 <string>Burning process</string>
417 449 </property>
418 450 </widget>
419 451 </item>
420 452 <item>
421 453 <widget class="QCheckBox" name="chkSimultaneously">
422 454 <property name="sizePolicy">
423 455 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
424 456 <horstretch>0</horstretch>
425 457 <verstretch>0</verstretch>
426 458 </sizepolicy>
427 459 </property>
428 460 <property name="text">
429 461 <string>Simultaneously</string>
430 462 </property>
431 463 </widget>
432 464 </item>
433 465 <item>
434 466 <widget class="QCheckBox" name="chkSequentially">
435 467 <property name="sizePolicy">
436 468 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
437 469 <horstretch>0</horstretch>
438 470 <verstretch>0</verstretch>
439 471 </sizepolicy>
440 472 </property>
441 473 <property name="text">
442 474 <string>Sequentially</string>
443 475 </property>
444 476 <property name="checked">
445 477 <bool>true</bool>
446 478 </property>
447 479 </widget>
448 480 </item>
449 481 </layout>
450 482 </item>
451 483 <item>
452 484 <layout class="QHBoxLayout" name="horizontalLayout_11">
453 485 <property name="spacing">
454 486 <number>6</number>
455 487 </property>
456 488 <property name="sizeConstraint">
457 489 <enum>QLayout::SetDefaultConstraint</enum>
458 490 </property>
459 491 <item>
460 492 <widget class="QLabel" name="lblDcapacity">
461 493 <property name="sizePolicy">
462 494 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
463 495 <horstretch>0</horstretch>
464 496 <verstretch>0</verstretch>
465 497 </sizepolicy>
466 498 </property>
467 499 <property name="text">
468 500 <string>Device Capacity</string>
469 501 </property>
470 502 </widget>
471 503 </item>
472 504 <item>
473 505 <widget class="QCheckBox" name="chkSalert">
474 506 <property name="sizePolicy">
475 507 <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
476 508 <horstretch>0</horstretch>
477 509 <verstretch>0</verstretch>
478 510 </sizepolicy>
479 511 </property>
480 512 <property name="text">
481 513 <string>Sound Alert</string>
482 514 </property>
483 515 </widget>
484 516 </item>
485 517 </layout>
486 518 </item>
487 519 <item>
488 520 <layout class="QHBoxLayout" name="horizontalLayout_10">
489 521 <property name="sizeConstraint">
490 522 <enum>QLayout::SetFixedSize</enum>
491 523 </property>
492 524 <item>
493 525 <widget class="QComboBox" name="lstDcapacity">
494 526 <property name="currentIndex">
495 527 <number>2</number>
496 528 </property>
497 529 <item>
498 530 <property name="text">
499 531 <string>BluRay [25.0 GB]</string>
500 532 </property>
501 533 </item>
502 534 <item>
503 535 <property name="text">
504 536 <string>DVD2 [8.5 GB]</string>
505 537 </property>
506 538 </item>
507 539 <item>
508 540 <property name="text">
509 541 <string>DVD1 [4.7 GB]</string>
510 542 </property>
511 543 </item>
512 544 <item>
513 545 <property name="text">
514 546 <string>CD [0.7 GB]</string>
515 547 </property>
516 548 </item>
517 549 <item>
518 550 <property name="text">
519 551 <string>Other [? GB]</string>
520 552 </property>
521 553 </item>
522 554 </widget>
523 555 </item>
524 556 <item>
525 557 <widget class="QLineEdit" name="txtDcapacity">
526 558 <property name="text">
527 559 <string>4482.26928711</string>
528 560 </property>
529 561 <property name="readOnly">
530 562 <bool>true</bool>
531 563 </property>
532 564 </widget>
533 565 </item>
534 566 <item>
535 567 <widget class="QCheckBox" name="chkPSgraphic">
536 568 <property name="text">
537 569 <string>PS Graphic</string>
538 570 </property>
539 571 </widget>
540 572 </item>
541 573 <item>
542 574 <widget class="QLineEdit" name="lineEdit_17"/>
543 575 </item>
544 576 </layout>
545 577 </item>
546 578 </layout>
547 579 </widget>
548 580 <widget class="QWidget" name="tabSburn">
549 581 <attribute name="title">
550 582 <string>Status Burn</string>
551 583 </attribute>
552 584 <layout class="QVBoxLayout" name="verticalLayout_4">
553 585 <item>
554 586 <widget class="QWidget" name="widget_2" native="true">
555 587 <property name="sizePolicy">
556 588 <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
557 589 <horstretch>0</horstretch>
558 590 <verstretch>0</verstretch>
559 591 </sizepolicy>
560 592 </property>
561 593 <property name="maximumSize">
562 594 <size>
563 595 <width>500</width>
564 596 <height>16777215</height>
565 597 </size>
566 598 </property>
567 599 <layout class="QGridLayout" name="gridLayout_2">
568 600 <item row="3" column="2">
569 601 <widget class="QLineEdit" name="txtSTATUSb"/>
570 602 </item>
571 603 <item row="5" column="1">
572 604 <widget class="QLineEdit" name="txtINFOa"/>
573 605 </item>
574 606 <item row="3" column="1">
575 607 <widget class="QLineEdit" name="txtSTATUSa"/>
576 608 </item>
577 609 <item row="5" column="2">
578 610 <widget class="QLineEdit" name="txtINFOb"/>
579 611 </item>
580 612 <item row="3" column="3">
581 613 <widget class="QLineEdit" name="txtSTATUSc"/>
582 614 </item>
583 615 <item row="3" column="4">
584 616 <widget class="QLineEdit" name="txtSTATUSd"/>
585 617 </item>
586 618 <item row="5" column="4">
587 619 <widget class="QLineEdit" name="txtINFOd"/>
588 620 </item>
589 621 <item row="6" column="1">
590 622 <widget class="QLineEdit" name="txtSETa"/>
591 623 </item>
592 624 <item row="6" column="2">
593 625 <widget class="QLineEdit" name="txtSETb"/>
594 626 </item>
595 627 <item row="6" column="3">
596 628 <widget class="QLineEdit" name="txtSETc"/>
597 629 </item>
598 630 <item row="6" column="4">
599 631 <widget class="QLineEdit" name="txtSETd"/>
600 632 </item>
601 633 <item row="3" column="0">
602 634 <widget class="QLabel" name="lblSTATUS">
603 635 <property name="text">
604 636 <string>STATUS</string>
605 637 </property>
606 638 </widget>
607 639 </item>
608 640 <item row="5" column="0">
609 641 <widget class="QLabel" name="lblINFO">
610 642 <property name="text">
611 643 <string>INFO</string>
612 644 </property>
613 645 </widget>
614 646 </item>
615 647 <item row="6" column="0">
616 648 <widget class="QLabel" name="lblSET">
617 649 <property name="text">
618 650 <string>SET</string>
619 651 </property>
620 652 </widget>
621 653 </item>
622 654 <item row="0" column="1">
623 655 <widget class="QLabel" name="lblDevA">
624 656 <property name="text">
625 657 <string>DEV A</string>
626 658 </property>
627 659 <property name="alignment">
628 660 <set>Qt::AlignCenter</set>
629 661 </property>
630 662 </widget>
631 663 </item>
632 664 <item row="0" column="2">
633 665 <widget class="QLabel" name="lblDevB">
634 666 <property name="text">
635 667 <string>DEV B</string>
636 668 </property>
637 669 <property name="alignment">
638 670 <set>Qt::AlignCenter</set>
639 671 </property>
640 672 </widget>
641 673 </item>
642 674 <item row="0" column="3">
643 675 <widget class="QLabel" name="lblDevC">
644 676 <property name="text">
645 677 <string>DEV C</string>
646 678 </property>
647 679 <property name="alignment">
648 680 <set>Qt::AlignCenter</set>
649 681 </property>
650 682 </widget>
651 683 </item>
652 684 <item row="0" column="4">
653 685 <widget class="QLabel" name="lblDevD">
654 686 <property name="text">
655 687 <string>DEV D</string>
656 688 </property>
657 689 <property name="alignment">
658 690 <set>Qt::AlignCenter</set>
659 691 </property>
660 692 </widget>
661 693 </item>
662 694 <item row="5" column="3">
663 695 <widget class="QLineEdit" name="txtINFOc"/>
664 696 </item>
665 697 </layout>
666 698 </widget>
667 699 </item>
668 700 <item>
669 701 <widget class="QTextEdit" name="txtSburn"/>
670 702 </item>
671 703 </layout>
672 704 </widget>
673 705 </widget>
674 706 </item>
675 707 <item>
676 708 <widget class="QTextEdit" name="txtInfo">
677 709 <property name="readOnly">
678 710 <bool>true</bool>
679 711 </property>
680 712 </widget>
681 713 </item>
682 714 <item>
683 715 <layout class="QHBoxLayout" name="horizontalLayout_2">
684 716 <property name="sizeConstraint">
685 717 <enum>QLayout::SetDefaultConstraint</enum>
686 718 </property>
687 719 <item>
688 720 <widget class="QPushButton" name="btnGbkp">
689 721 <property name="text">
690 722 <string>Generate Bkp</string>
691 723 </property>
692 724 </widget>
693 725 </item>
694 726 <item>
695 727 <widget class="QPushButton" name="btnRestart">
696 728 <property name="text">
697 729 <string>Restart</string>
698 730 </property>
699 731 </widget>
700 732 </item>
701 733 <item>
702 734 <widget class="QPushButton" name="btnStartburn">
703 735 <property name="text">
704 736 <string>Start Burn</string>
705 737 </property>
706 738 </widget>
707 739 </item>
708 740 <item>
709 741 <widget class="QPushButton" name="btnStopburn">
710 742 <property name="text">
711 743 <string>Stop Burn</string>
712 744 </property>
713 745 </widget>
714 746 </item>
715 747 </layout>
716 748 </item>
717 749 </layout>
718 750 </widget>
719 751 <widget class="QMenuBar" name="menubar">
720 752 <property name="geometry">
721 753 <rect>
722 754 <x>0</x>
723 755 <y>0</y>
724 <width>745</width>
756 <width>809</width>
725 757 <height>25</height>
726 758 </rect>
727 759 </property>
728 760 <widget class="QMenu" name="menuFile">
729 761 <property name="title">
730 762 <string>File</string>
731 763 </property>
732 764 <addaction name="actionSave_Config"/>
733 765 <addaction name="actionQuit"/>
734 766 </widget>
735 767 <widget class="QMenu" name="menuParameters">
736 768 <property name="title">
737 769 <string>Parameters</string>
738 770 </property>
739 771 <addaction name="actionChange_Parameters"/>
740 772 </widget>
741 773 <widget class="QMenu" name="menuHelp">
742 774 <property name="title">
743 775 <string>Help</string>
744 776 </property>
745 777 <addaction name="actionAbout"/>
746 778 </widget>
747 779 <addaction name="menuFile"/>
748 780 <addaction name="menuParameters"/>
749 781 <addaction name="menuHelp"/>
750 782 </widget>
751 783 <widget class="QStatusBar" name="statusbar"/>
752 784 <action name="actionChange_Parameters">
753 785 <property name="text">
754 786 <string>Change Parameters</string>
755 787 </property>
756 788 </action>
757 789 <action name="actionSave_Config">
758 790 <property name="text">
759 791 <string>Save Config</string>
760 792 </property>
761 793 </action>
762 794 <action name="actionQuit">
763 795 <property name="text">
764 796 <string>Quit</string>
765 797 </property>
766 798 </action>
767 799 <action name="actionAbout">
768 800 <property name="text">
769 801 <string>About</string>
770 802 </property>
771 803 </action>
772 804 </widget>
773 805 <tabstops>
774 806 <tabstop>txtDpath</tabstop>
775 807 <tabstop>btnDpath</tabstop>
776 808 <tabstop>txtRpath</tabstop>
777 809 <tabstop>btnRpath</tabstop>
778 810 <tabstop>lstDtype</tabstop>
779 811 <tabstop>txtDtype</tabstop>
780 812 <tabstop>chkMST</tabstop>
781 813 <tabstop>txtElabel</tabstop>
782 814 <tabstop>txtCopys</tabstop>
783 815 <tabstop>lstStartDay</tabstop>
784 816 <tabstop>lstStopDay</tabstop>
785 817 <tabstop>chkSimultaneously</tabstop>
786 818 <tabstop>chkSequentially</tabstop>
787 819 <tabstop>chkSalert</tabstop>
788 820 <tabstop>lstDcapacity</tabstop>
789 821 <tabstop>txtDcapacity</tabstop>
790 822 <tabstop>chkPSgraphic</tabstop>
791 823 <tabstop>lineEdit_17</tabstop>
792 824 <tabstop>txtSTATUSa</tabstop>
793 825 <tabstop>txtSTATUSb</tabstop>
794 826 <tabstop>txtSTATUSc</tabstop>
795 827 <tabstop>txtSTATUSd</tabstop>
796 828 <tabstop>txtINFOa</tabstop>
797 829 <tabstop>txtINFOb</tabstop>
798 830 <tabstop>txtINFOc</tabstop>
799 831 <tabstop>txtINFOd</tabstop>
800 832 <tabstop>txtSETa</tabstop>
801 833 <tabstop>txtSETb</tabstop>
802 834 <tabstop>txtSETc</tabstop>
803 835 <tabstop>txtSETd</tabstop>
804 836 <tabstop>tabWidget</tabstop>
805 837 <tabstop>txtSburn</tabstop>
806 838 <tabstop>btnGbkp</tabstop>
807 839 <tabstop>btnRestart</tabstop>
808 840 <tabstop>btnStartburn</tabstop>
809 841 <tabstop>btnStopburn</tabstop>
810 842 </tabstops>
811 843 <resources/>
812 844 <connections>
813 845 <connection>
814 846 <sender>chkSequentially</sender>
815 847 <signal>clicked()</signal>
816 848 <receiver>chkSimultaneously</receiver>
817 849 <slot>toggle()</slot>
818 850 <hints>
819 851 <hint type="sourcelabel">
820 852 <x>635</x>
821 853 <y>276</y>
822 854 </hint>
823 855 <hint type="destinationlabel">
824 856 <x>350</x>
825 857 <y>269</y>
826 858 </hint>
827 859 </hints>
828 860 </connection>
829 861 <connection>
830 862 <sender>chkSimultaneously</sender>
831 863 <signal>clicked()</signal>
832 864 <receiver>chkSequentially</receiver>
833 865 <slot>toggle()</slot>
834 866 <hints>
835 867 <hint type="sourcelabel">
836 868 <x>433</x>
837 869 <y>276</y>
838 870 </hint>
839 871 <hint type="destinationlabel">
840 872 <x>635</x>
841 873 <y>276</y>
842 874 </hint>
843 875 </hints>
844 876 </connection>
845 877 <connection>
846 878 <sender>chkDevA</sender>
847 879 <signal>toggled(bool)</signal>
848 880 <receiver>grpDevA</receiver>
849 881 <slot>setEnabled(bool)</slot>
850 882 <hints>
851 883 <hint type="sourcelabel">
852 884 <x>95</x>
853 885 <y>86</y>
854 886 </hint>
855 887 <hint type="destinationlabel">
856 888 <x>95</x>
857 889 <y>167</y>
858 890 </hint>
859 891 </hints>
860 892 </connection>
861 893 <connection>
862 894 <sender>chkDevB</sender>
863 895 <signal>toggled(bool)</signal>
864 896 <receiver>grpDevB</receiver>
865 897 <slot>setEnabled(bool)</slot>
866 898 <hints>
867 899 <hint type="sourcelabel">
868 900 <x>251</x>
869 901 <y>86</y>
870 902 </hint>
871 903 <hint type="destinationlabel">
872 904 <x>251</x>
873 905 <y>167</y>
874 906 </hint>
875 907 </hints>
876 908 </connection>
877 909 <connection>
878 910 <sender>chkDevC</sender>
879 911 <signal>toggled(bool)</signal>
880 912 <receiver>grpDevC</receiver>
881 913 <slot>setEnabled(bool)</slot>
882 914 <hints>
883 915 <hint type="sourcelabel">
884 916 <x>407</x>
885 917 <y>86</y>
886 918 </hint>
887 919 <hint type="destinationlabel">
888 920 <x>407</x>
889 921 <y>167</y>
890 922 </hint>
891 923 </hints>
892 924 </connection>
893 925 <connection>
894 926 <sender>chkDevD</sender>
895 927 <signal>toggled(bool)</signal>
896 928 <receiver>grpDevD</receiver>
897 929 <slot>setEnabled(bool)</slot>
898 930 <hints>
899 931 <hint type="sourcelabel">
900 932 <x>563</x>
901 933 <y>86</y>
902 934 </hint>
903 935 <hint type="destinationlabel">
904 936 <x>563</x>
905 937 <y>167</y>
906 938 </hint>
907 939 </hints>
908 940 </connection>
909 941 </connections>
910 942 </ui>
@@ -1,569 +1,577
1 1 # -*- coding: utf-8 -*-
2 2
3 3 # Form implementation generated from reading ui file '/home/ricardoar/principal/JRO_SVN/eric4/jro_backup_manager/ui/MainWindow.ui'
4 4 #
5 # Created: Tue May 4 16:05:06 2010
5 # Created: Tue May 4 17:29:42 2010
6 6 # by: PyQt4 UI code generator 4.7.3
7 7 #
8 8 # WARNING! All changes made in this file will be lost!
9 9
10 10 from PyQt4 import QtCore, QtGui
11 11
12 12 class Ui_MainWindow(object):
13 13 def setupUi(self, MainWindow):
14 14 MainWindow.setObjectName("MainWindow")
15 MainWindow.resize(745, 766)
15 MainWindow.resize(809, 766)
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 self.txtDtype.setReadOnly(True)
77 77 self.txtDtype.setObjectName("txtDtype")
78 78 self.horizontalLayout_4.addWidget(self.txtDtype)
79 79 self.chkMST = QtGui.QCheckBox(self.tabParameters)
80 80 self.chkMST.setObjectName("chkMST")
81 81 self.horizontalLayout_4.addWidget(self.chkMST)
82 82 self.verticalLayout_2.addLayout(self.horizontalLayout_4)
83 83 self.horizontalLayout_6 = QtGui.QHBoxLayout()
84 84 self.horizontalLayout_6.setObjectName("horizontalLayout_6")
85 85 self.lblElabel = QtGui.QLabel(self.tabParameters)
86 86 self.lblElabel.setObjectName("lblElabel")
87 87 self.horizontalLayout_6.addWidget(self.lblElabel)
88 88 self.lblCopys = QtGui.QLabel(self.tabParameters)
89 89 self.lblCopys.setObjectName("lblCopys")
90 90 self.horizontalLayout_6.addWidget(self.lblCopys)
91 91 self.verticalLayout_2.addLayout(self.horizontalLayout_6)
92 92 self.horizontalLayout_5 = QtGui.QHBoxLayout()
93 93 self.horizontalLayout_5.setObjectName("horizontalLayout_5")
94 94 self.txtElabel = QtGui.QLineEdit(self.tabParameters)
95 95 self.txtElabel.setObjectName("txtElabel")
96 96 self.horizontalLayout_5.addWidget(self.txtElabel)
97 97 self.txtCopys = QtGui.QLineEdit(self.tabParameters)
98 98 self.txtCopys.setObjectName("txtCopys")
99 99 self.horizontalLayout_5.addWidget(self.txtCopys)
100 100 self.verticalLayout_2.addLayout(self.horizontalLayout_5)
101 101 self.horizontalLayout_7 = QtGui.QHBoxLayout()
102 102 self.horizontalLayout_7.setObjectName("horizontalLayout_7")
103 103 self.lblStartDay = QtGui.QLabel(self.tabParameters)
104 104 self.lblStartDay.setObjectName("lblStartDay")
105 105 self.horizontalLayout_7.addWidget(self.lblStartDay)
106 106 self.lblStopDay = QtGui.QLabel(self.tabParameters)
107 107 self.lblStopDay.setObjectName("lblStopDay")
108 108 self.horizontalLayout_7.addWidget(self.lblStopDay)
109 109 self.verticalLayout_2.addLayout(self.horizontalLayout_7)
110 110 self.horizontalLayout_8 = QtGui.QHBoxLayout()
111 111 self.horizontalLayout_8.setObjectName("horizontalLayout_8")
112 112 self.lstStartDay = QtGui.QComboBox(self.tabParameters)
113 113 self.lstStartDay.setObjectName("lstStartDay")
114 114 self.horizontalLayout_8.addWidget(self.lstStartDay)
115 115 self.lstStopDay = QtGui.QComboBox(self.tabParameters)
116 116 self.lstStopDay.setObjectName("lstStopDay")
117 117 self.horizontalLayout_8.addWidget(self.lstStopDay)
118 118 self.verticalLayout_2.addLayout(self.horizontalLayout_8)
119 119 self.tabWidget.addTab(self.tabParameters, "")
120 120 self.tabDconfig = QtGui.QWidget()
121 121 self.tabDconfig.setEnabled(True)
122 122 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
123 123 sizePolicy.setHorizontalStretch(0)
124 124 sizePolicy.setVerticalStretch(0)
125 125 sizePolicy.setHeightForWidth(self.tabDconfig.sizePolicy().hasHeightForWidth())
126 126 self.tabDconfig.setSizePolicy(sizePolicy)
127 127 self.tabDconfig.setObjectName("tabDconfig")
128 128 self.verticalLayout_3 = QtGui.QVBoxLayout(self.tabDconfig)
129 129 self.verticalLayout_3.setObjectName("verticalLayout_3")
130 130 self.gridLayout = QtGui.QGridLayout()
131 131 self.gridLayout.setObjectName("gridLayout")
132 132 self.verticalLayout_15 = QtGui.QVBoxLayout()
133 133 self.verticalLayout_15.setObjectName("verticalLayout_15")
134 134 self.chkDevA = QtGui.QCheckBox(self.tabDconfig)
135 135 self.chkDevA.setChecked(True)
136 136 self.chkDevA.setObjectName("chkDevA")
137 137 self.verticalLayout_15.addWidget(self.chkDevA)
138 138 self.grpDevA = QtGui.QWidget(self.tabDconfig)
139 139 self.grpDevA.setObjectName("grpDevA")
140 140 self.verticalLayout_11 = QtGui.QVBoxLayout(self.grpDevA)
141 141 self.verticalLayout_11.setObjectName("verticalLayout_11")
142 142 self.txtDeviceA = QtGui.QLineEdit(self.grpDevA)
143 143 self.txtDeviceA.setObjectName("txtDeviceA")
144 144 self.verticalLayout_11.addWidget(self.txtDeviceA)
145 145 self.txtBspeedA = QtGui.QLineEdit(self.grpDevA)
146 146 self.txtBspeedA.setObjectName("txtBspeedA")
147 147 self.verticalLayout_11.addWidget(self.txtBspeedA)
148 148 self.txtBmodeA = QtGui.QLineEdit(self.grpDevA)
149 149 self.txtBmodeA.setObjectName("txtBmodeA")
150 150 self.verticalLayout_11.addWidget(self.txtBmodeA)
151 151 self.btnTdevA = QtGui.QPushButton(self.grpDevA)
152 152 self.btnTdevA.setObjectName("btnTdevA")
153 153 self.verticalLayout_11.addWidget(self.btnTdevA)
154 154 self.verticalLayout_15.addWidget(self.grpDevA)
155 155 self.gridLayout.addLayout(self.verticalLayout_15, 0, 0, 1, 1)
156 156 self.verticalLayout_16 = QtGui.QVBoxLayout()
157 157 self.verticalLayout_16.setObjectName("verticalLayout_16")
158 158 self.chkDevB = QtGui.QCheckBox(self.tabDconfig)
159 159 self.chkDevB.setChecked(True)
160 160 self.chkDevB.setObjectName("chkDevB")
161 161 self.verticalLayout_16.addWidget(self.chkDevB)
162 162 self.grpDevB = QtGui.QWidget(self.tabDconfig)
163 163 self.grpDevB.setObjectName("grpDevB")
164 164 self.verticalLayout_12 = QtGui.QVBoxLayout(self.grpDevB)
165 165 self.verticalLayout_12.setObjectName("verticalLayout_12")
166 166 self.txtDeviceB = QtGui.QLineEdit(self.grpDevB)
167 167 self.txtDeviceB.setObjectName("txtDeviceB")
168 168 self.verticalLayout_12.addWidget(self.txtDeviceB)
169 169 self.txtBspeedB = QtGui.QLineEdit(self.grpDevB)
170 170 self.txtBspeedB.setObjectName("txtBspeedB")
171 171 self.verticalLayout_12.addWidget(self.txtBspeedB)
172 172 self.txtBmodeB = QtGui.QLineEdit(self.grpDevB)
173 173 self.txtBmodeB.setObjectName("txtBmodeB")
174 174 self.verticalLayout_12.addWidget(self.txtBmodeB)
175 175 self.btnTdevB = QtGui.QPushButton(self.grpDevB)
176 176 self.btnTdevB.setObjectName("btnTdevB")
177 177 self.verticalLayout_12.addWidget(self.btnTdevB)
178 178 self.verticalLayout_16.addWidget(self.grpDevB)
179 179 self.gridLayout.addLayout(self.verticalLayout_16, 0, 1, 1, 1)
180 180 self.verticalLayout_17 = QtGui.QVBoxLayout()
181 181 self.verticalLayout_17.setObjectName("verticalLayout_17")
182 182 self.chkDevC = QtGui.QCheckBox(self.tabDconfig)
183 183 self.chkDevC.setChecked(True)
184 184 self.chkDevC.setObjectName("chkDevC")
185 185 self.verticalLayout_17.addWidget(self.chkDevC)
186 186 self.grpDevC = QtGui.QWidget(self.tabDconfig)
187 187 self.grpDevC.setObjectName("grpDevC")
188 188 self.verticalLayout_13 = QtGui.QVBoxLayout(self.grpDevC)
189 189 self.verticalLayout_13.setObjectName("verticalLayout_13")
190 190 self.txtDeviceC = QtGui.QLineEdit(self.grpDevC)
191 191 self.txtDeviceC.setObjectName("txtDeviceC")
192 192 self.verticalLayout_13.addWidget(self.txtDeviceC)
193 193 self.txtBspeedC = QtGui.QLineEdit(self.grpDevC)
194 194 self.txtBspeedC.setObjectName("txtBspeedC")
195 195 self.verticalLayout_13.addWidget(self.txtBspeedC)
196 196 self.txtBmodeC = QtGui.QLineEdit(self.grpDevC)
197 197 self.txtBmodeC.setObjectName("txtBmodeC")
198 198 self.verticalLayout_13.addWidget(self.txtBmodeC)
199 199 self.btnTdevC = QtGui.QPushButton(self.grpDevC)
200 200 self.btnTdevC.setObjectName("btnTdevC")
201 201 self.verticalLayout_13.addWidget(self.btnTdevC)
202 202 self.verticalLayout_17.addWidget(self.grpDevC)
203 203 self.gridLayout.addLayout(self.verticalLayout_17, 0, 2, 1, 1)
204 204 self.verticalLayout_18 = QtGui.QVBoxLayout()
205 205 self.verticalLayout_18.setObjectName("verticalLayout_18")
206 206 self.chkDevD = QtGui.QCheckBox(self.tabDconfig)
207 207 self.chkDevD.setChecked(True)
208 208 self.chkDevD.setObjectName("chkDevD")
209 209 self.verticalLayout_18.addWidget(self.chkDevD)
210 210 self.grpDevD = QtGui.QWidget(self.tabDconfig)
211 211 self.grpDevD.setObjectName("grpDevD")
212 212 self.verticalLayout_14 = QtGui.QVBoxLayout(self.grpDevD)
213 213 self.verticalLayout_14.setObjectName("verticalLayout_14")
214 214 self.txtDeviceD = QtGui.QLineEdit(self.grpDevD)
215 215 self.txtDeviceD.setObjectName("txtDeviceD")
216 216 self.verticalLayout_14.addWidget(self.txtDeviceD)
217 217 self.txtBspeedD = QtGui.QLineEdit(self.grpDevD)
218 218 self.txtBspeedD.setObjectName("txtBspeedD")
219 219 self.verticalLayout_14.addWidget(self.txtBspeedD)
220 220 self.txtBmodeD = QtGui.QLineEdit(self.grpDevD)
221 221 self.txtBmodeD.setObjectName("txtBmodeD")
222 222 self.verticalLayout_14.addWidget(self.txtBmodeD)
223 223 self.btnTdevD = QtGui.QPushButton(self.grpDevD)
224 224 self.btnTdevD.setObjectName("btnTdevD")
225 225 self.verticalLayout_14.addWidget(self.btnTdevD)
226 226 self.verticalLayout_18.addWidget(self.grpDevD)
227 227 self.gridLayout.addLayout(self.verticalLayout_18, 0, 3, 1, 1)
228 228 self.verticalLayout_19 = QtGui.QVBoxLayout()
229 229 self.verticalLayout_19.setObjectName("verticalLayout_19")
230 230 self.label_2 = QtGui.QLabel(self.tabDconfig)
231 231 self.label_2.setText("")
232 232 self.label_2.setObjectName("label_2")
233 233 self.verticalLayout_19.addWidget(self.label_2)
234 234 self.lblDevice = QtGui.QLabel(self.tabDconfig)
235 235 self.lblDevice.setObjectName("lblDevice")
236 236 self.verticalLayout_19.addWidget(self.lblDevice)
237 237 self.lblBspeed = QtGui.QLabel(self.tabDconfig)
238 238 self.lblBspeed.setObjectName("lblBspeed")
239 239 self.verticalLayout_19.addWidget(self.lblBspeed)
240 240 self.lblBmode = QtGui.QLabel(self.tabDconfig)
241 241 self.lblBmode.setObjectName("lblBmode")
242 242 self.verticalLayout_19.addWidget(self.lblBmode)
243 243 self.label = QtGui.QLabel(self.tabDconfig)
244 244 self.label.setText("")
245 245 self.label.setObjectName("label")
246 246 self.verticalLayout_19.addWidget(self.label)
247 247 self.gridLayout.addLayout(self.verticalLayout_19, 0, 4, 1, 1)
248 248 self.verticalLayout_3.addLayout(self.gridLayout)
249 249 self.horizontalLayout_9 = QtGui.QHBoxLayout()
250 250 self.horizontalLayout_9.setSizeConstraint(QtGui.QLayout.SetFixedSize)
251 251 self.horizontalLayout_9.setObjectName("horizontalLayout_9")
252 252 self.lblBprocess = QtGui.QLabel(self.tabDconfig)
253 253 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
254 254 sizePolicy.setHorizontalStretch(0)
255 255 sizePolicy.setVerticalStretch(0)
256 256 sizePolicy.setHeightForWidth(self.lblBprocess.sizePolicy().hasHeightForWidth())
257 257 self.lblBprocess.setSizePolicy(sizePolicy)
258 258 self.lblBprocess.setObjectName("lblBprocess")
259 259 self.horizontalLayout_9.addWidget(self.lblBprocess)
260 260 self.chkSimultaneously = QtGui.QCheckBox(self.tabDconfig)
261 261 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
262 262 sizePolicy.setHorizontalStretch(0)
263 263 sizePolicy.setVerticalStretch(0)
264 264 sizePolicy.setHeightForWidth(self.chkSimultaneously.sizePolicy().hasHeightForWidth())
265 265 self.chkSimultaneously.setSizePolicy(sizePolicy)
266 266 self.chkSimultaneously.setObjectName("chkSimultaneously")
267 267 self.horizontalLayout_9.addWidget(self.chkSimultaneously)
268 268 self.chkSequentially = QtGui.QCheckBox(self.tabDconfig)
269 269 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
270 270 sizePolicy.setHorizontalStretch(0)
271 271 sizePolicy.setVerticalStretch(0)
272 272 sizePolicy.setHeightForWidth(self.chkSequentially.sizePolicy().hasHeightForWidth())
273 273 self.chkSequentially.setSizePolicy(sizePolicy)
274 274 self.chkSequentially.setChecked(True)
275 275 self.chkSequentially.setObjectName("chkSequentially")
276 276 self.horizontalLayout_9.addWidget(self.chkSequentially)
277 277 self.verticalLayout_3.addLayout(self.horizontalLayout_9)
278 278 self.horizontalLayout_11 = QtGui.QHBoxLayout()
279 279 self.horizontalLayout_11.setSpacing(6)
280 280 self.horizontalLayout_11.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
281 281 self.horizontalLayout_11.setObjectName("horizontalLayout_11")
282 282 self.lblDcapacity = QtGui.QLabel(self.tabDconfig)
283 283 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
284 284 sizePolicy.setHorizontalStretch(0)
285 285 sizePolicy.setVerticalStretch(0)
286 286 sizePolicy.setHeightForWidth(self.lblDcapacity.sizePolicy().hasHeightForWidth())
287 287 self.lblDcapacity.setSizePolicy(sizePolicy)
288 288 self.lblDcapacity.setObjectName("lblDcapacity")
289 289 self.horizontalLayout_11.addWidget(self.lblDcapacity)
290 290 self.chkSalert = QtGui.QCheckBox(self.tabDconfig)
291 291 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
292 292 sizePolicy.setHorizontalStretch(0)
293 293 sizePolicy.setVerticalStretch(0)
294 294 sizePolicy.setHeightForWidth(self.chkSalert.sizePolicy().hasHeightForWidth())
295 295 self.chkSalert.setSizePolicy(sizePolicy)
296 296 self.chkSalert.setObjectName("chkSalert")
297 297 self.horizontalLayout_11.addWidget(self.chkSalert)
298 298 self.verticalLayout_3.addLayout(self.horizontalLayout_11)
299 299 self.horizontalLayout_10 = QtGui.QHBoxLayout()
300 300 self.horizontalLayout_10.setSizeConstraint(QtGui.QLayout.SetFixedSize)
301 301 self.horizontalLayout_10.setObjectName("horizontalLayout_10")
302 302 self.lstDcapacity = QtGui.QComboBox(self.tabDconfig)
303 303 self.lstDcapacity.setObjectName("lstDcapacity")
304 304 self.lstDcapacity.addItem("")
305 305 self.lstDcapacity.addItem("")
306 306 self.lstDcapacity.addItem("")
307 307 self.lstDcapacity.addItem("")
308 308 self.lstDcapacity.addItem("")
309 309 self.horizontalLayout_10.addWidget(self.lstDcapacity)
310 310 self.txtDcapacity = QtGui.QLineEdit(self.tabDconfig)
311 311 self.txtDcapacity.setReadOnly(True)
312 312 self.txtDcapacity.setObjectName("txtDcapacity")
313 313 self.horizontalLayout_10.addWidget(self.txtDcapacity)
314 314 self.chkPSgraphic = QtGui.QCheckBox(self.tabDconfig)
315 315 self.chkPSgraphic.setObjectName("chkPSgraphic")
316 316 self.horizontalLayout_10.addWidget(self.chkPSgraphic)
317 317 self.lineEdit_17 = QtGui.QLineEdit(self.tabDconfig)
318 318 self.lineEdit_17.setObjectName("lineEdit_17")
319 319 self.horizontalLayout_10.addWidget(self.lineEdit_17)
320 320 self.verticalLayout_3.addLayout(self.horizontalLayout_10)
321 321 self.tabWidget.addTab(self.tabDconfig, "")
322 322 self.tabSburn = QtGui.QWidget()
323 323 self.tabSburn.setObjectName("tabSburn")
324 324 self.verticalLayout_4 = QtGui.QVBoxLayout(self.tabSburn)
325 325 self.verticalLayout_4.setObjectName("verticalLayout_4")
326 326 self.widget_2 = QtGui.QWidget(self.tabSburn)
327 327 sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Minimum)
328 328 sizePolicy.setHorizontalStretch(0)
329 329 sizePolicy.setVerticalStretch(0)
330 330 sizePolicy.setHeightForWidth(self.widget_2.sizePolicy().hasHeightForWidth())
331 331 self.widget_2.setSizePolicy(sizePolicy)
332 332 self.widget_2.setMaximumSize(QtCore.QSize(500, 16777215))
333 333 self.widget_2.setObjectName("widget_2")
334 334 self.gridLayout_2 = QtGui.QGridLayout(self.widget_2)
335 335 self.gridLayout_2.setObjectName("gridLayout_2")
336 336 self.txtSTATUSb = QtGui.QLineEdit(self.widget_2)
337 337 self.txtSTATUSb.setObjectName("txtSTATUSb")
338 338 self.gridLayout_2.addWidget(self.txtSTATUSb, 3, 2, 1, 1)
339 339 self.txtINFOa = QtGui.QLineEdit(self.widget_2)
340 340 self.txtINFOa.setObjectName("txtINFOa")
341 341 self.gridLayout_2.addWidget(self.txtINFOa, 5, 1, 1, 1)
342 342 self.txtSTATUSa = QtGui.QLineEdit(self.widget_2)
343 343 self.txtSTATUSa.setObjectName("txtSTATUSa")
344 344 self.gridLayout_2.addWidget(self.txtSTATUSa, 3, 1, 1, 1)
345 345 self.txtINFOb = QtGui.QLineEdit(self.widget_2)
346 346 self.txtINFOb.setObjectName("txtINFOb")
347 347 self.gridLayout_2.addWidget(self.txtINFOb, 5, 2, 1, 1)
348 348 self.txtSTATUSc = QtGui.QLineEdit(self.widget_2)
349 349 self.txtSTATUSc.setObjectName("txtSTATUSc")
350 350 self.gridLayout_2.addWidget(self.txtSTATUSc, 3, 3, 1, 1)
351 351 self.txtSTATUSd = QtGui.QLineEdit(self.widget_2)
352 352 self.txtSTATUSd.setObjectName("txtSTATUSd")
353 353 self.gridLayout_2.addWidget(self.txtSTATUSd, 3, 4, 1, 1)
354 354 self.txtINFOd = QtGui.QLineEdit(self.widget_2)
355 355 self.txtINFOd.setObjectName("txtINFOd")
356 356 self.gridLayout_2.addWidget(self.txtINFOd, 5, 4, 1, 1)
357 357 self.txtSETa = QtGui.QLineEdit(self.widget_2)
358 358 self.txtSETa.setObjectName("txtSETa")
359 359 self.gridLayout_2.addWidget(self.txtSETa, 6, 1, 1, 1)
360 360 self.txtSETb = QtGui.QLineEdit(self.widget_2)
361 361 self.txtSETb.setObjectName("txtSETb")
362 362 self.gridLayout_2.addWidget(self.txtSETb, 6, 2, 1, 1)
363 363 self.txtSETc = QtGui.QLineEdit(self.widget_2)
364 364 self.txtSETc.setObjectName("txtSETc")
365 365 self.gridLayout_2.addWidget(self.txtSETc, 6, 3, 1, 1)
366 366 self.txtSETd = QtGui.QLineEdit(self.widget_2)
367 367 self.txtSETd.setObjectName("txtSETd")
368 368 self.gridLayout_2.addWidget(self.txtSETd, 6, 4, 1, 1)
369 369 self.lblSTATUS = QtGui.QLabel(self.widget_2)
370 370 self.lblSTATUS.setObjectName("lblSTATUS")
371 371 self.gridLayout_2.addWidget(self.lblSTATUS, 3, 0, 1, 1)
372 372 self.lblINFO = QtGui.QLabel(self.widget_2)
373 373 self.lblINFO.setObjectName("lblINFO")
374 374 self.gridLayout_2.addWidget(self.lblINFO, 5, 0, 1, 1)
375 375 self.lblSET = QtGui.QLabel(self.widget_2)
376 376 self.lblSET.setObjectName("lblSET")
377 377 self.gridLayout_2.addWidget(self.lblSET, 6, 0, 1, 1)
378 378 self.lblDevA = QtGui.QLabel(self.widget_2)
379 379 self.lblDevA.setAlignment(QtCore.Qt.AlignCenter)
380 380 self.lblDevA.setObjectName("lblDevA")
381 381 self.gridLayout_2.addWidget(self.lblDevA, 0, 1, 1, 1)
382 382 self.lblDevB = QtGui.QLabel(self.widget_2)
383 383 self.lblDevB.setAlignment(QtCore.Qt.AlignCenter)
384 384 self.lblDevB.setObjectName("lblDevB")
385 385 self.gridLayout_2.addWidget(self.lblDevB, 0, 2, 1, 1)
386 386 self.lblDevC = QtGui.QLabel(self.widget_2)
387 387 self.lblDevC.setAlignment(QtCore.Qt.AlignCenter)
388 388 self.lblDevC.setObjectName("lblDevC")
389 389 self.gridLayout_2.addWidget(self.lblDevC, 0, 3, 1, 1)
390 390 self.lblDevD = QtGui.QLabel(self.widget_2)
391 391 self.lblDevD.setAlignment(QtCore.Qt.AlignCenter)
392 392 self.lblDevD.setObjectName("lblDevD")
393 393 self.gridLayout_2.addWidget(self.lblDevD, 0, 4, 1, 1)
394 394 self.txtINFOc = QtGui.QLineEdit(self.widget_2)
395 395 self.txtINFOc.setObjectName("txtINFOc")
396 396 self.gridLayout_2.addWidget(self.txtINFOc, 5, 3, 1, 1)
397 397 self.verticalLayout_4.addWidget(self.widget_2)
398 398 self.txtSburn = QtGui.QTextEdit(self.tabSburn)
399 399 self.txtSburn.setObjectName("txtSburn")
400 400 self.verticalLayout_4.addWidget(self.txtSburn)
401 401 self.tabWidget.addTab(self.tabSburn, "")
402 402 self.verticalLayout.addWidget(self.tabWidget)
403 403 self.txtInfo = QtGui.QTextEdit(self.centralwidget)
404 404 self.txtInfo.setReadOnly(True)
405 405 self.txtInfo.setObjectName("txtInfo")
406 406 self.verticalLayout.addWidget(self.txtInfo)
407 407 self.horizontalLayout_2 = QtGui.QHBoxLayout()
408 408 self.horizontalLayout_2.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
409 409 self.horizontalLayout_2.setObjectName("horizontalLayout_2")
410 410 self.btnGbkp = QtGui.QPushButton(self.centralwidget)
411 411 self.btnGbkp.setObjectName("btnGbkp")
412 412 self.horizontalLayout_2.addWidget(self.btnGbkp)
413 413 self.btnRestart = QtGui.QPushButton(self.centralwidget)
414 414 self.btnRestart.setObjectName("btnRestart")
415 415 self.horizontalLayout_2.addWidget(self.btnRestart)
416 416 self.btnStartburn = QtGui.QPushButton(self.centralwidget)
417 417 self.btnStartburn.setObjectName("btnStartburn")
418 418 self.horizontalLayout_2.addWidget(self.btnStartburn)
419 419 self.btnStopburn = QtGui.QPushButton(self.centralwidget)
420 420 self.btnStopburn.setObjectName("btnStopburn")
421 421 self.horizontalLayout_2.addWidget(self.btnStopburn)
422 422 self.verticalLayout.addLayout(self.horizontalLayout_2)
423 423 MainWindow.setCentralWidget(self.centralwidget)
424 424 self.menubar = QtGui.QMenuBar(MainWindow)
425 self.menubar.setGeometry(QtCore.QRect(0, 0, 745, 25))
425 self.menubar.setGeometry(QtCore.QRect(0, 0, 809, 25))
426 426 self.menubar.setObjectName("menubar")
427 427 self.menuFile = QtGui.QMenu(self.menubar)
428 428 self.menuFile.setObjectName("menuFile")
429 429 self.menuParameters = QtGui.QMenu(self.menubar)
430 430 self.menuParameters.setObjectName("menuParameters")
431 431 self.menuHelp = QtGui.QMenu(self.menubar)
432 432 self.menuHelp.setObjectName("menuHelp")
433 433 MainWindow.setMenuBar(self.menubar)
434 434 self.statusbar = QtGui.QStatusBar(MainWindow)
435 435 self.statusbar.setObjectName("statusbar")
436 436 MainWindow.setStatusBar(self.statusbar)
437 437 self.actionChange_Parameters = QtGui.QAction(MainWindow)
438 438 self.actionChange_Parameters.setObjectName("actionChange_Parameters")
439 439 self.actionSave_Config = QtGui.QAction(MainWindow)
440 440 self.actionSave_Config.setObjectName("actionSave_Config")
441 441 self.actionQuit = QtGui.QAction(MainWindow)
442 442 self.actionQuit.setObjectName("actionQuit")
443 443 self.actionAbout = QtGui.QAction(MainWindow)
444 444 self.actionAbout.setObjectName("actionAbout")
445 445 self.menuFile.addAction(self.actionSave_Config)
446 446 self.menuFile.addAction(self.actionQuit)
447 447 self.menuParameters.addAction(self.actionChange_Parameters)
448 448 self.menuHelp.addAction(self.actionAbout)
449 449 self.menubar.addAction(self.menuFile.menuAction())
450 450 self.menubar.addAction(self.menuParameters.menuAction())
451 451 self.menubar.addAction(self.menuHelp.menuAction())
452 452
453 453 self.retranslateUi(MainWindow)
454 454 self.tabWidget.setCurrentIndex(0)
455 455 self.lstDcapacity.setCurrentIndex(2)
456 456 QtCore.QObject.connect(self.chkSequentially, QtCore.SIGNAL("clicked()"), self.chkSimultaneously.toggle)
457 457 QtCore.QObject.connect(self.chkSimultaneously, QtCore.SIGNAL("clicked()"), self.chkSequentially.toggle)
458 458 QtCore.QObject.connect(self.chkDevA, QtCore.SIGNAL("toggled(bool)"), self.grpDevA.setEnabled)
459 459 QtCore.QObject.connect(self.chkDevB, QtCore.SIGNAL("toggled(bool)"), self.grpDevB.setEnabled)
460 460 QtCore.QObject.connect(self.chkDevC, QtCore.SIGNAL("toggled(bool)"), self.grpDevC.setEnabled)
461 461 QtCore.QObject.connect(self.chkDevD, QtCore.SIGNAL("toggled(bool)"), self.grpDevD.setEnabled)
462 462 QtCore.QMetaObject.connectSlotsByName(MainWindow)
463 463 MainWindow.setTabOrder(self.txtDpath, self.btnDpath)
464 464 MainWindow.setTabOrder(self.btnDpath, self.txtRpath)
465 465 MainWindow.setTabOrder(self.txtRpath, self.btnRpath)
466 466 MainWindow.setTabOrder(self.btnRpath, self.lstDtype)
467 467 MainWindow.setTabOrder(self.lstDtype, self.txtDtype)
468 468 MainWindow.setTabOrder(self.txtDtype, self.chkMST)
469 469 MainWindow.setTabOrder(self.chkMST, self.txtElabel)
470 470 MainWindow.setTabOrder(self.txtElabel, self.txtCopys)
471 471 MainWindow.setTabOrder(self.txtCopys, self.lstStartDay)
472 472 MainWindow.setTabOrder(self.lstStartDay, self.lstStopDay)
473 473 MainWindow.setTabOrder(self.lstStopDay, self.chkSimultaneously)
474 474 MainWindow.setTabOrder(self.chkSimultaneously, self.chkSequentially)
475 475 MainWindow.setTabOrder(self.chkSequentially, self.chkSalert)
476 476 MainWindow.setTabOrder(self.chkSalert, self.lstDcapacity)
477 477 MainWindow.setTabOrder(self.lstDcapacity, self.txtDcapacity)
478 478 MainWindow.setTabOrder(self.txtDcapacity, self.chkPSgraphic)
479 479 MainWindow.setTabOrder(self.chkPSgraphic, self.lineEdit_17)
480 480 MainWindow.setTabOrder(self.lineEdit_17, self.txtSTATUSa)
481 481 MainWindow.setTabOrder(self.txtSTATUSa, self.txtSTATUSb)
482 482 MainWindow.setTabOrder(self.txtSTATUSb, self.txtSTATUSc)
483 483 MainWindow.setTabOrder(self.txtSTATUSc, self.txtSTATUSd)
484 484 MainWindow.setTabOrder(self.txtSTATUSd, self.txtINFOa)
485 485 MainWindow.setTabOrder(self.txtINFOa, self.txtINFOb)
486 486 MainWindow.setTabOrder(self.txtINFOb, self.txtINFOc)
487 487 MainWindow.setTabOrder(self.txtINFOc, self.txtINFOd)
488 488 MainWindow.setTabOrder(self.txtINFOd, self.txtSETa)
489 489 MainWindow.setTabOrder(self.txtSETa, self.txtSETb)
490 490 MainWindow.setTabOrder(self.txtSETb, self.txtSETc)
491 491 MainWindow.setTabOrder(self.txtSETc, self.txtSETd)
492 492 MainWindow.setTabOrder(self.txtSETd, self.tabWidget)
493 493 MainWindow.setTabOrder(self.tabWidget, self.txtSburn)
494 494 MainWindow.setTabOrder(self.txtSburn, self.btnGbkp)
495 495 MainWindow.setTabOrder(self.btnGbkp, self.btnRestart)
496 496 MainWindow.setTabOrder(self.btnRestart, self.btnStartburn)
497 497 MainWindow.setTabOrder(self.btnStartburn, self.btnStopburn)
498 498
499 499 def retranslateUi(self, MainWindow):
500 500 MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "JRO BACKUP MANAGER", None, QtGui.QApplication.UnicodeUTF8))
501 501 self.btnDpath.setText(QtGui.QApplication.translate("MainWindow", "Data Path", None, QtGui.QApplication.UnicodeUTF8))
502 502 self.btnRpath.setText(QtGui.QApplication.translate("MainWindow", "Resource Path", None, QtGui.QApplication.UnicodeUTF8))
503 503 self.lblDtype.setText(QtGui.QApplication.translate("MainWindow", "Data Type", None, QtGui.QApplication.UnicodeUTF8))
504 504 self.lstDtype.setItemText(0, QtGui.QApplication.translate("MainWindow", "Raw Data", None, QtGui.QApplication.UnicodeUTF8))
505 505 self.lstDtype.setItemText(1, QtGui.QApplication.translate("MainWindow", "Process Data", None, QtGui.QApplication.UnicodeUTF8))
506 506 self.lstDtype.setItemText(2, QtGui.QApplication.translate("MainWindow", "BLTR Data", None, QtGui.QApplication.UnicodeUTF8))
507 507 self.lstDtype.setItemText(3, QtGui.QApplication.translate("MainWindow", "Other", None, QtGui.QApplication.UnicodeUTF8))
508 508 self.txtDtype.setText(QtGui.QApplication.translate("MainWindow", "r", None, QtGui.QApplication.UnicodeUTF8))
509 509 self.chkMST.setText(QtGui.QApplication.translate("MainWindow", "MST-ISR Data", None, QtGui.QApplication.UnicodeUTF8))
510 510 self.lblElabel.setText(QtGui.QApplication.translate("MainWindow", "Exp. Label at device", None, QtGui.QApplication.UnicodeUTF8))
511 511 self.lblCopys.setText(QtGui.QApplication.translate("MainWindow", "Copys", None, QtGui.QApplication.UnicodeUTF8))
512 512 self.txtCopys.setText(QtGui.QApplication.translate("MainWindow", "0", None, QtGui.QApplication.UnicodeUTF8))
513 513 self.lblStartDay.setText(QtGui.QApplication.translate("MainWindow", "Start Day:", None, QtGui.QApplication.UnicodeUTF8))
514 514 self.lblStopDay.setText(QtGui.QApplication.translate("MainWindow", "Stop Day:", None, QtGui.QApplication.UnicodeUTF8))
515 515 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabParameters), QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
516 516 self.chkDevA.setText(QtGui.QApplication.translate("MainWindow", "Dev A", None, QtGui.QApplication.UnicodeUTF8))
517 self.txtBspeedA.setText(QtGui.QApplication.translate("MainWindow", "16", None, QtGui.QApplication.UnicodeUTF8))
518 self.txtBmodeA.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
517 519 self.btnTdevA.setText(QtGui.QApplication.translate("MainWindow", "Test DevA", None, QtGui.QApplication.UnicodeUTF8))
518 520 self.chkDevB.setText(QtGui.QApplication.translate("MainWindow", "Dev B", None, QtGui.QApplication.UnicodeUTF8))
521 self.txtBspeedB.setText(QtGui.QApplication.translate("MainWindow", "16", None, QtGui.QApplication.UnicodeUTF8))
522 self.txtBmodeB.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
519 523 self.btnTdevB.setText(QtGui.QApplication.translate("MainWindow", "Test DevB", None, QtGui.QApplication.UnicodeUTF8))
520 524 self.chkDevC.setText(QtGui.QApplication.translate("MainWindow", "Dev C", None, QtGui.QApplication.UnicodeUTF8))
525 self.txtBspeedC.setText(QtGui.QApplication.translate("MainWindow", "16", None, QtGui.QApplication.UnicodeUTF8))
526 self.txtBmodeC.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
521 527 self.btnTdevC.setText(QtGui.QApplication.translate("MainWindow", "Test DevC", None, QtGui.QApplication.UnicodeUTF8))
522 528 self.chkDevD.setText(QtGui.QApplication.translate("MainWindow", "Dev D", None, QtGui.QApplication.UnicodeUTF8))
529 self.txtBspeedD.setText(QtGui.QApplication.translate("MainWindow", "16", None, QtGui.QApplication.UnicodeUTF8))
530 self.txtBmodeD.setText(QtGui.QApplication.translate("MainWindow", "-sao", None, QtGui.QApplication.UnicodeUTF8))
523 531 self.btnTdevD.setText(QtGui.QApplication.translate("MainWindow", "Test DevD", None, QtGui.QApplication.UnicodeUTF8))
524 532 self.lblDevice.setText(QtGui.QApplication.translate("MainWindow", "Device", None, QtGui.QApplication.UnicodeUTF8))
525 533 self.lblBspeed.setText(QtGui.QApplication.translate("MainWindow", "Burn Speed", None, QtGui.QApplication.UnicodeUTF8))
526 534 self.lblBmode.setText(QtGui.QApplication.translate("MainWindow", "Burn Mode", None, QtGui.QApplication.UnicodeUTF8))
527 535 self.lblBprocess.setText(QtGui.QApplication.translate("MainWindow", "Burning process", None, QtGui.QApplication.UnicodeUTF8))
528 536 self.chkSimultaneously.setText(QtGui.QApplication.translate("MainWindow", "Simultaneously", None, QtGui.QApplication.UnicodeUTF8))
529 537 self.chkSequentially.setText(QtGui.QApplication.translate("MainWindow", "Sequentially", None, QtGui.QApplication.UnicodeUTF8))
530 538 self.lblDcapacity.setText(QtGui.QApplication.translate("MainWindow", "Device Capacity", None, QtGui.QApplication.UnicodeUTF8))
531 539 self.chkSalert.setText(QtGui.QApplication.translate("MainWindow", "Sound Alert", None, QtGui.QApplication.UnicodeUTF8))
532 540 self.lstDcapacity.setItemText(0, QtGui.QApplication.translate("MainWindow", "BluRay [25.0 GB]", None, QtGui.QApplication.UnicodeUTF8))
533 541 self.lstDcapacity.setItemText(1, QtGui.QApplication.translate("MainWindow", "DVD2 [8.5 GB]", None, QtGui.QApplication.UnicodeUTF8))
534 542 self.lstDcapacity.setItemText(2, QtGui.QApplication.translate("MainWindow", "DVD1 [4.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
535 543 self.lstDcapacity.setItemText(3, QtGui.QApplication.translate("MainWindow", "CD [0.7 GB]", None, QtGui.QApplication.UnicodeUTF8))
536 544 self.lstDcapacity.setItemText(4, QtGui.QApplication.translate("MainWindow", "Other [? GB]", None, QtGui.QApplication.UnicodeUTF8))
537 545 self.txtDcapacity.setText(QtGui.QApplication.translate("MainWindow", "4482.26928711", None, QtGui.QApplication.UnicodeUTF8))
538 546 self.chkPSgraphic.setText(QtGui.QApplication.translate("MainWindow", "PS Graphic", None, QtGui.QApplication.UnicodeUTF8))
539 547 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabDconfig), QtGui.QApplication.translate("MainWindow", "Device Config.", None, QtGui.QApplication.UnicodeUTF8))
540 548 self.lblSTATUS.setText(QtGui.QApplication.translate("MainWindow", "STATUS", None, QtGui.QApplication.UnicodeUTF8))
541 549 self.lblINFO.setText(QtGui.QApplication.translate("MainWindow", "INFO", None, QtGui.QApplication.UnicodeUTF8))
542 550 self.lblSET.setText(QtGui.QApplication.translate("MainWindow", "SET", None, QtGui.QApplication.UnicodeUTF8))
543 551 self.lblDevA.setText(QtGui.QApplication.translate("MainWindow", "DEV A", None, QtGui.QApplication.UnicodeUTF8))
544 552 self.lblDevB.setText(QtGui.QApplication.translate("MainWindow", "DEV B", None, QtGui.QApplication.UnicodeUTF8))
545 553 self.lblDevC.setText(QtGui.QApplication.translate("MainWindow", "DEV C", None, QtGui.QApplication.UnicodeUTF8))
546 554 self.lblDevD.setText(QtGui.QApplication.translate("MainWindow", "DEV D", None, QtGui.QApplication.UnicodeUTF8))
547 555 self.tabWidget.setTabText(self.tabWidget.indexOf(self.tabSburn), QtGui.QApplication.translate("MainWindow", "Status Burn", None, QtGui.QApplication.UnicodeUTF8))
548 556 self.btnGbkp.setText(QtGui.QApplication.translate("MainWindow", "Generate Bkp", None, QtGui.QApplication.UnicodeUTF8))
549 557 self.btnRestart.setText(QtGui.QApplication.translate("MainWindow", "Restart", None, QtGui.QApplication.UnicodeUTF8))
550 558 self.btnStartburn.setText(QtGui.QApplication.translate("MainWindow", "Start Burn", None, QtGui.QApplication.UnicodeUTF8))
551 559 self.btnStopburn.setText(QtGui.QApplication.translate("MainWindow", "Stop Burn", None, QtGui.QApplication.UnicodeUTF8))
552 560 self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8))
553 561 self.menuParameters.setTitle(QtGui.QApplication.translate("MainWindow", "Parameters", None, QtGui.QApplication.UnicodeUTF8))
554 562 self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
555 563 self.actionChange_Parameters.setText(QtGui.QApplication.translate("MainWindow", "Change Parameters", None, QtGui.QApplication.UnicodeUTF8))
556 564 self.actionSave_Config.setText(QtGui.QApplication.translate("MainWindow", "Save Config", None, QtGui.QApplication.UnicodeUTF8))
557 565 self.actionQuit.setText(QtGui.QApplication.translate("MainWindow", "Quit", None, QtGui.QApplication.UnicodeUTF8))
558 566 self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8))
559 567
560 568
561 569 if __name__ == "__main__":
562 570 import sys
563 571 app = QtGui.QApplication(sys.argv)
564 572 MainWindow = QtGui.QMainWindow()
565 573 ui = Ui_MainWindow()
566 574 ui.setupUi(MainWindow)
567 575 MainWindow.show()
568 576 sys.exit(app.exec_())
569 577
General Comments 0
You need to be logged in to leave comments. Login now