diff -r 5109c484bc49 -r eb2d30b4d34e PyInstaller/PyInstallerConfigDialog.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PyInstaller/PyInstallerConfigDialog.py Wed Jan 17 16:25:59 2018 +0100 @@ -0,0 +1,76 @@ +# -*- coding: utf-8 -*- + +""" +Module implementing PyInstallerConfigDialog. +""" + +from PyQt5.QtCore import pyqtSlot +from PyQt5.QtWidgets import QDialog + +from E5Gui.E5PathPicker import E5PathPickerModes + +from .Ui_PyInstallerConfigDialog import Ui_PyInstallerConfigDialog + +import Globals + + +class PyInstallerConfigDialog(QDialog, Ui_PyInstallerConfigDialog): + """ + Class documentation goes here. + """ + def __init__(self, project, executables, params=None, mode="installer", + parent=None): + """ + Constructor + + @param project reference to the project object + @type Project.Project + @param executables names of the pyinstaller executables + @type list of str + @param params parameters to set in the dialog + @type dict + @param mode mode of the dialog + @type str (one of 'installer' or 'spec') + @param parent reference to the parent widget + @type QWidget + """ + assert mode in ("installer", "spec") + + super(PyInstallerConfigDialog, self).__init__(parent) + self.setupUi(self) + + self.inputFilePicker.setMode(E5PathPickerModes.OpenFileMode) + self.inputFilePicker.setFilters(self.tr( + "Python Files (*.py *.py2 *.py3);;" + "Python GUI Files (*.pyw *.pyw2 *.pyw3);;" + "Spec Files (*.spec);;" + "All Files (*)" + )) + + self.executableCombo.addItems(executables) + + self.__project = project + if project.getMainScript() == "": + # no main script defined + self.selectedScriptButton.setChecke(True) + self.mainScriptButton.setEnabled(False) + + self.iconFilePicker.setMode(E5PathPickerModes.OpenFileMode) + if Globals.isMacPlatform(): + self.iconFilePicker.setFilters(self.tr( + "Icon Files (*.icns);;" + "All Files (*)" + )) + elif Globals.isWindowsPlatform(): + self.iconFilePicker.setFilters(self.tr( + "Icon Files (*.ico);;" + "Executable Files (*.exe);;" + "All Files (*)" + )) + + self.tabWidget.setTabEnabled( + 1, + Globals.isMacPlatform() or Globals.isWindowsPlatform()) + self.tabWidget.setTabEnabled( + 2, + Globals.isMacPlatform())