CxFreeze/CxfreezeConfigDialog.py

Sun, 11 Aug 2013 22:17:02 +0200

author
T.Rzepka <Tobias.Rzepka@gmail.com>
date
Sun, 11 Aug 2013 22:17:02 +0200
changeset 56
c8a47a8536b0
parent 49
202045ed3992
child 57
ddf3165e3d62
permissions
-rw-r--r--

filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process

1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
36
aa766140aff8 Updated copyright for 2013.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 31
diff changeset
3 # Copyright (c) 2010 - 2013 Detlev Offenbach <detlev@die-offenbachs.de>
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a dialog to enter the parameters for cxfreeze.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
10 from __future__ import unicode_literals # __IGNORE_WARNING__
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
11 try:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
12 str = unicode # __IGNORE_WARNING__
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
13 except (NameError):
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
14 pass
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
15
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 import sys
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 import os
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 import copy
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
20 from PyQt4.QtCore import pyqtSlot, QDir, QProcess
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
21 from PyQt4.QtGui import QDialog, QListWidgetItem, QFileDialog, QPushButton, QTreeView, \
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
22 QItemSelection, QLineEdit
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
24 from E5Gui import E5FileDialog
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 from E5Gui.E5Completers import E5FileCompleter, E5DirCompleter
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 from .Ui_CxfreezeConfigDialog import Ui_CxfreezeConfigDialog
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 import Utilities
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
31
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
32 class DirFileDialog(QFileDialog):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
33 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
34 Derived QFileDialog to select files and folders at once.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
35 For this purpose the none native filedialog is used.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
36 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
37 def __init__(self, parent=None, caption="", directory="",
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
38 filter=""):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
39 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
40 Extend the normal none native filedialog to select files and folders at once.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
41
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
42 @param args same argument list like QFileDialog
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
43 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
44 self.selectedFilesFolders = []
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
45 QFileDialog.__init__(self, parent, caption, directory, filter)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
46 self.setFileMode(QFileDialog.ExistingFiles)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
47 btns = self.findChildren(QPushButton)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
48 self.openBtn = [x for x in btns if 'open' in str(x.text()).lower()][0]
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
49 self.openBtn.clicked.disconnect()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
50 self.openBtn.clicked.connect(self.on_openClicked)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
51 self.tree = self.findChild(QTreeView)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
52 self.fileNameEdit = self.findChild(QLineEdit)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
53 self.fileNameEdit.textChanged.disconnect()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
54 self.fileNameEdit.textChanged.connect(self.on_textChanged)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
55 self.directoryEntered.connect(self.on_directoryEntered)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
56 self.tree.selectionModel().selectionChanged.connect(self.on_selectionChanged)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
57
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
58 @pyqtSlot()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
59 def on_openClicked(self):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
60 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
61 Update the list with the selected files and folders.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
62 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
63 # Special case if a drive selected in Windows
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
64 if self.directory().dirName() != '.':
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
65 selectedItems = self.tree.selectionModel().selectedIndexes()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
66 path = os.path.normpath(self.directory().absolutePath())
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
67 self.selectedFilesFolders = [os.path.join(path, itm.data())
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
68 for itm in selectedItems if itm.column() == 0]
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
69 # normalize path to slashes
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
70 self.selectedFilesFolders = [x.replace(os.sep, '/')
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
71 for x in self.selectedFilesFolders]
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
72 self.hide()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
73
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
74 @pyqtSlot(str)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
75 def on_directoryEntered(self, dir):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
76 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
77 Reset selections if another directory was entered.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
78
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
79 @param dir name of the directory entered
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
80 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
81 self.tree.selectionModel().clear()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
82 self.fileNameEdit.clear()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
83
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
84 @pyqtSlot(QItemSelection, QItemSelection)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
85 def on_selectionChanged(self, selected, deselected):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
86 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
87 Determine the selected files and folders and update the lineedit.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
88
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
89 @param selected newly selected entries
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
90 @param deselected deselected entries
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
91 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
92 selectedItems = self.tree.selectionModel().selectedIndexes()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
93 if self.tree.rootIndex() in selectedItems or selectedItems == []:
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
94 self.fileNameEdit.setText('')
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
95 else:
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
96 selectedItems = [x.data() for x in selectedItems if x.column() == 0]
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
97 selectedItems.sort()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
98 self.fileNameEdit.setText(';'.join(selectedItems))
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
99
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
100 @pyqtSlot(str)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
101 def on_textChanged(self, text):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
102 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
103 Set the state of the open button.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
104
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
105 @param text text written into the lineedit.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
106 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
107 self.openBtn.setEnabled(text!='')
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
108
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
109 @staticmethod
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
110 def getOpenFileNames(parent=None, caption="", directory="",
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
111 filter="", options=QFileDialog.Options()):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
112 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
113 Module function to get the names of files and folders for opening it.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
114
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
115 @param parent parent widget of the dialog (QWidget)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
116 @param caption window title of the dialog (string)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
117 @param directory working directory of the dialog (string)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
118 @param filter filter string for the dialog (string)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
119 @param options various options for the dialog (QFileDialog.Options)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
120 @return names of the selected files and folders (list)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
121 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
122 options |= QFileDialog.DontUseNativeDialog
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
123 dlg = DirFileDialog(parent, caption, directory, filter)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
124 dlg.exec_()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
125 return dlg.selectedFilesFolders
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
126
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
127
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 class CxfreezeConfigDialog(QDialog, Ui_CxfreezeConfigDialog):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 Class implementing a dialog to enter the parameters for cxfreeze.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 """
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
132 def __init__(self, project, exe, parms=None, parent=None):
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 Constructor
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 @param project reference to the project object (Project.Project)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 @param exe name of the cxfreeze executable (string)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 @param parms parameters to set in the dialog
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139 @param parent parent widget of this dialog (QWidget)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 QDialog.__init__(self, parent)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 self.setupUi(self)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
143
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
144 self.project = project
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
145 self.__initializeDefaults()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 # get a copy of the defaults to store the user settings
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 self.parameters = copy.deepcopy(self.defaults)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
149
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 # combine it with the values of parms
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
151 if parms is not None:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 for key, value in parms.items():
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 if key in self.parameters:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 self.parameters[key] = parms[key]
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
156 self.exe = exe
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
157 self.cxfreezeExecCombo.addItems(exe)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
158 # try to set the saved script path
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
159 try:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
160 idx = exe.index(self.parameters['script'])
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
161 self.cxfreezeExecCombo.setCurrentIndex(idx)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
162 except ValueError:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
163 pass
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 self.targetDirCompleter = E5DirCompleter(self.targetDirEdit)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 self.extListFileCompleter = E5FileCompleter(self.extListFileEdit)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 # initialize general tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169 self.targetDirEdit.setText(self.parameters['targetDirectory'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 self.targetNameEdit.setText(self.parameters['targetName'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 self.basenameCombo.setEditText(self.parameters['baseName'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 self.initscriptCombo.setEditText(self.parameters['initScript'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 self.applicationIconEdit.setText(self.parameters['applicationIcon'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 self.keeppathCheckBox.setChecked(self.parameters['keepPath'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.compressCheckBox.setChecked(self.parameters['compress'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176 if self.parameters['optimize'] == 0:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 self.nooptimizeRadioButton.setChecked(True)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
178 elif self.parameters['optimize'] == 1:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
179 self.optimizeRadioButton.setChecked(True)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
180 else:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
181 self.optimizeDocRadioButton.setChecked(True)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
183 # initialize advanced tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
184 self.defaultPathEdit.setText(os.pathsep.join(self.parameters['defaultPath']))
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185 self.includePathEdit.setText(os.pathsep.join(self.parameters['includePath']))
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 self.replacePathsEdit.setText(os.pathsep.join(self.parameters['replacePaths']))
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 self.includeModulesEdit.setText(','.join(self.parameters['includeModules']))
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188 self.excludeModulesEdit.setText(','.join(self.parameters['excludeModules']))
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 self.extListFileEdit.setText(self.parameters['extListFile'])
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
190
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
191 # initialize additional files tab
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
192 self.fileOrFolderList.addItems(self.parameters['additionalFiles'])
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 def __initializeDefaults(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 """
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
196 Private method to set the default values.
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 These are needed later on to generate the commandline parameters.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 self.defaults = {
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 # general options
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
202 'targetDirectory': '',
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
203 'targetName': '',
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
204 'baseName': 'Console',
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
205 'initScript': 'Console',
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
206 'applicationIcon': '',
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
207 'script': '',
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
208 'keepPath': False,
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
209 'compress': False,
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
210 'optimize': 0, # 0, 1 or 2
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
211
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
212 # advanced options
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
213 'defaultPath': [],
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
214 'includePath': [],
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
215 'replacePaths': [],
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
216 'includeModules': [],
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
217 'excludeModules': [],
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
218 'extListFile': '',
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
219
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
220 # additional files tab
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
221 'additionalFiles': [],
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
222 }
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
223 # overwrite 'baseName' if OS is Windows
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
224 if sys.platform == 'win32':
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
225 self.defaults['baseName'] = 'Win32GUI'
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
226 # overwrite 'initScript' if version 3 interpreter
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
227 if self.project.getProjectLanguage() == 'Python3':
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
228 self.defaults['initScript'] = 'Console3'
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
229
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
230 def generateParameters(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 Public method that generates the commandline parameters.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
234 It generates a list of strings to be used to set the QProcess arguments
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
235 for the cxfreeze call and a list containing the non default parameters.
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
236 The second list can be passed back upon object generation to overwrite
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
237 the default settings.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 @return a tuple of the commandline parameters and non default parameters
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 (list of strings, dictionary)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
241 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 parms = {}
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
243 args = []
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
244
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
245 # 1. the program name
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
246 args.append(self.cxfreezeExecCombo.currentText())
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
247
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 # 2. the commandline options
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
249 # 2.1 general options
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 if self.parameters['targetDirectory'] != self.defaults['targetDirectory']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 parms['targetDirectory'] = self.parameters['targetDirectory']
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
252 args.append('--target-dir={0}'.format(self.parameters['targetDirectory']))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
253 if self.parameters['targetName'] != self.defaults['targetName']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
254 parms['targetName'] = self.parameters['targetName'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
255 args.append('--target-name={0}'.format(self.parameters['targetName']))
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
256 parms['baseName'] = self.parameters['baseName'][:]
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
257 if self.parameters['baseName'] != '':
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
258 args.append('--base-name={0}'.format(self.parameters['baseName']))
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
259 parms['initScript'] = self.parameters['initScript'][:]
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
260 if self.parameters['initScript'] != '':
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
261 args.append('--init-script={0}'.format(self.parameters['initScript']))
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
262 parms['applicationIcon'] = self.parameters['applicationIcon'][:]
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
263 if self.parameters['applicationIcon'] != self.defaults['applicationIcon']:
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
264 args.append('--icon={0}'.format(self.parameters['applicationIcon']))
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
265 parms['script'] = self.parameters['script'][:]
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 if self.parameters['keepPath'] != self.defaults['keepPath']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 parms['keepPath'] = self.parameters['keepPath']
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 args.append('--no-copy-deps')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 if self.parameters['compress'] != self.defaults['compress']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270 parms['compress'] = self.parameters['compress']
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 args.append('--compress')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
272 if self.parameters['optimize'] != self.defaults['optimize']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273 parms['optimize'] = self.parameters['optimize']
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 if self.parameters['optimize'] == 1:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 args.append('-O')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
276 elif self.parameters['optimize'] == 2:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
277 args.append('-OO')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
279 # 2.2 advanced options
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
280 if self.parameters['defaultPath'] != self.defaults['defaultPath']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 parms['defaultPath'] = self.parameters['defaultPath'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
282 args.append('--default-path={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
283 os.pathsep.join(self.parameters['defaultPath'])))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
284 if self.parameters['includePath'] != self.defaults['includePath']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
285 parms['includePath'] = self.parameters['includePath'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
286 args.append('--include-path={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
287 os.pathsep.join(self.parameters['includePath'])))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
288 if self.parameters['replacePaths'] != self.defaults['replacePaths']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
289 parms['replacePaths'] = self.parameters['replacePaths'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
290 args.append('--replace-paths={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
291 os.pathsep.join(self.parameters['replacePaths'])))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
292 if self.parameters['includeModules'] != self.defaults['includeModules']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
293 parms['includeModules'] = self.parameters['includeModules'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
294 args.append('--include-modules={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
295 ','.join(self.parameters['includeModules'])))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296 if self.parameters['excludeModules'] != self.defaults['excludeModules']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
297 parms['excludeModules'] = self.parameters['excludeModules'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
298 args.append('--exclude-modules={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
299 ','.join(self.parameters['excludeModules'])))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 if self.parameters['extListFile'] != self.defaults['extListFile']:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 parms['extListFile'] = self.parameters['extListFile']
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
302 args.append('--ext-list-file={0}'.format(self.parameters['extListFile']))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
304 # 2.3 additional files tab
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
305 if self.parameters['additionalFiles'] != []:
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
306 parms['additionalFiles'] = self.parameters['additionalFiles']
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
307
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 return (args, parms)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 @pyqtSlot()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 def on_extListFileButton_clicked(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
313 Private slot to select the external list file.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
314
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
315 It displays a file selection dialog to select the external list file,
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 the list of include modules is written to.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 """
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
318 extList = E5FileDialog.getOpenFileName(
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
319 self,
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320 self.trUtf8("Select external list file"),
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
321 self.extListFileEdit.text(),
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
322 "")
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
323
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
324 if extList:
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
325 # make it relative, if it is in a subdirectory of the project path
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 lf = Utilities.toNativeSeparators(extList)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
327 lf = self.project.getRelativePath(lf)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
328 self.extListFileEdit.setText(lf)
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
329
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
330 @pyqtSlot()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
331 def on_iconFileButton_clicked(self):
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
332 """
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
333 Private slot to select an icon.
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
334
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
335 It displays a file selection dialog to select an icon to
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
336 include into the executable.
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
337 """
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
338 iconsI18N = self.trUtf8("Icons")
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
339 allFilesI18N = self.trUtf8("All files")
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
340 if Utilities.isWindowsPlatform():
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
341 iconFilter = "{0} (*.ico);;{1} (*.*)".format(iconsI18N, allFilesI18N)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
342 elif Utilities.isMacPlatform():
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
343 iconFilter = "{0} (*.icns *.png);;{1} (*.*)".format(iconsI18N, allFilesI18N)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
344 else:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
345 iconFilter = "{0} (*.png);;{1} (*.*)".format(iconsI18N, allFilesI18N)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
346
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
347 iconList = E5FileDialog.getOpenFileName(
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
348 self,
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
349 self.trUtf8("Select the application icon"),
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
350 self.applicationIconEdit.text(),
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
351 iconFilter)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
352
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
353 if iconList:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
354 # make it relative, if it is in a subdirectory of the project path
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
355 lf = Utilities.toNativeSeparators(iconList)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
356 lf = self.project.getRelativePath(lf)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
357 self.applicationIconEdit.setText(lf)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
358
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 @pyqtSlot()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 def on_targetDirButton_clicked(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 Private slot to select the target directory.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 It displays a directory selection dialog to
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 select the directory the files are written to.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 """
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
367 directory = E5FileDialog.getExistingDirectory(
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
368 self,
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
369 self.trUtf8("Select target directory"),
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370 self.targetDirEdit.text(),
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
371 E5FileDialog.Options(E5FileDialog.ShowDirsOnly))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 if directory:
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
374 # make it relative, if it is a subdirectory of the project path
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 dn = Utilities.toNativeSeparators(directory)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 dn = self.project.getRelativePath(dn)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 while dn.endswith(os.sep):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
378 dn = dn[:-1]
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379 self.targetDirEdit.setText(dn)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
381 @pyqtSlot(str)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
382 def on_cxfreezeExecCombo_currentIndexChanged(self, text):
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
383 # version specific setup
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
384 if Utilities.isWindowsPlatform():
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
385 # remove "\Scripts\cx_Freeze.bat" from path
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
386 dirname = os.path.dirname(text)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
387 dirname = os.path.dirname(dirname)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
388
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
389 # first try the fast way
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
390 modpath = os.path.join(dirname, "Lib", "site-packages", "cx_Freeze")
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
391 if not os.path.exists(modpath):
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
392 # but if it failed search in the whole directory tree
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
393 modpath = None
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
394 for dirpath, dirnames, filenames in os.walk(dirname):
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
395 if 'cx_Freeze' in dirnames:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
396 modpath = os.path.join(dirpath, "cx_Freeze")
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
397 break
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
398 else:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
399 with open(text, 'r') as f:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
400 args = f.readline()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
401 if not args:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
402 return
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
403
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
404 args = args.strip('!#\n').split(' ')
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
405 program = args.pop(0)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
406
49
202045ed3992 Some little enhancements to Tobias' patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
407 script = os.path.join(os.path.dirname(os.path.abspath(__file__)),
202045ed3992 Some little enhancements to Tobias' patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
408 'CxfreezeFindPath.py')
202045ed3992 Some little enhancements to Tobias' patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
409 if not os.path.exists(script):
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
410 return
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
411
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
412 args.append(script)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
413 process = QProcess()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
414 process.start(program, args)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
415 process.waitForFinished(5000)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
416 # get a QByteArray of the output
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
417 cxPath = process.readAllStandardOutput()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
418 modpath = str(cxPath, encoding='utf-8').strip('\n\r')
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
419 if not modpath.endswith('cx_Freeze'):
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
420 return
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
421
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
422 # populate combo boxes
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
423 if modpath:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
424 d = QDir(os.path.join(modpath, 'bases'))
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
425 basesList = d.entryList(QDir.Filters(QDir.Files))
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
426 if Utilities.isWindowsPlatform():
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
427 # strip the final '.exe' from the bases
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
428 tmpBasesList = basesList[:]
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
429 basesList = []
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
430 for b in tmpBasesList:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
431 base, ext = os.path.splitext(b)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
432 if ext == ".exe":
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
433 basesList.append(base)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
434 else:
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
435 basesList.append(b)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
436
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
437 basesList.insert(0, '')
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
438 currentText = self.basenameCombo.currentText()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
439 self.basenameCombo.clear()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
440 self.basenameCombo.addItems(basesList)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
441 self.basenameCombo.setEditText(currentText)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
442
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
443 d = QDir(os.path.join(modpath, 'initscripts'))
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
444 initList = d.entryList(['*.py'])
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
445 initList.insert(0, '')
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
446 currentText = self.initscriptCombo.currentText()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
447 self.initscriptCombo.clear()
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
448 self.initscriptCombo.addItems([os.path.splitext(i)[0] for i in initList])
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
449 self.initscriptCombo.setEditText(currentText)
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
450
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
451 def on_fileOrFolderList_currentRowChanged(self, row):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
452 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
453 Private slot to handle the currentRowChanged signal of the fileOrFolderList.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
454
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
455 @param row the current row (integer)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
456 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
457 self.deleteSelectedButton.setEnabled(row != -1)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
458 if row != -1:
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
459 self.fileOrFolderList.setCurrentRow(row)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
460
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
461 @pyqtSlot(QListWidgetItem)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
462 def on_fileOrFolderList_itemDoubleClicked(self, itm):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
463 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
464 Private slot to handle the currentRowChanged signal of the fileOrFolderList.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
465
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
466 @param itm the selected row
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
467 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
468 self.fileOrFolderEdit.setText(itm.text())
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
469 row = self.fileOrFolderList.currentRow()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
470 self.fileOrFolderList.takeItem(row)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
471
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
472 @pyqtSlot()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
473 def on_addFileOrFolderButton_clicked(self):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
474 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
475 Private slot to add the entered file or directory to the list view.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
476 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
477 txt = self.fileOrFolderEdit.text()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
478 if txt:
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
479 self.fileOrFolderList.addItem(txt)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
480 self.fileOrFolderEdit.clear()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
481 row = self.fileOrFolderList.currentRow()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
482 self.on_fileOrFolderList_currentRowChanged(row)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
483
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
484 @pyqtSlot(str)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
485 def on_fileOrFolderEdit_textChanged(self, txt):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
486 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
487 Private slot to handle the textChanged signal of the directory edit.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
488
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
489 @param txt the text of the directory edit (string)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
490 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
491 self.addFileOrFolderButton.setEnabled(txt != "")
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
492
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
493 @pyqtSlot()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
494 def on_deleteSelectedButton_clicked(self):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
495 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
496 Private slot to delete the selected entry from the list view.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
497 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
498 row = self.fileOrFolderList.currentRow()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
499 self.fileOrFolderList.takeItem(row)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
500 row = self.fileOrFolderList.currentRow()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
501 self.on_fileOrFolderList_currentRowChanged(row)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
502
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
503 @pyqtSlot()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
504 def on_selectFileOrFolderButton_clicked(self):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
505 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
506 Private slot to select files or folders.
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
507
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
508 It displays a file and directory selection dialog to
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
509 select the files and directorys which should copied into
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
510 the distribution folder..
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
511 """
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
512 items = DirFileDialog.getOpenFileNames(
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
513 None,
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
514 self.trUtf8("Select files and folders"))
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
515
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
516 ppath = self.project.ppath.replace(os.sep, '/') + '/'
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
517 for itm in items:
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
518 if itm.startswith(ppath):
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
519 itm = itm.replace(ppath, '')
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
520 self.fileOrFolderList.addItem(Utilities.toNativeSeparators(itm))
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
521 row = self.fileOrFolderList.currentRow()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
522 self.on_fileOrFolderList_currentRowChanged(row)
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
523
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 def accept(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525 """
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
526 Protected slot called by the Ok button.
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 It saves the values in the parameters dictionary.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 # get data of general tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531 self.parameters['targetDirectory'] = self.targetDirEdit.text()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 self.parameters['targetName'] = self.targetNameEdit.text()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 self.parameters['baseName'] = self.basenameCombo.currentText()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534 self.parameters['initScript'] = self.initscriptCombo.currentText()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 self.parameters['applicationIcon'] = self.applicationIconEdit.text()
47
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
536 self.parameters['script'] = self.cxfreezeExecCombo.currentText()
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 self.parameters['keepPath'] = self.keeppathCheckBox.isChecked()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 self.parameters['compress'] = self.compressCheckBox.isChecked()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 if self.nooptimizeRadioButton.isChecked():
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 self.parameters['optimize'] = 0
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 elif self.optimizeRadioButton.isChecked():
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542 self.parameters['optimize'] = 1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
543 else:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
544 self.parameters['optimize'] = 2
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
545
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
546 # get data of advanced tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
547 self.parameters['defaultPath'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
548 self.__splitIt(self.defaultPathEdit.text(), os.pathsep)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
549 self.parameters['includePath'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
550 self.__splitIt(self.includePathEdit.text(), os.pathsep)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
551 self.parameters['replacePaths'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
552 self.__splitIt(self.replacePathsEdit.text(), os.pathsep)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
553 self.parameters['includeModules'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
554 self.__splitIt(self.includeModulesEdit.text(), ',')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
555 self.parameters['excludeModules'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
556 self.__splitIt(self.excludeModulesEdit.text(), ',')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
557 self.parameters['extListFile'] = self.extListFileEdit.text()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
558
56
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
559 # get data of the additional files tab
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
560 additionalFiles = [self.fileOrFolderList.item(x).text()
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
561 for x in range(self.fileOrFolderList.count())]
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
562 self.parameters['additionalFiles'] = additionalFiles
c8a47a8536b0 filedialog to add distribution dependent files, e.g. *.ui, readme, which are copied after the freeze process
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 49
diff changeset
563
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
564 # call the accept slot of the base class
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
565 QDialog.accept(self)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 def __splitIt(self, s, sep):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 Private method to split a string observing various conditions.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 @param s string to split (string)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 @param sep separator string (string)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
573 @return list of split values
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 if s == "" or s is None:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
576 return []
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 if s.endswith(sep):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 s = s[:-1]
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 return s.split(sep)

eric ide

mercurial