Sun, 07 Jul 2013 20:40:48 +0200
Py2 compatibility, freeze script based on project language, filedialog for icons, some PEP8.
For complete list see ChangeLog
--- a/ChangeLog Sun Apr 28 18:09:10 2013 +0200 +++ b/ChangeLog Sun Jul 07 20:40:48 2013 +0200 @@ -1,5 +1,17 @@ ChangeLog --------- +Version 5.2.0: +Compatible with Eric5.1.0 or greater +- use cx_freeze script based on the selected project language +- disable menu item if not a Python 2 or 3 project +- filedialog for the application icon +- selector for the found cx_freeze scripts +- cx_freeze script name is shown in execute dialog +- Python 2 compatibility for Eric 5 +- fixed an issue finding the executable in different registries + on 64-bit Windows systems +- little layout changes + Version 5.1.2: - bug fix
--- a/CxFreeze/CxfreezeConfigDialog.py Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/CxfreezeConfigDialog.py Sun Jul 07 20:40:48 2013 +0200 @@ -7,11 +7,17 @@ Module implementing a dialog to enter the parameters for cxfreeze. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ +try: + str = unicode # __IGNORE_WARNING__ +except (NameError): + pass + import sys import os import copy -from PyQt4.QtCore import pyqtSlot, QDir +from PyQt4.QtCore import pyqtSlot, QDir, QProcess from PyQt4.QtGui import QDialog from E5Gui import E5FileDialog @@ -25,7 +31,7 @@ """ Class implementing a dialog to enter the parameters for cxfreeze. """ - def __init__(self, project, exe, parms = None, parent = None): + def __init__(self, project, exe, parms=None, parent=None): """ Constructor @@ -37,6 +43,7 @@ QDialog.__init__(self, parent) self.setupUi(self) + self.project = project self.__initializeDefaults() # get a copy of the defaults to store the user settings @@ -48,39 +55,14 @@ if key in self.parameters: self.parameters[key] = parms[key] - self.project = project - self.exe = exe - - # version specific setup - modpath = None - if "cxfreeze" in self.exe: - for sysPath in sys.path: - modpath = os.path.join(sysPath, "cx_Freeze") - if os.path.exists(modpath): - break - - # populate combo boxes - if modpath: - d = QDir(os.path.join(modpath, 'bases')) - basesList = d.entryList(QDir.Filters(QDir.Files)) - if Utilities.isWindowsPlatform(): - # strip the final '.exe' from the bases - tmpBasesList = basesList[:] - basesList = [] - for b in tmpBasesList: - base, ext = os.path.splitext(b) - if ext == ".exe": - basesList.append(base) - else: - basesList.append(b) - basesList.insert(0, '') - self.basenameCombo.addItems(basesList) - - d = QDir(os.path.join(modpath, 'initscripts')) - initList = d.entryList(['*.py']) - initList.insert(0, '') - self.initscriptCombo.addItems([os.path.splitext(i)[0] for i in initList]) + self.cxfreezeExecCombo.addItems(exe) + # try to set the saved script path + try: + idx = exe.index(self.parameters['script']) + self.cxfreezeExecCombo.setCurrentIndex(idx) + except ValueError: + pass self.targetDirCompleter = E5DirCompleter(self.targetDirEdit) self.extListFileCompleter = E5FileCompleter(self.extListFileEdit) @@ -110,36 +92,43 @@ def __initializeDefaults(self): """ - Private method to set the default values. + Private method to set the default values. These are needed later on to generate the commandline parameters. """ self.defaults = { # general options - 'targetDirectory' : '', - 'targetName' : '', - 'baseName' : '', - 'initScript' : '', - 'applicationIcon' : '', - 'keepPath' : False, - 'compress' : False, - 'optimize' : 0, # 0, 1 or 2 + 'targetDirectory': '', + 'targetName': '', + 'baseName': 'Console', + 'initScript': 'Console', + 'applicationIcon': '', + 'script': '', + 'keepPath': False, + 'compress': False, + 'optimize': 0, # 0, 1 or 2 # advanced options - 'defaultPath' : [], - 'includePath' : [], - 'replacePaths' : [], - 'includeModules' : [], - 'excludeModules' : [], - 'extListFile' : '', + 'defaultPath': [], + 'includePath': [], + 'replacePaths': [], + 'includeModules': [], + 'excludeModules': [], + 'extListFile': '', } + # overwrite 'baseName' if OS is Windows + if sys.platform == 'win32': + self.defaults['baseName'] = 'Win32GUI' + # overwrite 'initScript' if version 3 interpreter + if self.project.getProjectLanguage() == 'Python3': + self.defaults['initScript'] = 'Console3' def generateParameters(self): """ Public method that generates the commandline parameters. - It generates a list of strings to be used to set the QProcess arguments - for the cxfreeze call and a list containing the non default parameters. + It generates a list of strings to be used to set the QProcess arguments + for the cxfreeze call and a list containing the non default parameters. The second list can be passed back upon object generation to overwrite the default settings. @@ -150,7 +139,7 @@ args = [] # 1. the program name - args.append(self.exe) + args.append(self.cxfreezeExecCombo.currentText()) # 2. the commandline options # 2.1 general options @@ -160,15 +149,16 @@ if self.parameters['targetName'] != self.defaults['targetName']: parms['targetName'] = self.parameters['targetName'][:] args.append('--target-name={0}'.format(self.parameters['targetName'])) - if self.parameters['baseName'] != self.defaults['baseName']: - parms['baseName'] = self.parameters['baseName'][:] + parms['baseName'] = self.parameters['baseName'][:] + if self.parameters['baseName'] != '': args.append('--base-name={0}'.format(self.parameters['baseName'])) - if self.parameters['initScript'] != self.defaults['initScript']: - parms['initScript'] = self.parameters['initScript'][:] + parms['initScript'] = self.parameters['initScript'][:] + if self.parameters['initScript'] != '': args.append('--init-script={0}'.format(self.parameters['initScript'])) + parms['applicationIcon'] = self.parameters['applicationIcon'][:] if self.parameters['applicationIcon'] != self.defaults['applicationIcon']: - parms['applicationIcon'] = self.parameters['applicationIcon'][:] args.append('--icon={0}'.format(self.parameters['applicationIcon'])) + parms['script'] = self.parameters['script'][:] if self.parameters['keepPath'] != self.defaults['keepPath']: parms['keepPath'] = self.parameters['keepPath'] args.append('--no-copy-deps') @@ -224,11 +214,40 @@ "") if extList: - # make it relative, if it is in a subdirectory of the project path + # make it relative, if it is in a subdirectory of the project path lf = Utilities.toNativeSeparators(extList) lf = self.project.getRelativePath(lf) self.extListFileEdit.setText(lf) - + + @pyqtSlot() + def on_iconFileButton_clicked(self): + """ + Private slot to select an icon. + + It displays a file selection dialog to select an icon to + include into the executable. + """ + iconsI18N = self.trUtf8("Icons") + allFilesI18N = self.trUtf8("All files") + if Utilities.isWindowsPlatform(): + iconFilter = "{0} (*.ico);;{1} (*.*)".format(iconsI18N, allFilesI18N) + elif Utilities.isMacPlatform(): + iconFilter = "{0} (*.icns *.png);;{1} (*.*)".format(iconsI18N, allFilesI18N) + else: + iconFilter = "{0} (*.png);;{1} (*.*)".format(iconsI18N, allFilesI18N) + + iconList = E5FileDialog.getOpenFileName( + self, + self.trUtf8("Select the application icon"), + self.applicationIconEdit.text(), + iconFilter) + + if iconList: + # make it relative, if it is in a subdirectory of the project path + lf = Utilities.toNativeSeparators(iconList) + lf = self.project.getRelativePath(lf) + self.applicationIconEdit.setText(lf) + @pyqtSlot() def on_targetDirButton_clicked(self): """ @@ -244,16 +263,93 @@ E5FileDialog.Options(E5FileDialog.ShowDirsOnly)) if directory: - # make it relative, if it is a subdirectory of the project path + # make it relative, if it is a subdirectory of the project path dn = Utilities.toNativeSeparators(directory) dn = self.project.getRelativePath(dn) while dn.endswith(os.sep): dn = dn[:-1] self.targetDirEdit.setText(dn) + @pyqtSlot(str) + def on_cxfreezeExecCombo_currentIndexChanged(self, text): + # version specific setup + if Utilities.isWindowsPlatform(): + # remove "\Scripts\cx_Freeze.bat" from path + dirname = os.path.dirname(text) + dirname = os.path.dirname(dirname) + + # first try the fast way + modpath = os.path.join(dirname, "Lib", "site-packages", "cx_Freeze") + if not os.path.exists(modpath): + # but if it failed search in the whole directory tree + modpath = None + for dirpath, dirnames, filenames in os.walk(dirname): + if 'cx_Freeze' in dirnames: + modpath = os.path.join(dirpath, "cx_Freeze") + break + else: + with open(text, 'r') as f: + args = f.readline() + if not args: + return + + args = args.strip('!#\n').split(' ') + program = args.pop(0) + + # check the plugin path for the script + from PluginManager import PluginManager + pluginManager = PluginManager.PluginManager(doLoadPlugins=False) + for dir in ["user", "global"]: + pluginDir = pluginManager.getPluginDir(dir) + if pluginDir is not None: + script = os.path.join(pluginDir, 'CxFreeze', 'CxfreezeFindPath.py') + if os.path.exists(script): + break + else: + return + + args.append(script) + process = QProcess() + process.start(program, args) + process.waitForFinished(5000) + # get a QByteArray of the output + cxPath = process.readAllStandardOutput() + modpath = str(cxPath, encoding='utf-8').strip('\n\r') + if not modpath.endswith('cx_Freeze'): + return + + # populate combo boxes + if modpath: + d = QDir(os.path.join(modpath, 'bases')) + basesList = d.entryList(QDir.Filters(QDir.Files)) + if Utilities.isWindowsPlatform(): + # strip the final '.exe' from the bases + tmpBasesList = basesList[:] + basesList = [] + for b in tmpBasesList: + base, ext = os.path.splitext(b) + if ext == ".exe": + basesList.append(base) + else: + basesList.append(b) + + basesList.insert(0, '') + currentText = self.basenameCombo.currentText() + self.basenameCombo.clear() + self.basenameCombo.addItems(basesList) + self.basenameCombo.setEditText(currentText) + + d = QDir(os.path.join(modpath, 'initscripts')) + initList = d.entryList(['*.py']) + initList.insert(0, '') + currentText = self.initscriptCombo.currentText() + self.initscriptCombo.clear() + self.initscriptCombo.addItems([os.path.splitext(i)[0] for i in initList]) + self.initscriptCombo.setEditText(currentText) + def accept(self): """ - Protected slot called by the Ok button. + Protected slot called by the Ok button. It saves the values in the parameters dictionary. """ @@ -263,6 +359,7 @@ self.parameters['baseName'] = self.basenameCombo.currentText() self.parameters['initScript'] = self.initscriptCombo.currentText() self.parameters['applicationIcon'] = self.applicationIconEdit.text() + self.parameters['script'] = self.cxfreezeExecCombo.currentText() self.parameters['keepPath'] = self.keeppathCheckBox.isChecked() self.parameters['compress'] = self.compressCheckBox.isChecked() if self.nooptimizeRadioButton.isChecked():
--- a/CxFreeze/CxfreezeConfigDialog.ui Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/CxfreezeConfigDialog.ui Sun Jul 07 20:40:48 2013 +0200 @@ -7,7 +7,7 @@ <x>0</x> <y>0</y> <width>600</width> - <height>321</height> + <height>324</height> </rect> </property> <property name="windowTitle"> @@ -38,77 +38,10 @@ <string>&General</string> </attribute> <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="textLabel3"> - <property name="text"> - <string>Target directory:</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLineEdit" name="targetDirEdit"> - <property name="toolTip"> - <string>Enter the name of the target directory</string> - </property> - <property name="whatsThis"> - <string><p>Enter the name of the directory in which to place the target file and any dependant files.</p></string> - </property> - </widget> - </item> - <item row="0" column="2"> - <widget class="QPushButton" name="targetDirButton"> - <property name="text"> - <string>...</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="textLabel4"> + <item row="4" column="0"> + <widget class="QLabel" name="textLabel5_2"> <property name="text"> - <string>Target name:</string> - </property> - </widget> - </item> - <item row="1" column="1" colspan="2"> - <widget class="QLineEdit" name="targetNameEdit"> - <property name="toolTip"> - <string>Enter the name of the file to create</string> - </property> - <property name="whatsThis"> - <string><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></string> - </property> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="textLabel1"> - <property name="text"> - <string>Base name:</string> - </property> - </widget> - </item> - <item row="2" column="1" colspan="2"> - <widget class="QComboBox" name="basenameCombo"> - <property name="toolTip"> - <string>Enter the name of a file on which to base the target file</string> - </property> - <property name="editable"> - <bool>true</bool> - </property> - <property name="insertPolicy"> - <enum>QComboBox::InsertAtTop</enum> - </property> - <property name="autoCompletion"> - <bool>true</bool> - </property> - <property name="duplicatesEnabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="textLabel2"> - <property name="text"> - <string>Init script:</string> + <string>Application icon:</string> </property> </widget> </item> @@ -131,21 +64,7 @@ </property> </widget> </item> - <item row="4" column="0"> - <widget class="QLabel" name="textLabel5_2"> - <property name="text"> - <string>Application icon:</string> - </property> - </widget> - </item> - <item row="4" column="1" colspan="2"> - <widget class="QLineEdit" name="applicationIconEdit"> - <property name="toolTip"> - <string>Enter the name of the application icon.</string> - </property> - </widget> - </item> - <item row="5" column="0" colspan="3"> + <item row="6" column="0" colspan="3"> <layout class="QHBoxLayout" name="horizontalLayout"> <item> <widget class="QCheckBox" name="keeppathCheckBox"> @@ -182,7 +101,81 @@ </item> </layout> </item> - <item row="6" column="0" colspan="3"> + <item row="3" column="0"> + <widget class="QLabel" name="textLabel2"> + <property name="text"> + <string>Init script:</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="textLabel4"> + <property name="text"> + <string>Target name:</string> + </property> + </widget> + </item> + <item row="1" column="1" colspan="2"> + <widget class="QLineEdit" name="targetNameEdit"> + <property name="toolTip"> + <string>Enter the name of the file to create</string> + </property> + <property name="whatsThis"> + <string><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="textLabel1"> + <property name="text"> + <string>Base name:</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QPushButton" name="targetDirButton"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="targetDirEdit"> + <property name="toolTip"> + <string>Enter the name of the target directory</string> + </property> + <property name="whatsThis"> + <string><p>Enter the name of the directory in which to place the target file and any dependant files.</p></string> + </property> + </widget> + </item> + <item row="2" column="1" colspan="2"> + <widget class="QComboBox" name="basenameCombo"> + <property name="toolTip"> + <string>Enter the name of a file on which to base the target file</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + <property name="insertPolicy"> + <enum>QComboBox::InsertAtTop</enum> + </property> + <property name="autoCompletion"> + <bool>true</bool> + </property> + <property name="duplicatesEnabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="textLabel3"> + <property name="text"> + <string>Target directory:</string> + </property> + </widget> + </item> + <item row="7" column="0" colspan="3"> <widget class="QGroupBox" name="optimizeGroup"> <property name="toolTip"> <string>Select to optimize generated bytecode</string> @@ -227,19 +220,41 @@ </layout> </widget> </item> + <item row="5" column="1" colspan="2"> + <widget class="QComboBox" name="cxfreezeExecCombo"> + <property name="toolTip"> + <string>Select the cx_freeze executable</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="textLabel6_2"> + <property name="text"> + <string>cx_Freeze executable:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="applicationIconEdit"> + <property name="toolTip"> + <string>Enter the name of the application icon.</string> + </property> + </widget> + </item> + <item row="4" column="2"> + <widget class="QPushButton" name="iconFileButton"> + <property name="text"> + <string>...</string> + </property> + </widget> + </item> </layout> </widget> <widget class="QWidget" name="advancedTab"> <attribute name="title"> <string>&Advanced</string> </attribute> - <layout class="QGridLayout"> - <property name="margin"> - <number>0</number> - </property> - <property name="spacing"> - <number>6</number> - </property> + <layout class="QGridLayout" name="gridLayout_2"> <item row="0" column="0"> <widget class="QLabel" name="textLabel2_2"> <property name="toolTip"> @@ -388,6 +403,8 @@ <tabstop>basenameCombo</tabstop> <tabstop>initscriptCombo</tabstop> <tabstop>applicationIconEdit</tabstop> + <tabstop>iconFileButton</tabstop> + <tabstop>cxfreezeExecCombo</tabstop> <tabstop>keeppathCheckBox</tabstop> <tabstop>compressCheckBox</tabstop> <tabstop>nooptimizeRadioButton</tabstop>
--- a/CxFreeze/CxfreezeExecDialog.py Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/CxfreezeExecDialog.py Sun Jul 07 20:40:48 2013 +0200 @@ -7,6 +7,12 @@ Module implementing a dialog to show the output of the packager process. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ +try: + str = unicode # __IGNORE_WARNING__ +except (NameError): + pass + import os.path from PyQt4.QtCore import pyqtSlot, QProcess, QTimer @@ -25,7 +31,7 @@ This class starts a QProcess and displays a dialog that shows the output of the packager command process. """ - def __init__(self, cmdname, parent = None): + def __init__(self, cmdname, parent=None): """ Constructor @@ -57,8 +63,6 @@ self.contents.clear() self.errors.clear() - program = args[0] - del args[0] args.append(script) self.process = QProcess() @@ -69,9 +73,10 @@ self.process.finished.connect(self.__finish) self.setWindowTitle(self.trUtf8('{0} - {1}').format(self.cmdname, script)) - self.contents.insertPlainText(' '.join(args) + '\n') + self.contents.insertPlainText(' '.join(args) + '\n\n') self.contents.ensureCursorVisible() + program = args.pop(0) self.process.start(program, args) procStarted = self.process.waitForStarted() if not procStarted: @@ -120,7 +125,7 @@ def __readStdout(self): """ - Private slot to handle the readyReadStandardOutput signal. + Private slot to handle the readyReadStandardOutput signal. It reads the output of the process, formats it and inserts it into the contents pane. @@ -128,15 +133,15 @@ self.process.setReadChannel(QProcess.StandardOutput) while self.process.canReadLine(): - s = str(self.process.readAllStandardOutput(), - Preferences.getSystem("IOEncoding"), + s = str(self.process.readAllStandardOutput(), + Preferences.getSystem("IOEncoding"), 'replace') self.contents.insertPlainText(s) self.contents.ensureCursorVisible() def __readStderr(self): """ - Private slot to handle the readyReadStandardError signal. + Private slot to handle the readyReadStandardError signal. It reads the error output of the process and inserts it into the error pane. @@ -145,8 +150,8 @@ while self.process.canReadLine(): self.errorGroup.show() - s = str(self.process.readAllStandardError(), - Preferences.getSystem("IOEncoding"), + s = str(self.process.readAllStandardError(), + Preferences.getSystem("IOEncoding"), 'replace') self.errors.insertPlainText(s) self.errors.ensureCursorVisible()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CxFreeze/CxfreezeFindPath.py Sun Jul 07 20:40:48 2013 +0200 @@ -0,0 +1,17 @@ +# -*- coding: utf-8 -*- + +# Copyright (c) 2013 - 2013 Detlev Offenbach <detlev@die-offenbachs.de> +# + +""" +Script to find the cxfreeze directory from running Python interpreter. +""" + +import os +import sys + +for sysPath in sys.path: + modpath = os.path.join(sysPath, "cx_Freeze") + if os.path.exists(modpath): + print(modpath) + break
--- a/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.CxFreeze.CxfreezeConfigDialog.html Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.CxFreeze.CxfreezeConfigDialog.html Sun Jul 07 20:40:48 2013 +0200 @@ -72,9 +72,15 @@ <td><a href="#CxfreezeConfigDialog.generateParameters">generateParameters</a></td> <td>Public method that generates the commandline parameters.</td> </tr><tr> +<td><a href="#CxfreezeConfigDialog.on_cxfreezeExecCombo_currentIndexChanged">on_cxfreezeExecCombo_currentIndexChanged</a></td> +<td></td> +</tr><tr> <td><a href="#CxfreezeConfigDialog.on_extListFileButton_clicked">on_extListFileButton_clicked</a></td> <td>Private slot to select the external list file.</td> </tr><tr> +<td><a href="#CxfreezeConfigDialog.on_iconFileButton_clicked">on_iconFileButton_clicked</a></td> +<td>Private slot to select an icon.</td> +</tr><tr> <td><a href="#CxfreezeConfigDialog.on_targetDirButton_clicked">on_targetDirButton_clicked</a></td> <td>Private slot to select the target directory.</td> </tr> @@ -85,7 +91,7 @@ </table> <a NAME="CxfreezeConfigDialog.__init__" ID="CxfreezeConfigDialog.__init__"></a> <h4>CxfreezeConfigDialog (Constructor)</h4> -<b>CxfreezeConfigDialog</b>(<i>project, exe, parms = None, parent = None</i>) +<b>CxfreezeConfigDialog</b>(<i>project, exe, parms=None, parent=None</i>) <p> Constructor </p><dl> @@ -106,7 +112,7 @@ <h4>CxfreezeConfigDialog.__initializeDefaults</h4> <b>__initializeDefaults</b>(<i></i>) <p> - Private method to set the default values. + Private method to set the default values. </p><p> These are needed later on to generate the commandline parameters. </p><a NAME="CxfreezeConfigDialog.__splitIt" ID="CxfreezeConfigDialog.__splitIt"></a> @@ -131,7 +137,7 @@ <h4>CxfreezeConfigDialog.accept</h4> <b>accept</b>(<i></i>) <p> - Protected slot called by the Ok button. + Protected slot called by the Ok button. </p><p> It saves the values in the parameters dictionary. </p><a NAME="CxfreezeConfigDialog.generateParameters" ID="CxfreezeConfigDialog.generateParameters"></a> @@ -140,8 +146,8 @@ <p> Public method that generates the commandline parameters. </p><p> - It generates a list of strings to be used to set the QProcess arguments - for the cxfreeze call and a list containing the non default parameters. + It generates a list of strings to be used to set the QProcess arguments + for the cxfreeze call and a list containing the non default parameters. The second list can be passed back upon object generation to overwrite the default settings. </p><dl> @@ -150,7 +156,10 @@ a tuple of the commandline parameters and non default parameters (list of strings, dictionary) </dd> -</dl><a NAME="CxfreezeConfigDialog.on_extListFileButton_clicked" ID="CxfreezeConfigDialog.on_extListFileButton_clicked"></a> +</dl><a NAME="CxfreezeConfigDialog.on_cxfreezeExecCombo_currentIndexChanged" ID="CxfreezeConfigDialog.on_cxfreezeExecCombo_currentIndexChanged"></a> +<h4>CxfreezeConfigDialog.on_cxfreezeExecCombo_currentIndexChanged</h4> +<b>on_cxfreezeExecCombo_currentIndexChanged</b>(<i>text</i>) +<a NAME="CxfreezeConfigDialog.on_extListFileButton_clicked" ID="CxfreezeConfigDialog.on_extListFileButton_clicked"></a> <h4>CxfreezeConfigDialog.on_extListFileButton_clicked</h4> <b>on_extListFileButton_clicked</b>(<i></i>) <p> @@ -158,6 +167,14 @@ </p><p> It displays a file selection dialog to select the external list file, the list of include modules is written to. +</p><a NAME="CxfreezeConfigDialog.on_iconFileButton_clicked" ID="CxfreezeConfigDialog.on_iconFileButton_clicked"></a> +<h4>CxfreezeConfigDialog.on_iconFileButton_clicked</h4> +<b>on_iconFileButton_clicked</b>(<i></i>) +<p> + Private slot to select an icon. +</p><p> + It displays a file selection dialog to select an icon to + include into the executable. </p><a NAME="CxfreezeConfigDialog.on_targetDirButton_clicked" ID="CxfreezeConfigDialog.on_targetDirButton_clicked"></a> <h4>CxfreezeConfigDialog.on_targetDirButton_clicked</h4> <b>on_targetDirButton_clicked</b>(<i></i>)
--- a/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.CxFreeze.CxfreezeExecDialog.html Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.CxFreeze.CxfreezeExecDialog.html Sun Jul 07 20:40:48 2013 +0200 @@ -85,7 +85,7 @@ </table> <a NAME="CxfreezeExecDialog.__init__" ID="CxfreezeExecDialog.__init__"></a> <h4>CxfreezeExecDialog (Constructor)</h4> -<b>CxfreezeExecDialog</b>(<i>cmdname, parent = None</i>) +<b>CxfreezeExecDialog</b>(<i>cmdname, parent=None</i>) <p> Constructor </p><dl> @@ -108,7 +108,7 @@ <h4>CxfreezeExecDialog.__readStderr</h4> <b>__readStderr</b>(<i></i>) <p> - Private slot to handle the readyReadStandardError signal. + Private slot to handle the readyReadStandardError signal. </p><p> It reads the error output of the process and inserts it into the error pane. @@ -116,7 +116,7 @@ <h4>CxfreezeExecDialog.__readStdout</h4> <b>__readStdout</b>(<i></i>) <p> - Private slot to handle the readyReadStandardOutput signal. + Private slot to handle the readyReadStandardOutput signal. </p><p> It reads the output of the process, formats it and inserts it into the contents pane.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.CxFreeze.CxfreezeFindPath.html Sun Jul 07 20:40:48 2013 +0200 @@ -0,0 +1,39 @@ +<!DOCTYPE html> +<html><head> +<title>Plugin_Packager_CxFreeze.CxFreeze.CxfreezeFindPath</title> +<meta charset="UTF-8"> +<style> +body { + background: #EDECE6; + margin: 0em 1em 10em 1em; + color: black; +} + +h1 { color: white; background: #85774A; } +h2 { color: white; background: #85774A; } +h3 { color: white; background: #9D936E; } +h4 { color: white; background: #9D936E; } + +a { color: #BA6D36; } + +</style> +</head> +<body><a NAME="top" ID="top"></a> +<h1>Plugin_Packager_CxFreeze.CxFreeze.CxfreezeFindPath</h1> +<p> +Script to find the cxfreeze directory from running Python interpreter. +</p> +<h3>Global Attributes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> +<table> +<tr><td>None</td></tr> +</table> +<h3>Functions</h3> +<table> +<tr><td>None</td></tr> +</table> +<hr /> +</body></html> \ No newline at end of file
--- a/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.PluginCxFreeze.html Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/Documentation/source/Plugin_Packager_CxFreeze.PluginCxFreeze.html Sun Jul 07 20:40:48 2013 +0200 @@ -25,7 +25,7 @@ </p> <h3>Global Attributes</h3> <table> -<tr><td>author</td></tr><tr><td>autoactivate</td></tr><tr><td>className</td></tr><tr><td>deactivateable</td></tr><tr><td>error</td></tr><tr><td>longDescription</td></tr><tr><td>name</td></tr><tr><td>needsRestart</td></tr><tr><td>packageName</td></tr><tr><td>pyqtApi</td></tr><tr><td>shortDescription</td></tr><tr><td>version</td></tr> +<tr><td>author</td></tr><tr><td>autoactivate</td></tr><tr><td>className</td></tr><tr><td>deactivateable</td></tr><tr><td>error</td></tr><tr><td>exePy2</td></tr><tr><td>exePy3</td></tr><tr><td>longDescription</td></tr><tr><td>name</td></tr><tr><td>needsRestart</td></tr><tr><td>packageName</td></tr><tr><td>pyqtApi</td></tr><tr><td>shortDescription</td></tr><tr><td>version</td></tr> </table> <h3>Classes</h3> <table> @@ -41,9 +41,9 @@ <td>Restricted function to check the availability of cxfreeze.</td> </tr><tr> <td><a href="#_findExecutable">_findExecutable</a></td> -<td>Restricted function to determine the name of the executable.</td> +<td>Restricted function to determine the names of the executable.</td> </tr><tr> -<td><a href="#exeDisplayData">exeDisplayData</a></td> +<td><a href="#exeDisplayDataList">exeDisplayDataList</a></td> <td>Public method to support the display of some executable info.</td> </tr><tr> <td><a href="#getExePath">getExePath</a></td> @@ -81,6 +81,9 @@ <td><a href="#CxFreezePlugin.__loadTranslator">__loadTranslator</a></td> <td>Private method to load the translation file.</td> </tr><tr> +<td><a href="#CxFreezePlugin.__projectShowMenu">__projectShowMenu</a></td> +<td>Private slot called, when the the project menu or a submenu is about to be shown.</td> +</tr><tr> <td><a href="#CxFreezePlugin.activate">activate</a></td> <td>Public method to activate this plugin.</td> </tr><tr> @@ -117,7 +120,21 @@ <b>__loadTranslator</b>(<i></i>) <p> Private method to load the translation file. -</p><a NAME="CxFreezePlugin.activate" ID="CxFreezePlugin.activate"></a> +</p><a NAME="CxFreezePlugin.__projectShowMenu" ID="CxFreezePlugin.__projectShowMenu"></a> +<h4>CxFreezePlugin.__projectShowMenu</h4> +<b>__projectShowMenu</b>(<i>menuName, menu</i>) +<p> + Private slot called, when the the project menu or a submenu is + about to be shown. +</p><dl> +<dt><i>menuName</i></dt> +<dd> +name of the menu to be shown (string) +</dd><dt><i>menu</i></dt> +<dd> +reference to the menu (QMenu) +</dd> +</dl><a NAME="CxFreezePlugin.activate" ID="CxFreezePlugin.activate"></a> <h4>CxFreezePlugin.activate</h4> <b>activate</b>(<i></i>) <p> @@ -150,20 +167,25 @@ <hr /><hr /> <a NAME="_findExecutable" ID="_findExecutable"></a> <h2>_findExecutable</h2> -<b>_findExecutable</b>(<i></i>) +<b>_findExecutable</b>(<i>majorVersion</i>) <p> - Restricted function to determine the name of the executable. + Restricted function to determine the names of the executable. </p><dl> +<dt><i>majorVersion</i></dt> +<dd> +major python version of the executables (int) +</dd> +</dl><dl> <dt>Returns:</dt> <dd> -name of the executable (string) +names of the executable (list) </dd> </dl> <div align="right"><a href="#top">Up</a></div> <hr /><hr /> -<a NAME="exeDisplayData" ID="exeDisplayData"></a> -<h2>exeDisplayData</h2> -<b>exeDisplayData</b>(<i></i>) +<a NAME="exeDisplayDataList" ID="exeDisplayDataList"></a> +<h2>exeDisplayDataList</h2> +<b>exeDisplayDataList</b>(<i></i>) <p> Public method to support the display of some executable info. </p><dl> @@ -177,7 +199,7 @@ <hr /><hr /> <a NAME="getExePath" ID="getExePath"></a> <h2>getExePath</h2> -<b>getExePath</b>(<i>branch</i>) +<b>getExePath</b>(<i>branch, access, versionStr</i>) <div align="right"><a href="#top">Up</a></div> <hr />
--- a/CxFreeze/Documentation/source/index-Plugin_Packager_CxFreeze.CxFreeze.html Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/Documentation/source/index-Plugin_Packager_CxFreeze.CxFreeze.html Sun Jul 07 20:40:48 2013 +0200 @@ -33,6 +33,9 @@ </tr><tr> <td><a href="Plugin_Packager_CxFreeze.CxFreeze.CxfreezeExecDialog.html">CxfreezeExecDialog</a></td> <td>Module implementing a dialog to show the output of the packager process.</td> +</tr><tr> +<td><a href="Plugin_Packager_CxFreeze.CxFreeze.CxfreezeFindPath.html">CxfreezeFindPath</a></td> +<td>Script to find the cxfreeze directory from running Python interpreter.</td> </tr> </table> </body></html> \ No newline at end of file
--- a/CxFreeze/i18n/cxfreeze_cs.ts Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/i18n/cxfreeze_cs.ts Sun Jul 07 20:40:48 2013 +0200 @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0" language="cs_CZ"> +<!DOCTYPE TS><TS version="2.0" language="cs_CZ" sourcelanguage=""> <context> <name>CxFreezePlugin</name> <message> @@ -24,42 +23,42 @@ <translation type="obsolete"><b>Použít cx_Freeze</b><p>Generování distribučního balíčku za použití cx_Freeze. Příkaz je vykonán v cestě projektu. Všechny soubory a adresáře musí být zadány absolutně nebo relativně vůči adresáři projektu.</p></translation> </message> <message> - <location filename="PluginCxFreeze.py" line="50"/> + <location filename="PluginCxFreeze.py" line="53"/> <source>Packagers - cx_freeze</source> <translation>Balíčkovače - cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="196"/> + <location filename="PluginCxFreeze.py" line="318"/> <source>There is no main script defined for the current project.</source> <translation>V aktuálním projektu není definován hlavní skript.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>The cxfreeze executable could not be found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>cxfreeze</source> <translation>cxfreeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_freeze</source> <translation>Použít cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_&freeze</source> <translation>Použít cx_&freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="142"/> + <location filename="PluginCxFreeze.py" line="249"/> <source>Generate a distribution package using cx_freeze</source> <translation>Generovat distribuční balíček za použití cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="144"/> + <location filename="PluginCxFreeze.py" line="251"/> <source><b>Use cx_freeze</b><p>Generate a distribution package using cx_freeze. The command is executed in the project path. All files and directories must be given absolute or relative to the project directory.</p></source> <translation><b>Použít cx_freeze</b><p>Generování distribučního balíčku za použití cx_freeze. Příkaz je vykonán v cestě projektu. Všechny soubory a adresáře musí být zadány absolutně nebo relativně vůči adresáři projektu.</p></translation> </message> @@ -85,107 +84,107 @@ <translation>&Hlavní</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="188"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="181"/> <source>Select to optimize generated bytecode</source> <translation>Zatrhněte pro optimalizaci generovaného bytekódu</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="191"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="184"/> <source>Optimize bytecode</source> <translation>Oprimalizovat bytekód</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="196"/> <source>Don't optimize</source> <translation>Neoptimalizovat</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="210"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> <source>Select to optimize the generated bytecode</source> <translation>Zatrhněte pro optimalizaci generovaného bytekódu</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="206"/> <source>Optimize</source> <translation>Optimalizovat</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="220"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> <source>Select to optimize the generated bytecode and remove doc strings</source> <translation>Zatrhněte pro optimalizaci generovaného bytekódu a odebrání doc stringů</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="223"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="216"/> <source>Optimize (with docstring removal)</source> <translation>Optimalizovat (s odebráním doc stringů)</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="153"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="72"/> <source>Select to disable copying of dependent files to the target directory</source> <translation>Zatrhněte pro zákaz kopírování souborů, na kterých je aplikace závislá, do cílového adresáře</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="156"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> <source>Do not copy dependant files</source> <translation>Nekopírovat soubory, na kterých je aplikace závislá</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="174"/> <source>Target directory:</source> <translation>Cílový adresář:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="145"/> <source>Enter the name of the target directory</source> <translation>Zadejte jméno cílového adresáře</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="54"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="148"/> <source><p>Enter the name of the directory in which to place the target file and any dependant files.</p></source> <translation><p>Zadání jména adresáře, do kterého budou umístěny cílové soubory a soubory, na kterých jsou závislé.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="121"/> <source>Enter the name of the file to create</source> <translation>Zadejte jméno souboru, který se má vytvořit</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="78"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="124"/> <source><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></source> <translation><p>Zadání jméno souboru, který se vytvoří místo bázového jména skriptu, a extenzi bázové binárky.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="68"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="114"/> <source>Target name:</source> <translation>Cílové jméno:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="348"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="363"/> <source>...</source> <translation>...</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="118"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> <source>Enter name of script which will be executed upon startup</source> <translation>Zadejte jméno skriptu, který bude vykonán při spuštění</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="92"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="155"/> <source>Enter the name of a file on which to base the target file</source> <translation>Zadejte jméno souboru, ve kterém je báze cílového souboru</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="111"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="107"/> <source>Init script:</source> <translation>Init skript:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="131"/> <source>Base name:</source> <translation>Jméno báze:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="234"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="255"/> <source>&Advanced</source> <translation>&Rozšířený</translation> </message> @@ -200,67 +199,67 @@ <translation type="obsolete">Zadejte jméno společné knihovny (shared library) implementující Python runtime</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="252"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="267"/> <source>Default path</source> <translation>Defaultní cesta</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="259"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="274"/> <source>Enter directories to initialize sys.path</source> <translation>Zadejte adresáře pro inicializaci sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="262"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="277"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to initialize sys.path prior to running the module finder.</p></source> <translation><p>Zadání seznamu cest oddělených standardním oddělovačem cesty, který bude použit pro inicializaci sys.path před tím, než bude spuštěn module finder.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="269"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="284"/> <source>Enter directories to modify sys.path</source> <translation>Zadejte adresáře pro úpravu sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="272"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="287"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to modify sys.path prior to running the module finder.</p></source> <translation><p>Zadání seznamu cest oddělených standardním oddělovačem cesty, který bude použit pro inicializaci sys.path před tím, než bude spuštěn module finder.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="279"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="294"/> <source>Include path</source> <translation>Vložit cestu</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="286"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="301"/> <source>Replace paths:</source> <translation>Nahradit cesty:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="293"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="308"/> <source>Enter replacement directives</source> <translation>Zadání direktiv nahrazení</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="296"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="311"/> <source><p>Enter replacement directives used to replace all the paths in modules found. Please see cx_Freeze docu for details.</p></source> <translation><p>Zadání direktiv nahrazení se používá k nahrazení všech cest, které byly v modulu nalezeny. Detail naleznete v cx_Freeze dokumentaci.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="303"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="318"/> <source>Include modules:</source> <translation>Vložit moduly:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="310"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="325"/> <source>Enter a comma separated list of modules to include</source> <translation>Zadejte seznam jmen modulů oddělený čárkami určený pro vložení</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="317"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="332"/> <source>Exclude modules:</source> <translation>Nevkládat moduly:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="324"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="339"/> <source>Enter a comma separated list of modules to exclude</source> <translation>Zadejte seznam jmen modulů oddělený čárkami, který se nebude vkládat</translation> </message> @@ -270,22 +269,22 @@ <translation type="obsolete">Stiskněte pro výběr Python společné knihovny přes dialog výběru souborů</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="345"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="360"/> <source>Press to select the external list file via a file selection dialog</source> <translation>Stiskněte pro výběr externího seznamu souborů přes dialog výběru souborů</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="331"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="346"/> <source>Enter the name of a file in which to place the list of included modules</source> <translation>Zadejte jméno souboru, který má být umístěn do seznamu vkládaných modulů</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="338"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="353"/> <source>External list file:</source> <translation>Externí seznam souborů:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="259"/> <source>Select target directory</source> <translation>Výběr cílového adresáře</translation> </message> @@ -300,25 +299,50 @@ <translation>Výběr externího seznamu souborů</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="137"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> <source>Application icon:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="144"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="240"/> <source>Enter the name of the application icon.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="163"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="82"/> <source>Select to compress the byte code in zip files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="166"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> <source>Compress Byte Code</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="226"/> + <source>Select the cx_freeze executable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="233"/> + <source>cx_Freeze executable:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <source>Icons</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <source>All files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="239"/> + <source>Select the application icon</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CxfreezeExecDialog</name> @@ -341,22 +365,22 @@ <translation><b>Provedení balíčkovače</b><p>Zobrazuje se výstup z příkazu balíčkovače.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="72"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="75"/> <source>{0} - {1}</source> <translation>{0} - {1}</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>Process Generation Error</source> <translation>Chyba v procesu generování</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Proces {0} nelze spustit. Ověřte, že je umístěn v požadované cestě.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="118"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="122"/> <source> {0} finished. </source>
--- a/CxFreeze/i18n/cxfreeze_de.ts Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/i18n/cxfreeze_de.ts Sun Jul 07 20:40:48 2013 +0200 @@ -1,44 +1,44 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="de"> +<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage=""> <context> <name>CxFreezePlugin</name> <message> - <location filename="PluginCxFreeze.py" line="50"/> + <location filename="PluginCxFreeze.py" line="53"/> <source>Packagers - cx_freeze</source> <translation>Paketierer - cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="196"/> + <location filename="PluginCxFreeze.py" line="318"/> <source>There is no main script defined for the current project.</source> <translation>Für das Projekt ist kein Hauptskript festgelegt.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>The cxfreeze executable could not be found.</source> <translation>Das cxfreeze Programm konnte nicht gefunden werden.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>cxfreeze</source> <translation>cxfreeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_freeze</source> <translation>Benutze cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_&freeze</source> <translation>Benutze cx_&freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="142"/> + <location filename="PluginCxFreeze.py" line="249"/> <source>Generate a distribution package using cx_freeze</source> <translation>Erzeuge ein Distributionspaket mittels cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="144"/> + <location filename="PluginCxFreeze.py" line="251"/> <source><b>Use cx_freeze</b><p>Generate a distribution package using cx_freeze. The command is executed in the project path. All files and directories must be given absolute or relative to the project directory.</p></source> <translation><b>Benutze cx_freeze</b><p>Erzeuge ein Distributionspaket mittels cx_freeze. Der Befehl wird im Projektverzeichnis ausgeführt. Alle Datei- und Verzeichnisnamen müssen absolut oder relativ zum Projektverzeichnis angegeben werden.</p></translation> </message> @@ -46,7 +46,7 @@ <context> <name>CxfreezeConfigDialog</name> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="259"/> <source>Select target directory</source> <translation>Wähle das Zielverzeichnis</translation> </message> @@ -75,210 +75,235 @@ <translation>All&gemein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="188"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="181"/> <source>Select to optimize generated bytecode</source> <translation>Auswählen, um den erzeugten Bytecode zu optimieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="191"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="184"/> <source>Optimize bytecode</source> <translation>Bytecode optimieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="196"/> <source>Don't optimize</source> <translation>Nicht optimieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="210"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> <source>Select to optimize the generated bytecode</source> <translation>Auswählen, um den erzeugten Bytecode zu optimieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="206"/> <source>Optimize</source> <translation>Optimieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="220"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> <source>Select to optimize the generated bytecode and remove doc strings</source> <translation>Auswählen, um den erzeugten Bytecode zu optimieren und Docstrings zu entfernen</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="223"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="216"/> <source>Optimize (with docstring removal)</source> <translation>Optimieren (Docstrings entfernen)</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="153"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="72"/> <source>Select to disable copying of dependent files to the target directory</source> <translation>Auswählen, um das Kopieren der abhängigen Dateien in das Zielverzeichnis abzuschalten</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="156"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> <source>Do not copy dependant files</source> <translation>Abhängige Dateien nicht kopieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="174"/> <source>Target directory:</source> <translation>Zielverzeichnis:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="145"/> <source>Enter the name of the target directory</source> <translation>Gib den Namen des Zielverzeichnisses ein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="54"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="148"/> <source><p>Enter the name of the directory in which to place the target file and any dependant files.</p></source> <translation><p>Gib den Namen des Verzeichnisses an, in das die Zieldatei und alle abhängigen Dateien kopiert werden.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="121"/> <source>Enter the name of the file to create</source> <translation>Gib den Namen der zu erzeugenden Datei an</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="78"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="124"/> <source><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></source> <translation><p>Gib den Namen der zu erzeugenden Datei an. Dieser wird anstelle des Basisnamens des Skriptes und der Erweiterung des Basisexecutables verwendet.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="68"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="114"/> <source>Target name:</source> <translation>Zielname:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="348"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="363"/> <source>...</source> <translation>...</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="118"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> <source>Enter name of script which will be executed upon startup</source> <translation>Gib den Namen eines Skriptes an, das beim Start ausgeführt wird</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="92"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="155"/> <source>Enter the name of a file on which to base the target file</source> <translation>Gib den Namen einer Datei an, auf der die Zieldatei basiert</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="111"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="107"/> <source>Init script:</source> <translation>Init-Skript:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="131"/> <source>Base name:</source> <translation>Basisname:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="234"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="255"/> <source>&Advanced</source> <translation>&Spezielles</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="252"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="267"/> <source>Default path</source> <translation>Standarpfad</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="259"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="274"/> <source>Enter directories to initialize sys.path</source> <translation>Gib die Verzeichnisse zur Initialisierung von sys.path ein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="262"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="277"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to initialize sys.path prior to running the module finder.</p></source> <translation><p>Gib eine Liste von Verzeichnissen getrennt durch den standard Pfadtrenner ein. Diese werden verwendet, um sys.path vor der Ausführung des Modulfinders zu initialisieren.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="269"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="284"/> <source>Enter directories to modify sys.path</source> <translation>Gib die Verzeichnisse zur Modifizierung von sys.path ein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="272"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="287"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to modify sys.path prior to running the module finder.</p></source> <translation><p>Gib eine Liste von Verzeichnissen getrennt durch den standard Pfadtrenner ein. Diese werden verwendet, um sys.path vor der Ausführung des Modulfinders zu modifizieren.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="279"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="294"/> <source>Include path</source> <translation>Include Pfad</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="286"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="301"/> <source>Replace paths:</source> <translation>Pfadersetzungen:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="293"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="308"/> <source>Enter replacement directives</source> <translation>Gib Ersetzungsregeln ein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="296"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="311"/> <source><p>Enter replacement directives used to replace all the paths in modules found. Please see cx_Freeze docu for details.</p></source> <translation><p>Gib Ersetzungsregeln ein, die benutzt werden, um Pfade in gefundenen Modulen zu ersetzen. Siehe die cx_Freeze Dokumentation für Details.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="303"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="318"/> <source>Include modules:</source> <translation>Module einbinden:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="310"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="325"/> <source>Enter a comma separated list of modules to include</source> <translation>Gib eine durch Komma getrennte Liste von einzubindenden Modulen ein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="317"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="332"/> <source>Exclude modules:</source> <translation>Module ausschließen:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="324"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="339"/> <source>Enter a comma separated list of modules to exclude</source> <translation>Gib eine durch Komma getrennte Liste von auszuschließenden Modulen ein</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="345"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="360"/> <source>Press to select the external list file via a file selection dialog</source> <translation>Drücken, um die externe Listendatei mit einem Dateiauswahldialog auszuwählen</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="331"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="346"/> <source>Enter the name of a file in which to place the list of included modules</source> <translation>Gib den Namen einer Datei ein, in die die Liste der eingebundenen Module geschrieben wird</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="338"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="353"/> <source>External list file:</source> <translation>Externe Listendatei:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="137"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> <source>Application icon:</source> <translation>Anwendungs Icon:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="144"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="240"/> <source>Enter the name of the application icon.</source> <translation>Gib den Namen des Anwendungs-Icons an.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="163"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="82"/> <source>Select to compress the byte code in zip files</source> <translation>Auswählen, um den Bytecode in zip-Dateien zu komprimieren</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="166"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> <source>Compress Byte Code</source> <translation>Bytecode komprimieren</translation> </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="233"/> + <source>cx_Freeze executable:</source> + <translation>cx_Freeze Startdatei:</translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <source>Icons</source> + <translation>Icons</translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <source>All files</source> + <translation>Alle Dateien</translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="239"/> + <source>Select the application icon</source> + <translation>Wähle das Icon für die Anwendung</translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="226"/> + <source>Select the cx_freeze executable</source> + <translation>Wähle die cx_Freeze Startdatei</translation> + </message> </context> <context> <name>CxfreezeExecDialog</name> @@ -302,22 +327,22 @@ <p>Dies zeigt die Fehler des Paketierer Befehls.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="72"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="75"/> <source>{0} - {1}</source> <translation>{0} - {1}</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>Process Generation Error</source> <translation>Fehler beim Prozessstart</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Der Prozess {0} konnte nicht gestartet werden. Stellen Sie sicher, dass er sich im Suchpfad befindet.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="118"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="122"/> <source> {0} finished. </source>
--- a/CxFreeze/i18n/cxfreeze_es.ts Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/i18n/cxfreeze_es.ts Sun Jul 07 20:40:48 2013 +0200 @@ -1,10 +1,9 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0" language="es"> +<!DOCTYPE TS><TS version="2.0" language="es" sourcelanguage=""> <context> <name>CxFreezePlugin</name> <message> - <location filename="PluginCxFreeze.py" line="50"/> + <location filename="PluginCxFreeze.py" line="53"/> <source>Packagers - cx_freeze</source> <translation>Empaquetadores - cx_freeze</translation> </message> @@ -29,37 +28,37 @@ <translation type="obsolete"><b>Usar cx_Freeze</b><p>Generar un paquete de distribución utilizando cx_Freeze. El comando se ejecuta en la ruta del proyecto. Todos los archivos y directorios deben ser proporcionados de forma absoluta o relativa al directorio del proyecto.</p></translation> </message> <message> - <location filename="PluginCxFreeze.py" line="196"/> + <location filename="PluginCxFreeze.py" line="318"/> <source>There is no main script defined for the current project.</source> <translation>No hay script principal definido para el proyecto actual.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>The cxfreeze executable could not be found.</source> <translation>No se ha podido encontrar el ejecutable de cxfreeze.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>cxfreeze</source> <translation>cxfreeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_freeze</source> <translation>Usar cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_&freeze</source> <translation>Usar cx_&freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="142"/> + <location filename="PluginCxFreeze.py" line="249"/> <source>Generate a distribution package using cx_freeze</source> <translation>Generar un paquete de distribución utilizando cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="144"/> + <location filename="PluginCxFreeze.py" line="251"/> <source><b>Use cx_freeze</b><p>Generate a distribution package using cx_freeze. The command is executed in the project path. All files and directories must be given absolute or relative to the project directory.</p></source> <translation><b>Usar cx_freeze</b><p>Generar un paquete de distribución utilizando cx_freeze. El comando se ejecuta en la ruta del proyecto. Todos los archivos y directorios deben ser proporcionados de forma absoluta o relativa al directorio del proyecto.</p></translation> </message> @@ -86,107 +85,107 @@ <translation>&General</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="188"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="181"/> <source>Select to optimize generated bytecode</source> <translation>Seleccionar para optimizar el bytecode generado</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="191"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="184"/> <source>Optimize bytecode</source> <translation>Optimizar bytecode</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="196"/> <source>Don't optimize</source> <translation>No optimizar</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="210"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> <source>Select to optimize the generated bytecode</source> <translation>Seleccionar para optimizar el bytecode generado</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="206"/> <source>Optimize</source> <translation>Optimizar</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="220"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> <source>Select to optimize the generated bytecode and remove doc strings</source> <translation>Seleccionar para optimizar el bytecode generado y eliminar cadenas de documentación</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="223"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="216"/> <source>Optimize (with docstring removal)</source> <translation>Optimizar (con eliminación de cadenas de documentación)</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="153"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="72"/> <source>Select to disable copying of dependent files to the target directory</source> <translation>Seleccionar para deshabilitar el copiado de archivos dependientes al directorio de destino</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="156"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> <source>Do not copy dependant files</source> <translation>No copiar archivos dependientes</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="174"/> <source>Target directory:</source> <translation>Directorio de destino:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="145"/> <source>Enter the name of the target directory</source> <translation>Introduzca el nombre del directorio de destino</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="54"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="148"/> <source><p>Enter the name of the directory in which to place the target file and any dependant files.</p></source> <translation><p>Introduzca el nombre del directorio en el cual se ubicará el archivo de destino y todos los archivos dependientes.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="121"/> <source>Enter the name of the file to create</source> <translation>Introduzca el nombre del archivo a crear</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="78"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="124"/> <source><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></source> <translation><p>Introduzca el nombre del archivo a crear en lugar del nombre base del script y la extensión del binario base.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="68"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="114"/> <source>Target name:</source> <translation>Nombre de destino:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="348"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="363"/> <source>...</source> <translation>...</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="118"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> <source>Enter name of script which will be executed upon startup</source> <translation>Introduzca el nombre del script que se ejecutará al iniciar</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="92"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="155"/> <source>Enter the name of a file on which to base the target file</source> <translation>Introduzca el nombre del archivo en el que basar el archivo de destino</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="111"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="107"/> <source>Init script:</source> <translation>Script de inicio:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="131"/> <source>Base name:</source> <translation>Nombre base:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="234"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="255"/> <source>&Advanced</source> <translation>&Avanzado</translation> </message> @@ -201,67 +200,67 @@ <translation type="obsolete">Introduzca el nombre de la biblioteca compartida implementando el runtime de Python</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="252"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="267"/> <source>Default path</source> <translation>Ruta por defecto</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="259"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="274"/> <source>Enter directories to initialize sys.path</source> <translation>Introduzca los directorios para inicializar sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="262"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="277"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to initialize sys.path prior to running the module finder.</p></source> <translation><p>Introduzca una lista de rutas separadas por el separador estándar de rutas. Esta ruta se utilizará para inicializar sys.path antes de ejecutar el buscador de módulos.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="269"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="284"/> <source>Enter directories to modify sys.path</source> <translation>Introduzca directorios para modificar sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="272"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="287"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to modify sys.path prior to running the module finder.</p></source> <translation><p>Introduzca una lista de rutas separadas por el separador estándar de rutas. Esta ruta se utilizará para modificar sys.path antes de ejecutar el buscador de módulos.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="279"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="294"/> <source>Include path</source> <translation>Ruta de include</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="286"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="301"/> <source>Replace paths:</source> <translation>Rutas de reemplazamiento:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="293"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="308"/> <source>Enter replacement directives</source> <translation>Introduzca directivas de reemplazamiento</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="296"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="311"/> <source><p>Enter replacement directives used to replace all the paths in modules found. Please see cx_Freeze docu for details.</p></source> <translation><p>Introduzca las directivas de reemplazamiento utilizadas para sustituir todas las rutas en los módulos encontrados. Por favor vea la documentación de cx_Freeze para detalles.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="303"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="318"/> <source>Include modules:</source> <translation>Incluir módulos:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="310"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="325"/> <source>Enter a comma separated list of modules to include</source> <translation>Introduzca una lista de módulos a incluir separados por comas</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="317"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="332"/> <source>Exclude modules:</source> <translation>Excluir módulos:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="324"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="339"/> <source>Enter a comma separated list of modules to exclude</source> <translation>Introduzca una lista de módulos a excluir separados por comas</translation> </message> @@ -271,22 +270,22 @@ <translation type="obsolete">Pulse para seleccionar la biblioteca compartida de Python a través de un diálogo de selección de archivo</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="345"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="360"/> <source>Press to select the external list file via a file selection dialog</source> <translation>Pulse para seleccionar el archivo de lista externo a traves de un diálogo de selección de archivo</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="331"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="346"/> <source>Enter the name of a file in which to place the list of included modules</source> <translation>Introduzca el nombre de un archivo en el que ubicar la lista de módulos incluidos</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="338"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="353"/> <source>External list file:</source> <translation>Archivo de lista externo:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="259"/> <source>Select target directory</source> <translation>Seleccionar directorio de destino</translation> </message> @@ -301,25 +300,50 @@ <translation>Seleccionar archivo de lista externo</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="137"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> <source>Application icon:</source> <translation>Icono de la aplicación:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="144"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="240"/> <source>Enter the name of the application icon.</source> <translation>Introduzca el nombre del icono de la aplicación.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="163"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="82"/> <source>Select to compress the byte code in zip files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="166"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> <source>Compress Byte Code</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="226"/> + <source>Select the cx_freeze executable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="233"/> + <source>cx_Freeze executable:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <source>Icons</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <source>All files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="239"/> + <source>Select the application icon</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CxfreezeExecDialog</name> @@ -343,22 +367,22 @@ <p>Muestra los errores del comando del empaquetador.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="72"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="75"/> <source>{0} - {1}</source> <translation>{0} - {1}</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>Process Generation Error</source> <translation>Error de Generación de Proceso</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>El proceso {0} no pudo ser ejecutado. Asegúrese de que esta en la ruta de búsqueda.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="118"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="122"/> <source> {0} finished. </source>
--- a/CxFreeze/i18n/cxfreeze_fr.ts Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/i18n/cxfreeze_fr.ts Sun Jul 07 20:40:48 2013 +0200 @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0" language="fr"> +<!DOCTYPE TS><TS version="2.0" language="fr" sourcelanguage=""> <context> <name>CxFreezePlugin</name> <message> @@ -24,42 +23,42 @@ <translation type="obsolete"><b>Utiliser cx_Freeze</b><p>Générer un package de distribution en utilisant cx_Freeze. Cette commande est executée depuis le chemin du projet. Tous les fichiers et réperoires doivent être indiqués soit par un chemin absolu, soit par un chemin relatif au répertoire du projet.</p></translation> </message> <message> - <location filename="PluginCxFreeze.py" line="50"/> + <location filename="PluginCxFreeze.py" line="53"/> <source>Packagers - cx_freeze</source> <translation>Packageurs - cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="196"/> + <location filename="PluginCxFreeze.py" line="318"/> <source>There is no main script defined for the current project.</source> <translation>Il n'y a pas de script principal défini dans le projet courant.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>The cxfreeze executable could not be found.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>cxfreeze</source> <translation>cxfreeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_freeze</source> <translation>Utiliser cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_&freeze</source> <translation>Utiliser cx_&freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="142"/> + <location filename="PluginCxFreeze.py" line="249"/> <source>Generate a distribution package using cx_freeze</source> <translation>Générer un package de distribution en utilisant cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="144"/> + <location filename="PluginCxFreeze.py" line="251"/> <source><b>Use cx_freeze</b><p>Generate a distribution package using cx_freeze. The command is executed in the project path. All files and directories must be given absolute or relative to the project directory.</p></source> <translation><b>Utiliser cx_freeze</b><p>Générer un package de distribution en utilisant cx_freeze. Cette commande est executée depuis le chemin du projet. Tous les fichiers et réperoires doivent être indiqués soit par un chemin absolu, soit par un chemin relatif au répertoire du projet.</p></translation> </message> @@ -67,7 +66,7 @@ <context> <name>CxfreezeConfigDialog</name> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="259"/> <source>Select target directory</source> <translation>Sélectionner un répertoire de destination</translation> </message> @@ -101,107 +100,107 @@ <translation>&Général</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="188"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="181"/> <source>Select to optimize generated bytecode</source> <translation>Sélectionner pour optimiser le bytecode généré</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="191"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="184"/> <source>Optimize bytecode</source> <translation>Optimiser le bytecode</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="196"/> <source>Don't optimize</source> <translation>Pas d'optimisation</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="210"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> <source>Select to optimize the generated bytecode</source> <translation>Sélectionner pour optimiser le bytecode généré</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="206"/> <source>Optimize</source> <translation>Optimisation</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="220"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> <source>Select to optimize the generated bytecode and remove doc strings</source> <translation>Sélectionner pour optimiser le code généré et supprimer les docstrings</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="223"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="216"/> <source>Optimize (with docstring removal)</source> <translation>Optimiser (avec suppression des docstrings)</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="153"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="72"/> <source>Select to disable copying of dependent files to the target directory</source> <translation>Cocher pour ne pas copier les fichiers dépendants</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="156"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> <source>Do not copy dependant files</source> <translation>Ne pas copier les fichiers de dépendance</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="174"/> <source>Target directory:</source> <translation>Répertoire de destination:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="145"/> <source>Enter the name of the target directory</source> <translation>Entrer le nom du répertoire cible</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="54"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="148"/> <source><p>Enter the name of the directory in which to place the target file and any dependant files.</p></source> <translation><p>Entrer le nom du répertoire où ranger le fichier cible et tous les fichiers qui en dépendent.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="121"/> <source>Enter the name of the file to create</source> <translation>Entrer le nom du fichier à créer</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="78"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="124"/> <source><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></source> <translation><p>Entrer le nom du fichier binaire à créer. Le nom saisi remplace le nom par défaut composé du nom de base et de l'extension standard des binaires.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="68"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="114"/> <source>Target name:</source> <translation>Nom de la cible:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="348"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="363"/> <source>...</source> <translation>...</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="118"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> <source>Enter name of script which will be executed upon startup</source> <translation>Entrer le nom du script qui doit être exécuté au démarrage</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="92"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="155"/> <source>Enter the name of a file on which to base the target file</source> <translation>Entrer le nom d'un fichier sur lequel baser le fichier cible</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="111"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="107"/> <source>Init script:</source> <translation>Script de démarrage:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="131"/> <source>Base name:</source> <translation>Nom de base:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="234"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="255"/> <source>&Advanced</source> <translation>A&vancé</translation> </message> @@ -216,67 +215,67 @@ <translation type="obsolete">Entrer le nom de la librairie partagée</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="252"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="267"/> <source>Default path</source> <translation>Chemin par défaut</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="259"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="274"/> <source>Enter directories to initialize sys.path</source> <translation>Entrer les répertoires par défaut pour initialiser sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="262"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="277"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to initialize sys.path prior to running the module finder.</p></source> <translation><p>Enter une liste de chemins séparés par le séparateur de chemin standard. Elle sera utilisée pour initialiser sys.path avant de lancer le chercheur de modules.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="269"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="284"/> <source>Enter directories to modify sys.path</source> <translation>Entrer les répertoires pour modifier sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="272"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="287"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to modify sys.path prior to running the module finder.</p></source> <translation><p>Enter une liste de chemins séparés par le séparateur de chemin standard. Elle sera utilisée pour modifier sys.path avant de lancer le chercheur de modules.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="279"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="294"/> <source>Include path</source> <translation>Chemins à inclure</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="286"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="301"/> <source>Replace paths:</source> <translation>Chemins de remplacement:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="293"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="308"/> <source>Enter replacement directives</source> <translation>Entrer les directives de remplacement</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="296"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="311"/> <source><p>Enter replacement directives used to replace all the paths in modules found. Please see cx_Freeze docu for details.</p></source> <translation><p>Entrer les directives de remplacement utilisées pour remplacer tous les chemins dans les modules trouvés. Consulter la documentation de cx_Freeze pour plus de details.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="303"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="318"/> <source>Include modules:</source> <translation>Modules à inclure:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="310"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="325"/> <source>Enter a comma separated list of modules to include</source> <translation>Entrer la liste des modules à inclure, séparés par des virgules</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="317"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="332"/> <source>Exclude modules:</source> <translation>Modules à exclure:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="324"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="339"/> <source>Enter a comma separated list of modules to exclude</source> <translation>Entrer la liste des modules à exclure, séparés par des virgules</translation> </message> @@ -286,40 +285,65 @@ <translation type="obsolete">Cliquer pour sélectionner la librairie partagée Python à l'aide d'une boite de sélection</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="345"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="360"/> <source>Press to select the external list file via a file selection dialog</source> <translation>Cliquer pour sélectionner une liste externe via une boite de sélection</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="331"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="346"/> <source>Enter the name of a file in which to place the list of included modules</source> <translation>Entrer le nom d'un fichier pour écrire la liste des modules inclus</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="338"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="353"/> <source>External list file:</source> <translation>Liste externe:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="137"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> <source>Application icon:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="144"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="240"/> <source>Enter the name of the application icon.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="163"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="82"/> <source>Select to compress the byte code in zip files</source> <translation type="unfinished"></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="166"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> <source>Compress Byte Code</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="226"/> + <source>Select the cx_freeze executable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="233"/> + <source>cx_Freeze executable:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <source>Icons</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <source>All files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="239"/> + <source>Select the application icon</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CxfreezeExecDialog</name> @@ -343,22 +367,22 @@ <p>Affiche les messages d'erreurs générés par le packageur.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="72"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="75"/> <source>{0} - {1}</source> <translation>{0} - {1}</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>Process Generation Error</source> <translation>Erreur du processus</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Impossible de lancer le processus {0}. Assurez-vous qu'il est bien dans le chemin de recherche.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="118"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="122"/> <source> {0} finished. </source>
--- a/CxFreeze/i18n/cxfreeze_it.ts Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/i18n/cxfreeze_it.ts Sun Jul 07 20:40:48 2013 +0200 @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS> -<TS version="2.0" language="it_IT"> +<!DOCTYPE TS><TS version="2.0" language="it_IT" sourcelanguage=""> <context> <name>CxFreezePlugin</name> <message> @@ -24,42 +23,42 @@ <translation type="obsolete"><b>Utiliser cx_Freeze</b><p>Générer un package de distribution en utilisant cx_Freeze. Cette commande est executée depuis le chemin du projet. Tous les fichiers et réperoires doivent être indiqués soit par un chemin absolu, soit par un chemin relatif au répertoire du projet.</p></translation> </message> <message> - <location filename="PluginCxFreeze.py" line="50"/> + <location filename="PluginCxFreeze.py" line="53"/> <source>Packagers - cx_freeze</source> <translation>Pacchettizzatore - cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="196"/> + <location filename="PluginCxFreeze.py" line="318"/> <source>There is no main script defined for the current project.</source> <translation>Non c'è uno script principale per il progetto corrente.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>The cxfreeze executable could not be found.</source> <translation>L'eseguibile cxfreeze non è stato trovato.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>cxfreeze</source> <translation>cxfreeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_freeze</source> <translation>Utilizza cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_&freeze</source> <translation>Utilizza cx_&freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="142"/> + <location filename="PluginCxFreeze.py" line="249"/> <source>Generate a distribution package using cx_freeze</source> <translation>Genera un pacchetto distribuibili utilizzando cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="144"/> + <location filename="PluginCxFreeze.py" line="251"/> <source><b>Use cx_freeze</b><p>Generate a distribution package using cx_freeze. The command is executed in the project path. All files and directories must be given absolute or relative to the project directory.</p></source> <translation><b>Utilizza cx_freeze</b><p>Genera un pacchetto distribuibili utilizzando cx_freeze. Il comando viene eseguiro nel percorso del progetto. Tutti i file e le directory devono essere indicati con i percorsi assoluti o relativi alla directory del progetto.</p></translation> </message> @@ -67,7 +66,7 @@ <context> <name>CxfreezeConfigDialog</name> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="259"/> <source>Select target directory</source> <translation>Sélectionner un répertoire de destination</translation> </message> @@ -101,107 +100,107 @@ <translation>&Generale</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="188"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="181"/> <source>Select to optimize generated bytecode</source> <translation>Sélectionner pour optimiser le bytecode généré</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="191"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="184"/> <source>Optimize bytecode</source> <translation>Optimiser le bytecode</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="196"/> <source>Don't optimize</source> <translation>Pas d'optimisation</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="210"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> <source>Select to optimize the generated bytecode</source> <translation>Sélectionner pour optimiser le bytecode généré</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="206"/> <source>Optimize</source> <translation>Optimisation</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="220"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> <source>Select to optimize the generated bytecode and remove doc strings</source> <translation>Sélectionner pour optimiser le code généré et supprimer les docstrings</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="223"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="216"/> <source>Optimize (with docstring removal)</source> <translation>Optimiser (avec suppression des docstrings)</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="153"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="72"/> <source>Select to disable copying of dependent files to the target directory</source> <translation>Cocher pour ne pas copier les fichiers dépendants</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="156"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> <source>Do not copy dependant files</source> <translation>Ne pas copier les fichiers de dépendance</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="174"/> <source>Target directory:</source> <translation>Répertoire de destination:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="145"/> <source>Enter the name of the target directory</source> <translation>Entrer le nom du répertoire cible</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="54"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="148"/> <source><p>Enter the name of the directory in which to place the target file and any dependant files.</p></source> <translation><p>Entrer le nom du répertoire où ranger le fichier cible et tous les fichiers qui en dépendent.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="121"/> <source>Enter the name of the file to create</source> <translation>Entrer le nom du fichier à créer</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="78"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="124"/> <source><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></source> <translation><p>Entrer le nom du fichier binaire à créer. Le nom saisi remplace le nom par défaut composé du nom de base et de l'extension standard des binaires.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="68"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="114"/> <source>Target name:</source> <translation>Nom de la cible:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="348"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="363"/> <source>...</source> <translation>...</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="118"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> <source>Enter name of script which will be executed upon startup</source> <translation>Entrer le nom du script qui doit être exécuté au démarrage</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="92"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="155"/> <source>Enter the name of a file on which to base the target file</source> <translation>Entrer le nom d'un fichier sur lequel baser le fichier cible</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="111"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="107"/> <source>Init script:</source> <translation>Script de démarrage:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="131"/> <source>Base name:</source> <translation>Nom de base:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="234"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="255"/> <source>&Advanced</source> <translation>A&vancé</translation> </message> @@ -216,67 +215,67 @@ <translation type="obsolete">Entrer le nom de la librairie partagée</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="252"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="267"/> <source>Default path</source> <translation>Chemin par défaut</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="259"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="274"/> <source>Enter directories to initialize sys.path</source> <translation>Inserisci le directory per inizializzare sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="262"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="277"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to initialize sys.path prior to running the module finder.</p></source> <translation><p>Inserisci una lista di percorsi separati dal separatore standard, che verrà utilizzata per inizializzare sys.path prima dell'esecuzione del modulo di ricerca.<p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="269"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="284"/> <source>Enter directories to modify sys.path</source> <translation>Inserisci le directory per modificare sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="272"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="287"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to modify sys.path prior to running the module finder.</p></source> <translation><p>Inserisci una lista di percorsi separati dal separatore standard, che verrà utilizzata per inizializzare sys.path prima dell'esecuzione del modulo di ricerca.<p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="279"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="294"/> <source>Include path</source> <translation>Includi percorso</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="286"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="301"/> <source>Replace paths:</source> <translation>Sostituisci percorso:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="293"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="308"/> <source>Enter replacement directives</source> <translation>Inserisci le indicazione per la sostituzione</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="296"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="311"/> <source><p>Enter replacement directives used to replace all the paths in modules found. Please see cx_Freeze docu for details.</p></source> <translation><p>Inserisci le indicazione usate per la sostituzione di tutti i percorsi nei moduli trovati. Fai riferimento alla documentazione di cx_Freeze per i dettagli.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="303"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="318"/> <source>Include modules:</source> <translation>Includi moduli:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="310"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="325"/> <source>Enter a comma separated list of modules to include</source> <translation>Inserici una lista di moduli separati da una virgola</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="317"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="332"/> <source>Exclude modules:</source> <translation>Escludi moduli:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="324"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="339"/> <source>Enter a comma separated list of modules to exclude</source> <translation>Inserisci una lista di moduli da escludere separati da una virgola</translation> </message> @@ -286,40 +285,65 @@ <translation type="obsolete">Cliquer pour sélectionner la librairie partagée Python à l'aide d'une boite de sélection</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="345"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="360"/> <source>Press to select the external list file via a file selection dialog</source> <translation>Premi per selezionare la lista dei file esterni con un dialogo</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="331"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="346"/> <source>Enter the name of a file in which to place the list of included modules</source> <translation>Inserisci il nome di un file nel quale mettere la lista dei moduli inclusi</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="338"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="353"/> <source>External list file:</source> <translation>Lista file esterna:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="137"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> <source>Application icon:</source> <translation>Icona applicazione:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="144"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="240"/> <source>Enter the name of the application icon.</source> <translation>Inserisci il nome dell'icona dell'applicazione.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="163"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="82"/> <source>Select to compress the byte code in zip files</source> <translation>Seleziona per comprimere il bytcode in file zip</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="166"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> <source>Compress Byte Code</source> <translation>Comprimi Byte Code</translation> </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="226"/> + <source>Select the cx_freeze executable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="233"/> + <source>cx_Freeze executable:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <source>Icons</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <source>All files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="239"/> + <source>Select the application icon</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CxfreezeExecDialog</name> @@ -343,22 +367,22 @@ <p>Mostra gli errori del comando.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="72"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="75"/> <source>{0} - {1}</source> <translation>{0} - {1}</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>Process Generation Error</source> <translation>Errore Generazione Processo</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="79"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Il processo {0} non può essere avviato. Assicurarsi che sia nel percorso di ricerca.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="118"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="122"/> <source> {0} finished. </source>
--- a/CxFreeze/i18n/cxfreeze_ru.ts Sun Apr 28 18:09:10 2013 +0200 +++ b/CxFreeze/i18n/cxfreeze_ru.ts Sun Jul 07 20:40:48 2013 +0200 @@ -1,44 +1,44 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="1.1" language="ru"> +<!DOCTYPE TS><TS version="2.0" language="ru" sourcelanguage=""> <context> <name>CxFreezePlugin</name> <message> - <location filename="PluginCxFreeze.py" line="50"/> + <location filename="PluginCxFreeze.py" line="53"/> <source>Packagers - cx_freeze</source> <translation>Пакетировщики — cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="196"/> + <location filename="PluginCxFreeze.py" line="318"/> <source>There is no main script defined for the current project.</source> <translation>В текущем проекте не выбран главный сценарий.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>The cxfreeze executable could not be found.</source> <translation>cxfreeze не найден.</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="207"/> + <location filename="PluginCxFreeze.py" line="328"/> <source>cxfreeze</source> <translation>cxfreeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_freeze</source> <translation>Использовать cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="139"/> + <location filename="PluginCxFreeze.py" line="246"/> <source>Use cx_&freeze</source> <translation>Использовать cx_&freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="142"/> + <location filename="PluginCxFreeze.py" line="249"/> <source>Generate a distribution package using cx_freeze</source> <translation>Создать дистрибутивный пакет с помощью cx_freeze</translation> </message> <message> - <location filename="PluginCxFreeze.py" line="144"/> + <location filename="PluginCxFreeze.py" line="251"/> <source><b>Use cx_freeze</b><p>Generate a distribution package using cx_freeze. The command is executed in the project path. All files and directories must be given absolute or relative to the project directory.</p></source> <translation><b>Использовать cx_freeze</b> <p>Создать дистрибутивный пакет с помощью cx_freeze. Команда исполняется в пути проекта. Имена всех файлов и каталогоа должны быть абсолютными или относительными к каталогу проекта.</p></translation> @@ -47,7 +47,7 @@ <context> <name>CxfreezeConfigDialog</name> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="259"/> <source>Select target directory</source> <translation>Выберите каталог назначения</translation> </message> @@ -76,212 +76,237 @@ <translation>&Общее</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="188"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="181"/> <source>Select to optimize generated bytecode</source> <translation>Оптимизировать генерируемый байт-код</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="191"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="184"/> <source>Optimize bytecode</source> <translation>Оптимизировать байт-код</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="196"/> <source>Don't optimize</source> <translation>Не оптимизировать</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="210"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="203"/> <source>Select to optimize the generated bytecode</source> <translation>Оптимизировать генерируемый байт-код</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="206"/> <source>Optimize</source> <translation>Оптимизировать</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="220"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="213"/> <source>Select to optimize the generated bytecode and remove doc strings</source> <translation>Оптимизировать генерируемый байт-код и удалить строки документации</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="223"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="216"/> <source>Optimize (with docstring removal)</source> <translation>Оптимизировать (с удалением строк документации)</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="153"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="72"/> <source>Select to disable copying of dependent files to the target directory</source> <translation>Запретить копирование зависимых файлов в целевой каталог</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="156"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> <source>Do not copy dependant files</source> <translation>Не копировать зависимости</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="174"/> <source>Target directory:</source> <translation>Каталог назначения:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="145"/> <source>Enter the name of the target directory</source> <translation>Задайте имя целевого каталога</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="54"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="148"/> <source><p>Enter the name of the directory in which to place the target file and any dependant files.</p></source> <translation><p>Задайте имя каталога, в который поместить целевой файл и любые его зависимости.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="75"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="121"/> <source>Enter the name of the file to create</source> <translation>Задайте имя файла, который надо создать</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="78"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="124"/> <source><p>Enter the name of the file to create instead of the base name of the script and the extension of the base binary.</p></source> <translation><p>Задайте имя файла, который надо создать, вместо указания базового имени сценария и расширения базового двоичного файла.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="68"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="114"/> <source>Target name:</source> <translation>Имя цели:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="348"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="363"/> <source>...</source> <translation>...</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="118"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="51"/> <source>Enter name of script which will be executed upon startup</source> <translation>Задайте имя сценария, который будет выполняться при старте</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="92"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="155"/> <source>Enter the name of a file on which to base the target file</source> <translation>Задайте имя файла, на котором будет базироваться целевой файл</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="111"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="107"/> <source>Init script:</source> <translation>Инициализирующий сценарий:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="131"/> <source>Base name:</source> <translation>Базовое имя:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="234"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="255"/> <source>&Advanced</source> <translation>&Дополнительно</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="252"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="267"/> <source>Default path</source> <translation>Путь по-умолчанию</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="259"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="274"/> <source>Enter directories to initialize sys.path</source> <translation>Задайте каталоги для инициализации sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="262"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="277"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to initialize sys.path prior to running the module finder.</p></source> <translation><p>Задайте список путей, которые будут использованы для инициализации sys.path перед тем, как запустится поиск модулей. Они должны быть рзделены символом стандартного разделителя элементов PATH</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="269"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="284"/> <source>Enter directories to modify sys.path</source> <translation>Задайте каталоги для изменения sys.path</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="272"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="287"/> <source><p>Enter a list of paths separated by the standard path separator, which will be used to modify sys.path prior to running the module finder.</p></source> <translation><p>Задайте список путей, которые будут использованы для изменения sys.path перед тем, как запустится поиск модулей. Они должны быть рзделены символом стандартного разделителя элементов PATH</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="279"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="294"/> <source>Include path</source> <translation>Включить путь</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="286"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="301"/> <source>Replace paths:</source> <translation>Заменить пути:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="293"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="308"/> <source>Enter replacement directives</source> <translation>Задайте директивы замещения</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="296"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="311"/> <source><p>Enter replacement directives used to replace all the paths in modules found. Please see cx_Freeze docu for details.</p></source> <translation><p>Задайте директивы замещения, используемые для замены всех путей, в найденных модулях. Для подробностей, пожалуйста, обратитесь к документации cx_Freeze.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="303"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="318"/> <source>Include modules:</source> <translation>Включить модули:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="310"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="325"/> <source>Enter a comma separated list of modules to include</source> <translation>Задайте список модулей для включения, разделённый запятыми</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="317"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="332"/> <source>Exclude modules:</source> <translation>Не включать модули:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="324"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="339"/> <source>Enter a comma separated list of modules to exclude</source> <translation>Задайте разделённый запятыми список модулей, которые нельзя включать</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="345"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="360"/> <source>Press to select the external list file via a file selection dialog</source> <translation>Выберите внешний файл со списком с помощью файлового диалога</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="331"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="346"/> <source>Enter the name of a file in which to place the list of included modules</source> <translation>Задайте имя файла, в который поместить список используемых модулей</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="338"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="353"/> <source>External list file:</source> <translation>Внешний файл со списком:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="137"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="44"/> <source>Application icon:</source> <translation>символ прикладной программы:</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="144"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="240"/> <source>Enter the name of the application icon.</source> <translation>Задайте имя файла символа прикладной программы.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="163"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="82"/> <source>Select to compress the byte code in zip files</source> <translation>Сжать объектный код в zip архив</translation> </message> <message> - <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="166"/> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="85"/> <source>Compress Byte Code</source> <translation>Сжать объектный код</translation> </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="226"/> + <source>Select the cx_freeze executable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.ui" line="233"/> + <source>cx_Freeze executable:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="230"/> + <source>Icons</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="231"/> + <source>All files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="CxFreeze/CxfreezeConfigDialog.py" line="239"/> + <source>Select the application icon</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CxfreezeExecDialog</name> @@ -305,22 +330,22 @@ <p>Отображает ошибки команды упаковщика.</p></translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="69"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="75"/> <source>{0} - {1}</source> <translation>{0} - {1}</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="76"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>Process Generation Error</source> <translation>Ошибка процесса генерации</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="76"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="83"/> <source>The process {0} could not be started. Ensure, that it is in the search path.</source> <translation>Не могу запустить процесс '{0}'. Убедитесь, что он находится в пути поиска.</translation> </message> <message> - <location filename="CxFreeze/CxfreezeExecDialog.py" line="115"/> + <location filename="CxFreeze/CxfreezeExecDialog.py" line="122"/> <source> {0} finished. </source>
--- a/PKGLIST Sun Apr 28 18:09:10 2013 +0200 +++ b/PKGLIST Sun Jul 07 20:40:48 2013 +0200 @@ -1,13 +1,25 @@ -CxFreeze/CxfreezeConfigDialog.py -CxFreeze/CxfreezeConfigDialog.ui -CxFreeze/CxfreezeExecDialog.py -CxFreeze/CxfreezeExecDialog.ui -CxFreeze/Documentation/LICENSE.GPL3 -CxFreeze/__init__.py -CxFreeze/i18n/cxfreeze_cs.qm -CxFreeze/i18n/cxfreeze_de.qm -CxFreeze/i18n/cxfreeze_es.qm -CxFreeze/i18n/cxfreeze_fr.qm -CxFreeze/i18n/cxfreeze_it.qm -CxFreeze/i18n/cxfreeze_ru.qm +.hgignore +ChangeLog +CxFreeze\CxfreezeConfigDialog.py +CxFreeze\CxfreezeConfigDialog.ui +CxFreeze\CxfreezeExecDialog.py +CxFreeze\CxfreezeExecDialog.ui +CxFreeze\CxfreezeFindPath.py +CxFreeze\Documentation\LICENSE.GPL3 +CxFreeze\Documentation\source +CxFreeze\__init__.py +CxFreeze\i18n\cxfreeze_cs.qm +CxFreeze\i18n\cxfreeze_cs.ts +CxFreeze\i18n\cxfreeze_de.qm +CxFreeze\i18n\cxfreeze_de.ts +CxFreeze\i18n\cxfreeze_es.qm +CxFreeze\i18n\cxfreeze_es.ts +CxFreeze\i18n\cxfreeze_fr.qm +CxFreeze\i18n\cxfreeze_fr.ts +CxFreeze\i18n\cxfreeze_it.qm +CxFreeze\i18n\cxfreeze_it.ts +CxFreeze\i18n\cxfreeze_ru.qm +CxFreeze\i18n\cxfreeze_ru.ts +PluginCxFreeze.e4p PluginCxFreeze.py +__init__.py
--- a/PluginCxFreeze.e4p Sun Apr 28 18:09:10 2013 +0200 +++ b/PluginCxFreeze.e4p Sun Jul 07 20:40:48 2013 +0200 @@ -1,13 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE Project SYSTEM "Project-5.1.dtd"> <!-- eric5 project file for project PluginCxFreeze --> +<!-- Saved: 2013-07-07, 20:15:59 --> +<!-- Copyright (C) 2013 Detlev Offenbach, detlev@die-offenbachs.de --> <Project version="5.1"> <Language>en</Language> <Hash>e6cc5d1be724a6f9b38cea1b3785946161f4baeb</Hash> - <ProgLanguage mixed="0">Python3</ProgLanguage> + <ProgLanguage mixed="0">Python2</ProgLanguage> <ProjectType>E4Plugin</ProjectType> <Description>This plugin implements an eric5 interface to the cxfreeze packager.</Description> - <Version>5.0</Version> + <Version>5.2.0</Version> <Author>Detlev Offenbach</Author> <Email>detlev@die-offenbachs.de</Email> <TranslationPattern>CxFreeze/i18n/cxfreeze_%language%.ts</TranslationPattern> @@ -18,6 +20,7 @@ <Source>CxFreeze/__init__.py</Source> <Source>CxFreeze/CxfreezeConfigDialog.py</Source> <Source>CxFreeze/CxfreezeExecDialog.py</Source> + <Source>CxFreeze/CxfreezeFindPath.py</Source> </Sources> <Forms> <Form>CxFreeze/CxfreezeConfigDialog.ui</Form>
--- a/PluginCxFreeze.py Sun Apr 28 18:09:10 2013 +0200 +++ b/PluginCxFreeze.py Sun Jul 07 20:40:48 2013 +0200 @@ -7,8 +7,10 @@ Module implementing the CxFreeze plugin. """ +from __future__ import unicode_literals # __IGNORE_WARNING__ + import os -import sys +import platform from PyQt4.QtCore import QObject, QTranslator, QCoreApplication from PyQt4.QtGui import QDialog @@ -24,7 +26,7 @@ author = "Detlev Offenbach <detlev@die-offenbachs.de>" autoactivate = True deactivateable = True -version = "5.1.2" +version = "5.2.0" className = "CxFreezePlugin" packageName = "CxFreeze" shortDescription = "Show the CxFreeze dialogs." @@ -35,88 +37,116 @@ # End-of-Header error = "" +exePy2 = [] +exePy3 = [] -def exeDisplayData(): +def exeDisplayDataList(): """ Public method to support the display of some executable info. @return dictionary containing the data to query the presence of the executable """ + dataList = [] data = { - "programEntry" : True, + "programEntry" : True, "header" : QCoreApplication.translate("CxFreezePlugin", - "Packagers - cx_freeze"), - "exe" : 'dummyfreeze', - "versionCommand" : '--version', - "versionStartsWith" : 'dummyfreeze', - "versionPosition" : -1, - "version" : "", - "versionCleanup" : None, + "Packagers - cx_freeze"), + "exe" : 'dummyfreeze', + "versionCommand" : '--version', + "versionStartsWith" : 'dummyfreeze', + "versionPosition" : -1, + "version" : "", + "versionCleanup" : None, } - exe = _findExecutable() - if exe: - data["exe"] = exe - data["versionStartsWith"] = "cxfreeze" - - return data + if _checkProgram(): + for exePath in (exePy2+exePy3): + data["exe"] = exePath + data["versionStartsWith"] = "cxfreeze" + dataList.append(data.copy()) + else: + dataList.append(data) + return dataList -def _findExecutable(): +def _findExecutable(majorVersion): + """ + Restricted function to determine the names of the executable. + + @param majorVersion major python version of the executables (int) + @return names of the executable (list) """ - Restricted function to determine the name of the executable. + # Determine Python Version + if majorVersion == 3: + minorVersions = range(5) + elif majorVersion == 2: + minorVersions = range(5, 9) + else: + return [] - @return name of the executable (string) - """ + executables = set() if Utilities.isWindowsPlatform(): # # Windows # - exe = 'cxfreeze.bat' - if Utilities.isinpath(exe): - return exe try: - #only since python 3.2 - import sysconfig - scripts = sysconfig.get_path('scripts','nt') - return os.path.join(scripts, exe) + import winreg except ImportError: + import _winreg as winreg # __IGNORE_WARNING__ + + def getExePath(branch, access, versionStr): try: - import winreg - except ImportError: - # give up ... + software = winreg.OpenKey(branch, 'Software', 0, access) + python = winreg.OpenKey(software, 'Python', 0, access) + pcore = winreg.OpenKey(python, 'PythonCore', 0, access) + version = winreg.OpenKey(pcore, versionStr, 0, access) + installpath = winreg.QueryValue(version, 'InstallPath') + exe = os.path.join(installpath, 'Scripts', 'cxfreeze.bat') + if os.access(exe, os.X_OK): + return exe + except WindowsError: # __IGNORE_WARNING__ return None + return None + + for minorVersion in minorVersions: + versionStr = '{0}.{1}'.format(majorVersion, minorVersion) + exePath = getExePath(winreg.HKEY_CURRENT_USER, + winreg.KEY_WOW64_32KEY | winreg.KEY_READ, versionStr) + + if exePath is not None: + executables.add(exePath) + exePath = getExePath(winreg.HKEY_LOCAL_MACHINE, + winreg.KEY_WOW64_32KEY | winreg.KEY_READ, versionStr) - def getExePath(branch): - version = str(sys.version_info.major) + '.' + \ - str(sys.version_info.minor) - try: - software = winreg.OpenKey(branch, 'Software') - python = winreg.OpenKey(software, 'Python') - pcore = winreg.OpenKey(python, 'PythonCore') - version = winreg.OpenKey(pcore, version) - installpath = winreg.QueryValue(version, 'InstallPath') - return os.path.join(installpath, 'Scripts', exe) - except WindowsError: # __IGNORE_WARNING__ - return None - - exePath = getExePath(winreg.HKEY_CURRENT_USER) - if not exePath: - exePath = getExePath(winreg.HKEY_LOCAL_MACHINE) - return exePath + # Even on Intel 64-bit machines it's 'AMD64' + if platform.machine() == 'AMD64': + if exePath is not None: + executables.add(exePath) + exePath = getExePath(winreg.HKEY_CURRENT_USER, + winreg.KEY_WOW64_64KEY | winreg.KEY_READ, versionStr) + + if exePath is not None: + executables.add(exePath) + exePath = getExePath(winreg.HKEY_LOCAL_MACHINE, + winreg.KEY_WOW64_64KEY | winreg.KEY_READ, versionStr) + + if exePath is not None: + executables.add(exePath) else: # # Linux, Unix ... cxfreezeScript = 'cxfreeze' scriptSuffixes = ["", - "-python{0}".format(sys.version[:1]), - "-python{0}".format(sys.version[:3])] + "-python{0}".format(majorVersion)] + for minorVersion in minorVersions: + scriptSuffixes.append( + "-python{0}.{1}".format(majorVersion, minorVersion)) # There could be multiple cxfreeze executables in the path # e.g. for different python variants path = Utilities.getEnvironmentEntry('PATH') # environment variable not defined if path is None: - return None + return [] # step 1: determine possible candidates exes = [] @@ -127,27 +157,34 @@ if os.access(exe, os.X_OK): exes.append(exe) - # step 2: determine the Python 3 variant - found = False + # step 2: determine the Python variant if Utilities.isMacPlatform(): checkStrings = ["Python.framework/Versions/3".lower(), "python3"] else: checkStrings = ["python3"] + + _exePy2 = set() + _exePy3 = set() for exe in exes: try: f = open(exe, "r") line0 = f.readline() for checkStr in checkStrings: if checkStr in line0.lower(): - found = True + _exePy3.add(exe) break + else: + _exePy2.add(exe) finally: f.close() - if found: - return exe + + executables = _exePy3 if majorVersion == 3 else _exePy2 - return None + # sort items, the probably newest topmost + executables = list(executables) + executables.sort(reverse=True) + return executables def _checkProgram(): """ @@ -155,15 +192,17 @@ @return flag indicating availability (boolean) """ - global error + global error, exePy2, exePy3 - if _findExecutable() is None: + exePy2 = _findExecutable(2) + exePy3 = _findExecutable(3) + if (exePy2+exePy3) == []: error = QCoreApplication.translate("CxFreezePlugin", "The cxfreeze executable could not be found.") return False else: return True -_checkProgram() + class CxFreezePlugin(QObject): """ @@ -201,7 +240,8 @@ if not _checkProgram(): return None, False - menu = e5App().getObject("Project").getMenu("Packagers") + project = e5App().getObject("Project") + menu = project.getMenu("Packagers") if menu: self.__projectAct = E5Action(self.trUtf8('Use cx_freeze'), self.trUtf8('Use cx_&freeze'), 0, 0, @@ -216,8 +256,9 @@ """ relative to the project directory.</p>""" )) self.__projectAct.triggered[()].connect(self.__cxfreeze) - e5App().getObject("Project").addE5Actions([self.__projectAct]) + project.addE5Actions([self.__projectAct]) menu.addAction(self.__projectAct) + project.showMenu.connect(self.__projectShowMenu) error = "" return None, True @@ -233,6 +274,20 @@ e5App().getObject("Project").removeE5Actions([self.__projectAct]) self.__initialize() + def __projectShowMenu(self, menuName, menu): + """ + Private slot called, when the the project menu or a submenu is + about to be shown. + + @param menuName name of the menu to be shown (string) + @param menu reference to the menu (QMenu) + """ + if menuName == "Packagers": + if self.__projectAct is not None: + self.__projectAct.setEnabled( + e5App().getObject("Project").getProjectLanguage() in \ + ["Python", "Python2", "Python3"]) + def __loadTranslator(self): """ Private method to load the translation file. @@ -267,15 +322,16 @@ E5MessageBox.StandardButtons(E5MessageBox.Abort)) return - parms = project.getData('PACKAGERSPARMS', "CXFREEZE") - exe = _findExecutable() - if exe is None: + majorVersionStr = project.getProjectLanguage() + exe = {"Python": exePy2, "Python2": exePy2, "Python3": exePy3}.get(majorVersionStr) + if exe == []: E5MessageBox.critical(None, self.trUtf8("cxfreeze"), self.trUtf8("""The cxfreeze executable could not be found.""")) return from CxFreeze.CxfreezeConfigDialog import CxfreezeConfigDialog + parms = project.getData('PACKAGERSPARMS', "CXFREEZE") dlg = CxfreezeConfigDialog(project, exe, parms) if dlg.exec_() == QDialog.Accepted: args, parms = dlg.generateParameters() @@ -285,8 +341,7 @@ from CxFreeze.CxfreezeExecDialog import CxfreezeExecDialog dia = CxfreezeExecDialog("cxfreeze") dia.show() - res = dia.start(args, + res = dia.start(args, os.path.join(project.ppath, project.pdata["MAINSCRIPT"][0])) if res: dia.exec_() -