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