Changeset 4470 for palm/trunk/SCRIPTS
- Timestamp:
- Mar 24, 2020 6:52:19 AM (5 years ago)
- Location:
- palm/trunk/SCRIPTS
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SCRIPTS/palmrungui
r4428 r4470 25 25 # ----------------- 26 26 # $Id$ 27 # Added file size output, more I/O functionalities, new/removed buttons 28 # 29 # 4428 2020-02-27 11:43:53Z maronga 27 30 # Bugfix for update button 28 31 # … … 96 99 import shutil 97 100 98 101 global update_frequency 102 update_frequency = 5*60000 99 103 100 104 # Determine PALM directories … … 103 107 palm_dir = os.getcwd() 104 108 palm_bin = palm_dir + '/trunk/SCRIPTS' 109 palm_source = palm_dir + '/trunk/SOURCE' 105 110 job_dir = palm_dir + '/JOBS' 106 111 user_dir = palm_dir + '/USER_CODE' … … 113 118 114 119 120 # returns the human readable file size of filename 121 def file_size(filename, suffix='B'): 122 size_raw = os.stat(filename).st_size 123 for unit in [' ',' K',' M',' G',' T']: 124 if abs(size_raw) < 1024.0: 125 return "%i%s%s" % (size_raw, unit, suffix) 126 size_raw /= 1024.0 127 return "%.1f%s%s" % (num, 'Y', suffix) 128 129 130 115 131 palmrunline = "" 116 132 set_list = [] … … 135 151 self.setupUi(self) 136 152 137 self.palm_logo.setPixmap(QtGui.QPixmap(palm_dir + "/trunk/SCRIPTS/palmrungui_files/logo.png")) 153 self.palm_logo.setPixmap(QtGui.QPixmap(palm_bin + "/palmrungui_files/logo.png")) 154 155 with open(palm_bin + "/palmrungui") as search: 156 for line in search: 157 line = line.rstrip() 158 if "$Id" in line: 159 version = "Version: r" + line.split(" ")[3] + " (" + line.split(" ")[4] + ")" 160 self.groupBox.findChild(QtGui.QLabel,"label_version").setText(version) 161 break 138 162 139 163 self.recent_jobs(50) … … 176 200 177 201 178 179 180 202 QtGui.QApplication.processEvents() 181 203 182 204 183 205 # Start refresh timer. On timeout perform update 206 self.timer = QtCore.QTimer(self) 207 self.timer.timeout.connect(self.update_all) 208 self.timer.setSingleShot(False) 209 self.timer.start(update_frequency) 210 211 # The timetimer counts the time since last update 212 self.timetimer= QtCore.QElapsedTimer() 213 self.timetimer.start() 214 215 # The labeltimer induces the update of the remaining time in the UI 216 self.labeltimer = QtCore.QTimer(self) 217 self.labeltimer.timeout.connect(self.UpdatePush) 218 self.labeltimer.setSingleShot(False) 219 220 # Update in the UI will be performed at each 1/10 of the update interval 221 self.labeltimer.start(update_frequency/10) 222 self.push_update.setText("Update (" + str(int(update_frequency/1000/60)) + " min)") 223 184 224 # starts xterm with palmrun commandline 185 225 ####################################### … … 200 240 self.groupBox.findChild(QtGui.QPushButton,"button_start").setText("wait...") 201 241 self.groupBox.findChild(QtGui.QLineEdit,"commandline").setText("Executing palmrun in xterm...") 202 242 203 243 # Wait until all commands have been executed (ugly) ? 204 244 #for i in range(0,21): 205 245 # qApp->processEvents() 206 246 207 247 # Start xterm as QProcess 208 248 palmrun = QProcess() 209 249 palmrun.setProcessChannelMode(QProcess.MergedChannels) # mergedChannels 210 250 palmrun.setWorkingDirectory(palm_dir) 211 251 212 252 geomet = self.frameGeometry() 213 253 214 254 posx = geomet.x()+geomet.width() 215 255 posy = geomet.y() 216 217 s = " -title \"Executing palmrun...\" -fa \"Monospace\" -fs 11 -geometry \"80x38+%d+%d\" -e \"" % (posx,posy) 218 palmrunline = "%s%s;echo -n '--> Press enter to continue...';read yesno\"</dev/stdin" % (s, palmrunline.replace("\"","\'")) 219 256 257 if ( os.path.isfile("palmrungui.log") ): 258 os.remove("palmrungui.log") 259 260 s = " -title \"Executing palmrun...\" -fa \"Monospace\" -l -lf \"palmrungui.log\" -fs 11 -geometry \"80x38+%d+%d\" -e \"" % (posx,posy) 261 palmrunline = "%s%s ;echo -n '--> Press enter to continue...';read yesno\"</dev/stdin" % (s, palmrunline.replace("\"","\'")) 262 220 263 mString = "xterm %s" % (palmrunline) 221 264 palmrun.start(mString) 222 265 223 266 if( palmrun.waitForStarted() is False ): 224 267 return 225 268 226 269 # Wait until palmrun has finished or wait for 200 minutes 227 270 palmrun.waitForFinished(3600000) 228 271 229 272 # Jobs has been submitted or aborted. Continuing... 230 273 # Save the palmrun command to history file … … 249 292 250 293 251 294 295 # Update the label 296 def UpdatePush(self): 297 remaining_time = (update_frequency - self.timetimer.elapsed()) / 1000 / 60 298 self.push_update.setText("Update (" + str(remaining_time) + " min)") 299 300 252 301 # starts xterm with palmbuild commandline 253 302 ####################################### 254 303 def startpalmbuild(self): 255 304 palmbuildline = 'palmbuild -c ' + str(self.group_execution.findChild(QtGui.QComboBox, "combo_configuration").currentText()) 256 305 306 full_build = self.group_execution.findChild(QtGui.QCheckBox,"check_rebuild").checkState() 307 308 if ( full_build == 2 ): 309 for filename in os.listdir(palm_source): 310 os.utime(palm_source + "/" + filename, None) 311 257 312 palmrunline_save = str(self.groupBox.findChild(QtGui.QLineEdit,"commandline").text()) 258 313 259 314 # Disable the main window 260 315 palmbuildline_save = palmbuildline … … 312 367 else: 313 368 return 314 369 315 370 file = open(fileDir,"r") 316 371 history = file.readlines() … … 330 385 listitem = history[i][17:len(history[i])-1] 331 386 tagitem = listitem 387 configitem = listitem 332 388 matchitems = list_jobname.findItems(listitem, QtCore.Qt.MatchExactly) 333 389 334 390 if ( len(matchitems) == 0 ): 335 391 listitem = filter(None,listitem.split(" -r"))[1] 336 listitem = filter(None,listitem.split(" -"))[0] 337 listitem = listitem.replace(" ","") 392 listitem = listitem.strip() 393 listitem = filter(None,listitem.split(" "))[0] 394 listitem = listitem.replace("\"","") 338 395 list_jobname.addItem(listitem) 339 s = "%s: %s" % (timestamp,listitem) 396 397 configitem = filter(None,configitem.split(" -c"))[1] 398 configitem = configitem.strip() 399 configitem = filter(None,configitem.split(" "))[0] 400 configitem = configitem.replace("\"","") 401 402 s = "%s: %s (%s)" % (timestamp,listitem,configitem) 340 403 tmphistory.append(s) 341 404 … … 384 447 list_jobname = self.group_history.findChild(QtGui.QListWidget,"list_jobname") 385 448 filename = str(list_jobname.currentItem().text()) 386 449 387 450 timestamp = filename[:16] 388 jobname = filename[18:] 389 451 jobname = filename[18:].split(" ")[0] 452 390 453 itemint = list_jobname.currentRow() 391 454 … … 415 478 listitem = history[i-1][17:len(history[i-1])-1] 416 479 listitem = filter(None,listitem.split(" -r"))[1] 417 listitem = filter(None,listitem.split(" -"))[0] 418 listitem = listitem.replace(" ","") 480 listitem = listitem.strip() 481 listitem = filter(None,listitem.split(" "))[0] 482 listitem = listitem.replace("\"","") 419 483 420 484 # Select command line with correct timestamp and jobname … … 509 573 else: 510 574 511 # Check if _p3dr file is available, otherwise notice user512 drop_job = self.group_execution.findChild(QtGui.QComboBox,"drop_job").currentText()513 if ( self.group_execution.findChild(QtGui.QCheckBox,"check_restarts").checkState() == 2 or514 drop_job == "Restart run" or drop_job == "Restart run (coupled atmosphere ocean)" ):515 516 jobname = self.group_execution.findChild(QtGui.QLineEdit, "line_jobname").text()517 restartfile = "%s/JOBS/%s/INPUT/%s_p3dr" % (palm_dir,jobname,jobname)518 519 if (os.path.exists(restartfile) == True):520 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("")521 522 523 if ( drop_job == "Restart run (coupled atmosphere ocean)" ):524 restartfileo = "%s/JOBS/%s/INPUT/%s_p3dor" % (palm_dir,jobname,jobname)525 if (os.path.exists(restartfileo) == True):526 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("hooo")527 528 else:529 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("<font color='red'>Warning: No p3dor file found!</font>")530 531 else:532 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("<font color='red'>Warning: No p3dr file found!</font>")533 534 535 536 575 self.group_execution.setEnabled(True) 537 576 self.drop_job.setEnabled(True) … … 577 616 if (status_restarts == 2): 578 617 param[0]="%s restart" % (param[0]) 579 580 # Check if _p3dr file is available, otherwise notice user 581 if (status_restarts == 2): 582 jobname = str(self.group_execution.findChild(QtGui.QLineEdit, "line_jobname").text()) 583 restartfile = "%s/JOBS/%s/INPUT/%s_p3dr" % (palm_dir,jobname,jobname) 584 if (os.path.exists(restartfile) == True): 585 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("") 586 587 else: 588 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("<font color='red'>Warning: No p3dr file found!</font>") 589 590 else: 591 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("") 618 592 619 593 620 status_cycfill = self.group_execution.findChild(QtGui.QCheckBox,"check_cycfill").checkState() … … 831 858 self.load_jobs() 832 859 833 # Safes current commandline and user Parameters to .sav file 834 ################################################################################# 835 def save_to_file(self): 836 user_string = self.group_advanced.findChild(QtGui.QLineEdit,"line_user").text() 837 cmd_string = self.groupBox.findChild(QtGui.QLineEdit,"commandline").text() 838 839 string_to_file = cmd_string 840 if (user_string != ""): 841 string_to_file = "%s%s" % (string_to_file,user_string) 842 843 #filename = QtGui.QInputDialog.getText(self, "Save File naming Dialog", "Insert filename", QtGui.QLineEdit.Normal) 844 filename = str(QtGui.QFileDialog.getSaveFileName(self, "Save File","filename.sav")) 845 extension = ".sav" 846 filename = "%s%s" % (filename, "") 847 tmstamp = strftime("%Y/%m/%d %H:%M") 848 849 file = open(filename,"w") 850 s = "%s %s" % (tmstamp, string_to_file) 851 file.write(s) 852 file.close() 853 860 854 861 # Safes current commandline and user parameters to default file 855 862 ################################################################################ … … 932 939 933 940 elif ( parameter == "c"): 934 tmpindex = self.group_execution.findChild(QtGui.QComboBox, "combo_configuration").findText(options ,QtCore.Qt.MatchExactly)941 tmpindex = self.group_execution.findChild(QtGui.QComboBox, "combo_configuration").findText(options.strip(),QtCore.Qt.MatchExactly) 935 942 if tmpindex != -1: 936 943 self.group_execution.findChild(QtGui.QComboBox, "combo_configuration").setCurrentIndex(tmpindex) … … 1050 1057 if (options_all == "restart"): 1051 1058 self.group_execution.findChild(QtGui.QCheckBox,"check_restarts").setChecked(True) 1052 # Check if _pdf file is available, otherwise notice user 1053 jobname = str(self.group_execution.findChild(QtGui.QLineEdit,"line_jobname").text()) 1054 1055 restartfile = "%sJOBS/%s/INPUT/%s_p3dr" % (palm_dir,jobname,jobname) 1056 if (os.path.exists(restartfile) == True): 1057 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("") 1058 1059 else: 1060 self.group_execution.findChild(QtGui.QLabel,"label_restart").setText("<font color='red'>Warning: No p3dr file \found!</font>") 1059 1061 1060 j = j+1 1062 1061 … … 1100 1099 self.group_advanced.setEnabled(True) 1101 1100 self.groupBox.findChild(QtGui.QLineEdit,"line_tag").setEnabled(True) 1102 1101 1102 1103 1103 self.tabWidget.setCurrentIndex(0) 1104 1105 # open saved commandline 1106 ################################## 1104 1105 1106 ## Open from history 1107 ################################### 1107 1108 def open_from_file(self): 1108 1109 # Select filename and open it 1110 filename = QtGui.QFileDialog.getOpenFileName(self, "Open File","Save files (*.sav)") 1111 1112 if ( filename != ""): 1113 file = open(filename, "r") 1114 1115 if ( file is not None ): 1116 # File opened successfully 1117 palmrunline = file.read() 1118 file.close() 1119 1120 # In case a palmrunline was found, load it to mainwindow 1121 if ( palmrunline != ""): 1122 palmrunline = palmrunline[17:] 1123 self.groupBox.findChild(QtGui.QLineEdit,"commandline").setText(palmrunline) 1124 self.setup_gui(palmrunline) 1125 1126 # open saved commandline 1127 ################################## 1128 def open_last(self): 1129 # Select filename and open it 1130 filename = "%s/.palmrungui.history" % (palm_dir) 1131 1132 if os.path.exists(filename): 1133 pass 1134 else: 1135 return 1136 1137 file = open(filename, "r") 1138 if ( file is not None ): 1139 # File opened successfully 1140 lines = file.readlines() 1141 palmrunline = lines[len(lines)-1] 1142 palmrunline = palmrunline[:len(palmrunline)-1] 1143 file.close() 1144 1145 # In case a palmrunline was found, load it to mainwindow 1146 if ( palmrunline != ""): 1147 palmrunline = palmrunline[17:len(palmrunline)] 1148 self.groupBox.findChild(QtGui.QLineEdit,"commandline").setText(palmrunline) 1149 self.setup_gui(palmrunline) 1150 1109 1110 # Show History 1111 opt = OpenHistoryBox() 1112 opt.exec_() 1113 1114 palmrunline = str(history_entry) 1115 palmrunline = palmrunline[17:] 1116 palmrunline = palmrunline[:len(palmrunline)-1] 1117 palmrunline = filter(None,palmrunline.split("("))[0] 1118 self.groupBox.findChild(QtGui.QLineEdit,"commandline").setText(palmrunline) 1119 1120 # Set selected item to jobname in "available jobs" list 1121 jobname = str(history_entry[17:]) 1122 jobname = filter(None,jobname.split(" -r"))[1] 1123 jobname = jobname.strip() 1124 jobname = filter(None,jobname.split(" "))[0] 1125 jobname = jobname.replace("\"","") 1126 item2int = self.list_jobs.findItems(jobname,QtCore.Qt.MatchCaseSensitive) 1127 1128 if ( item2int != [] ): 1129 self.list_jobs.setCurrentItem(item2int[0]) 1130 self.update_input() 1131 1132 # Add tooltip tag 1133 tag = str(history_entry).split('\n')[0] 1134 tag = filter(None,tag.split("("))[1] 1135 tag = tag.replace(")","") 1136 self.groupBox.findChild(QtGui.QLineEdit,"line_tag").setText(tag) 1151 1137 1152 1138 # Process palmrungui to set up gui controls 1139 self.setup_gui(palmrunline) 1140 1141 1153 1142 def update_all(self): 1154 1143 … … 1162 1151 self.update_input() 1163 1152 1153 1164 1154 # Load jobs into list 1165 1155 def load_jobs(self): … … 1173 1163 1174 1164 self.list_jobs.clear() 1175 self.push_copy.setEnabled(False)1176 self.push_create_set.setEnabled(False)1177 1178 1165 self.line_path.setText(job_dir + "/") 1179 1166 … … 1197 1184 # Update input and user code lists 1198 1185 def update_input(self): 1186 1187 self.labeltimer.stop() 1188 1199 1189 1200 1190 self.list_input.clear() … … 1202 1192 self.list_monitoring.clear() 1203 1193 self.list_output.clear() 1204 self.push_copy.setEnabled(True)1205 self.push_create_set.setEnabled(True)1206 1194 1207 1195 jobitem = self.list_jobs.currentItem() … … 1219 1207 1220 1208 if ( os.path.isfile(tmp_file) ): 1221 self.list_input.addItem(str(list_of_files[i]) )1209 self.list_input.addItem(str(list_of_files[i]) + " (" + file_size(tmp_file) + ")") 1222 1210 1223 1211 job_to_show = job_dir + "/" + jobitem.text() + "/USER_CODE" … … 1243 1231 1244 1232 if ( os.path.isfile(tmp_file) ): 1245 self.list_monitoring.addItem(str(list_of_files[i]) )1233 self.list_monitoring.addItem(str(list_of_files[i]) + " (" + file_size(tmp_file) + ")") 1246 1234 1247 1235 job_to_show = job_dir + "/" + jobitem.text() + "/OUTPUT" 1248 1236 1249 1237 if ( os.path.isdir(job_to_show) ): 1250 1238 1251 1239 list_of_files = os.listdir(job_to_show) 1252 1240 1253 1241 for i in range(0,len(list_of_files)): 1254 1242 tmp_file = job_to_show + "/" + list_of_files[i] 1255 1243 1256 1244 if ( os.path.isfile(tmp_file) ): 1257 self.list_output.addItem(str(list_of_files[i]) )1245 self.list_output.addItem(str(list_of_files[i]) + " (" + file_size(tmp_file) + ")") 1258 1246 1259 1247 self.group_execution.findChild(QtGui.QLineEdit,"line_jobname").setText(jobitem.text()) 1260 1248 self.group_history.findChild(QtGui.QListWidget,"list_jobname").clearSelection() 1261 1249 1250 self.timetimer.start() 1251 self.timer.start(update_frequency) 1252 self.labeltimer.start(update_frequency/10) 1253 self.push_update.setText("Update (" + str(int(update_frequency/1000/60)) + " min)") 1254 QtGui.QApplication.processEvents() 1255 1262 1256 # Change palmrunline accordingly 1263 1257 self.change_commandline("r","") 1264 self.change_commandline("a","") 1265 1266 1258 self.change_commandline("a","") 1259 1267 1260 # Make a copy of a job 1268 1261 def copy_job(self): … … 1412 1405 self.setEnabled(True) 1413 1406 set_list = [] 1414 1407 1408 1409 # Add a custom context menu for the job selection list 1410 def openmenujob(self, position): 1411 1412 menu = QtGui.QMenu() 1413 1414 selection = self.list_jobs.selectedItems() 1415 1416 if ( len(selection) != 0 ): 1417 1418 copyAction = QtGui.QAction('Copy job', self) 1419 copyAction.triggered.connect(self.copy_job) 1420 createAction = QtGui.QAction('Create set from job', self) 1421 createAction.triggered.connect(self.create_set) 1422 delAction = QtGui.QAction('Delete job', self) 1423 delAction.triggered.connect(self.DeleteJob) 1424 1425 menu.addAction(copyAction) 1426 menu.addAction(createAction) 1427 menu.addAction(delAction) 1428 1429 action = menu.exec_(self.list_jobs.mapToGlobal(position)) 1430 1431 1415 1432 # Add a custom context menu 1416 1433 def openmenuinput(self, position): … … 1422 1439 if ( len(selection) != 0 ): 1423 1440 1424 openAction = menu.addAction('Open selected files') 1441 1442 openAction = QtGui.QAction('Open file(s)', self) 1425 1443 openAction.setStatusTip('Open file(s) in your favorite editor') 1426 1444 openAction.triggered.connect(self.OpenFilesInput) 1445 1446 1447 delAction = QtGui.QAction('Delete file(s)', self) 1448 delAction.triggered.connect(self.DeleteFilesInput) 1449 1450 menu.addAction(openAction) 1451 menu.addAction(delAction) 1452 1427 1453 action = menu.exec_(self.list_input.mapToGlobal(position)) 1428 1454 … … 1436 1462 if ( len(selection) != 0 ): 1437 1463 1438 openAction = menu.addAction('Open selected files')1464 openAction = QtGui.QAction('Open file(s)', self) 1439 1465 openAction.setStatusTip('Open file(s) in your favorite editor') 1440 1466 openAction.triggered.connect(self.OpenFilesUser) 1467 1468 1469 delAction = QtGui.QAction('Delete file(s)', self) 1470 delAction.triggered.connect(self.DeleteFilesUser) 1471 1472 menu.addAction(openAction) 1473 menu.addAction(delAction) 1441 1474 action = menu.exec_(self.list_user.mapToGlobal(position)) 1442 1475 … … 1450 1483 if ( len(selection) != 0 ): 1451 1484 1452 openAction = menu.addAction('Open selected files')1485 openAction = QtGui.QAction('Open file(s)', self) 1453 1486 openAction.setStatusTip('Open file(s) in your favorite editor') 1454 1487 openAction.triggered.connect(self.OpenFilesOutput) 1488 1489 1490 delAction = QtGui.QAction('Delete file(s)', self) 1491 delAction.triggered.connect(self.DeleteFilesOutput) 1492 1493 menu.addAction(openAction) 1494 menu.addAction(delAction) 1455 1495 action = menu.exec_(self.list_output.mapToGlobal(position)) 1456 1496 … … 1464 1504 if ( len(selection) != 0 ): 1465 1505 1466 openAction = menu.addAction('Open selected files')1506 openAction = QtGui.QAction('Open file(s)', self) 1467 1507 openAction.setStatusTip('Open file(s) in your favorite editor') 1468 1508 openAction.triggered.connect(self.OpenFilesMonitoring) 1509 1510 1511 delAction = QtGui.QAction('Delete file(s)', self) 1512 delAction.triggered.connect(self.DeleteFilesMonitoring) 1513 1514 menu.addAction(openAction) 1515 menu.addAction(delAction) 1469 1516 action = menu.exec_(self.list_monitoring.mapToGlobal(position)) 1517 1518 def OpenConfig(self): 1519 1520 config = str(self.group_execution.findChild(QtGui.QComboBox, "combo_configuration").currentText()) 1521 if ( config != "" ): 1522 filename = ".palm.config." + config 1523 open_file = "xdg-open " + filename 1524 os.system(str(open_file)) 1470 1525 1471 1526 def OpenFilesInput(self): … … 1478 1533 open_files = "" 1479 1534 for i in range(0,len(sel_files)): 1480 open_files = open_files + "xdg-open " + input_dir + sel_files[i].text() + "; "1535 open_files = open_files + "xdg-open " + input_dir + sel_files[i].text().split("(")[0] + "; " 1481 1536 1482 1537 os.system(str(open_files)) … … 1505 1560 open_files = "" 1506 1561 for i in range(0,len(sel_files)): 1507 open_files = open_files + "xdg-open " + input_dir + sel_files[i].text() + "; "1562 open_files = open_files + "xdg-open " + input_dir + sel_files[i].text().split("(")[0] + "; " 1508 1563 1509 1564 os.system(str(open_files)) … … 1519 1574 open_files = "" 1520 1575 for i in range(0,len(sel_files)): 1521 open_files = open_files + "xdg-open " + input_dir + sel_files[i].text() + "; "1576 open_files = open_files + "xdg-open " + input_dir + sel_files[i].text().split("(")[0] + "; " 1522 1577 1523 1578 os.system(str(open_files)) 1524 1579 selection = self.list_jobs.selectedItems() 1525 1580 1581 def DeleteFilesInput(self): 1582 1583 status = QtGui.QMessageBox.question(self,'Delete Confirmation', "Are you sure you want to delete these files?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 1584 1585 if status == QtGui.QMessageBox.Yes: 1586 1587 sel_job = self.list_jobs.currentItem().text() 1588 sel_files = self.list_input.selectedItems() 1589 1590 input_dir = job_dir + "/" + sel_job + "/INPUT/" 1591 1592 for i in range(0,len(sel_files)): 1593 filename = input_dir + sel_files[i].text().split("(")[0].trimmed() 1594 os.remove(filename) 1595 1596 self.update_all() 1597 1598 1599 def DeleteFilesUser(self): 1600 1601 status = QtGui.QMessageBox.question(self,'Delete Confirmation', "Are you sure you want to delete these files?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 1602 1603 if status == QtGui.QMessageBox.Yes: 1604 1605 sel_job = self.list_jobs.currentItem().text() 1606 sel_files = self.list_user.selectedItems() 1607 1608 input_dir = job_dir + "/" + sel_job + "/USER/" 1609 1610 for i in range(0,len(sel_files)): 1611 filename = input_dir + sel_files[i].text().split("(")[0].trimmed() 1612 os.remove(filename) 1613 1614 self.update_all() 1615 1616 1617 def DeleteFilesMonitoring(self): 1618 1619 status = QtGui.QMessageBox.question(self,'Delete Confirmation', "Are you sure you want to delete these files?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 1620 1621 if status == QtGui.QMessageBox.Yes: 1622 1623 sel_job = self.list_jobs.currentItem().text() 1624 sel_files = self.list_monitoring.selectedItems() 1625 1626 input_dir = job_dir + "/" + sel_job + "/MONITORING/" 1627 1628 for i in range(0,len(sel_files)): 1629 filename = input_dir + sel_files[i].text().split("(")[0].trimmed() 1630 os.remove(filename) 1631 1632 self.update_all() 1633 1634 1635 def DeleteFilesOutput(self): 1636 1637 status = QtGui.QMessageBox.question(self,'Delete Confirmation', "Are you sure you want to delete these files?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 1638 1639 if status == QtGui.QMessageBox.Yes: 1640 1641 sel_job = self.list_jobs.currentItem().text() 1642 sel_files = self.list_output.selectedItems() 1643 1644 input_dir = job_dir + "/" + sel_job + "/OUTPUT/" 1645 1646 for i in range(0,len(sel_files)): 1647 filename = input_dir + sel_files[i].text().split("(")[0].trimmed() 1648 os.remove(filename) 1649 1650 self.update_all() 1651 1652 def DeleteJob(self): 1653 1654 status = QtGui.QMessageBox.question(self,'Delete Confirmation', "Are you sure you want to delete this job?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 1655 1656 if status == QtGui.QMessageBox.Yes: 1657 1658 sel_job = self.list_jobs.currentItem().text() 1659 1660 input_dir = job_dir + "/" + sel_job 1661 shutil.rmtree(str(input_dir)) 1662 1663 self.update_all() 1664 1526 1665 # Message box for showing RUN_CONTROL output 1527 1666 class CreateSetBox(QtGui.QDialog): 1528 1667 def __init__(self): 1529 1668 1530 1669 super(CreateSetBox, self).__init__() 1531 1670 1532 1671 uic.loadUi(palm_bin + '/palmrungui_files/create_set.ui', self) 1533 1672 1534 1673 self.show() 1535 1674 1536 1675 return 1537 1676 1538 1677 # Cancel button 1539 1678 def rejected(self): 1540 1679 1541 1680 self.close() 1542 1681 1543 1682 return 1544 1545 1683 1546 1684 # OK button 1547 1685 def accept(self): 1548 1686 1549 1687 global set_list 1550 1688 1551 1689 text = self.list.toPlainText() 1552 1690 set_list = text.split('\n') 1553 1691 self.close() 1554 1692 1555 1693 return 1556 1694 1557 1558 1695 # Message box for showing RUN_CONTROL output 1696 class OpenHistoryBox(QtGui.QDialog): 1697 def __init__(self): 1698 1699 super(OpenHistoryBox, self).__init__() 1700 1701 uic.loadUi(palm_bin + '/palmrungui_files/history.ui', self) 1702 1703 if os.path.exists(palm_dir + "/.palmrungui.history"): 1704 pass 1705 else: 1706 return 1707 1708 filename = open(palm_dir + "/.palmrungui.history","r") 1709 history = filename.readlines() 1710 filename.close() 1711 1712 1713 list_jobname = self.findChild(QtGui.QListWidget,"list_history") 1714 1715 # Read history entries and append to recent job list 1716 len_history=len(history)-1 1717 i = 0 1718 while i<=len_history: 1719 list_jobname.addItem(history[i]) 1720 i = i + 1 1721 1722 self.show() 1723 1724 return 1725 1726 # Select item / activate Load button 1727 def ItemSelected(self): 1728 1729 self.push_open.setEnabled(True) 1730 1731 return 1732 1733 1734 # Load job from history 1735 def OpenFromHistory(self): 1736 1737 global history_entry 1738 history_entry = self.list_history.selectedItems()[0].text() 1739 1740 self.close() 1741 1742 return 1743 1744 # Close history window 1745 def DiscardHistory(self): 1746 1747 1748 self.close() 1749 1750 return 1751 1752 # Clear history 1753 def ClearHistory(self): 1754 1755 status = QtGui.QMessageBox.question(self,'Delete Confirmation', "Are you sure you want to delete your history?", QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) 1756 1757 if status == QtGui.QMessageBox.Yes: 1758 1759 if os.path.exists(palm_dir + "/.palmrungui.history"): 1760 os.remove(palm_dir + "/.palmrungui.history") 1761 1762 1763 return 1559 1764 1560 1765 if __name__ == "__main__": -
palm/trunk/SCRIPTS/palmrungui_files/about.ui
r2413 r4470 7 7 <x>0</x> 8 8 <y>0</y> 9 <width> 349</width>10 <height>1 27</height>9 <width>455</width> 10 <height>147</height> 11 11 </rect> 12 12 </property> … … 17 17 <property name="geometry"> 18 18 <rect> 19 <x>1 95</x>20 <y> 95</y>19 <x>10</x> 20 <y>110</y> 21 21 <width>91</width> 22 22 <height>24</height> … … 51 51 <rect> 52 52 <x>10</x> 53 <y> 60</y>54 <width> 261</width>55 <height> 36</height>53 <y>50</y> 54 <width>431</width> 55 <height>51</height> 56 56 </rect> 57 57 </property> 58 58 <property name="text"> 59 <string>Visit http://palm-model.org</string> 59 <string><html><head/><body><p>palmrungui is a graphical user interface for the bash script palmrun. </p><p>A documentation can be found <a href="http://palm-model.org/trac/wiki/doc/app/palmrungui"><span style=" text-decoration: underline; color:#2980b9;">here</span></a>.</p></body></html></string> 60 </property> 61 <property name="textFormat"> 62 <enum>Qt::RichText</enum> 60 63 </property> 61 64 <property name="alignment"> 62 <set>Qt::Align HCenter|Qt::AlignTop</set>65 <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> 63 66 </property> 64 67 <property name="wordWrap"> 65 68 <bool>true</bool> 66 69 </property> 67 </widget> 68 <widget class="QLabel" name="label_3"> 69 <property name="geometry"> 70 <rect> 71 <x>10</x> 72 <y>25</y> 73 <width>291</width> 74 <height>41</height> 75 </rect> 76 </property> 77 <property name="font"> 78 <font> 79 <pointsize>12</pointsize> 80 <weight>75</weight> 81 <bold>true</bold> 82 </font> 83 </property> 84 <property name="text"> 85 <string>A graphical user interface for palmrun</string> 70 <property name="openExternalLinks"> 71 <bool>false</bool> 86 72 </property> 87 73 </widget> -
palm/trunk/SCRIPTS/palmrungui_files/mainwindow.ui
r4427 r4470 140 140 <x>10</x> 141 141 <y>50</y> 142 <width> 771</width>142 <width>971</width> 143 143 <height>26</height> 144 144 </rect> … … 168 168 <x>470</x> 169 169 <y>20</y> 170 <width> 311</width>170 <width>701</width> 171 171 <height>21</height> 172 172 </rect> … … 190 190 <property name="alignment"> 191 191 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set> 192 </property> 193 </widget> 194 <widget class="QLabel" name="label_version"> 195 <property name="geometry"> 196 <rect> 197 <x>1000</x> 198 <y>47</y> 199 <width>181</width> 200 <height>31</height> 201 </rect> 202 </property> 203 <property name="text"> 204 <string>Version: xxxx (27-02-2002)</string> 192 205 </property> 193 206 </widget> … … 233 246 <rect> 234 247 <x>0</x> 235 <y>3 75</y>248 <y>350</y> 236 249 <width>441</width> 237 <height> 286</height>250 <height>311</height> 238 251 </rect> 239 252 </property> … … 251 264 <rect> 252 265 <x>330</x> 253 <y> 55</y>266 <y>60</y> 254 267 <width>101</width> 255 268 <height>21</height> … … 267 280 <rect> 268 281 <x>250</x> 269 <y> 55</y>282 <y>61</y> 270 283 <width>71</width> 271 <height>2 1</height>284 <height>20</height> 272 285 </rect> 273 286 </property> … … 283 296 <rect> 284 297 <x>130</x> 285 <y>1 20</y>298 <y>150</y> 286 299 <width>91</width> 287 300 <height>20</height> … … 296 309 <rect> 297 310 <x>10</x> 298 <y>120</y> 311 <y>150</y> 312 <width>111</width> 313 <height>20</height> 314 </rect> 315 </property> 316 <property name="text"> 317 <string>Cores:</string> 318 </property> 319 <property name="alignment"> 320 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set> 321 </property> 322 </widget> 323 <widget class="QLineEdit" name="line_tpn"> 324 <property name="geometry"> 325 <rect> 326 <x>330</x> 327 <y>150</y> 328 <width>101</width> 329 <height>21</height> 330 </rect> 331 </property> 332 <property name="text"> 333 <string/> 334 </property> 335 </widget> 336 <widget class="QLabel" name="label_4"> 337 <property name="geometry"> 338 <rect> 339 <x>220</x> 340 <y>140</y> 341 <width>101</width> 342 <height>31</height> 343 </rect> 344 </property> 345 <property name="text"> 346 <string>Tasks per node:</string> 347 </property> 348 <property name="alignment"> 349 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set> 350 </property> 351 </widget> 352 <widget class="QLineEdit" name="line_account"> 353 <property name="geometry"> 354 <rect> 355 <x>330</x> 356 <y>180</y> 357 <width>101</width> 358 <height>20</height> 359 </rect> 360 </property> 361 <property name="text"> 362 <string/> 363 </property> 364 </widget> 365 <widget class="QLabel" name="label_5"> 366 <property name="geometry"> 367 <rect> 368 <x>260</x> 369 <y>180</y> 370 <width>61</width> 371 <height>16</height> 372 </rect> 373 </property> 374 <property name="text"> 375 <string>Account:</string> 376 </property> 377 <property name="alignment"> 378 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set> 379 </property> 380 </widget> 381 <widget class="QLabel" name="label_6"> 382 <property name="geometry"> 383 <rect> 384 <x>10</x> 385 <y>180</y> 299 386 <width>111</width> 300 387 <height>16</height> … … 302 389 </property> 303 390 <property name="text"> 304 <string> Cores:</string>391 <string>Wallclock time (s):</string> 305 392 </property> 306 393 <property name="alignment"> … … 308 395 </property> 309 396 </widget> 310 <widget class="QLineEdit" name="line_tpn">311 <property name="geometry">312 <rect>313 <x>330</x>314 <y>120</y>315 <width>101</width>316 <height>21</height>317 </rect>318 </property>319 <property name="text">320 <string/>321 </property>322 </widget>323 <widget class="QLabel" name="label_4">324 <property name="geometry">325 <rect>326 <x>220</x>327 <y>115</y>328 <width>101</width>329 <height>21</height>330 </rect>331 </property>332 <property name="text">333 <string>Tasks per node:</string>334 </property>335 <property name="alignment">336 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>337 </property>338 </widget>339 <widget class="QLineEdit" name="line_account">340 <property name="geometry">341 <rect>342 <x>330</x>343 <y>145</y>344 <width>101</width>345 <height>20</height>346 </rect>347 </property>348 <property name="text">349 <string/>350 </property>351 </widget>352 <widget class="QLabel" name="label_5">353 <property name="geometry">354 <rect>355 <x>260</x>356 <y>145</y>357 <width>61</width>358 <height>16</height>359 </rect>360 </property>361 <property name="text">362 <string>Account:</string>363 </property>364 <property name="alignment">365 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>366 </property>367 </widget>368 <widget class="QLabel" name="label_6">369 <property name="geometry">370 <rect>371 <x>10</x>372 <y>145</y>373 <width>111</width>374 <height>16</height>375 </rect>376 </property>377 <property name="text">378 <string>Wallclock time (s):</string>379 </property>380 <property name="alignment">381 <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>382 </property>383 </widget>384 397 <widget class="QLineEdit" name="line_time"> 385 398 <property name="geometry"> 386 399 <rect> 387 400 <x>130</x> 388 <y>1 45</y>401 <y>180</y> 389 402 <width>91</width> 390 403 <height>20</height> … … 401 414 <y>90</y> 402 415 <width>91</width> 403 <height> 16</height>416 <height>21</height> 404 417 </rect> 405 418 </property> … … 418 431 <rect> 419 432 <x>10</x> 420 <y> 165</y>433 <y>200</y> 421 434 <width>411</width> 422 435 <height>20</height> … … 431 444 <rect> 432 445 <x>10</x> 433 <y> 180</y>446 <y>210</y> 434 447 <width>121</width> 435 448 <height>23</height> … … 444 457 <rect> 445 458 <x>10</x> 446 <y>2 00</y>459 <y>230</y> 447 460 <width>281</width> 448 461 <height>23</height> … … 457 470 <rect> 458 471 <x>10</x> 459 <y>2 20</y>472 <y>250</y> 460 473 <width>261</width> 461 474 <height>23</height> … … 466 479 </property> 467 480 </widget> 468 <widget class="QLabel" name="label_restart">469 <property name="enabled">470 <bool>false</bool>471 </property>472 <property name="geometry">473 <rect>474 <x>130</x>475 <y>165</y>476 <width>291</width>477 <height>20</height>478 </rect>479 </property>480 <property name="font">481 <font>482 <weight>75</weight>483 <bold>true</bold>484 </font>485 </property>486 <property name="text">487 <string/>488 </property>489 </widget>490 481 <widget class="QCheckBox" name="check_cycfill"> 491 482 <property name="geometry"> 492 483 <rect> 493 484 <x>10</x> 494 <y>2 40</y>485 <y>270</y> 495 486 <width>261</width> 496 487 <height>21</height> … … 505 496 <rect> 506 497 <x>10</x> 507 <y>2 60</y>498 <y>290</y> 508 499 <width>261</width> 509 500 <height>21</height> … … 521 512 <rect> 522 513 <x>60</x> 523 <y> 55</y>514 <y>60</y> 524 515 <width>191</width> 525 516 <height>26</height> … … 561 552 <rect> 562 553 <x>110</x> 563 <y> 20</y>554 <y>30</y> 564 555 <width>321</width> 565 556 <height>25</height> … … 588 579 <y>60</y> 589 580 <width>41</width> 590 <height> 16</height>581 <height>21</height> 591 582 </rect> 592 583 </property> … … 604 595 <property name="geometry"> 605 596 <rect> 606 <x> 10</x>607 <y> 25</y>608 <width> 91</width>609 <height> 16</height>597 <x>0</x> 598 <y>30</y> 599 <width>101</width> 600 <height>21</height> 610 601 </rect> 611 602 </property> … … 629 620 <property name="geometry"> 630 621 <rect> 622 <x>230</x> 623 <y>120</y> 624 <width>91</width> 625 <height>21</height> 626 </rect> 627 </property> 628 <property name="text"> 629 <string>(re-)Build</string> 630 </property> 631 </widget> 632 <widget class="QComboBox" name="combo_configuration"> 633 <property name="geometry"> 634 <rect> 635 <x>130</x> 636 <y>90</y> 637 <width>301</width> 638 <height>26</height> 639 </rect> 640 </property> 641 </widget> 642 <widget class="QCheckBox" name="check_rebuild"> 643 <property name="geometry"> 644 <rect> 631 645 <x>330</x> 632 <y> 85</y>646 <y>120</y> 633 647 <width>101</width> 634 <height>2 6</height>635 </rect> 636 </property> 637 <property name="text"> 638 <string> (re-)build</string>639 </property> 640 </widget> 641 <widget class="Q ComboBox" name="combo_configuration">648 <height>22</height> 649 </rect> 650 </property> 651 <property name="text"> 652 <string>Full rebuild</string> 653 </property> 654 </widget> 655 <widget class="QPushButton" name="button_editconfig"> 642 656 <property name="geometry"> 643 657 <rect> 644 658 <x>130</x> 645 <y>85</y> 646 <width>191</width> 647 <height>26</height> 648 </rect> 659 <y>120</y> 660 <width>91</width> 661 <height>21</height> 662 </rect> 663 </property> 664 <property name="text"> 665 <string>Edit</string> 649 666 </property> 650 667 </widget> … … 698 715 <rect> 699 716 <x>10</x> 700 <y> 85</y>717 <y>90</y> 701 718 <width>231</width> 702 <height>5 31</height>719 <height>561</height> 703 720 </rect> 704 721 </property> 705 722 <property name="contextMenuPolicy"> 706 <enum>Qt:: NoContextMenu</enum>723 <enum>Qt::CustomContextMenu</enum> 707 724 </property> 708 725 <property name="alternatingRowColors"> … … 717 734 <rect> 718 735 <x>250</x> 719 <y> 85</y>736 <y>90</y> 720 737 <width>231</width> 721 738 <height>141</height> … … 801 818 <x>440</x> 802 819 <y>30</y> 803 <width>1 21</width>820 <width>131</width> 804 821 <height>24</height> 805 822 </rect> 806 823 </property> 807 824 <property name="text"> 808 <string>Update </string>825 <string>Update (60 s)</string> 809 826 </property> 810 827 </widget> … … 813 830 <rect> 814 831 <x>490</x> 815 <y> 85</y>832 <y>90</y> 816 833 <width>221</width> 817 <height>56 6</height>834 <height>561</height> 818 835 </rect> 819 836 </property> … … 848 865 <rect> 849 866 <x>250</x> 850 <y>4 15</y>867 <y>420</y> 851 868 <width>231</width> 852 <height>23 6</height>869 <height>231</height> 853 870 </rect> 854 871 </property> … … 879 896 </property> 880 897 </widget> 881 <widget class="QPushButton" name="push_copy">882 <property name="geometry">883 <rect>884 <x>10</x>885 <y>625</y>886 <width>91</width>887 <height>24</height>888 </rect>889 </property>890 <property name="text">891 <string>Copy job</string>892 </property>893 </widget>894 <widget class="QPushButton" name="push_create_set">895 <property name="geometry">896 <rect>897 <x>110</x>898 <y>625</y>899 <width>131</width>900 <height>24</height>901 </rect>902 </property>903 <property name="text">904 <string>Create set from job</string>905 </property>906 </widget>907 898 <widget class="QLabel" name="palm_logo"> 908 899 <property name="geometry"> … … 921 912 </property> 922 913 </widget> 923 <zorder>list_jobs</zorder>924 <zorder>list_input</zorder>925 <zorder>list_user</zorder>926 <zorder>label_11</zorder>927 <zorder>label_10</zorder>928 <zorder>label_12</zorder>929 <zorder>push_update</zorder>930 <zorder>list_output</zorder>931 <zorder>label_14</zorder>932 <zorder>list_monitoring</zorder>933 <zorder>label_15</zorder>934 <zorder>push_copy</zorder>935 <zorder>push_create_set</zorder>936 <zorder>palm_logo</zorder>937 <zorder>palm_logo</zorder>938 914 </widget> 939 915 <widget class="QGroupBox" name="group_history"> … … 943 919 <y>5</y> 944 920 <width>441</width> 945 <height>3 71</height>921 <height>341</height> 946 922 </rect> 947 923 </property> … … 957 933 <x>10</x> 958 934 <y>50</y> 959 <width>4 11</width>960 <height> 311</height>935 <width>421</width> 936 <height>281</height> 961 937 </rect> 962 938 </property> … … 1430 1406 <property name="geometry"> 1431 1407 <rect> 1432 <x>26 1</x>1433 <y>1 03</y>1434 <width>1 28</width>1435 <height>1 89</height>1408 <x>267</x> 1409 <y>152</y> 1410 <width>155</width> 1411 <height>137</height> 1436 1412 </rect> 1437 1413 </property> … … 1444 1420 <addaction name="action_open"/> 1445 1421 <addaction name="separator"/> 1446 <addaction name="action_last"/>1447 <addaction name="action_save"/>1448 1422 <addaction name="action_default"/> 1449 1423 <addaction name="action_quit"/> … … 1468 1442 <action name="action_open"> 1469 1443 <property name="text"> 1470 <string>& Open from File</string>1444 <string>&Select from history</string> 1471 1445 </property> 1472 1446 </action> … … 1611 1585 <hints> 1612 1586 <hint type="sourcelabel"> 1613 <x>2 06</x>1614 <y>5 40</y>1587 <x>214</x> 1588 <y>500</y> 1615 1589 </hint> 1616 1590 <hint type="destinationlabel"> … … 1627 1601 <hints> 1628 1602 <hint type="sourcelabel"> 1629 <x>2 44</x>1630 <y>5 40</y>1603 <x>252</x> 1604 <y>500</y> 1631 1605 </hint> 1632 1606 <hint type="destinationlabel"> … … 1788 1762 <hint type="sourcelabel"> 1789 1763 <x>170</x> 1790 <y>5 70</y>1764 <y>585</y> 1791 1765 </hint> 1792 1766 <hint type="destinationlabel"> … … 1804 1778 <hint type="sourcelabel"> 1805 1779 <x>193</x> 1806 <y> 595</y>1780 <y>615</y> 1807 1781 </hint> 1808 1782 <hint type="destinationlabel"> … … 1819 1793 <hints> 1820 1794 <hint type="sourcelabel"> 1821 <x>40 2</x>1822 <y> 515</y>1795 <x>406</x> 1796 <y>495</y> 1823 1797 </hint> 1824 1798 <hint type="destinationlabel"> … … 1836 1810 <hint type="sourcelabel"> 1837 1811 <x>425</x> 1838 <y> 595</y>1812 <y>615</y> 1839 1813 </hint> 1840 1814 <hint type="destinationlabel"> … … 1852 1826 <hint type="sourcelabel"> 1853 1827 <x>400</x> 1854 <y>5 70</y>1828 <y>585</y> 1855 1829 </hint> 1856 1830 <hint type="destinationlabel"> … … 1989 1963 </connection> 1990 1964 <connection> 1991 <sender>action_ save</sender>1965 <sender>action_open</sender> 1992 1966 <signal>triggered()</signal> 1993 1967 <receiver>MainWindow</receiver> 1994 <slot> save_to_file()</slot>1968 <slot>open_from_file()</slot> 1995 1969 <hints> 1996 1970 <hint type="sourcelabel"> … … 2005 1979 </connection> 2006 1980 <connection> 2007 <sender>action_ last</sender>1981 <sender>action_help</sender> 2008 1982 <signal>triggered()</signal> 2009 1983 <receiver>MainWindow</receiver> 2010 <slot> open_last()</slot>1984 <slot>help()</slot> 2011 1985 <hints> 2012 1986 <hint type="sourcelabel"> … … 2021 1995 </connection> 2022 1996 <connection> 2023 <sender>action_ open</sender>1997 <sender>action_about</sender> 2024 1998 <signal>triggered()</signal> 2025 1999 <receiver>MainWindow</receiver> 2026 <slot> open_from_file()</slot>2000 <slot>about_gui()</slot> 2027 2001 <hints> 2028 2002 <hint type="sourcelabel"> … … 2037 2011 </connection> 2038 2012 <connection> 2039 <sender>action_ help</sender>2013 <sender>action_default</sender> 2040 2014 <signal>triggered()</signal> 2041 2015 <receiver>MainWindow</receiver> 2042 <slot> help()</slot>2016 <slot>save_default()</slot> 2043 2017 <hints> 2044 2018 <hint type="sourcelabel"> … … 2053 2027 </connection> 2054 2028 <connection> 2055 <sender>action_about</sender> 2029 <sender>line_jobname</sender> 2030 <signal>textChanged(QString)</signal> 2031 <receiver>MainWindow</receiver> 2032 <slot>change_lineinput()</slot> 2033 <hints> 2034 <hint type="sourcelabel"> 2035 <x>189</x> 2036 <y>464</y> 2037 </hint> 2038 <hint type="destinationlabel"> 2039 <x>4</x> 2040 <y>122</y> 2041 </hint> 2042 </hints> 2043 </connection> 2044 <connection> 2045 <sender>check_Z</sender> 2046 <signal>stateChanged(int)</signal> 2047 <receiver>MainWindow</receiver> 2048 <slot>check_flags()</slot> 2049 <hints> 2050 <hint type="sourcelabel"> 2051 <x>434</x> 2052 <y>284</y> 2053 </hint> 2054 <hint type="destinationlabel"> 2055 <x>458</x> 2056 <y>344</y> 2057 </hint> 2058 </hints> 2059 </connection> 2060 <connection> 2061 <sender>check_cycfill</sender> 2062 <signal>stateChanged(int)</signal> 2063 <receiver>MainWindow</receiver> 2064 <slot>change_rc_list()</slot> 2065 <hints> 2066 <hint type="sourcelabel"> 2067 <x>274</x> 2068 <y>705</y> 2069 </hint> 2070 <hint type="destinationlabel"> 2071 <x>4</x> 2072 <y>510</y> 2073 </hint> 2074 </hints> 2075 </connection> 2076 <connection> 2077 <sender>action_start_watchdog</sender> 2056 2078 <signal>triggered()</signal> 2057 2079 <receiver>MainWindow</receiver> 2058 <slot> about_gui()</slot>2080 <slot>start_watchdog()</slot> 2059 2081 <hints> 2060 2082 <hint type="sourcelabel"> … … 2063 2085 </hint> 2064 2086 <hint type="destinationlabel"> 2065 <x>479</x>2066 <y>366</y>2067 </hint>2068 </hints>2069 </connection>2070 <connection>2071 <sender>action_default</sender>2072 <signal>triggered()</signal>2073 <receiver>MainWindow</receiver>2074 <slot>save_default()</slot>2075 <hints>2076 <hint type="sourcelabel">2077 <x>-1</x>2078 <y>-1</y>2079 </hint>2080 <hint type="destinationlabel">2081 <x>479</x>2082 <y>366</y>2083 </hint>2084 </hints>2085 </connection>2086 <connection>2087 <sender>line_jobname</sender>2088 <signal>textChanged(QString)</signal>2089 <receiver>MainWindow</receiver>2090 <slot>change_lineinput()</slot>2091 <hints>2092 <hint type="sourcelabel">2093 <x>185</x>2094 <y>485</y>2095 </hint>2096 <hint type="destinationlabel">2097 <x>4</x>2098 <y>122</y>2099 </hint>2100 </hints>2101 </connection>2102 <connection>2103 <sender>check_Z</sender>2104 <signal>stateChanged(int)</signal>2105 <receiver>MainWindow</receiver>2106 <slot>check_flags()</slot>2107 <hints>2108 <hint type="sourcelabel">2109 <x>434</x>2110 <y>284</y>2111 </hint>2112 <hint type="destinationlabel">2113 2087 <x>458</x> 2114 2088 <y>344</y> … … 2117 2091 </connection> 2118 2092 <connection> 2119 <sender>check_cycfill</sender>2120 <signal>stateChanged(int)</signal>2121 <receiver>MainWindow</receiver>2122 <slot>change_rc_list()</slot>2123 <hints>2124 <hint type="sourcelabel">2125 <x>276</x>2126 <y>690</y>2127 </hint>2128 <hint type="destinationlabel">2129 <x>4</x>2130 <y>510</y>2131 </hint>2132 </hints>2133 </connection>2134 <connection>2135 <sender>action_start_watchdog</sender>2136 <signal>triggered()</signal>2137 <receiver>MainWindow</receiver>2138 <slot>start_watchdog()</slot>2139 <hints>2140 <hint type="sourcelabel">2141 <x>-1</x>2142 <y>-1</y>2143 </hint>2144 <hint type="destinationlabel">2145 <x>458</x>2146 <y>344</y>2147 </hint>2148 </hints>2149 </connection>2150 <connection>2151 2093 <sender>check_svf</sender> 2152 2094 <signal>stateChanged(int)</signal> … … 2181 2123 </connection> 2182 2124 <connection> 2183 <sender>push_create_set</sender>2184 <signal>clicked()</signal>2185 <receiver>MainWindow</receiver>2186 <slot>create_set()</slot>2187 <hints>2188 <hint type="sourcelabel">2189 <x>692</x>2190 <y>710</y>2191 </hint>2192 <hint type="destinationlabel">2193 <x>863</x>2194 <y>634</y>2195 </hint>2196 </hints>2197 </connection>2198 <connection>2199 <sender>push_copy</sender>2200 <signal>clicked()</signal>2201 <receiver>MainWindow</receiver>2202 <slot>copy_job()</slot>2203 <hints>2204 <hint type="sourcelabel">2205 <x>552</x>2206 <y>710</y>2207 </hint>2208 <hint type="destinationlabel">2209 <x>985</x>2210 <y>650</y>2211 </hint>2212 </hints>2213 </connection>2214 <connection>2215 2125 <sender>list_user</sender> 2216 2126 <signal>customContextMenuRequested(QPoint)</signal> … … 2315 2225 <hints> 2316 2226 <hint type="sourcelabel"> 2317 <x> 342</x>2318 <y>5 52</y>2227 <x>246</x> 2228 <y>560</y> 2319 2229 </hint> 2320 2230 <hint type="destinationlabel"> … … 2331 2241 <hints> 2332 2242 <hint type="sourcelabel"> 2333 <x>13 4</x>2334 <y>5 47</y>2243 <x>138</x> 2244 <y>530</y> 2335 2245 </hint> 2336 2246 <hint type="destinationlabel"> 2337 2247 <x>1183</x> 2338 2248 <y>538</y> 2249 </hint> 2250 </hints> 2251 </connection> 2252 <connection> 2253 <sender>button_editconfig</sender> 2254 <signal>clicked()</signal> 2255 <receiver>MainWindow</receiver> 2256 <slot>OpenConfig()</slot> 2257 <hints> 2258 <hint type="sourcelabel"> 2259 <x>157</x> 2260 <y>555</y> 2261 </hint> 2262 <hint type="destinationlabel"> 2263 <x>397</x> 2264 <y>-4</y> 2265 </hint> 2266 </hints> 2267 </connection> 2268 <connection> 2269 <sender>list_jobs</sender> 2270 <signal>customContextMenuRequested(QPoint)</signal> 2271 <receiver>MainWindow</receiver> 2272 <slot>openmenujob()</slot> 2273 <hints> 2274 <hint type="sourcelabel"> 2275 <x>571</x> 2276 <y>213</y> 2277 </hint> 2278 <hint type="destinationlabel"> 2279 <x>538</x> 2280 <y>-4</y> 2339 2281 </hint> 2340 2282 </hints> … … 2369 2311 <slot>openmenumonitoring()</slot> 2370 2312 <slot>startpalmbuild()</slot> 2313 <slot>OpenConfig()</slot> 2314 <slot>openmenujob()</slot> 2371 2315 </slots> 2372 2316 </ui>
Note: See TracChangeset
for help on using the changeset viewer.