PyInstaller/PyInstallerConfigDialog.py

changeset 3
eb2d30b4d34e
child 4
52f0572b5908
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())

eric ide

mercurial