Preferences/ProgramsDialog.py

branch
maintenance
changeset 6693
3629d88ae235
parent 6667
d45c9b0c3851
child 6672
2af01e538c57
equal deleted inserted replaced
6647:2a11e1b2dcbe 6693:3629d88ae235
338 else: 338 else:
339 itm = QTreeWidgetItem(self.programsList, [description]) 339 itm = QTreeWidgetItem(self.programsList, [description])
340 font = itm.font(0) 340 font = itm.font(0)
341 font.setBold(True) 341 font.setBold(True)
342 itm.setFont(0, font) 342 itm.setFont(0, font)
343 rememberedExe = exe
343 if not exe: 344 if not exe:
344 itm.setText(1, self.tr("(not configured)")) 345 itm.setText(1, self.tr("(not configured)"))
345 else: 346 else:
346 if os.path.isabs(exe): 347 if os.path.isabs(exe):
347 if not Utilities.isExecutable(exe): 348 if not Utilities.isExecutable(exe):
365 output = str(proc.readAllStandardOutput(), 366 output = str(proc.readAllStandardOutput(),
366 Preferences.getSystem("IOEncoding"), 367 Preferences.getSystem("IOEncoding"),
367 'replace') 368 'replace')
368 if exeModule and exeModule[0] == "-m" and \ 369 if exeModule and exeModule[0] == "-m" and \
369 ("ImportError:" in output or 370 ("ImportError:" in output or
370 "ModuleNotFoundError:" in output): 371 "ModuleNotFoundError:" in output or
372 proc.exitCode() != 0):
371 version = self.tr("(module not found)") 373 version = self.tr("(module not found)")
372 else: 374 else:
373 if versionRe is None: 375 if versionRe is None:
374 versionRe = "^{0}".format( 376 versionRe = "^{0}".format(
375 re.escape(versionStartsWith)) 377 re.escape(versionStartsWith))
396 version]) 398 version])
397 else: 399 else:
398 QTreeWidgetItem(itm, [exe, version]) 400 QTreeWidgetItem(itm, [exe, version])
399 itm.setExpanded(True) 401 itm.setExpanded(True)
400 else: 402 else:
401 itm.setText(1, self.tr("(not found)")) 403 if itm.childCount() == 0:
404 itm.setText(1, self.tr("(not found)"))
405 else:
406 QTreeWidgetItem(itm, [rememberedExe,
407 self.tr("(not found)")])
408 itm.setExpanded(True)
402 QApplication.processEvents() 409 QApplication.processEvents()
403 self.programsList.header().resizeSections(QHeaderView.ResizeToContents) 410 self.programsList.header().resizeSections(QHeaderView.ResizeToContents)
404 self.programsList.header().setStretchLastSection(True) 411 self.programsList.header().setStretchLastSection(True)
405 return version 412 return version
406 413

eric ide

mercurial