9 |
9 |
10 |
10 |
11 import os |
11 import os |
12 |
12 |
13 from PyQt5.QtCore import pyqtSlot, QUrl |
13 from PyQt5.QtCore import pyqtSlot, QUrl |
14 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QFileDialog, \ |
14 from PyQt5.QtWidgets import ( |
15 QButtonGroup |
15 QDialog, QDialogButtonBox, QFileDialog, QButtonGroup |
|
16 ) |
16 |
17 |
17 from E5Gui.E5Completers import E5FileCompleter, E5DirCompleter |
18 from E5Gui.E5Completers import E5FileCompleter, E5DirCompleter |
18 |
19 |
19 from .Ui_FileDialogWizardDialog import Ui_FileDialogWizardDialog |
20 from .Ui_FileDialogWizardDialog import Ui_FileDialogWizardDialog |
20 |
21 |
398 nameVariable = "dirName" |
399 nameVariable = "dirName" |
399 else: |
400 else: |
400 nameVariable = "res" |
401 nameVariable = "res" |
401 filterVariable = self.eFilterVariable.text() |
402 filterVariable = self.eFilterVariable.text() |
402 if not filterVariable: |
403 if not filterVariable: |
403 if (self.__dialogVariant in (-1, 4) and |
404 if ( |
404 self.__typeButtonsGroup.checkedButton() in [ |
405 (self.__dialogVariant in (-1, 4) and |
405 self.rfOpenFile, self.rfOpenFiles, self.rfSaveFile]) or \ |
406 self.__typeButtonsGroup.checkedButton() in [ |
406 (self.__dialogVariant == 5 and |
407 self.rfOpenFile, self.rfOpenFiles, self.rfSaveFile]) or |
407 self.__typeButtonsGroup.checkedButton() in [ |
408 (self.__dialogVariant == 5 and |
408 self.rOpenFile, self.rOpenFiles, self.rSaveFile]): |
409 self.__typeButtonsGroup.checkedButton() in [ |
|
410 self.rOpenFile, self.rOpenFiles, self.rSaveFile]) |
|
411 ): |
409 filterVariable = ", selectedFilter" |
412 filterVariable = ", selectedFilter" |
410 else: |
413 else: |
411 filterVariable = "" |
414 filterVariable = "" |
412 else: |
415 else: |
413 filterVariable = ", " + filterVariable |
416 filterVariable = ", " + filterVariable |
416 dialogType = "E5FileDialog" |
419 dialogType = "E5FileDialog" |
417 else: |
420 else: |
418 dialogType = "QFileDialog" |
421 dialogType = "QFileDialog" |
419 |
422 |
420 code = '{0}{1} = {2}.'.format(nameVariable, filterVariable, dialogType) |
423 code = '{0}{1} = {2}.'.format(nameVariable, filterVariable, dialogType) |
421 if self.rOpenFile.isChecked() or self.rfOpenFile.isChecked() or \ |
424 if ( |
422 self.rOpenFileUrl.isChecked(): |
425 self.rOpenFile.isChecked() or |
|
426 self.rfOpenFile.isChecked() or |
|
427 self.rOpenFileUrl.isChecked() |
|
428 ): |
423 if self.rOpenFile.isChecked(): |
429 if self.rOpenFile.isChecked(): |
424 code += 'getOpenFileName({0}{1}'.format(os.linesep, istring) |
430 code += 'getOpenFileName({0}{1}'.format(os.linesep, istring) |
425 elif self.rOpenFileUrl.isChecked(): |
431 elif self.rOpenFileUrl.isChecked(): |
426 code += 'getOpenFileUrl({0}{1}'.format(os.linesep, istring) |
432 code += 'getOpenFileUrl({0}{1}'.format(os.linesep, istring) |
427 else: |
433 else: |
470 else: |
476 else: |
471 fmt = 'self.tr("{0}")' |
477 fmt = 'self.tr("{0}")' |
472 initialFilter = fmt.format(self.eInitialFilter.text()) |
478 initialFilter = fmt.format(self.eInitialFilter.text()) |
473 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter) |
479 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter) |
474 if not self.cSymlinks.isChecked(): |
480 if not self.cSymlinks.isChecked(): |
475 code += \ |
481 code += ',{0}{1}{2}.Options({2}.DontResolveSymlinks)'.format( |
476 ',{0}{1}{2}.Options(' \ |
482 os.linesep, istring, dialogType) |
477 '{2}.DontResolveSymlinks)' \ |
|
478 .format(os.linesep, istring, dialogType) |
|
479 if self.rOpenFileUrl.isChecked() and bool(self.schemesEdit.text()): |
483 if self.rOpenFileUrl.isChecked() and bool(self.schemesEdit.text()): |
480 code += \ |
484 code += ',{0}{1}{2}'.format( |
481 ',{0}{1}{2}'.format(os.linesep, istring, |
485 os.linesep, istring, self.__prepareSchemesList()) |
482 self.__prepareSchemesList()) |
|
483 code += '){0}'.format(estring) |
486 code += '){0}'.format(estring) |
484 elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked() or \ |
487 elif ( |
485 self.rOpenFileUrls.isChecked(): |
488 self.rOpenFiles.isChecked() or |
|
489 self.rfOpenFiles.isChecked() or |
|
490 self.rOpenFileUrls.isChecked() |
|
491 ): |
486 if self.rOpenFiles.isChecked(): |
492 if self.rOpenFiles.isChecked(): |
487 code += 'getOpenFileNames({0}{1}'.format(os.linesep, istring) |
493 code += 'getOpenFileNames({0}{1}'.format(os.linesep, istring) |
488 elif self.rOpenFileUrls.isChecked(): |
494 elif self.rOpenFileUrls.isChecked(): |
489 code += 'getOpenFileUrls({0}{1}'.format(os.linesep, istring) |
495 code += 'getOpenFileUrls({0}{1}'.format(os.linesep, istring) |
490 else: |
496 else: |
533 else: |
539 else: |
534 fmt = 'self.tr("{0}")' |
540 fmt = 'self.tr("{0}")' |
535 initialFilter = fmt.format(self.eInitialFilter.text()) |
541 initialFilter = fmt.format(self.eInitialFilter.text()) |
536 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter) |
542 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter) |
537 if not self.cSymlinks.isChecked(): |
543 if not self.cSymlinks.isChecked(): |
538 code += \ |
544 code += ',{0}{1}{2}.Options({2}.DontResolveSymlinks)'.format( |
539 ',{0}{1}{2}.Options(' \ |
545 os.linesep, istring, dialogType) |
540 '{2}.DontResolveSymlinks)' \ |
546 if ( |
541 .format(os.linesep, istring, dialogType) |
547 self.rOpenFileUrls.isChecked() and |
542 if self.rOpenFileUrls.isChecked() and \ |
548 bool(self.schemesEdit.text()) |
543 bool(self.schemesEdit.text()): |
549 ): |
544 code += \ |
550 code += ',{0}{1}{2}'.format( |
545 ',{0}{1}{2}'.format(os.linesep, istring, |
551 os.linesep, istring, self.__prepareSchemesList()) |
546 self.__prepareSchemesList()) |
|
547 code += '){0}'.format(estring) |
552 code += '){0}'.format(estring) |
548 elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked() or \ |
553 elif ( |
549 self.rSaveFileUrl.isChecked(): |
554 self.rSaveFile.isChecked() or |
|
555 self.rfSaveFile.isChecked() or |
|
556 self.rSaveFileUrl.isChecked() |
|
557 ): |
550 if self.rSaveFile.isChecked(): |
558 if self.rSaveFile.isChecked(): |
551 code += 'getSaveFileName({0}{1}'.format(os.linesep, istring) |
559 code += 'getSaveFileName({0}{1}'.format(os.linesep, istring) |
552 elif self.rSaveFileUrl.isChecked(): |
560 elif self.rSaveFileUrl.isChecked(): |
553 code += 'getSaveFileUrl({0}{1}'.format(os.linesep, istring) |
561 code += 'getSaveFileUrl({0}{1}'.format(os.linesep, istring) |
554 else: |
562 else: |
596 fmt = '{0}' |
604 fmt = '{0}' |
597 else: |
605 else: |
598 fmt = 'self.tr("{0}")' |
606 fmt = 'self.tr("{0}")' |
599 initialFilter = fmt.format(self.eInitialFilter.text()) |
607 initialFilter = fmt.format(self.eInitialFilter.text()) |
600 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter) |
608 code += ',{0}{1}{2}'.format(os.linesep, istring, initialFilter) |
601 if (not self.cSymlinks.isChecked()) or \ |
609 if ( |
602 (not self.cConfirmOverwrite.isChecked()): |
610 (not self.cSymlinks.isChecked()) or |
|
611 (not self.cConfirmOverwrite.isChecked()) |
|
612 ): |
603 code += ',{0}{1}{2}.Options('.format( |
613 code += ',{0}{1}{2}.Options('.format( |
604 os.linesep, istring, dialogType) |
614 os.linesep, istring, dialogType) |
605 if not self.cSymlinks.isChecked(): |
615 if not self.cSymlinks.isChecked(): |
606 code += '{0}.DontResolveSymlinks'.format(dialogType) |
616 code += '{0}.DontResolveSymlinks'.format(dialogType) |
607 if (not self.cSymlinks.isChecked()) and \ |
617 if ( |
608 (not self.cConfirmOverwrite.isChecked()): |
618 (not self.cSymlinks.isChecked()) and |
|
619 (not self.cConfirmOverwrite.isChecked()) |
|
620 ): |
609 code += ' | ' |
621 code += ' | ' |
610 if not self.cConfirmOverwrite.isChecked(): |
622 if not self.cConfirmOverwrite.isChecked(): |
611 code += '{0}.DontConfirmOverwrite'.format(dialogType) |
623 code += '{0}.DontConfirmOverwrite'.format(dialogType) |
612 code += ')' |
624 code += ')' |
613 if self.rSaveFileUrl.isChecked() and \ |
625 if ( |
614 bool(self.schemesEdit.text()): |
626 self.rSaveFileUrl.isChecked() and |
615 code += \ |
627 bool(self.schemesEdit.text()) |
616 ',{0}{1}{2}'.format(os.linesep, istring, |
628 ): |
617 self.__prepareSchemesList()) |
629 code += ',{0}{1}{2}'.format( |
|
630 os.linesep, istring, self.__prepareSchemesList()) |
|
631 |
618 code += '){0}'.format(estring) |
632 code += '){0}'.format(estring) |
619 elif self.rDirectory.isChecked() or self.rDirectoryUrl.isChecked(): |
633 elif self.rDirectory.isChecked() or self.rDirectoryUrl.isChecked(): |
620 if self.rDirectory.isChecked(): |
634 if self.rDirectory.isChecked(): |
621 code += 'getExistingDirectory({0}{1}'.format( |
635 code += 'getExistingDirectory({0}{1}'.format( |
622 os.linesep, istring) |
636 os.linesep, istring) |
655 code += '{0}.ShowDirsOnly'.format(dialogType) |
669 code += '{0}.ShowDirsOnly'.format(dialogType) |
656 else: |
670 else: |
657 code += '{0}.Option(0)'.format(dialogType) |
671 code += '{0}.Option(0)'.format(dialogType) |
658 code += ')' |
672 code += ')' |
659 if self.rDirectoryUrl.isChecked(): |
673 if self.rDirectoryUrl.isChecked(): |
660 code += \ |
674 code += ',{0}{1}{2}'.format( |
661 ',{0}{1}{2}'.format(os.linesep, istring, |
675 os.linesep, istring, self.__prepareSchemesList()) |
662 self.__prepareSchemesList()) |
|
663 code += '){0}'.format(estring) |
676 code += '){0}'.format(estring) |
664 |
677 |
665 return code |
678 return code |
666 |
679 |
667 def __prepareSchemesList(self): |
680 def __prepareSchemesList(self): |