CxFreeze/CxfreezeConfigDialog.py

Tue, 28 Mar 2017 19:20:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 28 Mar 2017 19:20:24 +0200
changeset 102
78d1632d4b83
parent 97
72426624feb0
child 106
3bd158b161f1
permissions
-rw-r--r--

Fixed some code style issues.

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
97
72426624feb0 Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 85
diff changeset
3 # Copyright (c) 2010 - 2017 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
69
edd974cbe7b6 python2Compatible flag added.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 66
diff changeset
10 from __future__ import unicode_literals
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
11 try:
69
edd974cbe7b6 python2Compatible flag added.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 66
diff changeset
12 str = unicode
edd974cbe7b6 python2Compatible flag added.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 66
diff changeset
13 except NameError:
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
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
80
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
20 from PyQt5.QtCore import pyqtSlot, QDir, QProcess, QItemSelection
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
21 from PyQt5.QtWidgets import QDialog, QListWidgetItem, QFileDialog, \
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
22 QPushButton, QTreeView, QLineEdit, QFileSystemModel
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
73
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
30 import UI.PixmapCache
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31
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
32
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 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
34 """
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 Derived QFileDialog to select files and folders at once.
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
36
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
37 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
38 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
39 def __init__(self, parent=None, caption="", directory="", fileFilter=""):
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
40 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
41 Constructor
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
42
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
43 @param parent parent widget of the dialog (QWidget)
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
44 @param caption window title of the dialog (string)
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
45 @param directory working directory of the dialog (string)
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
46 @param fileFilter filter string for the dialog (string)
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
47 """
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.selectedFilesFolders = []
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
49
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
50 QFileDialog.__init__(self, parent, caption, directory, fileFilter)
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
51 self.setFileMode(QFileDialog.ExistingFiles)
72
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
52
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
53 def exec_(self):
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
54 """
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
55 Public slot to finalize initialisation and start the event loop.
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
56
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
57 @return accepted or rejected (QDialog.DialogCode)
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
58 """
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
59 self.openBtn = self.findChildren(QPushButton)[0]
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
60 self.fileNameEdit = self.findChild(QLineEdit)
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
61 self.directoryEntered.connect(self.on_directoryEntered)
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
62 self.tree = self.findChild(QTreeView)
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
63 self.tree.selectionModel().selectionChanged.connect(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
64 self.on_selectionChanged)
72
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
65 return QFileDialog.exec_(self)
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
66
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
67 def accept(self):
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
68 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
69 Public method to update the list with the selected files and folders.
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
70 """
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
71 # Avoid to close the dialog if only return is pressed
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
72 if not self.openBtn.isEnabled():
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
73 return
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
74
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
75 self.selectedFilesFolders = [
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
76 x.data(QFileSystemModel.FilePathRole)
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
77 for x in self.tree.selectionModel().selectedIndexes()
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
78 if x.column() == 0]
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
79 self.hide()
72
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
80
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
81 @pyqtSlot(str)
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
82 def on_directoryEntered(self, directory):
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
83 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
84 Private method to reset selections if another directory was entered.
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
85
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
86 @param directory name of the directory entered (string)
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
87 """
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 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
89 self.fileNameEdit.clear()
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
90 self.openBtn.setEnabled(False)
72
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
91
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
92 @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
93 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
94 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
95 Private method to determine the selected files and folders and update
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
96 the line edit.
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
97
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
98 @param selected newly selected entries (QItemSelection)
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
99 @param deselected deselected entries (QItemSelection)
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
100 """
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 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
102 if self.tree.rootIndex() in selectedItems or selectedItems == []:
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
103 return
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
104 selectedFiles = [x.data(QFileSystemModel.FileNameRole)
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
105 for x in selectedItems if x.column() == 0]
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
106 enteredFiles = self.fileNameEdit.text().split('"')
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
107 enteredFiles = [x for x in enteredFiles if x.strip() != '']
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
108 # Check if there is a directory in the selection. Then update the
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
109 # lineEdit.
61
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
110 for selectedFile in selectedFiles:
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
111 if selectedFile not in enteredFiles:
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
112 txt = '" "'.join(selectedFiles)
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
113 if len(selectedFiles) > 1:
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
114 txt = '"{0}"'.format(txt)
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
115 self.fileNameEdit.setText(txt)
2445409f7f42 File dialog reworked because of smaller glitches in first implementation.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 57
diff changeset
116 break
72
61c29fb31830 Moved second part of custom file dialog initialsation into the exec_() slot because on Windows the dialog is not completely finalized before control returns to the event loop.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 69
diff changeset
117
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
118 @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
119 def getOpenFileNames(parent=None, caption="", directory="",
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
120 fileFilter="", options=None):
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
121 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
122 Public method to get the names of files and folders for opening it.
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
123
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 @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
125 @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
126 @param directory working directory of the dialog (string)
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
127 @param fileFilter filter string for the dialog (string)
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
128 @param options various options for the dialog (QFileDialog.Options)
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
129 @return names of the selected files and folders (list of strings)
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
130 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
131 if options is None:
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
132 options = QFileDialog.Options()
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
133 options |= QFileDialog.DontUseNativeDialog
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
134 dlg = DirFileDialog(parent, caption, directory, fileFilter)
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
135 dlg.setOptions(options)
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
136 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
137 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
138
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
139
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 class CxfreezeConfigDialog(QDialog, Ui_CxfreezeConfigDialog):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142 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
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 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
145 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
146 Constructor
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148 @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
149 @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
150 @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
151 @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
152 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
153 QDialog.__init__(self, parent)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
154 self.setupUi(self)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155
73
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
156 self.targetDirButton.setIcon(
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
157 UI.PixmapCache.getIcon("open.png"))
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
158 self.iconFileButton.setIcon(
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
159 UI.PixmapCache.getIcon("open.png"))
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
160 self.extListFileButton.setIcon(
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
161 UI.PixmapCache.getIcon("open.png"))
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
162 self.selectFileOrFolderButton.setIcon(
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
163 UI.PixmapCache.getIcon("open.png"))
b704e562c4f5 Added some eye-candy and updated source docu and translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 72
diff changeset
164
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
165 self.project = project
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 self.__initializeDefaults()
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 # 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
169 self.parameters = copy.deepcopy(self.defaults)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 # 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
172 if parms is not None:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 for key, value in parms.items():
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174 if key in self.parameters:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
175 self.parameters[key] = parms[key]
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
176
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
177 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
178 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
179 # 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
180 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
181 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
182 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
183 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
184 pass
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
185
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
186 self.targetDirCompleter = E5DirCompleter(self.targetDirEdit)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
187 self.extListFileCompleter = E5FileCompleter(self.extListFileEdit)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
188
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
189 # initialize general tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
190 self.targetDirEdit.setText(self.parameters['targetDirectory'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
191 self.targetNameEdit.setText(self.parameters['targetName'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
192 self.basenameCombo.setEditText(self.parameters['baseName'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
193 self.initscriptCombo.setEditText(self.parameters['initScript'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
194 self.applicationIconEdit.setText(self.parameters['applicationIcon'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
195 self.keeppathCheckBox.setChecked(self.parameters['keepPath'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
196 self.compressCheckBox.setChecked(self.parameters['compress'])
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
197 if self.parameters['optimize'] == 0:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
198 self.nooptimizeRadioButton.setChecked(True)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
199 elif self.parameters['optimize'] == 1:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
200 self.optimizeRadioButton.setChecked(True)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
201 else:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
202 self.optimizeDocRadioButton.setChecked(True)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
203
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
204 # initialize advanced tab
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
205 self.defaultPathEdit.setText(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
206 os.pathsep.join(self.parameters['defaultPath']))
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
207 self.includePathEdit.setText(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
208 os.pathsep.join(self.parameters['includePath']))
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
209 self.replacePathsEdit.setText(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
210 os.pathsep.join(self.parameters['replacePaths']))
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
211 self.includeModulesEdit.setText(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
212 ','.join(self.parameters['includeModules']))
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
213 self.excludeModulesEdit.setText(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
214 ','.join(self.parameters['excludeModules']))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 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
216
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
217 # 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
218 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
219
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
220 def __initializeDefaults(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
221 """
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
222 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
223
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
224 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
225 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
226 self.defaults = {
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 # 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
228 '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
229 '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
230 '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
231 '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
232 '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
233 '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
234 '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
235 '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
236 '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
237
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
238 # 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
239 '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
240 '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
241 '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
242 '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
243 '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
244 '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
245
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
246 # 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
247 'additionalFiles': [],
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248 }
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
249 # 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
250 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
251 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
252 # 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
253 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
254 self.defaults['initScript'] = 'Console3'
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
255
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 def generateParameters(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 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
259
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
260 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
261 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
262 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
263 the default settings.
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
264
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
265 @return a tuple of the commandline parameters and non default
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
266 parameters (list of strings, dictionary)
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
267 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
268 parms = {}
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
269 args = []
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
270
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
271 # 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
272 args.append(self.cxfreezeExecCombo.currentText())
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
273
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
274 # 2. the commandline options
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
275 # 2.1 general options
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
276 if self.parameters['targetDirectory'] != \
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
277 self.defaults['targetDirectory']:
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
278 parms['targetDirectory'] = self.parameters['targetDirectory']
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
279 args.append('--target-dir={0}'.format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
280 self.parameters['targetDirectory']))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
281 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
282 parms['targetName'] = self.parameters['targetName'][:]
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
283 args.append('--target-name={0}'.format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
284 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
285 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
286 if self.parameters['baseName'] != '':
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
287 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
288 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
289 if self.parameters['initScript'] != '':
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
290 args.append('--init-script={0}'.format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
291 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
292 parms['applicationIcon'] = self.parameters['applicationIcon'][:]
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
293 if self.parameters['applicationIcon'] != \
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
294 self.defaults['applicationIcon']:
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
295 args.append('--icon={0}'.format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
296 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
297 parms['script'] = self.parameters['script'][:]
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 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
299 parms['keepPath'] = self.parameters['keepPath']
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300 args.append('--no-copy-deps')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 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
302 parms['compress'] = self.parameters['compress']
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
303 args.append('--compress')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
304 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
305 parms['optimize'] = self.parameters['optimize']
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 if self.parameters['optimize'] == 1:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
307 args.append('-O')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308 elif self.parameters['optimize'] == 2:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
309 args.append('-OO')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 # 2.2 advanced options
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312 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
313 parms['defaultPath'] = self.parameters['defaultPath'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
314 args.append('--default-path={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
315 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
316 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
317 parms['includePath'] = self.parameters['includePath'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
318 args.append('--include-path={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
319 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
320 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
321 parms['replacePaths'] = self.parameters['replacePaths'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
322 args.append('--replace-paths={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
323 os.pathsep.join(self.parameters['replacePaths'])))
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
324 if self.parameters['includeModules'] != \
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
325 self.defaults['includeModules']:
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
326 parms['includeModules'] = self.parameters['includeModules'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
327 args.append('--include-modules={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
328 ','.join(self.parameters['includeModules'])))
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
329 if self.parameters['excludeModules'] != \
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
330 self.defaults['excludeModules']:
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
331 parms['excludeModules'] = self.parameters['excludeModules'][:]
4
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
332 args.append('--exclude-modules={0}'.format(
192986d70612 Did some string format conversions.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1
diff changeset
333 ','.join(self.parameters['excludeModules'])))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
334 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
335 parms['extListFile'] = self.parameters['extListFile']
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
336 args.append('--ext-list-file={0}'.format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
337 self.parameters['extListFile']))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
338
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
339 # 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
340 if self.parameters['additionalFiles'] != []:
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
341 parms['additionalFiles'] = self.parameters['additionalFiles'][:]
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
342
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
343 return (args, parms)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
344
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345 @pyqtSlot()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
346 def on_extListFileButton_clicked(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 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
349
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350 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
351 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
352 """
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
353 extList = E5FileDialog.getOpenFileName(
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 self,
80
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
355 self.tr("Select external list file"),
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
356 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
357 "")
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
358
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 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
360 # 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
361 lf = Utilities.toNativeSeparators(extList)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 lf = self.project.getRelativePath(lf)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 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
364
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
365 @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
366 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
367 """
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
368 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
369
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
370 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
371 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
372 """
80
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
373 iconsI18N = self.tr("Icons")
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
374 allFilesI18N = self.tr("All files")
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
375 if Utilities.isWindowsPlatform():
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
376 iconFilter = "{0} (*.ico);;{1} (*.*)".format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
377 iconsI18N, allFilesI18N)
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
378 elif Utilities.isMacPlatform():
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
379 iconFilter = "{0} (*.icns *.png);;{1} (*.*)".format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
380 iconsI18N, allFilesI18N)
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 else:
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
382 iconFilter = "{0} (*.png);;{1} (*.*)".format(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
383 iconsI18N, allFilesI18N)
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
384
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 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
386 self,
80
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
387 self.tr("Select the application icon"),
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
388 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
389 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
390
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 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
392 # 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
393 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
394 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
395 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
396
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397 @pyqtSlot()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 def on_targetDirButton_clicked(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 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
401
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 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
403 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
404 """
39
27dcfe29985b Changed usage of QMessageBox and QFileDialog to the eric5 equivalents.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 36
diff changeset
405 directory = E5FileDialog.getExistingDirectory(
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406 self,
80
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
407 self.tr("Select target directory"),
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 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
409 E5FileDialog.Options(E5FileDialog.ShowDirsOnly))
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 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
412 # 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
413 dn = Utilities.toNativeSeparators(directory)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 dn = self.project.getRelativePath(dn)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415 while dn.endswith(os.sep):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 dn = dn[:-1]
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 self.targetDirEdit.setText(dn)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418
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
419 @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
420 def on_cxfreezeExecCombo_currentIndexChanged(self, text):
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
421 """
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
422 Private slot to handle the selection of a cxfreeze executable.
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
423
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
424 @param text selected cxfreeze executable (string)
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
425 """
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
426 # 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
427 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
428 # 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
429 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
430 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
431
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 # first try the fast way
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
433 modpath = os.path.join(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
434 dirname, "Lib", "site-packages", "cx_Freeze")
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
435 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
436 # 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
437 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
438 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
439 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
440 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
441 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
442 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
443 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
444 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
445 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
446 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
447
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 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
449 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
450
49
202045ed3992 Some little enhancements to Tobias' patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
451 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
452 'CxfreezeFindPath.py')
202045ed3992 Some little enhancements to Tobias' patches.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 47
diff changeset
453 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
454 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
455
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
456 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
457 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
458 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
459 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
460 # 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
461 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
462 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
463 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
464 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
465
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
466 # 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
467 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
468 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
469 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
470 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
471 # 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
472 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
473 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
474 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
475 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
476 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
477 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
478 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
479 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
480
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
481 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
482 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
483 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
484 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
485 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
486
986f27beaad4 Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 43
diff changeset
487 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
488 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
489 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
490 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
491 self.initscriptCombo.clear()
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
492 self.initscriptCombo.addItems(
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
493 [os.path.splitext(i)[0] for i in initList])
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
494 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
495
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
496 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
497 """
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
498 Private slot to handle the currentRowChanged signal of the
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
499 fileOrFolderList.
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
500
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 @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
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 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
504 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
505 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
506
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 @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
508 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
509 """
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
510 Private slot to handle the itemDoubleClicked signal of the
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
511 fileOrFolderList.
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
512
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
513 @param itm the selected row (QListWidgetItem)
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
514 """
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 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
516 row = self.fileOrFolderList.currentRow()
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
517 itm = self.fileOrFolderList.takeItem(row)
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
518 del itm
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
519
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 @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
521 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
522 """
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 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
524 """
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
525 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
526 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
527 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
528 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
529 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
530 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
531
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
532 @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
533 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
534 """
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
535 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
536
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
537 @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
538 """
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
539 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
540
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
541 @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
542 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
543 """
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
544 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
545 """
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
546 row = self.fileOrFolderList.currentRow()
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
547 itm = self.fileOrFolderList.takeItem(row)
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
548 del itm
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
549 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
550 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
551
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
552 @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
553 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
554 """
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
555 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
556
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
557 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
558 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
559 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
560 """
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 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
562 None,
80
a349a1b6cb83 Ported to PyQt5 and eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 73
diff changeset
563 self.tr("Select files and folders"))
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
564
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
565 for itm in items:
57
ddf3165e3d62 Some changes to the changes sent by Tobias.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 56
diff changeset
566 itm = self.project.getRelativePath(itm)
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
567 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
568 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
569 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
570
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 def accept(self):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
572 """
102
78d1632d4b83 Fixed some code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 97
diff changeset
573 Public method called by the Ok button.
1
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 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
576 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
577 # get data of general tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
578 self.parameters['targetDirectory'] = self.targetDirEdit.text()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
579 self.parameters['targetName'] = self.targetNameEdit.text()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
580 self.parameters['baseName'] = self.basenameCombo.currentText()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
581 self.parameters['initScript'] = self.initscriptCombo.currentText()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
582 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
583 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
584 self.parameters['keepPath'] = self.keeppathCheckBox.isChecked()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
585 self.parameters['compress'] = self.compressCheckBox.isChecked()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
586 if self.nooptimizeRadioButton.isChecked():
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
587 self.parameters['optimize'] = 0
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
588 elif self.optimizeRadioButton.isChecked():
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
589 self.parameters['optimize'] = 1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
590 else:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
591 self.parameters['optimize'] = 2
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
592
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
593 # get data of advanced tab
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
594 self.parameters['defaultPath'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
595 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
596 self.parameters['includePath'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
597 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
598 self.parameters['replacePaths'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
599 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
600 self.parameters['includeModules'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
601 self.__splitIt(self.includeModulesEdit.text(), ',')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
602 self.parameters['excludeModules'] = \
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
603 self.__splitIt(self.excludeModulesEdit.text(), ',')
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
604 self.parameters['extListFile'] = self.extListFileEdit.text()
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
605
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
606 # 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
607 additionalFiles = [self.fileOrFolderList.item(x).text()
64
c878aac7d3f5 Fixed code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 61
diff changeset
608 for x in range(self.fileOrFolderList.count())]
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
609 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
610
1
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
611 # 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
612 QDialog.accept(self)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
613
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
614 def __splitIt(self, s, sep):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
615 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
616 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
617
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
618 @param s string to split (string)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
619 @param sep separator string (string)
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
620 @return list of split values
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
621 """
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
622 if s == "" or s is None:
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
623 return []
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
624
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
625 if s.endswith(sep):
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
626 s = s[:-1]
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
627
0b6f3f5600da Ported the cx_freeze plug-in to eric5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
628 return s.split(sep)

eric ide

mercurial