Sat, 05 Dec 2020 18:02:17 +0100
Merged with the default branch.
--- a/docs/changelog Sat Oct 31 12:19:44 2020 +0100 +++ b/docs/changelog Sat Dec 05 18:02:17 2020 +0100 @@ -1,5 +1,8 @@ Change Log ---------- +Version 20.12: +- bug fixes + Version 20.11: - bug fixes - Editor
--- a/eric6.e4p Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6.e4p Sat Dec 05 18:02:17 2020 +0100 @@ -2822,7 +2822,7 @@ <string>LineComplexity</string> </key> <value> - <int>20</int> + <int>25</int> </value> <key> <string>LineComplexityScore</string>
--- a/eric6/APIs/Python3/eric6.api Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/APIs/Python3/eric6.api Sat Dec 05 18:02:17 2020 +0100 @@ -9403,7 +9403,6 @@ eric6.Utilities.joinext?4(prefix, ext) eric6.Utilities.linesep?4() eric6.Utilities.normabsjoinpath?4(a, *p) -eric6.Utilities.normabspath?4(path) eric6.Utilities.normcaseabspath?4(path) eric6.Utilities.normcasepath?4(path) eric6.Utilities.normjoinpath?4(a, *p) @@ -9415,9 +9414,7 @@ eric6.Utilities.readEncodedFileWithEncoding?4(filename, encoding) eric6.Utilities.readEncodedFileWithHash?4(filename) eric6.Utilities.readStringFromStream?4(stream) -eric6.Utilities.relativePath?4(path, start) eric6.Utilities.relativeUniversalPath?4(path, start) -eric6.Utilities.relpath?4(path, start=os.path.curdir) eric6.Utilities.rxIndex?4(rx, txt) eric6.Utilities.samefilepath?4(f1, f2) eric6.Utilities.samepath?4(f1, f2) @@ -9737,6 +9734,7 @@ eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_condaRequirementsFilePicker_textChanged?4(txt) eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_condaSpecialsGroup_clicked?4() eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_condaTargetDirectoryPicker_textChanged?4(txt) +eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_nameEdit_textChanged?4(txt) eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged?4(txt) eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_pyvenvButton_toggled?4(checked) eric6.VirtualEnv.VirtualenvConfigurationDialog.VirtualenvConfigurationDialog.on_targetDirectoryPicker_textChanged?4(txt) @@ -11821,8 +11819,10 @@ install.exit?4(rcode=0) install.forceCleanDesktopLinks?7 install.getWinregEntry?4(name, path) +install.ignorePyqt5Tools?7 install.initGlobals?4() install.installApis?7 +install.installCwd?7 install.installEric?4() install.installInfo?7 install.installInfoName?7
--- a/eric6/CondaInterface/CondaExportDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/CondaInterface/CondaExportDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -185,7 +185,7 @@ try: with open(fileName, "w") as f: f.write(self.requirementsEdit.toPlainText()) - except (OSError, IOError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Generate Requirements"),
--- a/eric6/Cooperation/ChatWidget.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Cooperation/ChatWidget.py Sat Dec 05 18:02:17 2020 +0100 @@ -575,7 +575,7 @@ try: with open(fname, "w", encoding="utf-8") as f: f.write(txt) - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Error saving Chat"),
--- a/eric6/DataViews/CodeMetrics.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DataViews/CodeMetrics.py Sat Dec 05 18:02:17 2020 +0100 @@ -204,7 +204,7 @@ """ try: text = Utilities.readEncodedFile(filename)[0] - except (UnicodeError, IOError): + except (UnicodeError, OSError): return SourceStat() parser = Parser()
--- a/eric6/DataViews/PyCoverageDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DataViews/PyCoverageDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -384,7 +384,7 @@ for file in files: try: os.remove(file) - except EnvironmentError: + except OSError: pass @pyqtSlot()
--- a/eric6/DataViews/PyProfileDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DataViews/PyProfileDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -242,7 +242,7 @@ try: with open(fname, 'rb') as f: self.stats = pickle.load(f) # secok - except (EnvironmentError, pickle.PickleError, EOFError): + except (OSError, pickle.PickleError, EOFError): E5MessageBox.critical( self, self.tr("Loading Profiling Data"),
--- a/eric6/DebugClients/Python/AsyncFile.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DebugClients/Python/AsyncFile.py Sat Dec 05 18:02:17 2020 +0100 @@ -65,14 +65,14 @@ Private method to check the mode. This method checks, if an operation is permitted according to - the mode of the file. If it is not, an IOError is raised. + the mode of the file. If it is not, an OSError is raised. @param mode the mode to be checked @type string - @exception IOError raised to indicate a bad file descriptor + @exception OSError raised to indicate a bad file descriptor """ if mode != self.mode: - raise IOError((9, '[Errno 9] Bad file descriptor')) + raise OSError((9, '[Errno 9] Bad file descriptor')) def pendingWrite(self): """ @@ -112,7 +112,7 @@ pass self.sock.sendall(buf) self.nWriteErrors = 0 - except socket.error: + except OSError: self.nWriteErrors += 1 if self.nWriteErrors > self.maxtries: self.wpending = [] # delete all output @@ -135,7 +135,7 @@ """ try: return self.sock.fileno() - except socket.error: + except OSError: return -1 def readable(self): @@ -294,19 +294,19 @@ @type int @param whence position the offset relates to @type int - @exception IOError This method is not supported and always raises an - IOError. + @exception OSError This method is not supported and always raises an + OSError. """ - raise IOError((29, '[Errno 29] Illegal seek')) + raise OSError((29, '[Errno 29] Illegal seek')) def tell(self): """ Public method to get the filepointer position. - @exception IOError This method is not supported and always raises an - IOError. + @exception OSError This method is not supported and always raises an + OSError. """ - raise IOError((29, '[Errno 29] Illegal seek')) + raise OSError((29, '[Errno 29] Illegal seek')) def truncate(self, size=-1): """ @@ -314,10 +314,10 @@ @param size size to truncate to @type int - @exception IOError This method is not supported and always raises an - IOError. + @exception OSError This method is not supported and always raises an + OSError. """ - raise IOError((29, '[Errno 29] Illegal seek')) + raise OSError((29, '[Errno 29] Illegal seek')) def writable(self): """
--- a/eric6/DebugClients/Python/DebugClientBase.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DebugClients/Python/DebugClientBase.py Sat Dec 05 18:02:17 2020 +0100 @@ -228,7 +228,7 @@ # read the first and second line text = f.readline() text = "{0}{1}".format(text, f.readline()) - except IOError: + except OSError: self.__coding = default return @@ -1205,7 +1205,7 @@ try: rrdy, wrdy, xrdy = select.select([self.readstream], wrdy, []) - except (select.error, KeyboardInterrupt, socket.error): + except (KeyboardInterrupt, OSError): selectErrors += 1 if selectErrors <= 10: # arbitrarily selected # just carry on @@ -1248,7 +1248,7 @@ # immediate return if nothing is ready. try: rrdy, wrdy, xrdy = select.select([self.readstream], wrdy, [], 0) - except (select.error, KeyboardInterrupt, socket.error): + except (KeyboardInterrupt, OSError): return if self.readstream in rrdy:
--- a/eric6/DebugClients/Python/PyProfile.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DebugClients/Python/PyProfile.py Sat Dec 05 18:02:17 2020 +0100 @@ -56,7 +56,7 @@ timings = marshal.load(cache) # secok if isinstance(timings, dict): self.timings = timings - except (EnvironmentError, EOFError, ValueError, TypeError): + except (OSError, EOFError, ValueError, TypeError): pass def save(self): @@ -67,7 +67,7 @@ try: with open(self.timingCache, 'wb') as cache: marshal.dump(self.timings, cache) - except EnvironmentError: + except OSError: pass # dump the profile data @@ -83,7 +83,7 @@ try: with open(file, 'wb') as f: pickle.dump(self.stats, f, 4) - except (EnvironmentError, pickle.PickleError): + except (OSError, pickle.PickleError): pass def erase(self):
--- a/eric6/Debugger/CallStackViewer.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Debugger/CallStackViewer.py Sat Dec 05 18:02:17 2020 +0100 @@ -185,7 +185,7 @@ f.write("{0}\n".format(itm.text(0))) f.write(78 * "=" + "\n") itm = self.itemBelow(itm) - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Error saving Call Stack Info"),
--- a/eric6/Debugger/CallTraceViewer.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Debugger/CallTraceViewer.py Sat Dec 05 18:02:17 2020 +0100 @@ -189,7 +189,7 @@ call, itm.text(1), itm.text(2))) itm = self.callTrace.itemBelow(itm) - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Error saving Call Trace Info"),
--- a/eric6/Debugger/DebugUI.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Debugger/DebugUI.py Sat Dec 05 18:02:17 2020 +0100 @@ -1068,7 +1068,7 @@ self.ui, Program, self.tr( '<p><b>{0}</b> has terminated with an exit' ' status of {1}.</p>{2}').format( - Utilities.normabspath(program), status, info) + .format(os.path.abspath(self.ui.currentProg), ) else: if message: @@ -1099,7 +1099,7 @@ self.appendStdout.emit(self.tr( '"{0}" has terminated with an exit status of' ' {1}.\n{2}\n').format( - Utilities.normabspath(program), status, info) + os.path.abspath(self.ui.currentProg), status, ) def __lastClientExited(self): @@ -1198,7 +1198,7 @@ pass if "__IGNORE_EXCEPTION__" in lineFlags: res = E5MessageBox.No - except (UnicodeError, IOError): + except (UnicodeError, OSError): pass if res != E5MessageBox.No: self.viewmanager.setFileLine(
--- a/eric6/Debugger/DebuggerInterfacePython.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Debugger/DebuggerInterfacePython.py Sat Dec 05 18:02:17 2020 +0100 @@ -12,7 +12,7 @@ import logging from PyQt5.QtCore import ( - QObject, QTextCodec, QProcess, QProcessEnvironment, QTimer + QObject, QProcess, QProcessEnvironment, QTimer ) from PyQt5.QtWidgets import QInputDialog @@ -66,9 +66,6 @@ # set translation function self.translate = self.__identityTranslation - self.codec = QTextCodec.codecForName( - str(Preferences.getSystem("StringEncoding"))) - if passive: # set translation function if Preferences.getDebugger("PathTranslation"): @@ -1327,10 +1324,8 @@ """ while sock and sock.canReadLine(): qs = sock.readLine() - if self.codec is not None: - line = self.codec.toUnicode(qs) - else: - line = bytes(qs).decode() + line = bytes(qs).decode( + encoding=Preferences.getSystem("StringEncoding")) logging.debug("<Debug-Server> %s", line) ## print("Server: ", line) ##debug
--- a/eric6/Documentation/Help/source.qhp Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Help/source.qhp Sat Dec 05 18:02:17 2020 +0100 @@ -10693,6 +10693,7 @@ <keyword name="PipDialog (Constructor)" id="PipDialog (Constructor)" ref="eric6.PipInterface.PipDialog.html#PipDialog.__init__" /> <keyword name="PipDialog (Module)" id="PipDialog (Module)" ref="eric6.PipInterface.PipDialog.html" /> <keyword name="PipDialog.__addOutput" id="PipDialog.__addOutput" ref="eric6.PipInterface.PipDialog.html#PipDialog.__addOutput" /> + <keyword name="PipDialog.__cancel" id="PipDialog.__cancel" ref="eric6.PipInterface.PipDialog.html#PipDialog.__cancel" /> <keyword name="PipDialog.__finish" id="PipDialog.__finish" ref="eric6.PipInterface.PipDialog.html#PipDialog.__finish" /> <keyword name="PipDialog.__procFinished" id="PipDialog.__procFinished" ref="eric6.PipInterface.PipDialog.html#PipDialog.__procFinished" /> <keyword name="PipDialog.__readStderr" id="PipDialog.__readStderr" ref="eric6.PipInterface.PipDialog.html#PipDialog.__readStderr" /> @@ -16064,6 +16065,7 @@ <keyword name="VirtualenvConfigurationDialog.on_condaRequirementsFilePicker_textChanged" id="VirtualenvConfigurationDialog.on_condaRequirementsFilePicker_textChanged" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_condaRequirementsFilePicker_textChanged" /> <keyword name="VirtualenvConfigurationDialog.on_condaSpecialsGroup_clicked" id="VirtualenvConfigurationDialog.on_condaSpecialsGroup_clicked" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_condaSpecialsGroup_clicked" /> <keyword name="VirtualenvConfigurationDialog.on_condaTargetDirectoryPicker_textChanged" id="VirtualenvConfigurationDialog.on_condaTargetDirectoryPicker_textChanged" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_condaTargetDirectoryPicker_textChanged" /> + <keyword name="VirtualenvConfigurationDialog.on_nameEdit_textChanged" id="VirtualenvConfigurationDialog.on_nameEdit_textChanged" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_nameEdit_textChanged" /> <keyword name="VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged" id="VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged" /> <keyword name="VirtualenvConfigurationDialog.on_pyvenvButton_toggled" id="VirtualenvConfigurationDialog.on_pyvenvButton_toggled" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_pyvenvButton_toggled" /> <keyword name="VirtualenvConfigurationDialog.on_targetDirectoryPicker_textChanged" id="VirtualenvConfigurationDialog.on_targetDirectoryPicker_textChanged" ref="eric6.VirtualEnv.VirtualenvConfigurationDialog.html#VirtualenvConfigurationDialog.on_targetDirectoryPicker_textChanged" /> @@ -17712,7 +17714,6 @@ <keyword name="namespacePathJoin" id="namespacePathJoin" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html#namespacePathJoin" /> <keyword name="namespacePathSplit" id="namespacePathSplit" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Security.SecurityUtils.html#namespacePathSplit" /> <keyword name="normabsjoinpath" id="normabsjoinpath" ref="eric6.Utilities.__init__.html#normabsjoinpath" /> - <keyword name="normabspath" id="normabspath" ref="eric6.Utilities.__init__.html#normabspath" /> <keyword name="normalizeCode" id="normalizeCode" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.SyntaxCheck.html#normalizeCode" /> <keyword name="normalizeCode" id="normalizeCode" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsCheckSyntax.html#normalizeCode" /> <keyword name="normalizeCode" id="normalizeCode" ref="eric6.Plugins.CheckerPlugins.SyntaxChecker.jsonCheckSyntax.html#normalizeCode" /> @@ -17809,9 +17810,7 @@ <keyword name="registerView" id="registerView" ref="eric6.WebBrowser.WebInspector.html#registerView" /> <keyword name="register_check" id="register_check" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.pycodestyle.html#register_check" /> <keyword name="rehashPassword" id="rehashPassword" ref="eric6.Utilities.crypto.py3PBKDF2.html#rehashPassword" /> - <keyword name="relativePath" id="relativePath" ref="eric6.Utilities.__init__.html#relativePath" /> <keyword name="relativeUniversalPath" id="relativeUniversalPath" ref="eric6.Utilities.__init__.html#relativeUniversalPath" /> - <keyword name="relpath" id="relpath" ref="eric6.Utilities.__init__.html#relpath" /> <keyword name="removeConfigurationData" id="removeConfigurationData" ref="uninstall.html#removeConfigurationData" /> <keyword name="removeDataDirectory" id="removeDataDirectory" ref="uninstall.html#removeDataDirectory" /> <keyword name="removeMarkers" id="removeMarkers" ref="eric6.UI.CompareDialog.html#removeMarkers" />
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.AsyncFile.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.DebugClients.Python.AsyncFile.html Sat Dec 05 18:02:17 2020 +0100 @@ -199,7 +199,7 @@ </p> <p> This method checks, if an operation is permitted according to - the mode of the file. If it is not, an IOError is raised. + the mode of the file. If it is not, an OSError is raised. </p> <dl> @@ -210,7 +210,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate a bad file descriptor </dd> @@ -485,10 +485,10 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> This method is not supported and always raises an - IOError. + OSError. </dd> </dl> <a NAME="AsyncFile.seekable" ID="AsyncFile.seekable"></a> @@ -519,10 +519,10 @@ </p> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> This method is not supported and always raises an - IOError. + OSError. </dd> </dl> <a NAME="AsyncFile.truncate" ID="AsyncFile.truncate"></a> @@ -541,10 +541,10 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> This method is not supported and always raises an - IOError. + OSError. </dd> </dl> <a NAME="AsyncFile.writable" ID="AsyncFile.writable"></a>
--- a/eric6/Documentation/Source/eric6.MicroPython.MicroPythonCommandsInterface.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.MicroPython.MicroPythonCommandsInterface.html Sat Dec 05 18:02:17 2020 +0100 @@ -314,7 +314,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -420,7 +420,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -457,7 +457,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -484,7 +484,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -510,7 +510,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -581,7 +581,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -614,7 +614,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -635,7 +635,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -672,7 +672,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -698,7 +698,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -723,7 +723,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -744,7 +744,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -785,7 +785,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -800,7 +800,7 @@ </p> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd> @@ -827,7 +827,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue with the device </dd>
--- a/eric6/Documentation/Source/eric6.PipInterface.PipDialog.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.PipInterface.PipDialog.html Sat Dec 05 18:02:17 2020 +0100 @@ -78,6 +78,10 @@ <td>Private method to add some text to the output pane.</td> </tr> <tr> +<td><a href="#PipDialog.__cancel">__cancel</a></td> +<td>Private slot to cancel the current action.</td> +</tr> +<tr> <td><a href="#PipDialog.__finish">__finish</a></td> <td>Private slot called when the process finished or the user pressed the button.</td> </tr> @@ -148,6 +152,13 @@ text to be added </dd> </dl> +<a NAME="PipDialog.__cancel" ID="PipDialog.__cancel"></a> +<h4>PipDialog.__cancel</h4> +<b>__cancel</b>(<i></i>) + +<p> + Private slot to cancel the current action. +</p> <a NAME="PipDialog.__finish" ID="PipDialog.__finish"></a> <h4>PipDialog.__finish</h4> <b>__finish</b>(<i></i>)
--- a/eric6/Documentation/Source/eric6.QScintilla.Editor.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.QScintilla.Editor.html Sat Dec 05 18:02:17 2020 +0100 @@ -1753,7 +1753,7 @@ </dl> <dl> -<dt>Raises <b>IOError</b>:</dt> +<dt>Raises <b>OSError</b>:</dt> <dd> raised to indicate an issue accessing the file </dd>
--- a/eric6/Documentation/Source/eric6.Utilities.__init__.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.Utilities.__init__.html Sat Dec 05 18:02:17 2020 +0100 @@ -264,10 +264,6 @@ <td>Function returning a normalized, absolute path of the joined parts passed into it.</td> </tr> <tr> -<td><a href="#normabspath">normabspath</a></td> -<td>Function returning a normalized, absolute path.</td> -</tr> -<tr> <td><a href="#normcaseabspath">normcaseabspath</a></td> <td>Function returning an absolute path, that is normalized with respect to its case and references.</td> </tr> @@ -312,18 +308,10 @@ <td>Module function to read a string from the given stream.</td> </tr> <tr> -<td><a href="#relativePath">relativePath</a></td> -<td>Function to convert a file path to a path relative to a start path.</td> -</tr> -<tr> <td><a href="#relativeUniversalPath">relativeUniversalPath</a></td> <td>Function to convert a file path to a path relative to a start path with universal separators.</td> </tr> <tr> -<td><a href="#relpath">relpath</a></td> -<td>Return a relative version of a path.</td> -</tr> -<tr> <td><a href="#rxIndex">rxIndex</a></td> <td>Function to get the index (start position) of a regular expression match within some text.</td> </tr> @@ -1918,29 +1906,6 @@ <div align="right"><a href="#top">Up</a></div> <hr /> <hr /> -<a NAME="normabspath" ID="normabspath"></a> -<h2>normabspath</h2> -<b>normabspath</b>(<i>path</i>) - -<p> - Function returning a normalized, absolute path. -</p> -<dl> - -<dt><i>path</i></dt> -<dd> -file path (string) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -absolute, normalized path (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> <a NAME="normcaseabspath" ID="normcaseabspath"></a> <h2>normcaseabspath</h2> <b>normcaseabspath</b>(<i>path</i>) @@ -2004,7 +1969,7 @@ </dd> <dt><i>p</i></dt> <dd> -variable number of path parts to be joind (string) +variable number of path parts to be joined (string) </dd> </dl> <dl> @@ -2227,34 +2192,6 @@ <div align="right"><a href="#top">Up</a></div> <hr /> <hr /> -<a NAME="relativePath" ID="relativePath"></a> -<h2>relativePath</h2> -<b>relativePath</b>(<i>path, start</i>) - -<p> - Function to convert a file path to a path relative to a start path. -</p> -<dl> - -<dt><i>path</i></dt> -<dd> -file or directory name to convert (string) -</dd> -<dt><i>start</i></dt> -<dd> -start path (string) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -relative path or unchanged path, if path does not start with - the start path (string) -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> <a NAME="relativeUniversalPath" ID="relativeUniversalPath"></a> <h2>relativeUniversalPath</h2> <b>relativeUniversalPath</b>(<i>path, start</i>) @@ -2284,40 +2221,6 @@ <div align="right"><a href="#top">Up</a></div> <hr /> <hr /> -<a NAME="relpath" ID="relpath"></a> -<h2>relpath</h2> -<b>relpath</b>(<i>path, start=os.path.curdir</i>) - -<p> - Return a relative version of a path. -</p> -<dl> - -<dt><i>path</i></dt> -<dd> -path to make relative (string) -</dd> -<dt><i>start</i></dt> -<dd> -path to make relative from (string) -</dd> -</dl> -<dl> -<dt>Returns:</dt> -<dd> -relative path (string) -</dd> -</dl> -<dl> - -<dt>Raises <b>ValueError</b>:</dt> -<dd> -raised to indicate an invalid path -</dd> -</dl> -<div align="right"><a href="#top">Up</a></div> -<hr /> -<hr /> <a NAME="rxIndex" ID="rxIndex"></a> <h2>rxIndex</h2> <b>rxIndex</b>(<i>rx, txt</i>)
--- a/eric6/Documentation/Source/eric6.VirtualEnv.VirtualenvConfigurationDialog.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.VirtualEnv.VirtualenvConfigurationDialog.html Sat Dec 05 18:02:17 2020 +0100 @@ -143,6 +143,10 @@ <td>Private slot handling a change of the conda target directory.</td> </tr> <tr> +<td><a href="#VirtualenvConfigurationDialog.on_nameEdit_textChanged">on_nameEdit_textChanged</a></td> +<td>Private slot handling a change of the virtual environment name.</td> +</tr> +<tr> <td><a href="#VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged">on_pythonExecPicker_textChanged</a></td> <td>Private slot to react to a change of the Python executable.</td> </tr> @@ -391,6 +395,20 @@ target directory </dd> </dl> +<a NAME="VirtualenvConfigurationDialog.on_nameEdit_textChanged" ID="VirtualenvConfigurationDialog.on_nameEdit_textChanged"></a> +<h4>VirtualenvConfigurationDialog.on_nameEdit_textChanged</h4> +<b>on_nameEdit_textChanged</b>(<i>txt</i>) + +<p> + Private slot handling a change of the virtual environment name. +</p> +<dl> + +<dt><i>txt</i> (str)</dt> +<dd> +name of the virtual environment +</dd> +</dl> <a NAME="VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged" ID="VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged"></a> <h4>VirtualenvConfigurationDialog.on_pythonExecPicker_textChanged</h4> <b>on_pythonExecPicker_textChanged</b>(<i>txt</i>)
--- a/eric6/Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/eric6.WebBrowser.WebBrowserWindow.html Sat Dec 05 18:02:17 2020 +0100 @@ -1703,7 +1703,7 @@ </p> <a NAME="WebBrowserWindow.__createTextEncodingAction" ID="WebBrowserWindow.__createTextEncodingAction"></a> <h4>WebBrowserWindow.__createTextEncodingAction</h4> -<b>__createTextEncodingAction</b>(<i>codec, defaultCodec, parentMenu</i>) +<b>__createTextEncodingAction</b>(<i>codec, defaultCodec, parentMenu, name=None</i>) <p> Private method to create an action for the text encoding menu. @@ -1722,6 +1722,10 @@ <dd> reference to the parent menu </dd> +<dt><i>name</i> (str)</dt> +<dd> +name for the action +</dd> </dl> <a NAME="WebBrowserWindow.__createTextEncodingSubmenu" ID="WebBrowserWindow.__createTextEncodingSubmenu"></a> <h4>WebBrowserWindow.__createTextEncodingSubmenu</h4>
--- a/eric6/Documentation/Source/install.html Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Documentation/Source/install.html Sat Dec 05 18:02:17 2020 +0100 @@ -28,7 +28,7 @@ <h3>Global Attributes</h3> <table> -<tr><td>BlackLists</td></tr><tr><td>PlatformsBlackLists</td></tr><tr><td>apisDir</td></tr><tr><td>cfg</td></tr><tr><td>configLength</td></tr><tr><td>configName</td></tr><tr><td>currDir</td></tr><tr><td>defaultMacAppBundleName</td></tr><tr><td>defaultMacAppBundlePath</td></tr><tr><td>defaultMacPythonExe</td></tr><tr><td>distDir</td></tr><tr><td>doCleanDesktopLinks</td></tr><tr><td>doCleanup</td></tr><tr><td>doCompile</td></tr><tr><td>eric6SourceDir</td></tr><tr><td>forceCleanDesktopLinks</td></tr><tr><td>installApis</td></tr><tr><td>installInfo</td></tr><tr><td>installInfoName</td></tr><tr><td>macAppBundleName</td></tr><tr><td>macAppBundlePath</td></tr><tr><td>macPythonExe</td></tr><tr><td>modDir</td></tr><tr><td>platBinDir</td></tr><tr><td>platBinDirOld</td></tr><tr><td>progLanguages</td></tr><tr><td>progName</td></tr><tr><td>pyModDir</td></tr><tr><td>sourceDir</td></tr><tr><td>yes2All</td></tr> +<tr><td>BlackLists</td></tr><tr><td>PlatformsBlackLists</td></tr><tr><td>apisDir</td></tr><tr><td>cfg</td></tr><tr><td>configLength</td></tr><tr><td>configName</td></tr><tr><td>currDir</td></tr><tr><td>defaultMacAppBundleName</td></tr><tr><td>defaultMacAppBundlePath</td></tr><tr><td>defaultMacPythonExe</td></tr><tr><td>distDir</td></tr><tr><td>doCleanDesktopLinks</td></tr><tr><td>doCleanup</td></tr><tr><td>doCompile</td></tr><tr><td>eric6SourceDir</td></tr><tr><td>forceCleanDesktopLinks</td></tr><tr><td>ignorePyqt5Tools</td></tr><tr><td>installApis</td></tr><tr><td>installCwd</td></tr><tr><td>installInfo</td></tr><tr><td>installInfoName</td></tr><tr><td>macAppBundleName</td></tr><tr><td>macAppBundlePath</td></tr><tr><td>macPythonExe</td></tr><tr><td>modDir</td></tr><tr><td>platBinDir</td></tr><tr><td>platBinDirOld</td></tr><tr><td>progLanguages</td></tr><tr><td>progName</td></tr><tr><td>pyModDir</td></tr><tr><td>sourceDir</td></tr><tr><td>yes2All</td></tr> </table> <h3>Classes</h3>
--- a/eric6/DocumentationTools/IndexGenerator.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DocumentationTools/IndexGenerator.py Sat Dec 05 18:02:17 2020 +0100 @@ -207,7 +207,7 @@ if basename: package = package.replace(basename, "") out = self.__writeIndex(package, element, newline) - except IOError as v: + except OSError as v: sys.stderr.write("{0} error: {1}\n".format(package, v[1])) else: if out:
--- a/eric6/DocumentationTools/QtHelpGenerator.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/DocumentationTools/QtHelpGenerator.py Sat Dec 05 18:02:17 2020 +0100 @@ -14,7 +14,7 @@ import subprocess # secok from Utilities import ( - joinext, relpath, html_encode, getQtBinariesPath, generateQtToolName + joinext, html_encode, getQtBinariesPath, generateQtToolName ) HelpCollection = r"""<?xml version="1.0" encoding="utf-8" ?> @@ -85,7 +85,7 @@ self.filterAttributes = ( filterAttributes and filterAttributes.split(':') or [] ) - self.relPath = relpath(self.htmlDir, self.outputDir) + self.relPath = os.path.relpath(self.htmlDir, self.outputDir) self.title = title self.createCollection = createCollection
--- a/eric6/E5Gui/E5MainWindow.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/E5Gui/E5MainWindow.py Sat Dec 05 18:02:17 2020 +0100 @@ -50,7 +50,7 @@ try: with open(styleSheetFile, "r", encoding="utf-8") as f: styleSheet = f.read() - except (IOError, OSError) as msg: + except OSError as msg: E5MessageBox.warning( self, QCoreApplication.translate(
--- a/eric6/E5Gui/E5SingleApplication.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/E5Gui/E5SingleApplication.py Sat Dec 05 18:02:17 2020 +0100 @@ -162,7 +162,7 @@ @param fname name of file to be opened (string) """ - self.sendCommand(SAOpenFile, [Utilities.normabspath(fname)]) + self.sendCommand(SAOpenFile, [os.path.abspath(fname)]) def __openProject(self, pfname): """ @@ -170,7 +170,7 @@ @param pfname name of the projectfile to be opened (string) """ - self.sendCommand(SAOpenProject, [Utilities.normabspath(pfname)]) + self.sendCommand(SAOpenProject, [os.path.abspath(pfname)]) def __openMultiProject(self, pfname): """ @@ -178,7 +178,7 @@ @param pfname name of the projectfile to be opened (string) """ - self.sendCommand(SAOpenMultiProject, [Utilities.normabspath(pfname)]) + self.sendCommand(SAOpenMultiProject, [os.path.abspath(pfname)]) def __sendArguments(self, argsStr): """
--- a/eric6/Globals/__init__.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Globals/__init__.py Sat Dec 05 18:02:17 2020 +0100 @@ -316,7 +316,13 @@ # step 1: check, if the user has configured a tools path path = Preferences.getQt("QtToolsDir") - # step 2: determine from used Python interpreter (designer is test object) + # step 2: try the qt5_applications package + if not path: + import qt5_applications + path = os.path.join(os.path.dirname(qt5_applications.__file__), + "Qt", "bin") + + # step 3: determine from used Python interpreter (designer is test object) if not path: program = "designer" if isWindowsPlatform():
--- a/eric6/Graphics/ImportsDiagramBuilder.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Graphics/ImportsDiagramBuilder.py Sat Dec 05 18:02:17 2020 +0100 @@ -44,7 +44,7 @@ self.setObjectName("ImportsDiagram") self.showExternalImports = showExternalImports - self.packagePath = Utilities.normabspath(package) + self.packagePath = os.path.abspath(package) def initialize(self): """
--- a/eric6/Graphics/PackageDiagramBuilder.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Graphics/PackageDiagramBuilder.py Sat Dec 05 18:02:17 2020 +0100 @@ -39,7 +39,7 @@ super(PackageDiagramBuilder, self).__init__(dialog, view, project) self.setObjectName("PackageDiagram") - self.package = Utilities.normabspath(package) + self.package = os.path.abspath(package) self.noAttrs = noAttrs def initialize(self):
--- a/eric6/Graphics/UMLDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Graphics/UMLDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -256,7 +256,7 @@ try: with open(filename, "w", encoding="utf-8") as f: f.write("\n".join(lines)) - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Save Diagram"), @@ -285,7 +285,7 @@ try: with open(filename, "r", encoding="utf-8") as f: data = f.read() - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Load Diagram"),
--- a/eric6/IconEditor/IconEditorGrid.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/IconEditor/IconEditorGrid.py Sat Dec 05 18:02:17 2020 +0100 @@ -19,8 +19,6 @@ from E5Gui import E5MessageBox -from .cursors import cursors_rc # __IGNORE_WARNING__ - class IconEditCommand(QUndoCommand): """
--- a/eric6/MicroPython/MicroPythonCommandsInterface.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/MicroPython/MicroPythonCommandsInterface.py Sat Dec 05 18:02:17 2020 +0100 @@ -289,7 +289,7 @@ @type str @return tuple containg the directory listing @rtype tuple of str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if self.__repl.isMicrobit(): # BBC micro:bit does not support directories @@ -306,7 +306,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) return ast.literal_eval(out.decode("utf-8")) def lls(self, dirname="", fullstat=False, showHidden=False): @@ -325,7 +325,7 @@ false) or the complete stat() tuple. 'None' is returned in case the directory doesn't exist. @rtype tuple of (str, tuple) - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if self.__repl.isMicrobit(): # BBC micro:bit does not support directories @@ -383,7 +383,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) fileslist = ast.literal_eval(out.decode("utf-8")) if fileslist is None: return None @@ -399,7 +399,7 @@ @param dirname directory to change to @type str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if dirname: commands = [ @@ -409,7 +409,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) def pwd(self): """ @@ -417,7 +417,7 @@ @return current directory @rtype str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if self.__repl.isMicrobit(): # BBC micro:bit does not support directories @@ -430,7 +430,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) return out.decode("utf-8").strip() def rm(self, filename): @@ -439,7 +439,7 @@ @param filename name of the file to be removed @type str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if filename: commands = [ @@ -449,7 +449,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) def rmrf(self, name, recursive=False, force=False): """ @@ -463,7 +463,7 @@ @type bool @return flag indicating success @rtype bool - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if name: commands = [ @@ -496,7 +496,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) return ast.literal_eval(out.decode("utf-8")) return False @@ -507,7 +507,7 @@ @param dirname name of the directory to create @type str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if dirname: commands = [ @@ -517,7 +517,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) def rmdir(self, dirname): """ @@ -525,7 +525,7 @@ @param dirname name of the directory to be removed @type str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if dirname: commands = [ @@ -535,7 +535,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) def put(self, hostFileName, deviceFileName=None): """ @@ -547,10 +547,10 @@ @type str @return flag indicating success @rtype bool - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if not os.path.isfile(hostFileName): - raise IOError("No such file: {0}".format(hostFileName)) + raise OSError("No such file: {0}".format(hostFileName)) with open(hostFileName, "rb") as hostFile: content = hostFile.read() @@ -576,7 +576,7 @@ out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) return True def get(self, deviceFileName, hostFileName=None): @@ -589,7 +589,7 @@ @type str @return flag indicating success @rtype bool - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ if not hostFileName: hostFileName = deviceFileName @@ -622,7 +622,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) # write the received bytes to the local file # convert eol to "\n" @@ -640,7 +640,7 @@ @return tuple of tuples containing the file system name, the total size, the used size and the free size @rtype tuple of tuples of (str, int, int, int) - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ commands = [ "import os as __os_", @@ -663,7 +663,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) infolist = ast.literal_eval(out.decode("utf-8")) if infolist is None: return None @@ -688,7 +688,7 @@ @return dictionary containing the version information @rtype dict - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ commands = [ "import os as __os_", @@ -697,7 +697,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) rawOutput = out.decode("utf-8").strip() rawOutput = rawOutput[1:-1] @@ -715,7 +715,7 @@ @return dictionary containing the implementation information @rtype dict - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ commands = [ "import sys as __sys_", @@ -738,7 +738,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) return ast.literal_eval(out.decode("utf-8")) def syncTime(self): @@ -746,7 +746,7 @@ Public method to set the time of the connected device to the local computer's time. - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ now = time.localtime(time.time()) commands = [ @@ -795,7 +795,7 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) def getTime(self): """ @@ -803,7 +803,7 @@ @return time of the device @rtype str - @exception IOError raised to indicate an issue with the device + @exception OSError raised to indicate an issue with the device """ commands = [ "import time as __time_", @@ -822,5 +822,5 @@ ] out, err = self.execute(commands) if err: - raise IOError(self.__shortError(err)) + raise OSError(self.__shortError(err)) return out.decode("utf-8").strip()
--- a/eric6/MicroPython/MicroPythonFileManagerWidget.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/MicroPython/MicroPythonFileManagerWidget.py Sat Dec 05 18:02:17 2020 +0100 @@ -661,7 +661,7 @@ os.mkdir(dirPath) self.__listLocalFiles(cwdWidget.text(), localDevice=localDevice) - except (OSError, IOError) as exc: + except OSError as exc: E5MessageBox.critical( self, self.tr("Create Directory"), @@ -737,7 +737,7 @@ os.remove(filename) self.__listLocalFiles(cwdWidget.text(), localDevice=localDevice) - except (OSError, IOError) as exc: + except OSError as exc: E5MessageBox.critical( self, self.tr("Delete File"),
--- a/eric6/MicroPython/MicroPythonGraphWidget.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/MicroPython/MicroPythonGraphWidget.py Sat Dec 05 18:02:17 2020 +0100 @@ -323,7 +323,7 @@ self.__dirty = False return True - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Save Chart Data"),
--- a/eric6/Network/IRC/IrcChannelWidget.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Network/IRC/IrcChannelWidget.py Sat Dec 05 18:02:17 2020 +0100 @@ -1400,7 +1400,7 @@ txt = self.messages.toPlainText() with open(fname, "w", encoding="utf-8") as f: f.write(txt) - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Error saving Messages"),
--- a/eric6/Network/IRC/IrcNetworkWidget.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Network/IRC/IrcNetworkWidget.py Sat Dec 05 18:02:17 2020 +0100 @@ -454,7 +454,7 @@ txt = self.messages.toPlainText() with open(fname, "w", encoding="utf-8") as f: f.write(txt) - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Error saving Messages"),
--- a/eric6/PipInterface/Pip.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PipInterface/Pip.py Sat Dec 05 18:02:17 2020 +0100 @@ -460,7 +460,7 @@ try: with open(requirements, "r") as f: reqs = f.read().splitlines() - except (OSError, IOError): + except OSError: return from UI.DeleteFilesConfirmationDialog import (
--- a/eric6/PipInterface/PipDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PipInterface/PipDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -36,6 +36,9 @@ super(PipDialog, self).__init__(parent) self.setupUi(self) + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Cancel).setDefault(True) + self.proc = None self.__processQueue = [] self.__ioEncoding = Preferences.getSystem("IOEncoding") @@ -52,18 +55,7 @@ @param e close event @type QCloseEvent """ - self.__processQueue = [] - - if ( - self.proc is not None and - self.proc.state() != QProcess.NotRunning - ): - self.proc.terminate() - QTimer.singleShot(2000, self.proc.kill) - self.proc.waitForFinished(3000) - - self.proc = None - + self.__cancel() e.accept() def __finish(self): @@ -81,14 +73,23 @@ self.proc = None - self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) - self.buttonBox.button(QDialogButtonBox.Close).setFocus( - Qt.OtherFocusReason) - if self.__processQueue: cmd, args = self.__processQueue.pop(0) self.__addOutput("\n\n") self.startProcess(cmd, args) + else: + self.buttonBox.button(QDialogButtonBox.Close).setEnabled(True) + self.buttonBox.button(QDialogButtonBox.Cancel).setEnabled(False) + self.buttonBox.button(QDialogButtonBox.Close).setDefault(True) + self.buttonBox.button(QDialogButtonBox.Close).setFocus( + Qt.OtherFocusReason) + + def __cancel(self): + """ + Private slot to cancel the current action. + """ + self.__processQueue = [] + self.__finish() @pyqtSlot(QAbstractButton) def on_buttonBox_clicked(self, button): @@ -100,6 +101,8 @@ """ if button == self.buttonBox.button(QDialogButtonBox.Close): self.close() + elif button == self.buttonBox.button(QDialogButtonBox.Cancel): + self.__cancel() def __procFinished(self, exitCode, exitStatus): """
--- a/eric6/PipInterface/PipDialog.ui Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PipInterface/PipDialog.ui Sat Dec 05 18:02:17 2020 +0100 @@ -73,7 +73,7 @@ <enum>Qt::Horizontal</enum> </property> <property name="standardButtons"> - <set>QDialogButtonBox::Close</set> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Close</set> </property> </widget> </item>
--- a/eric6/PipInterface/PipFreezeDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PipInterface/PipFreezeDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -44,6 +44,8 @@ self.__refreshButton = self.buttonBox.addButton( self.tr("&Refresh"), QDialogButtonBox.ActionRole) + self.__environmentName = "" + self.requirementsFilePicker.setMode(E5PathPickerModes.SaveFileMode) self.requirementsFilePicker.setFilters( self.tr("Text Files (*.txt);;All Files (*)")) @@ -117,7 +119,7 @@ else: ok = True if ok: - self.start() + self.start(self.__environmentName) def start(self, venvName): """ @@ -128,6 +130,7 @@ """ self.requirementsEdit.clear() self.__requirementsAvailable = False + self.__environmentName = venvName interpreter = self.__pip.getVirtualenvInterpreter(venvName) if not interpreter: @@ -198,7 +201,7 @@ try: with open(fileName, "w") as f: f.write(self.requirementsEdit.toPlainText()) - except (OSError, IOError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Generate Requirements"),
--- a/eric6/PipInterface/PipPackagesWidget.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PipInterface/PipPackagesWidget.py Sat Dec 05 18:02:17 2020 +0100 @@ -831,6 +831,7 @@ if packages: self.__pip.installPackages(packages, venvName=venvName, userSite=userSite) + self.on_refreshButton_clicked() @pyqtSlot() def on_showDetailsButton_clicked(self): @@ -1014,6 +1015,7 @@ venvName = self.environmentsComboBox.currentText() if venvName: self.__pip.installPip(venvName) + self.on_refreshButton_clicked() @pyqtSlot() def __installPipUser(self): @@ -1024,6 +1026,7 @@ venvName = self.environmentsComboBox.currentText() if venvName: self.__pip.installPip(venvName, userSite=True) + self.on_refreshButton_clicked() @pyqtSlot() def __repairPip(self): @@ -1034,6 +1037,7 @@ venvName = self.environmentsComboBox.currentText() if venvName: self.__pip.repairPip(venvName) + self.on_refreshButton_clicked() @pyqtSlot() def __installPackages(self): @@ -1049,6 +1053,7 @@ if packages: self.__pip.installPackages(packages, venvName=venvName, userSite=user) + self.on_refreshButton_clicked() @pyqtSlot() def __installLocalPackage(self): @@ -1064,6 +1069,7 @@ if package and os.path.exists(package): self.__pip.installPackages([package], venvName=venvName, userSite=user) + self.on_refreshButton_clicked() @pyqtSlot() def __installRequirements(self): @@ -1073,6 +1079,7 @@ venvName = self.environmentsComboBox.currentText() if venvName: self.__pip.installRequirements(venvName) + self.on_refreshButton_clicked() @pyqtSlot() def __uninstallRequirements(self): @@ -1082,6 +1089,7 @@ venvName = self.environmentsComboBox.currentText() if venvName: self.__pip.uninstallRequirements(venvName) + self.on_refreshButton_clicked() @pyqtSlot() def __generateRequirements(self): @@ -1149,7 +1157,7 @@ try: with open(cfgFile, "w") as f: f.write("[global]\n") - except (IOError, OSError): + except OSError: # ignore these pass
--- a/eric6/PluginManager/PluginInstallDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PluginManager/PluginInstallDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -483,7 +483,7 @@ "Error installing plugin. Reason: {0}").format(str(why)), False ) - except IOError as why: + except OSError as why: self.__rollback() return ( False, @@ -600,7 +600,7 @@ os.remove(fnamec) os.remove(pluginFile) - except (IOError, OSError, os.error): + except (OSError, os.error): # ignore some exceptions pass
--- a/eric6/PluginManager/PluginManager.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PluginManager/PluginManager.py Sat Dec 05 18:02:17 2020 +0100 @@ -208,7 +208,7 @@ try: with open(fname, "w"): pass - except IOError: + except OSError: return ( False, self.tr("Could not create a package for {0}.") @@ -221,7 +221,7 @@ try: with open(fname, "w"): pass - except IOError: + except OSError: del self.pluginDirs["user"] if ( @@ -1203,13 +1203,13 @@ if not os.path.exists(downloadDir): try: os.mkdir(downloadDir, 0o755) - except (OSError, IOError): + except OSError: # try again with (possibly) new default downloadDir = self.__defaultDownloadDir if not os.path.exists(downloadDir): try: os.mkdir(downloadDir, 0o755) - except (OSError, IOError) as err: + except OSError as err: E5MessageBox.critical( self.__ui, self.tr("Plugin Manager Error"),
--- a/eric6/PluginManager/PluginRepositoryDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/PluginManager/PluginRepositoryDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -998,7 +998,7 @@ for removeFile in removeFiles: try: os.remove(os.path.join(downloadPath, removeFile)) - except (IOError, OSError) as err: + except OSError as err: if not quiet: E5MessageBox.critical( None, @@ -1027,7 +1027,7 @@ for removeFile in removeFiles: try: os.remove(os.path.join(downloadPath, removeFile)) - except (IOError, OSError) as err: + except OSError as err: if not quiet: E5MessageBox.critical( None,
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -795,7 +795,7 @@ source, encoding = Utilities.readEncodedFile( self.filename) source = source.splitlines(True) - except (UnicodeError, IOError) as msg: + except (UnicodeError, OSError) as msg: self.results = CodeStyleCheckerDialog.hasResults self.__createFileErrorItem(self.filename, str(msg)) self.progress += 1 @@ -843,7 +843,7 @@ source, encoding = Utilities.readEncodedFile( filename) source = source.splitlines(True) - except (UnicodeError, IOError) as msg: + except (UnicodeError, OSError) as msg: self.results = CodeStyleCheckerDialog.hasResults self.__createFileErrorItem(filename, str(msg)) continue @@ -1206,7 +1206,7 @@ return if item.parent(): - fn = Utilities.normabspath(item.data(0, self.filenameRole)) + fn = os.path.abspath(item.data(0, self.filenameRole)) lineno = item.data(0, self.lineRole) position = item.data(0, self.positionRole) message = item.data(0, self.messageRole) @@ -1246,7 +1246,7 @@ selectedIndexes = list(range(self.resultList.topLevelItemCount())) for index in selectedIndexes: itm = self.resultList.topLevelItem(index) - fn = Utilities.normabspath(itm.data(0, self.filenameRole)) + fn = os.path.abspath(itm.data(0, self.filenameRole)) vm.openSourceFile(fn, 1) editor = vm.getOpenEditor(fn) editor.clearStyleWarnings() @@ -1264,7 +1264,7 @@ for index in range(self.resultList.topLevelItemCount()): itm = self.resultList.topLevelItem(index) errorFiles.append( - Utilities.normabspath(itm.data(0, self.filenameRole))) + os.path.abspath(itm.data(0, self.filenameRole))) for file in openFiles: if file not in errorFiles: editor = vm.getOpenEditor(file)
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleFixer.py Sat Dec 05 18:02:17 2020 +0100 @@ -211,12 +211,12 @@ bfn = '{0}~'.format(self.__filename) try: os.remove(bfn) - except EnvironmentError: + except OSError: # if there was an error, ignore it pass try: os.rename(self.__filename, bfn) - except EnvironmentError: + except OSError: # if there was an error, ignore it pass @@ -229,7 +229,7 @@ with open(self.__filename, "wb") as fp: fp.write(txt) - except (IOError, UnicodeError) as err: + except (OSError, UnicodeError) as err: # Could not save the file! Skipping it. Reason: {0} return ("FIXWRITE_ERROR", [str(err)])
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/eradicate.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/eradicate.py Sat Dec 05 18:02:17 2020 +0100 @@ -227,5 +227,5 @@ else: try: fix_file(name, args=args, standard_out=standard_out) - except IOError as exception: + except OSError as exception: print('{}'.format(exception), file=standard_error)
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/pycodestyle.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/pycodestyle.py Sat Dec 05 18:02:17 2020 +0100 @@ -1998,7 +1998,7 @@ elif lines is None: try: self.lines = readlines(filename) - except IOError: + except OSError: (exc_type, exc) = sys.exc_info()[:2] self._io_error = '%s: %s' % (exc_type.__name__, exc) self.lines = []
--- a/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/CheckerPlugins/CodeStyleChecker/translations.py Sat Dec 05 18:02:17 2020 +0100 @@ -471,9 +471,9 @@ "E742": ["l"], "E743": ["l"], "E901": ["SyntaxError", "Invalid Syntax"], - "E902": ["IOError"], + "E902": ["OSError"], - "FIXWRITE_ERROR": ["IOError"], + "FIXWRITE_ERROR": ["OSError"], } messageCatalogs = (
--- a/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheckerDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -248,7 +248,7 @@ try: self.source = Utilities.readEncodedFile(self.filename)[0] self.source = Utilities.normalizeCode(self.source) - except (UnicodeError, IOError) as msg: + except (UnicodeError, OSError) as msg: self.noResults = False self.__createResultItem( self.filename, 1, 0, @@ -282,7 +282,7 @@ try: source = Utilities.readEncodedFile(filename)[0] source = Utilities.normalizeCode(source) - except (UnicodeError, IOError) as msg: + except (UnicodeError, OSError) as msg: self.noResults = False self.__createResultItem( self.filename, 1, 0, @@ -354,7 +354,7 @@ source = Utilities.readEncodedFile(fn)[0] source = Utilities.normalizeCode(source) source = source.splitlines() - except (UnicodeError, IOError): + except (UnicodeError, OSError): source = "" else: source = self.source.splitlines() @@ -463,7 +463,7 @@ vm = e5App().getObject("ViewManager") if itm.parent(): - fn = Utilities.normabspath(itm.data(0, self.filenameRole)) + fn = os.path.abspath(itm.data(0, self.filenameRole)) lineno = itm.data(0, self.lineRole) index = itm.data(0, self.indexRole) error = itm.data(0, self.errorRole) @@ -476,7 +476,7 @@ else: editor.toggleSyntaxError(lineno, index, True, error, show=True) else: - fn = Utilities.normabspath(itm.data(0, self.filenameRole)) + fn = os.path.abspath(itm.data(0, self.filenameRole)) vm.openSourceFile(fn) editor = vm.getOpenEditor(fn) for index in range(itm.childCount()): @@ -508,7 +508,7 @@ selectedIndexes = list(range(self.resultList.topLevelItemCount())) for index in selectedIndexes: itm = self.resultList.topLevelItem(index) - fn = Utilities.normabspath(itm.data(0, self.filenameRole)) + fn = os.path.abspath(itm.data(0, self.filenameRole)) vm.openSourceFile(fn, 1) editor = vm.getOpenEditor(fn) editor.clearSyntaxError() @@ -531,7 +531,7 @@ for index in range(self.resultList.topLevelItemCount()): itm = self.resultList.topLevelItem(index) errorFiles.append( - Utilities.normabspath(itm.data(0, self.filenameRole))) + os.path.abspath(itm.data(0, self.filenameRole))) for file in openFiles: if file not in errorFiles: editor = vm.getOpenEditor(file)
--- a/eric6/Plugins/PluginWizardEricPlugin.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/PluginWizardEricPlugin.py Sat Dec 05 18:02:17 2020 +0100 @@ -168,7 +168,7 @@ try: with open(packageFile, "w", encoding="utf-8"): pass - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Create Package"),
--- a/eric6/Plugins/VcsPlugins/vcsGit/ConfigurationPage/GitPage.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsGit/ConfigurationPage/GitPage.py Sat Dec 05 18:02:17 2020 +0100 @@ -98,7 +98,7 @@ f.write("[user]\n") f.write(" name = {0} {1}\n".format(firstName, lastName)) f.write(" email = {0}\n".format(email)) - except (IOError, OSError): + except OSError: # ignore these pass editor = MiniEditor(cfgFile, "Properties", self)
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitDiffDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -343,7 +343,7 @@ with open(fname, "w", encoding="utf-8", newline="") as f: f.write(eol.join(self.contents2.toPlainText().splitlines())) f.write(eol) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr(
--- a/eric6/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsGit/GitLogBrowserDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -2308,7 +2308,7 @@ with open(fname, "w", encoding="utf-8", newline="") as f: f.write(eol.join(self.diffEdit.toPlainText().splitlines())) f.write(eol) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr(
--- a/eric6/Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py Sat Dec 05 18:02:17 2020 +0100 @@ -249,8 +249,6 @@ self.tr('Revert changes'), self.__GitRevert) self.vcsMenuActions.append(act) menu.addSeparator() - - menu.addSeparator() menu.addAction(self.tr('Select all local file entries'), self.browser.selectLocalEntries) menu.addAction(self.tr('Select all versioned file entries'),
--- a/eric6/Plugins/VcsPlugins/vcsGit/git.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsGit/git.py Sat Dec 05 18:02:17 2020 +0100 @@ -1404,7 +1404,7 @@ ignore.write("\n".join(ignorePatterns)) ignore.write("\n") status = True - except IOError: + except OSError: status = False if status and autoAdd: @@ -1630,7 +1630,7 @@ output2 = f1.read() f1.close() name2 = "{0} (Work)".format(name) - except IOError: + except OSError: E5MessageBox.critical( self.__ui, self.tr("Git Side-by-Side Difference"), @@ -2664,7 +2664,7 @@ try: with open(fname, "w") as f: f.write(output) - except (OSError, IOError) as err: + except OSError as err: E5MessageBox.critical( self.__ui, self.tr("Create Bisect Replay File"), @@ -3579,7 +3579,7 @@ try: with open(cfgFile, "w"): pass - except IOError: + except OSError: pass self.repoEditor = MiniEditor(cfgFile, "Properties") self.repoEditor.show() @@ -3603,7 +3603,7 @@ f.write("[user]\n") f.write(" name = {0} {1}\n".format(firstName, lastName)) f.write(" email = {0}\n".format(email)) - except (IOError, OSError): + except OSError: # ignore these pass self.userEditor = MiniEditor(cfgFile, "Properties")
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgDiffDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -241,7 +241,7 @@ try: with open(fname, "w", encoding="utf-8", newline="") as f: f.write(eol.join(self.contents.toPlainText().splitlines())) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr(
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HgLogBrowserDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -2669,7 +2669,7 @@ try: with open(fname, "w", encoding="utf-8", newline="") as f: f.write(eol.join(self.diffEdit.toPlainText().splitlines())) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr(
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditCommitEditor.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditCommitEditor.py Sat Dec 05 18:02:17 2020 +0100 @@ -51,7 +51,7 @@ try: with open(self.__fileName, "r") as f: txt = f.read() - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Edit Commit Message"), @@ -90,7 +90,7 @@ try: with open(self.__fileName, "w") as f: f.write(msg) - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Edit Commit Message"),
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditPlanEditor.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/HisteditExtension/HgHisteditPlanEditor.py Sat Dec 05 18:02:17 2020 +0100 @@ -105,7 +105,7 @@ try: with open(self.__fileName, "r") as f: txt = f.read() - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Edit Plan"), @@ -240,7 +240,7 @@ try: with open(self.__fileName, "w") as f: f.write(text) - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Edit Plan"),
--- a/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsMercurial/hg.py Sat Dec 05 18:02:17 2020 +0100 @@ -1713,7 +1713,7 @@ with open(name, "r", encoding="utf-8") as f1: output2 = f1.read() name2 = "{0} (Work)".format(name) - except IOError: + except OSError: E5MessageBox.critical( self.__ui, self.tr("Mercurial Side-by-Side Difference"), @@ -2163,7 +2163,7 @@ "\n ".join(lfPattern))) self.__monitorRepoIniFile(repodir) self.__iniFileChanged(cfgFile) - except IOError: + except OSError: pass self.repoEditor = MiniEditor(cfgFile, "Properties") self.repoEditor.show() @@ -2329,7 +2329,7 @@ ignore.write("\n".join(ignorePatterns)) ignore.write("\n") status = True - except IOError: + except OSError: status = False if status and autoAdd: @@ -3063,7 +3063,7 @@ try: with open(hgsub, "r") as f: contents = f.readlines() - except IOError as err: + except OSError as err: E5MessageBox.critical( self.__ui, self.tr("Add Sub-repository"), @@ -3091,7 +3091,7 @@ try: with open(hgsub, "w") as f: f.writelines(contents) - except IOError as err: + except OSError as err: E5MessageBox.critical( self.__ui, self.tr("Add Sub-repository"), @@ -3123,7 +3123,7 @@ try: with open(hgsub, "r") as f: subrepositories = [line.strip() for line in f.readlines()] - except IOError as err: + except OSError as err: E5MessageBox.critical( self.__ui, self.tr("Remove Sub-repositories"), @@ -3142,7 +3142,7 @@ try: with open(hgsub, "w") as f: f.write(contents) - except IOError as err: + except OSError as err: E5MessageBox.critical( self.__ui, self.tr("Remove Sub-repositories"),
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnDiffDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -435,7 +435,7 @@ try: with open(fname, "w", encoding="utf-8", newline="") as f: f.write(eol.join(self.contents.toPlainText().splitlines())) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr(
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/SvnUtilities.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/SvnUtilities.py Sat Dec 05 18:02:17 2020 +0100 @@ -80,7 +80,7 @@ try: with open(config, "w") as f: f.write(DefaultConfig) - except IOError: + except OSError: pass @@ -92,7 +92,7 @@ try: with open(config, "r") as f: configList = f.read().splitlines() - except IOError: + except OSError: return newConfig = [] @@ -129,5 +129,5 @@ try: with open(config, "w") as f: f.write("\n".join(newConfig)) - except IOError: + except OSError: pass
--- a/eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsPySvn/subversion.py Sat Dec 05 18:02:17 2020 +0100 @@ -2199,7 +2199,7 @@ with open(name, "r", encoding="utf-8") as f1: output2 = f1.read() name2 = name - except IOError: + except OSError: E5MessageBox.critical( self.__ui, self.tr("Subversion Side-by-Side Difference"),
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDiffDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnDiffDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -395,7 +395,7 @@ try: with open(fname, "w", encoding="utf-8", newline="") as f: f.write(eol.join(self.contents.toPlainText().splitlines())) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr(
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/SvnUtilities.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/SvnUtilities.py Sat Dec 05 18:02:17 2020 +0100 @@ -54,7 +54,7 @@ try: with open(config, "w") as f: f.write(DefaultConfig) - except IOError: + except OSError: pass @@ -66,7 +66,7 @@ try: with open(config, "r") as f: configList = f.read().splitlines() - except IOError: + except OSError: return newConfig = [] @@ -103,5 +103,5 @@ try: with open(config, "w") as f: f.write("\n".join(newConfig)) - except IOError: + except OSError: pass
--- a/eric6/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/VcsPlugins/vcsSubversion/subversion.py Sat Dec 05 18:02:17 2020 +0100 @@ -2051,7 +2051,7 @@ with open(name, "r", encoding="utf-8") as f1: output2 = f1.read() name2 = name - except IOError: + except OSError: E5MessageBox.critical( self.__ui, self.tr("Subversion Side-by-Side Difference"),
--- a/eric6/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/WizardPlugins/PyRegExpWizard/PyRegExpWizardDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -344,7 +344,7 @@ try: with open(fname, "w", encoding="utf-8") as f: f.write(self.regexpTextEdit.toPlainText()) - except IOError as err: + except OSError as err: E5MessageBox.information( self, self.tr("Save regular expression"), @@ -368,7 +368,7 @@ with open(fname, "r", encoding="utf-8") as f: regexp = f.read() self.regexpTextEdit.setPlainText(regexp) - except IOError as err: + except OSError as err: E5MessageBox.information( self, self.tr("Save regular expression"),
--- a/eric6/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/WizardPlugins/QRegularExpressionWizard/QRegularExpressionWizardDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -426,7 +426,7 @@ try: with open(fname, "w", encoding="utf-8") as f: f.write(self.regexpTextEdit.toPlainText()) - except IOError as err: + except OSError as err: E5MessageBox.information( self, self.tr("Save regular expression"), @@ -450,7 +450,7 @@ with open(fname, "r", encoding="utf-8") as f: regexp = f.read() self.regexpTextEdit.setPlainText(regexp) - except IOError as err: + except OSError as err: E5MessageBox.information( self, self.tr("Save regular expression"),
--- a/eric6/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Plugins/WizardPlugins/SetupWizard/SetupWizardDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -149,7 +149,7 @@ try: with open(filename, "r") as f: lines = f.readlines() - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.warning( self, self.tr("Reading Trove Classifiers"),
--- a/eric6/Preferences/ConfigurationPages/EmailPage.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Preferences/ConfigurationPages/EmailPage.py Sat Dec 05 18:02:17 2020 +0100 @@ -217,12 +217,12 @@ self, self.tr("Login Test"), self.tr("""The login test succeeded.""")) - except (smtplib.SMTPException, socket.error) as e: + except (smtplib.SMTPException, OSError) as e: if isinstance(e, smtplib.SMTPResponseException): errorStr = e.smtp_error.decode() elif isinstance(e, socket.timeout): errorStr = str(e) - elif isinstance(e, socket.error): + elif isinstance(e, OSError): try: errorStr = e[1] except TypeError:
--- a/eric6/Project/CreateDialogCodeDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/CreateDialogCodeDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -423,7 +423,7 @@ return with open(tmplName, 'r', encoding="utf-8") as tmplFile: template = tmplFile.read() - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr("Code Generation"), @@ -460,7 +460,7 @@ sourceImpl = srcFile.readlines() if not sourceImpl[-1].endswith("\n"): sourceImpl[-1] = "{0}{1}".format(sourceImpl[-1], "\n") - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr("Code Generation"), @@ -553,7 +553,7 @@ try: with open(fn, 'w', encoding="utf-8", newline=newline) as srcFile: srcFile.write("".join(sourceImpl)) - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr("Code Generation"),
--- a/eric6/Project/Project.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/Project.py Sat Dec 05 18:02:17 2020 +0100 @@ -1468,7 +1468,7 @@ fn = os.path.join(self.ppath, langFile) if os.path.exists(fn): s2t(fn) - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Delete translation"), @@ -1490,7 +1490,7 @@ fn = os.path.join(self.ppath, qmFile) if os.path.exists(fn): s2t(fn) - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Delete translation"), @@ -1642,7 +1642,7 @@ return # don't overwrite shutil.copy(fn, target) - except IOError as why: + except OSError as why: E5MessageBox.critical( self.ui, self.tr("Add file"), @@ -1701,7 +1701,7 @@ ): try: os.makedirs(target) - except IOError as why: + except OSError as why: E5MessageBox.critical( self.ui, self.tr("Add directory"), @@ -1733,7 +1733,7 @@ # don't overwrite, carry on with next file shutil.copy(file, target) - except EnvironmentError: + except OSError: continue self.appendFile(targetfile) @@ -2209,7 +2209,7 @@ "__pycache__", "{0}.*{1}".format(tail, ext)) for f in glob.glob(pat): s2t(f) - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Delete file"), @@ -2239,7 +2239,7 @@ send2trash(dn) except ImportError: shutil.rmtree(dn, True) - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Delete directory"), @@ -2334,7 +2334,7 @@ if not os.path.isdir(self.ppath): try: os.makedirs(self.ppath) - except EnvironmentError: + except OSError: E5MessageBox.critical( self.ui, self.tr("Create project directory"), @@ -2362,6 +2362,7 @@ self.ppath, self.pdata["MAINSCRIPT"]) else: ms = self.pdata["MAINSCRIPT"] + os.makedirs(os.path.dirname(ms)) with open(ms, "w"): pass self.appendFile(ms, True) @@ -2373,6 +2374,7 @@ mf = os.path.join(self.ppath, mf) else: mf = os.path.join(self.ppath, Project.DefaultMakefile) + os.makedirs(os.path.dirname(mf)) with open(mf, "w"): pass self.appendFile(mf) @@ -2397,7 +2399,7 @@ try: # create management directory if not present self.createProjectManagementDir() - except EnvironmentError: + except OSError: E5MessageBox.critical( self.ui, self.tr("Create project management directory"), @@ -2415,9 +2417,10 @@ ms = self.pdata["MAINSCRIPT"] if not os.path.exists(ms): try: + os.makedirs(os.path.dirname(ms)) with open(ms, "w"): pass - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Create main script"), @@ -2438,9 +2441,10 @@ mf = os.path.join(self.ppath, Project.DefaultMakefile) if not os.path.exists(mf): try: + os.makedirs(os.path.dirname(mf)) with open(mf, "w"): pass - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Create Makefile"), @@ -2731,7 +2735,7 @@ try: with open(mf, "w"): pass - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self.ui, self.tr("Create Makefile"), @@ -2905,7 +2909,7 @@ try: # create management directory if not present self.createProjectManagementDir() - except EnvironmentError: + except OSError: E5MessageBox.critical( self.ui, self.tr("Create project management directory"), @@ -5277,7 +5281,7 @@ for f in lst])) pkglistFile.write("\n") # ensure the file ends with an empty line - except IOError as why: + except OSError as why: E5MessageBox.critical( self.ui, self.tr("Create Package List"), @@ -5344,7 +5348,7 @@ try: with open(pkglist, "r", encoding="utf-8") as pkglistFile: names = pkglistFile.read() - except IOError as why: + except OSError as why: E5MessageBox.critical( self.ui, self.tr("Create Plugin Archive"), @@ -5400,7 +5404,7 @@ self.pdata["MAINSCRIPT"].replace(".py", ".zip")) try: archiveFile = zipfile.ZipFile(archive, "w") - except IOError as why: + except OSError as why: E5MessageBox.critical( self.ui, self.tr("Create Plugin Archive"), @@ -5509,7 +5513,7 @@ try: sourcelines, encoding = Utilities.readEncodedFile(filename) sourcelines = sourcelines.splitlines(True) - except (IOError, UnicodeError) as why: + except (OSError, UnicodeError) as why: E5MessageBox.critical( self.ui, self.tr("Create Plugin Archive"), @@ -5550,7 +5554,7 @@ try: sourcelines = Utilities.readEncodedFile(filename)[0] sourcelines = sourcelines.splitlines(True) - except (IOError, UnicodeError) as why: + except (OSError, UnicodeError) as why: E5MessageBox.critical( self.ui, self.tr("Create Plugin Archive"),
--- a/eric6/Project/ProjectFormsBrowser.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/ProjectFormsBrowser.py Sat Dec 05 18:02:17 2020 +0100 @@ -620,7 +620,7 @@ try: shutil.copy(templateFile, fname) - except IOError as e: + except OSError as e: E5MessageBox.critical( self, self.tr("New Form"), @@ -766,7 +766,7 @@ self.tr("The compilation of the form file" " was successful.")) self.project.projectFormCompiled.emit(self.compiledFile) - except IOError as msg: + except OSError as msg: if not self.noDialog: E5MessageBox.information( self,
--- a/eric6/Project/ProjectResourcesBrowser.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/ProjectResourcesBrowser.py Sat Dec 05 18:02:17 2020 +0100 @@ -499,7 +499,7 @@ rcfile.write('<qresource>\n') rcfile.write('</qresource>\n') rcfile.write('</RCC>\n') - except IOError as e: + except OSError as e: E5MessageBox.critical( self, self.tr("New Resource"), @@ -612,7 +612,7 @@ self.tr("Resource Compilation"), self.tr("The compilation of the resource file" " was successful.")) - except IOError as msg: + except OSError as msg: if not self.noDialog: E5MessageBox.information( self, @@ -816,7 +816,7 @@ try: with open(filename, "r", encoding="utf-8") as f: buf = f.read() - except IOError: + except OSError: return False qrcDirName = os.path.dirname(filename)
--- a/eric6/Project/ProjectSourcesBrowser.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/ProjectSourcesBrowser.py Sat Dec 05 18:02:17 2020 +0100 @@ -839,7 +839,7 @@ try: with open(packageFile, "w", encoding="utf-8"): pass - except IOError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Add new Python package"),
--- a/eric6/Project/ProjectTranslationsBrowser.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/ProjectTranslationsBrowser.py Sat Dec 05 18:02:17 2020 +0100 @@ -818,7 +818,7 @@ pf.write('\n\n') self.__tmpProjects.append(outFile) - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Write temporary project file"), @@ -959,7 +959,7 @@ self.__tmpProjects.remove( self.__pylupdateProcesses[index][1]) os.remove(self.__pylupdateProcesses[index][1]) - except EnvironmentError: + except OSError: pass del self.__pylupdateProcesses[index] break @@ -1065,7 +1065,7 @@ try: self.__tmpProjects.remove(tempProjectFile) os.remove(tempProjectFile) - except EnvironmentError: + except OSError: pass def __generateAll(self):
--- a/eric6/Project/QuickFindFileDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/QuickFindFileDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -188,7 +188,7 @@ for (_, in_order, name) in possible: try: age = os.stat(os.path.join(self.project.ppath, name)).st_mtime - except (IOError, OSError): + except OSError: # skipping, because it doesn't appear to exist... continue ordered.append((
--- a/eric6/Project/UicLoadUi.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Project/UicLoadUi.py Sat Dec 05 18:02:17 2020 +0100 @@ -7,6 +7,7 @@ Module to get the object name, class name or signatures of a Qt form (*.ui). """ +import os import sys import json import xml.etree.ElementTree # secok @@ -24,6 +25,9 @@ except ImportError: pass +sys.path.append(os.path.dirname(os.path.dirname(__file__))) +# add the eric package directory + def objectName(formFile, projectPath): """
--- a/eric6/QScintilla/Editor.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/Editor.py Sat Dec 05 18:02:17 2020 +0100 @@ -170,7 +170,7 @@ @param filetype type of the source file (string) @param editor reference to an Editor object, if this is a cloned view @param tv reference to the task viewer object - @exception IOError raised to indicate an issue accessing the file + @exception OSError raised to indicate an issue accessing the file """ super(Editor, self).__init__() self.setAttribute(Qt.WA_KeyCompression) @@ -373,7 +373,7 @@ QFileInfo(self.fileName).size() // 1024), icon=E5MessageBox.Warning) if not res: - raise IOError() + raise OSError() self.readFile(self.fileName, True) self.__bindLexer(self.fileName) self.__bindCompleter(self.fileName) @@ -3093,7 +3093,7 @@ fn, encoding) else: txt, self.encoding = Utilities.readEncodedFile(fn) - except (UnicodeDecodeError, IOError) as why: + except (UnicodeDecodeError, OSError) as why: E5MessageBox.critical( self.vm, self.tr('Open File'), @@ -3194,17 +3194,17 @@ try: permissions = os.stat(fn).st_mode perms_valid = True - except EnvironmentError: + except OSError: # if there was an error, ignore it perms_valid = False try: os.remove(bfn) - except EnvironmentError: + except OSError: # if there was an error, ignore it pass try: os.rename(fn, bfn) - except EnvironmentError: + except OSError: # if there was an error, ignore it pass @@ -3217,7 +3217,7 @@ if createBackup and perms_valid: os.chmod(fn, permissions) return True - except (IOError, Utilities.CodingError, UnicodeError) as why: + except (OSError, Utilities.CodingError, UnicodeError) as why: E5MessageBox.critical( self, self.tr('Save File'), @@ -6746,7 +6746,7 @@ try: with open(fname, "r", encoding="utf-8") as f: lines = f.readlines() - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Error loading macro"), @@ -6807,7 +6807,7 @@ with open(fname, "w", encoding="utf-8") as f: f.write("{0}{1}".format(name, "\n")) f.write(self.macros[name].save()) - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Error saving macro"), @@ -7192,7 +7192,7 @@ # reread the file try: self.readFile(self.fileName) - except IOError: + except OSError: # do not prompt for this change again... self.lastModified = QDateTime.currentDateTime() self.setModified(False)
--- a/eric6/QScintilla/Exporters/ExporterHTML.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/Exporters/ExporterHTML.py Sat Dec 05 18:02:17 2020 +0100 @@ -456,7 +456,7 @@ with E5OverrideCursor(): with open(filename, "w", encoding="utf-8") as f: f.write(html) - except IOError as err: + except OSError as err: E5MessageBox.critical( self.editor, self.tr("Export source"),
--- a/eric6/QScintilla/Exporters/ExporterPDF.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/Exporters/ExporterPDF.py Sat Dec 05 18:02:17 2020 +0100 @@ -610,7 +610,7 @@ # write required stuff and close the PDF file self.pr.endPDF() - except IOError as err: + except OSError as err: E5MessageBox.critical( self.editor, self.tr("Export source"),
--- a/eric6/QScintilla/Exporters/ExporterRTF.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/Exporters/ExporterRTF.py Sat Dec 05 18:02:17 2020 +0100 @@ -365,7 +365,7 @@ pos += 1 f.write(self.RTF_BODYCLOSE) - except IOError as err: + except OSError as err: E5MessageBox.critical( self.editor, self.tr("Export source"),
--- a/eric6/QScintilla/Exporters/ExporterTEX.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/Exporters/ExporterTEX.py Sat Dec 05 18:02:17 2020 +0100 @@ -275,7 +275,7 @@ # close last empty style macros and document too f.write("}\n} %end tiny\n\n\\end{document}\n") - except IOError as err: + except OSError as err: E5MessageBox.critical( self.editor, self.tr("Export source"),
--- a/eric6/QScintilla/MiniEditor.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/MiniEditor.py Sat Dec 05 18:02:17 2020 +0100 @@ -2530,7 +2530,7 @@ fileName, encoding) else: txt, self.encoding = Utilities.readEncodedFile(fileName) - except (UnicodeDecodeError, IOError) as why: + except (UnicodeDecodeError, OSError) as why: E5MessageBox.critical( self, self.tr('Open File'), self.tr('<p>The file <b>{0}</b> could not be opened.</p>' @@ -2637,7 +2637,7 @@ self.encoding = Utilities.writeEncodedFile( fileName, txt, self.encoding, forcedEncoding=editorConfigEncoding) - except (IOError, Utilities.CodingError, UnicodeError) as why: + except (OSError, Utilities.CodingError, UnicodeError) as why: E5MessageBox.critical( self, self.tr('Save File'), self.tr('<p>The file <b>{0}</b> could not be saved.<br/>'
--- a/eric6/QScintilla/ShellWindow.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/QScintilla/ShellWindow.py Sat Dec 05 18:02:17 2020 +0100 @@ -241,7 +241,8 @@ 'Restart the shell')) self.restartAct.setWhatsThis(self.tr( """<b>Restart</b>""" - """<p>Restart the shell for the currently selected language.</p>""" + """<p>Restart the shell for the currently selected""" + """ environment.</p>""" )) self.restartAct.triggered.connect(self.__shell.doRestart) self.fileActions.append(self.restartAct) @@ -256,7 +257,7 @@ self.clearRestartAct.setWhatsThis(self.tr( """<b>Restart and Clear</b>""" """<p>Clear the shell window and restart the shell for the""" - """ currently selected language.</p>""" + """ currently selected environment.</p>""" )) self.clearRestartAct.triggered.connect(self.__shell.doClearRestart) self.fileActions.append(self.clearRestartAct) @@ -280,11 +281,9 @@ self.copyActGrp, 'vm_edit_cut') self.cutAct.setStatusTip(QCoreApplication.translate( 'ViewManager', 'Cut the selection')) - self.cutAct.setWhatsThis(QCoreApplication.translate( - 'ViewManager', + self.cutAct.setWhatsThis(self.tr( """<b>Cut</b>""" - """<p>Cut the selected text of the current editor to the""" - """ clipboard.</p>""" + """<p>Cut the selected text to the clipboard.</p>""" )) self.cutAct.triggered.connect(self.__shell.cut) self.editActions.append(self.cutAct) @@ -300,11 +299,9 @@ self.copyActGrp, 'vm_edit_copy') self.copyAct.setStatusTip(QCoreApplication.translate( 'ViewManager', 'Copy the selection')) - self.copyAct.setWhatsThis(QCoreApplication.translate( - 'ViewManager', + self.copyAct.setWhatsThis(self.tr( """<b>Copy</b>""" - """<p>Copy the selected text of the current editor to the""" - """ clipboard.</p>""" + """<p>Copy the selected text to the clipboard.</p>""" )) self.copyAct.triggered.connect(self.__shell.copy) self.editActions.append(self.copyAct) @@ -320,11 +317,9 @@ self.copyActGrp, 'vm_edit_paste') self.pasteAct.setStatusTip(QCoreApplication.translate( 'ViewManager', 'Paste the last cut/copied text')) - self.pasteAct.setWhatsThis(QCoreApplication.translate( - 'ViewManager', + self.pasteAct.setWhatsThis(self.tr( """<b>Paste</b>""" - """<p>Paste the last cut/copied text from the clipboard to""" - """ the current editor.</p>""" + """<p>Paste the last cut/copied text from the clipboard.</p>""" )) self.pasteAct.triggered.connect(self.__shell.paste) self.editActions.append(self.pasteAct) @@ -339,10 +334,9 @@ self.copyActGrp, 'vm_edit_clear') self.clearAct.setStatusTip(QCoreApplication.translate( 'ViewManager', 'Clear all text')) - self.clearAct.setWhatsThis(QCoreApplication.translate( - 'ViewManager', + self.clearAct.setWhatsThis(self.tr( """<b>Clear</b>""" - """<p>Delete all text of the current editor.</p>""" + """<p>Delete all text.</p>""" )) self.clearAct.triggered.connect(self.__shell.clear) self.editActions.append(self.clearAct) @@ -750,8 +744,8 @@ self.searchAct.setWhatsThis(QCoreApplication.translate( 'ViewManager', """<b>Search</b>""" - """<p>Search for some text in the current editor. A""" - """ dialog is shown to enter the searchtext and options""" + """<p>Search for some text in the shell window. A""" + """ dialog is shown to enter the search text and options""" """ for the search.</p>""" )) self.searchAct.triggered.connect(self.__showFind) @@ -771,8 +765,8 @@ self.searchNextAct.setWhatsThis(QCoreApplication.translate( 'ViewManager', """<b>Search next</b>""" - """<p>Search the next occurrence of some text in the current""" - """ editor. The previously entered searchtext and options are""" + """<p>Search the next occurrence of some text in the shell""" + """ window. The previously entered search text and options are""" """ reused.</p>""" )) self.searchNextAct.triggered.connect( @@ -792,8 +786,8 @@ self.searchPrevAct.setWhatsThis(QCoreApplication.translate( 'ViewManager', """<b>Search previous</b>""" - """<p>Search the previous occurrence of some text in the current""" - """ editor. The previously entered searchtext and options are""" + """<p>Search the previous occurrence of some text in the shell""" + """ window. The previously entered search text and options are""" """ reused.</p>""" )) self.searchPrevAct.triggered.connect(
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/eric6/Styles/eric6_Dark-SQL.e6h Sat Dec 05 18:02:17 2020 +0100 @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE HighlightingStyles SYSTEM "HighlightingStyles-6.0.dtd"> +<!-- Eric6 highlighting styles --> +<!-- Saved: 2020-11-14, 18:10:34--> +<!-- Author: Detlev Offenbach <detlev@die-offenbachs.de> --> +<HighlightingStyles version="6.0"> + <Lexer name="SQL"> + <Style style="0" substyle="-1" color="#ffffff" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Default</Description> + </Style> + <Style style="1" substyle="-1" color="#74cc66" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Comment</Description> + </Style> + <Style style="2" substyle="-1" color="#74cc66" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Comment line</Description> + </Style> + <Style style="3" substyle="-1" color="#cfcfcf" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>JavaDoc style comment</Description> + </Style> + <Style style="4" substyle="-1" color="#7fcfcf" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Number</Description> + </Style> + <Style style="5" substyle="-1" color="#60a5ff" paper="#262626" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False"> + <Description>Keyword</Description> + </Style> + <Style style="6" substyle="-1" color="#c354c3" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Double-quoted string</Description> + </Style> + <Style style="7" substyle="-1" color="#c354c3" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Single-quoted string</Description> + </Style> + <Style style="8" substyle="-1" color="#e6e68c" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>SQL*Plus keyword</Description> + </Style> + <Style style="9" substyle="-1" color="#74cc66" paper="#474747" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="True"> + <Description>SQL*Plus prompt</Description> + </Style> + <Style style="10" substyle="-1" color="#bab1a8" paper="#262626" font="Hack,10,-1,5,75,0,0,0,0,0" eolfill="False"> + <Description>Operator</Description> + </Style> + <Style style="11" substyle="-1" color="#ffffff" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Identifier</Description> + </Style> + <Style style="13" substyle="-1" color="#74cc66" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>SQL*Plus comment</Description> + </Style> + <Style style="15" substyle="-1" color="#74cc66" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description># comment line</Description> + </Style> + <Style style="17" substyle="-1" color="#4c9aff" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>JavaDoc keyword</Description> + </Style> + <Style style="18" substyle="-1" color="#ff8040" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>JavaDoc keyword error</Description> + </Style> + <Style style="19" substyle="-1" color="#bb5cff" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>User defined 1</Description> + </Style> + <Style style="20" substyle="-1" color="#ff005d" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>User defined 2</Description> + </Style> + <Style style="21" substyle="-1" color="#ff6161" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>User defined 3</Description> + </Style> + <Style style="22" substyle="-1" color="#fb7cff" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>User defined 4</Description> + </Style> + <Style style="23" substyle="-1" color="#eaded2" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Quoted identifier</Description> + </Style> + <Style style="24" substyle="-1" color="#eaded2" paper="#262626" font="Hack,10,-1,5,50,0,0,0,0,0" eolfill="False"> + <Description>Quoted operator</Description> + </Style> + </Lexer> +</HighlightingStyles>
--- a/eric6/Tasks/TaskViewer.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Tasks/TaskViewer.py Sat Dec 05 18:02:17 2020 +0100 @@ -736,7 +736,7 @@ try: text, encoding = Utilities.readEncodedFile(fn) lines = text.splitlines() - except (UnicodeError, IOError): + except (UnicodeError, OSError): count += 1 progress.setValue(count) continue @@ -852,7 +852,7 @@ try: text, encoding = Utilities.readEncodedFile(fn) lines = text.splitlines() - except (UnicodeError, IOError): + except (UnicodeError, OSError): continue # now search tasks and record them
--- a/eric6/UI/CompareDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/CompareDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -239,7 +239,7 @@ try: with open(filename1, "r", encoding="utf-8") as f1: lines1 = f1.readlines() - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Compare Files"), @@ -252,7 +252,7 @@ try: with open(filename2, "r", encoding="utf-8") as f2: lines2 = f2.readlines() - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Compare Files"),
--- a/eric6/UI/DiffDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/DiffDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -140,7 +140,7 @@ f.write(txt) except UnicodeError: pass - except IOError as why: + except OSError as why: E5MessageBox.critical( self, self.tr('Save Diff'), self.tr( @@ -155,12 +155,12 @@ self.filename1 = Utilities.toNativeSeparators(self.file1Picker.text()) try: filemtime1 = time.ctime(os.stat(self.filename1).st_mtime) - except IOError: + except OSError: filemtime1 = "" try: with open(self.filename1, "r", encoding="utf-8") as f1: lines1 = f1.readlines() - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Compare Files"), @@ -172,12 +172,12 @@ self.filename2 = Utilities.toNativeSeparators(self.file2Picker.text()) try: filemtime2 = time.ctime(os.stat(self.filename2).st_mtime) - except IOError: + except OSError: filemtime2 = "" try: with open(self.filename2, "r", encoding="utf-8") as f2: lines2 = f2.readlines() - except IOError: + except OSError: E5MessageBox.critical( self, self.tr("Compare Files"),
--- a/eric6/UI/EmailDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/EmailDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -10,7 +10,6 @@ import os import mimetypes import smtplib -import socket from PyQt5.QtCore import Qt, pyqtSlot from PyQt5.QtGui import QTextOption @@ -330,12 +329,12 @@ try: server.login(Preferences.getUser("MailServerUser"), password) - except (smtplib.SMTPException, socket.error) as e: + except (smtplib.SMTPException, OSError) as e: if isinstance(e, smtplib.SMTPResponseException): errorStr = e.smtp_error.decode() elif isinstance(e, OSError): errorStr = e.strerror - elif isinstance(e, socket.error): + elif isinstance(e, OSError): errorStr = e[1] else: errorStr = str(e) @@ -355,12 +354,12 @@ server.sendmail(Preferences.getUser("Email"), self.__toAddress, msg) server.quit() - except (smtplib.SMTPException, socket.error) as e: + except (smtplib.SMTPException, OSError) as e: if isinstance(e, smtplib.SMTPResponseException): errorStr = e.smtp_error.decode() elif isinstance(e, smtplib.SMTPException): errorStr = str(e) - elif isinstance(e, socket.error): + elif isinstance(e, OSError): errorStr = e.strerror else: errorStr = str(e)
--- a/eric6/UI/ErrorLogDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/ErrorLogDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -52,7 +52,7 @@ with open(logFile, "r", encoding="utf-8") as f: txt = f.read() self.logEdit.setPlainText(txt) - except IOError: + except OSError: pass @pyqtSlot()
--- a/eric6/UI/FindFileDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/FindFileDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -462,7 +462,7 @@ try: text, encoding, hashStr = Utilities.readEncodedFileWithHash(fn) lines = text.splitlines(True) - except (UnicodeError, IOError): + except (UnicodeError, OSError): progress += 1 self.findProgress.setValue(progress) continue @@ -625,7 +625,7 @@ Utilities.readEncodedFileWithHash(fn) ) lines = text.splitlines(True) - except (UnicodeError, IOError) as err: + except (UnicodeError, OSError) as err: E5MessageBox.critical( self, self.tr("Replace in Files"), @@ -666,7 +666,7 @@ txt = "".join(lines) try: Utilities.writeEncodedFile(fn, txt, encoding) - except (IOError, Utilities.CodingError, UnicodeError) as err: + except (OSError, Utilities.CodingError, UnicodeError) as err: E5MessageBox.critical( self, self.tr("Replace in Files"),
--- a/eric6/UI/InstallInfoDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/InstallInfoDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -94,7 +94,7 @@ else self.tr("unknown")) self.__updateButton.setEnabled(bool(self.__info["exe"])) - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Load Install Information"), @@ -183,7 +183,7 @@ json.dump(self.__info, infoFile, indent=2) self.__edited = False self.editButton.setChecked(False) - except EnvironmentError as err: + except OSError as err: E5MessageBox.critical( self, self.tr("Save Install Information"),
--- a/eric6/UI/Previewers/PreviewerHTML.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/Previewers/PreviewerHTML.py Sat Dec 05 18:02:17 2020 +0100 @@ -499,7 +499,7 @@ try: with open(incFile, "r") as f: incTxt = f.read() - except (IOError, OSError): + except OSError: # remove SSI include incTxt = "" else:
--- a/eric6/UI/UserInterface.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/UI/UserInterface.py Sat Dec 05 18:02:17 2020 +0100 @@ -1488,7 +1488,7 @@ installInfo["eric"], os.W_OK) with open(installInfoFile, "w") as infoFile: json.dump(installInfo, infoFile, indent=2) - except EnvironmentError: + except OSError: # ignore this pass else: @@ -4996,7 +4996,7 @@ ' is zero length.</p>') .format(fn)) return - except EnvironmentError: + except OSError: E5MessageBox.critical( self, self.tr('Problem'), @@ -5066,7 +5066,7 @@ ' is zero length.</p>') .format(fn)) return - except EnvironmentError: + except OSError: E5MessageBox.critical( self, self.tr('Problem'), @@ -5236,7 +5236,7 @@ ' is zero length.</p>') .format(fn)) return - except EnvironmentError: + except OSError: E5MessageBox.critical( self, self.tr('Problem'), @@ -5292,7 +5292,7 @@ ' is zero length.</p>') .format(fn)) return - except EnvironmentError: + except OSError: if not ignore: E5MessageBox.critical( self,
--- a/eric6/Utilities/BackgroundClient.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/BackgroundClient.py Sat Dec 05 18:02:17 2020 +0100 @@ -113,7 +113,7 @@ self.connection.setblocking(False) try: data = self.connection.recv(length, socket.MSG_PEEK) - except socket.error: + except OSError: pass finally: self.connection.setblocking(True) @@ -185,7 +185,7 @@ ret = str(ret) self.__send(fx, fn, ret) - except socket.error: + except OSError: pass except Exception: exctype, excval, exctb = sys.exc_info()
--- a/eric6/Utilities/ClassBrowsers/idlclbr.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/ClassBrowsers/idlclbr.py Sat Dec 05 18:02:17 2020 +0100 @@ -229,7 +229,7 @@ try: src = Utilities.readEncodedFile(file)[0] - except (UnicodeError, IOError): + except (UnicodeError, OSError): # can't do anything with this module _modules[module] = {} return {}
--- a/eric6/Utilities/ClassBrowsers/jsclbr.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/ClassBrowsers/jsclbr.py Sat Dec 05 18:02:17 2020 +0100 @@ -305,7 +305,7 @@ try: src = Utilities.readEncodedFile(file)[0] - except (UnicodeError, IOError): + except (UnicodeError, OSError): # can't do anything with this module _modules[module] = {} return {}
--- a/eric6/Utilities/ClassBrowsers/protoclbr.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/ClassBrowsers/protoclbr.py Sat Dec 05 18:02:17 2020 +0100 @@ -220,7 +220,7 @@ try: src = Utilities.readEncodedFile(file)[0] - except (UnicodeError, IOError): + except (UnicodeError, OSError): # can't do anything with this module _modules[module] = {} return {}
--- a/eric6/Utilities/ClassBrowsers/pyclbr.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/ClassBrowsers/pyclbr.py Sat Dec 05 18:02:17 2020 +0100 @@ -377,7 +377,7 @@ try: src = Utilities.readEncodedFile(file)[0] - except (UnicodeError, IOError): + except (UnicodeError, OSError): # can't do anything with this module _modules[module] = {} return {}
--- a/eric6/Utilities/ClassBrowsers/rbclbr.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/ClassBrowsers/rbclbr.py Sat Dec 05 18:02:17 2020 +0100 @@ -276,7 +276,7 @@ try: src = Utilities.readEncodedFile(file)[0] - except (UnicodeError, IOError): + except (UnicodeError, OSError): # can't do anything with this module _modules[module] = {} return {}
--- a/eric6/Utilities/ModuleParser.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/ModuleParser.py Sat Dec 05 18:02:17 2020 +0100 @@ -1597,7 +1597,7 @@ try: src = Utilities.readEncodedFile(file)[0] mod.scan(src) - except (UnicodeError, IOError): + except (UnicodeError, OSError): pass if caching: _modules[modname] = mod
--- a/eric6/Utilities/__init__.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/Utilities/__init__.py Sat Dec 05 18:02:17 2020 +0100 @@ -78,21 +78,40 @@ supportedCodecs = [ 'utf-8', - 'iso8859-1', 'iso8859-15', 'iso8859-2', 'iso8859-3', - 'iso8859-4', 'iso8859-5', 'iso8859-6', 'iso8859-7', - 'iso8859-8', 'iso8859-9', 'iso8859-10', 'iso8859-11', - 'iso8859-13', 'iso8859-14', 'iso8859-16', 'latin-1', - 'koi8-r', 'koi8-u', - 'utf-16', 'utf-32', - 'cp037', 'cp424', 'cp437', 'cp500', 'cp737', 'cp775', - 'cp850', 'cp852', 'cp855', 'cp856', 'cp857', 'cp860', - 'cp861', 'cp862', 'cp863', 'cp864', 'cp865', 'cp866', - 'cp869', 'cp874', 'cp875', 'cp932', 'cp949', 'cp950', - 'cp1006', 'cp1026', 'cp1140', 'cp1250', 'cp1251', - 'cp1252', 'cp1253', 'cp1254', 'cp1255', 'cp1256', - 'cp1257', 'cp1258', - 'gb2312', 'gb18030', - 'ascii' + + 'iso-8859-1', 'iso-8859-2', 'iso-8859-3', + 'iso-8859-4', 'iso-8859-5', 'iso-8859-6', 'iso-8859-7', + 'iso-8859-8', 'iso-8859-9', 'iso-8859-10', 'iso-8859-11', + 'iso-8859-13', 'iso-8859-14', 'iso-8859-15', 'iso-8859-16', + 'latin-1', + + 'koi8-r', 'koi8-t', 'koi8-u', + + 'utf-7', + 'utf-16', 'utf-16-be', 'utf-16-le', + 'utf-32', 'utf-32-be', 'utf-32-le', + + 'cp037', 'cp273', 'cp424', 'cp437', 'cp500', 'cp720', + 'cp737', 'cp775', 'cp850', 'cp852', 'cp855', 'cp856', + 'cp857', 'cp858', 'cp860', 'cp861', 'cp862', 'cp863', + 'cp864', 'cp865', 'cp866', 'cp869', 'cp874', 'cp875', + 'cp932', 'cp949', 'cp950', 'cp1006', 'cp1026', 'cp1125', + 'cp1140', + + 'windows-1250', 'windows-1251', 'windows-1252', 'windows-1253', + 'windows-1254', 'windows-1255', 'windows-1256', 'windows-1257', + 'windows-1258', + + 'gb2312', 'hz', 'gb18030', 'gbk', + + 'iso-2022-jp', 'iso-2022-jp-1', 'iso-2022-jp-2', 'iso-2022-jp-2004', + 'iso-2022-jp-3', 'iso-2022-jp-ext', 'iso-2022-kr', + + 'mac-cyrillic', 'mac-greek', 'mac-iceland', 'mac-latin2', + 'mac-roman', 'mac-turkish', + + 'ascii', + 'big5-tw', 'big5-hkscs', ] @@ -661,7 +680,7 @@ """ try: source, encoding = readEncodedFile(filename) - except (UnicodeError, IOError): + except (UnicodeError, OSError): return {} return extractFlags(source) @@ -724,7 +743,7 @@ @return path with converted separator characters (string) """ return QDir.toNativeSeparators(path) - + def fromNativeSeparators(path): """ @@ -734,7 +753,7 @@ @return path with converted separator characters (string) """ return QDir.fromNativeSeparators(path) - + def normcasepath(path): """ @@ -745,17 +764,7 @@ @return case normalized path (string) """ return os.path.normcase(os.path.normpath(path)) - -def normabspath(path): - """ - Function returning a normalized, absolute path. - - @param path file path (string) - @return absolute, normalized path (string) - """ - return os.path.abspath(path) - def normcaseabspath(path): """ @@ -766,18 +775,18 @@ @return absolute, normalized path (string) """ return os.path.normcase(os.path.abspath(path)) - + def normjoinpath(a, *p): """ Function returning a normalized path of the joined parts passed into it. @param a first path to be joined (string) - @param p variable number of path parts to be joind (string) + @param p variable number of path parts to be joined (string) @return normalized path (string) """ return os.path.normpath(os.path.join(a, *p)) - + def normabsjoinpath(a, *p): """ @@ -789,30 +798,6 @@ @return absolute, normalized path (string) """ return os.path.abspath(os.path.join(a, *p)) - - -def relpath(path, start=os.path.curdir): - """ - Return a relative version of a path. - - @param path path to make relative (string) - @param start path to make relative from (string) - @return relative path (string) - @exception ValueError raised to indicate an invalid path - """ - if not path: - raise ValueError("no path specified") - - start_list = os.path.abspath(start).split(os.path.sep) - path_list = os.path.abspath(path).split(os.path.sep) - - # Work out how much of the filepath is shared by start and path. - i = len(os.path.commonprefix([start_list, path_list])) - - rel_list = [os.path.pardir] * (len(start_list) - i) + path_list[i:] - if not rel_list: - return os.path.curdir - return os.path.join(*rel_list) def isinpath(file): @@ -855,8 +840,8 @@ if start: if path == start: return True - elif normcasepath(toNativeSeparators(path)).startswith( - normcasepath(toNativeSeparators(start + "/"))): + elif normcasepath(path).startswith( + normcasepath(start + "/")): return True else: return False @@ -864,27 +849,6 @@ return False -def relativePath(path, start): - """ - Function to convert a file path to a path relative to a start path. - - @param path file or directory name to convert (string) - @param start start path (string) - @return relative path or unchanged path, if path does not start with - the start path (string) - """ - if startswithPath(path, start): - if path == start: - return "" - else: - if start.endswith(("/", "\\")): - return path[len(start):] - else: - return path[len(start) + 1:] - else: - return path - - def relativeUniversalPath(path, start): """ Function to convert a file path to a path relative to a start path @@ -895,7 +859,7 @@ @return relative path or unchanged path, if path does not start with the start path with universal separators (string) """ - return fromNativeSeparators(relativePath(path, start)) + return fromNativeSeparators(os.path.relpath(path, start)) def absolutePath(path, start): @@ -908,7 +872,7 @@ @return absolute path (string) """ if not os.path.isabs(path): - path = os.path.join(start, path) + path = os.path.normpath(os.path.join(start, path)) return path @@ -922,7 +886,7 @@ @return absolute path with native separators (string) """ if not os.path.isabs(path): - path = toNativeSeparators(os.path.join(start, path)) + path = toNativeSeparators(os.path.normpath(os.path.join(start, path))) return path @@ -1250,7 +1214,7 @@ """ try: names = os.listdir(path) - except EnvironmentError: + except OSError: return [] dirs = [] @@ -2039,7 +2003,7 @@ try: with open(rfile, "r") as f: lines = f.read().splitlines() - except IOError: + except OSError: continue info.append(' {0}'.format(rfile))
--- a/eric6/VCS/ProjectHelper.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/VCS/ProjectHelper.py Sat Dec 05 18:02:17 2020 +0100 @@ -246,7 +246,7 @@ if not os.path.isdir(projectdir): try: os.makedirs(projectdir) - except EnvironmentError: + except OSError: E5MessageBox.critical( self.parent(), QCoreApplication.translate(
--- a/eric6/ViewManager/ViewManager.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/ViewManager/ViewManager.py Sat Dec 05 18:02:17 2020 +0100 @@ -4495,7 +4495,7 @@ @param prog name of file to be opened (string) """ - prog = Utilities.normabspath(prog) + prog = os.path.abspath(prog) # Open up the new files. self.openSourceFile(prog) @@ -4712,7 +4712,7 @@ try: newWin, editor = self.getEditor(fn, filetype=filetype, addNext=addNext, indexes=indexes) - except (IOError, UnicodeDecodeError): + except (OSError, UnicodeDecodeError): return None if newWin: @@ -4881,7 +4881,7 @@ """ try: newWin, self.currentEditor = self.getEditor(fn) - except (IOError, UnicodeDecodeError): + except (OSError, UnicodeDecodeError): return enc = self.currentEditor.getEncoding() @@ -6585,7 +6585,7 @@ try: with open(dictionaryFile, "r", encoding="utf-8") as f: data = f.read() - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self.ui, QCoreApplication.translate( @@ -6614,7 +6614,7 @@ try: with open(dictionaryFile, "w", encoding="utf-8") as f: f.write(data) - except (IOError, OSError) as err: + except OSError as err: E5MessageBox.critical( self.ui, QCoreApplication.translate(
--- a/eric6/VirtualEnv/VirtualenvConfigurationDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/VirtualEnv/VirtualenvConfigurationDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -171,6 +171,16 @@ self.venvStack.setCurrentWidget(self.venvPage) @pyqtSlot(str) + def on_nameEdit_textChanged(self, txt): + """ + Private slot handling a change of the virtual environment name. + + @param txt name of the virtual environment + @type str + """ + self.__updateOK() + + @pyqtSlot(str) def on_targetDirectoryPicker_textChanged(self, txt): """ Private slot handling a change of the target directory.
--- a/eric6/VirtualEnv/VirtualenvExecDialog.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/VirtualEnv/VirtualenvExecDialog.py Sat Dec 05 18:02:17 2020 +0100 @@ -268,7 +268,7 @@ f.write("\n") f.write(self.tr("Errors:\n")) f.write(errtxt) - except (IOError, OSError) as err: + except OSError as err: self.__logError( self.tr("""The logfile '{0}' could not be written.\n""" """Reason: {1}\n""").format(logFile, str(err))) @@ -295,7 +295,7 @@ try: with open(script, "w", encoding="utf-8") as f: f.write(txt) - except (IOError, OSError) as err: + except OSError as err: self.__logError( self.tr("""The script file '{0}' could not be written.\n""" """Reason: {1}\n""").format(script, str(err)))
--- a/eric6/WebBrowser/AdBlock/AdBlockSubscription.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/AdBlock/AdBlockSubscription.py Sat Dec 05 18:02:17 2020 +0100 @@ -473,7 +473,7 @@ try: with open(fileName, "r", encoding="utf-8") as f: data = f.read() - except (IOError, OSError): + except (OSError, OSError): return False match = re.search(self.__checksumRe, data)
--- a/eric6/WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Bookmarks/BookmarksImporters/ChromeImporter.py Sat Dec 05 18:02:17 2020 +0100 @@ -123,7 +123,7 @@ try: with open(self.__fileName, "r", encoding="utf-8") as f: contents = json.load(f) - except IOError as err: + except OSError as err: self._error = True self._errorString = self.tr( "File '{0}' cannot be read.\nReason: {1}"
--- a/eric6/WebBrowser/Bookmarks/BookmarksImporters/IExplorerImporter.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Bookmarks/BookmarksImporters/IExplorerImporter.py Sat Dec 05 18:02:17 2020 +0100 @@ -126,7 +126,7 @@ try: with open(path, "r") as f: contents = f.read() - except IOError: + except OSError: continue url = "" for line in contents.splitlines():
--- a/eric6/WebBrowser/Bookmarks/BookmarksImporters/OperaImporter.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Bookmarks/BookmarksImporters/OperaImporter.py Sat Dec 05 18:02:17 2020 +0100 @@ -100,7 +100,7 @@ try: with open(self.__fileName, "r", encoding="utf-8") as f: contents = f.read() - except IOError as err: + except OSError as err: self._error = True self._errorString = self.tr( "File '{0}' cannot be read.\nReason: {1}"
--- a/eric6/WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Bookmarks/BookmarksImporters/SafariImporter.py Sat Dec 05 18:02:17 2020 +0100 @@ -102,7 +102,7 @@ try: with open(self.__fileName, "rb") as f: bookmarksDict = plistlib.load(f) - except (plistlib.InvalidFileException, EnvironmentError) as err: + except (plistlib.InvalidFileException, OSError) as err: self._error = True self._errorString = self.tr( "Bookmarks file cannot be read.\nReason: {0}".format(str(err)))
--- a/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyDownloader.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyDownloader.py Sat Dec 05 18:02:17 2020 +0100 @@ -90,7 +90,7 @@ try: with open(self.__fileName, "w", encoding="utf-8") as f: f.write(response) - except (IOError, OSError): + except OSError: self.error.emit() return @@ -145,7 +145,7 @@ try: with open(self.__fileName, "w", encoding="utf-8") as f: f.write(response) - except (IOError, OSError): + except OSError: self.error.emit() return
--- a/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyManager.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyManager.py Sat Dec 05 18:02:17 2020 +0100 @@ -130,7 +130,7 @@ if deleteScript: try: os.remove(fileName) - except (IOError, OSError): + except OSError: # ignore pass @@ -177,7 +177,7 @@ try: with open(fileName, "r", encoding="utf-8") as f: source = f.read().strip() - except (IOError, OSError): + except OSError: source = "" if source: script += source + "\n"
--- a/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/GreaseMonkey/GreaseMonkeyScript.py Sat Dec 05 18:02:17 2020 +0100 @@ -276,7 +276,7 @@ try: with open(self.__fileName, "r", encoding="utf-8") as f: fileData = f.read() - except (IOError, OSError): + except OSError: # silently ignore because it shouldn't happen return
--- a/eric6/WebBrowser/Network/ProtocolHandlerManager.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Network/ProtocolHandlerManager.py Sat Dec 05 18:02:17 2020 +0100 @@ -108,7 +108,7 @@ url = QUrl(urlStr) self.__protocolHandlers[scheme] = url self.__registerHandler(scheme, url) - except (IOError, OSError): + except OSError: # ignore issues silently pass
--- a/eric6/WebBrowser/Session/SessionManager.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Session/SessionManager.py Sat Dec 05 18:02:17 2020 +0100 @@ -228,7 +228,7 @@ sessionData = json.load(sessionFile) if not cls.isValidSession(sessionData): sessionData = {} - except (IOError, OSError): + except OSError: sessionData = {} return sessionData
--- a/eric6/WebBrowser/Sync/DirectorySyncHandler.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Sync/DirectorySyncHandler.py Sat Dec 05 18:02:17 2020 +0100 @@ -94,7 +94,7 @@ self._remoteFiles[type_]), "rb" ) as f: data = f.read() - except IOError as err: + except OSError as err: self.syncStatus.emit( type_, self.tr("Cannot read remote file.\n{0}").format(str(err))) @@ -132,7 +132,7 @@ ) as f: f.write(bytes(data)) f.close() - except IOError as err: + except OSError as err: self.syncStatus.emit( type_, self.tr("Cannot write remote file.\n{0}").format(
--- a/eric6/WebBrowser/Sync/FtpSyncHandler.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Sync/FtpSyncHandler.py Sat Dec 05 18:02:17 2020 +0100 @@ -409,5 +409,5 @@ code = err.args[0].strip()[:3] if code == "421": self.__connected = False - except IOError: + except OSError: self.__connected = False
--- a/eric6/WebBrowser/Sync/SyncHandler.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Sync/SyncHandler.py Sat Dec 05 18:02:17 2020 +0100 @@ -210,7 +210,7 @@ try: with open(fileName, "rb") as inputFile: data = inputFile.read() - except IOError: + except OSError: return QByteArray() if ( @@ -275,5 +275,5 @@ if timestamp > 0: os.utime(fileName, (timestamp, timestamp)) return True, "" - except IOError as error: + except OSError as error: return False, str(error)
--- a/eric6/WebBrowser/Tools/WebIconProvider.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/Tools/WebIconProvider.py Sat Dec 05 18:02:17 2020 +0100 @@ -90,7 +90,7 @@ try: with open(filename, "r") as f: db = json.load(f) - except (IOError, OSError): + except OSError: # ignore silentyl db = {} @@ -123,7 +123,7 @@ try: with open(filename, "w") as f: json.dump(db, f) - except (IOError, OSError): + except OSError: # ignore silentyl pass
--- a/eric6/WebBrowser/WebBrowserWindow.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/WebBrowser/WebBrowserWindow.py Sat Dec 05 18:02:17 2020 +0100 @@ -12,8 +12,8 @@ import sys from PyQt5.QtCore import ( - pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, QUrl, QTextCodec, - QProcess, QEvent, QFileInfo + pyqtSlot, pyqtSignal, Qt, QByteArray, QSize, QTimer, QUrl, QProcess, + QEvent, QFileInfo ) from PyQt5.QtGui import QDesktopServices, QKeySequence, QFont, QFontMetrics from PyQt5.QtWidgets import ( @@ -4147,7 +4147,8 @@ """ return self.__navigationBar.searchEdit().openSearchManager() - def __createTextEncodingAction(self, codec, defaultCodec, parentMenu): + def __createTextEncodingAction(self, codec, defaultCodec, parentMenu, + name=None): """ Private method to create an action for the text encoding menu. @@ -4157,8 +4158,13 @@ @type str @param parentMenu reference to the parent menu @type QMenu - """ - act = QAction(codec, parentMenu) + @param name name for the action + @type str + """ + if name: + act = QAction(name, parentMenu) + else: + act = QAction(codec, parentMenu) act.setData(codec) act.setCheckable(True) if defaultCodec == codec: @@ -4192,55 +4198,45 @@ """ self.__textEncodingMenu.clear() - codecs = [] - for mib in QTextCodec.availableMibs(): - codec = str(QTextCodec.codecForMib(mib).name(), - encoding="utf-8").lower() - if codec not in codecs: - codecs.append(codec) - codecs.sort() - defaultTextEncoding = self.webSettings().defaultTextEncoding().lower() - if defaultTextEncoding in codecs: + if defaultTextEncoding in Utilities.supportedCodecs: currentCodec = defaultTextEncoding else: - currentCodec = "system" + currentCodec = "" isoCodecs = [] winCodecs = [] - isciiCodecs = [] uniCodecs = [] - ibmCodecs = [] + cpCodecs = [] + macCodecs = [] otherCodecs = [] - for codec in codecs: - if codec.startswith(("iso", "latin")): + for codec in sorted(Utilities.supportedCodecs): + if codec.startswith(("iso-", "latin")): isoCodecs.append(codec) - elif codec.startswith(("windows")): + elif codec.startswith(("windows-")): winCodecs.append(codec) - elif codec.startswith("iscii"): - isciiCodecs.append(codec) - elif codec.startswith("utf"): + elif codec.startswith("utf-"): uniCodecs.append(codec) - elif codec.startswith(("ibm")): - ibmCodecs.append(codec) - elif codec == "system": - self.__createTextEncodingAction(codec, currentCodec, - self.__textEncodingMenu) + elif codec.startswith("cp"): + cpCodecs.append(codec) + elif codec.startswith("mac-"): + macCodecs.append(codec) else: otherCodecs.append(codec) - if not self.__textEncodingMenu.isEmpty(): - self.__textEncodingMenu.addSeparator() + self.__createTextEncodingAction( + "", currentCodec, self.__textEncodingMenu, name=self.tr("System")) + self.__textEncodingMenu.addSeparator() self.__createTextEncodingSubmenu(self.tr("ISO"), isoCodecs, self.__textEncodingMenu) self.__createTextEncodingSubmenu(self.tr("Unicode"), uniCodecs, self.__textEncodingMenu) self.__createTextEncodingSubmenu(self.tr("Windows"), winCodecs, self.__textEncodingMenu) - self.__createTextEncodingSubmenu(self.tr("ISCII"), isciiCodecs, + self.__createTextEncodingSubmenu(self.tr("IBM"), cpCodecs, self.__textEncodingMenu) - self.__createTextEncodingSubmenu(self.tr("IBM"), ibmCodecs, + self.__createTextEncodingSubmenu(self.tr("Apple"), macCodecs, self.__textEncodingMenu) self.__createTextEncodingSubmenu(self.tr("Other"), otherCodecs, self.__textEncodingMenu)
--- a/eric6/eric6.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/eric6.py Sat Dec 05 18:02:17 2020 +0100 @@ -205,7 +205,7 @@ with open(logFile, "w", encoding="utf-8") as f: f.write(msg) f.write(versionInfo) - except IOError: + except OSError: pass if inMainLoop is None: @@ -369,13 +369,12 @@ disabledPlugins.append(pluginName) for arg in sys.argv: if arg.startswith("--plugin=") and sys.argv.index(arg) < ddindex: - import Utilities # extract the plugin development option pluginFile = arg.replace("--plugin=", "").replace('"', "") sys.argv.remove(arg) ddindex -= 1 pluginFile = os.path.expanduser(pluginFile) - pluginFile = Utilities.normabspath(pluginFile) + pluginFile = os.path.abspath(pluginFile) break # is there a set of filenames or options on the command line,
--- a/eric6/eric6_api.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/eric6_api.py Sat Dec 05 18:02:17 2020 +0100 @@ -276,7 +276,7 @@ api = apiGenerator.genAPI(True, basePackage, includePrivate) bases = apiGenerator.genBases(includePrivate) - except IOError as v: + except OSError as v: sys.stderr.write("{0} error: {1}\n".format(file, v[1])) continue except ImportError as v: @@ -299,7 +299,7 @@ with open(outputFile, "w", encoding="utf-8", newline=newline) as out: out.write("\n".join(sorted(apis)) + "\n") - except IOError as v: + except OSError as v: sys.stderr.write("{0} error: {1}\n".format(outputFile, v[1])) sys.exit(3) try: @@ -308,7 +308,7 @@ for baseEntry in sorted(basesDict.keys()): out.write("{0} {1}\n".format( baseEntry, " ".join(sorted(basesDict[baseEntry])))) - except IOError as v: + except OSError as v: sys.stderr.write("{0} error: {1}\n".format(basesFile, v[1])) sys.exit(3)
--- a/eric6/eric6_doc.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/eric6_doc.py Sat Dec 05 18:02:17 2020 +0100 @@ -271,7 +271,7 @@ if not os.path.isdir(outputDir): try: os.makedirs(outputDir) - except EnvironmentError: + except OSError: sys.stderr.write( "Could not create output directory {0}.".format(outputDir)) sys.exit(2) @@ -283,7 +283,7 @@ try: with open(stylesheetFile, "r", encoding="utf-8") as sf: stylesheet = sf.read() - except IOError: + except OSError: sys.stderr.write( "The CSS stylesheet '{0}' does not exist\n".format( stylesheetFile)) @@ -299,7 +299,7 @@ if not os.path.isdir(qtHelpOutputDir): try: os.makedirs(qtHelpOutputDir) - except EnvironmentError: + except OSError: sys.stderr.write( "Could not create QtHelp output directory {0}.".format( qtHelpOutputDir)) @@ -372,7 +372,7 @@ inpackage=inpackage, extensions=supportedExtensions) moduleDocument = ModuleDocument(module, colors, stylesheet) doc = moduleDocument.genDocument() - except IOError as v: + except OSError as v: sys.stderr.write("{0} error: {1}\n".format(file, v[1])) continue except ImportError as v: @@ -400,7 +400,7 @@ with open(f, "w", encoding="utf-8", newline=newline) as out: out.write(doc) - except IOError as v: + except OSError as v: sys.stderr.write("{0} error: {1}\n".format(file, v[1])) else: sys.stdout.write("{0} ok\n".format(f))
--- a/eric6/eric6_post_install.py Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/eric6_post_install.py Sat Dec 05 18:02:17 2020 +0100 @@ -44,7 +44,7 @@ if not os.path.exists(eric6EntryPath): try: os.makedirs(eric6EntryPath) - except EnvironmentError: + except OSError: # maybe restrictions prohibited link creation return
--- a/eric6/i18n/eric6_cs.ts Sat Oct 31 12:19:44 2020 +0100 +++ b/eric6/i18n/eric6_cs.ts Sat Dec 05 18:02:17 2020 +0100 @@ -4423,7 +4423,7 @@ <context> <name>CodingError</name> <message> - <location filename="../Utilities/__init__.py" line="110"/> + <location filename="../Utilities/__init__.py" line="129"/> <source>The coding '{0}' is wrong for the given text.</source> <translation>Nesprávné kódování '{0}' pro daný text.</translation> </message> @@ -7926,47 +7926,47 @@ <context> <name>DebuggerInterfacePython</name> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="459"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="456"/> <source>Start Debugger</source> <translation type="unfinished">Spustit debuger</translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1018"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1015"/> <source>Parent Process</source> <translation type="unfinished">Rodičovský proces</translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1019"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1016"/> <source>Child process</source> <translation type="unfinished">Dětský proces</translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1020"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1017"/> <source>Client forking</source> <translation type="unfinished">Větvení klienta</translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1020"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1017"/> <source>Select the fork branch to follow.</source> <translation type="unfinished">Pokračovat ve fork větvi.</translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="459"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="456"/> <source><p>The debugger backend could not be started.</p></source> <translation type="unfinished"><p>Debugovací backend nelze spustit.</p></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1066"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1061"/> <source>Debug Protocol Error</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="1066"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="1061"/> <source><p>The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.</p><p>Error: {0}</p><p>Data:<br/>{1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/DebuggerInterfacePython.py" line="354"/> + <location filename="../Debugger/DebuggerInterfacePython.py" line="351"/> <source><p>No suitable Python3 environment configured.</p></source> <translation type="unfinished"></translation> </message> @@ -22825,57 +22825,57 @@ <context> <name>GitProjectBrowserHelper</name> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="486"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="484"/> <source>Version Control</source> <translation type="unfinished">Kontrola verzí</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="497"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="495"/> <source>Commit changes to repository...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="503"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="501"/> <source>Add/Stage to repository</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="506"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="504"/> <source>Unstage changes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="512"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="510"/> <source>Remove from repository (and disk)</source> <translation type="unfinished">Odebrat z repozitáře (a z disku)</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="586"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="584"/> <source>Remove from repository only</source> <translation type="unfinished">Odebrat jen z repozitáře</translation> </message> <message> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="426"/> + <source>Copy</source> + <translation type="unfinished">Kopírovat</translation> + </message> + <message> <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="428"/> - <source>Copy</source> - <translation type="unfinished">Kopírovat</translation> - </message> - <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="430"/> <source>Move</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="433"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="431"/> <source>Show log browser</source> <translation type="unfinished">Zobrazit log prohlížeč</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="518"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="516"/> <source>Show status</source> <translation type="unfinished">Zobrazit status</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="523"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="521"/> <source>Show differences</source> <translation type="unfinished"></translation> </message> @@ -22885,7 +22885,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="527"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="525"/> <source>Show differences (extended)</source> <translation type="unfinished"></translation> </message> @@ -22900,37 +22900,37 @@ <translation type="unfinished">Zobrazit komentované soubory</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="533"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="531"/> <source>Revert changes</source> <translation type="unfinished">Vrátit změny</translation> </message> <message> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="538"/> + <source>Select all local file entries</source> + <translation type="unfinished">Vybrat všechny lokální soubory</translation> + </message> + <message> <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="540"/> - <source>Select all local file entries</source> - <translation type="unfinished">Vybrat všechny lokální soubory</translation> + <source>Select all versioned file entries</source> + <translation type="unfinished">Vybrat všechny soubory ve správě verzí</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="542"/> - <source>Select all versioned file entries</source> - <translation type="unfinished">Vybrat všechny soubory ve správě verzí</translation> + <source>Select all local directory entries</source> + <translation type="unfinished">Vybrat všechny lokální adresáře</translation> </message> <message> <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="544"/> - <source>Select all local directory entries</source> - <translation type="unfinished">Vybrat všechny lokální adresáře</translation> - </message> - <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="546"/> <source>Select all versioned directory entries</source> <translation type="unfinished">Vybrat všechny adresáře ve správě verzí</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="549"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="547"/> <source>Configure...</source> <translation type="unfinished">Konfigurovat...</translation> </message> <message> - <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="586"/> + <location filename="../Plugins/VcsPlugins/vcsGit/ProjectBrowserHelper.py" line="584"/> <source>Do you really want to remove these files from the repository?</source> <translation type="unfinished">Opravdu chcete odebrat tyto soubory z repozitáře?</translation> </message> @@ -26646,27 +26646,27 @@ <context> <name>Globals</name> <message> - <location filename="../Globals/__init__.py" line="440"/> + <location filename="../Globals/__init__.py" line="446"/> <source>{0:4.2f} Bytes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Globals/__init__.py" line="444"/> + <location filename="../Globals/__init__.py" line="450"/> <source>{0:4.2f} KiB</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Globals/__init__.py" line="448"/> + <location filename="../Globals/__init__.py" line="454"/> <source>{0:4.2f} MiB</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Globals/__init__.py" line="452"/> + <location filename="../Globals/__init__.py" line="458"/> <source>{0:4.2f} GiB</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Globals/__init__.py" line="456"/> + <location filename="../Globals/__init__.py" line="462"/> <source>{0:4.2f} TiB</source> <translation type="unfinished"></translation> </message> @@ -39144,102 +39144,102 @@ <context> <name>IconEditorGrid</name> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="210"/> + <location filename="../IconEditor/IconEditorGrid.py" line="208"/> <source>Set Pixel</source> <translation>Nastavit pixel</translation> </message> <message> + <location filename="../IconEditor/IconEditorGrid.py" line="209"/> + <source>Erase Pixel</source> + <translation>Vymazat pixel</translation> + </message> + <message> + <location filename="../IconEditor/IconEditorGrid.py" line="210"/> + <source>Draw Line</source> + <translation>Nakreslit linku</translation> + </message> + <message> <location filename="../IconEditor/IconEditorGrid.py" line="211"/> - <source>Erase Pixel</source> - <translation>Vymazat pixel</translation> + <source>Draw Rectangle</source> + <translation>Nakreslit obdélník</translation> </message> <message> <location filename="../IconEditor/IconEditorGrid.py" line="212"/> - <source>Draw Line</source> - <translation>Nakreslit linku</translation> + <source>Draw Filled Rectangle</source> + <translation>Nakreslit vyplněný obdélník</translation> </message> <message> <location filename="../IconEditor/IconEditorGrid.py" line="213"/> - <source>Draw Rectangle</source> - <translation>Nakreslit obdélník</translation> + <source>Draw Circle</source> + <translation>Nakreslit kruh</translation> </message> <message> <location filename="../IconEditor/IconEditorGrid.py" line="214"/> - <source>Draw Filled Rectangle</source> - <translation>Nakreslit vyplněný obdélník</translation> + <source>Draw Filled Circle</source> + <translation>Nakreslit vyplněný kruh</translation> </message> <message> <location filename="../IconEditor/IconEditorGrid.py" line="215"/> - <source>Draw Circle</source> - <translation>Nakreslit kruh</translation> + <source>Draw Ellipse</source> + <translation>Nakreslit elipsu</translation> </message> <message> <location filename="../IconEditor/IconEditorGrid.py" line="216"/> - <source>Draw Filled Circle</source> - <translation>Nakreslit vyplněný kruh</translation> + <source>Draw Filled Ellipse</source> + <translation>Nakreslit vyplněnou elipsu</translation> </message> <message> <location filename="../IconEditor/IconEditorGrid.py" line="217"/> - <source>Draw Ellipse</source> - <translation>Nakreslit elipsu</translation> - </message> - <message> - <location filename="../IconEditor/IconEditorGrid.py" line="218"/> - <source>Draw Filled Ellipse</source> - <translation>Nakreslit vyplněnou elipsu</translation> - </message> - <message> - <location filename="../IconEditor/IconEditorGrid.py" line="219"/> <source>Fill Region</source> <translation>Vyplnit oblast</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="848"/> + <location filename="../IconEditor/IconEditorGrid.py" line="846"/> <source>Cut Selection</source> <translation>Odebrat výběr</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="907"/> + <location filename="../IconEditor/IconEditorGrid.py" line="905"/> <source>Paste</source> <translation>Vložit</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="907"/> + <location filename="../IconEditor/IconEditorGrid.py" line="905"/> <source><p>The clipboard image is larger than the current image.<br/>Paste as new image?</p></source> <translation><p>Obrázek ze schránky je větší než aktuální obrázek.<br/>Vložit jako nový obrázek?</p></translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="920"/> + <location filename="../IconEditor/IconEditorGrid.py" line="918"/> <source>Paste Clipboard</source> <translation>Vložit ze schránky</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="938"/> + <location filename="../IconEditor/IconEditorGrid.py" line="936"/> <source>Pasting Image</source> <translation>Vkládání obrázku</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="938"/> + <location filename="../IconEditor/IconEditorGrid.py" line="936"/> <source>Invalid image data in clipboard.</source> <translation>Neplatná data obrázku ve schránce.</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="949"/> + <location filename="../IconEditor/IconEditorGrid.py" line="947"/> <source>Paste Clipboard as New Image</source> <translation>Vložit ze schránky jako nový obrázek</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="978"/> + <location filename="../IconEditor/IconEditorGrid.py" line="976"/> <source>Clear Image</source> <translation>Vyčistit obrázek</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="998"/> + <location filename="../IconEditor/IconEditorGrid.py" line="996"/> <source>Resize Image</source> <translation>Změnit velikost obrázku</translation> </message> <message> - <location filename="../IconEditor/IconEditorGrid.py" line="1025"/> + <location filename="../IconEditor/IconEditorGrid.py" line="1023"/> <source>Convert to Grayscale</source> <translation>Převést do šedi</translation> </message> @@ -41185,52 +41185,52 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="71"/> + <location filename="../UI/InstallInfoDialog.py" line="70"/> <source>Yes</source> <translation type="unfinished">Ano</translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="71"/> + <location filename="../UI/InstallInfoDialog.py" line="70"/> <source>No</source> <translation type="unfinished">Ne</translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="75"/> + <location filename="../UI/InstallInfoDialog.py" line="74"/> <source>'eric-ide' was installed from PyPI using the pip command.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="81"/> + <location filename="../UI/InstallInfoDialog.py" line="80"/> <source>The information shown in this dialog was guessed at the first start of eric.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="99"/> + <location filename="../UI/InstallInfoDialog.py" line="98"/> <source>Load Install Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="99"/> + <location filename="../UI/InstallInfoDialog.py" line="98"/> <source><p>The file containing the install information could not be read.</p><p>Reason: {0}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="151"/> + <location filename="../UI/InstallInfoDialog.py" line="150"/> <source>Install Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="151"/> + <location filename="../UI/InstallInfoDialog.py" line="150"/> <source>The install information was edited. Unsaved changes will be lost. Save first?</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="188"/> + <location filename="../UI/InstallInfoDialog.py" line="187"/> <source>Save Install Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="188"/> + <location filename="../UI/InstallInfoDialog.py" line="187"/> <source><p>The file containing the install information could not be written.</p><p>Reason: {0}</p></source> <translation type="unfinished"></translation> </message> @@ -41240,17 +41240,17 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="61"/> + <location filename="../UI/InstallInfoDialog.py" line="60"/> <source>Installed as Administrator:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="63"/> + <location filename="../UI/InstallInfoDialog.py" line="62"/> <source>Installed with sudo:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="93"/> + <location filename="../UI/InstallInfoDialog.py" line="92"/> <source>unknown</source> <translation type="unfinished">neznámý</translation> </message> @@ -41260,32 +41260,32 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="87"/> + <location filename="../UI/InstallInfoDialog.py" line="86"/> <source>The installation information was provided by the user.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="39"/> + <location filename="../UI/InstallInfoDialog.py" line="38"/> <source>Delete Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="255"/> + <location filename="../UI/InstallInfoDialog.py" line="254"/> <source>Upgrade Instructions</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="201"/> + <location filename="../UI/InstallInfoDialog.py" line="200"/> <source>Delete Installation Information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="201"/> + <location filename="../UI/InstallInfoDialog.py" line="200"/> <source>Do you really want to delete the installation information? It will be recreated at the next start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/InstallInfoDialog.py" line="228"/> + <location filename="../UI/InstallInfoDialog.py" line="227"/> <source>Perform the following step(s) with Administrator privileges. </source> <translation type="unfinished"></translation> @@ -51014,12 +51014,12 @@ <translation type="unfinished">Chyby</translation> </message> <message> - <location filename="../PipInterface/PipDialog.py" line="143"/> + <location filename="../PipInterface/PipDialog.py" line="146"/> <source>Process Generation Error</source> <translation type="unfinished">Chyba v procesu generování</translation> </message> <message> - <location filename="../PipInterface/PipDialog.py" line="143"/> + <location filename="../PipInterface/PipDialog.py" line="146"/> <source>The process {0} could not be started.</source> <translation type="unfinished"></translation> </message> @@ -51727,7 +51727,7 @@ </translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="910"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="911"/> <source>Search PyPI</source> <translation type="unfinished"></translation> </message> @@ -51747,102 +51747,102 @@ <translation type="unfinished">Chyby: {0}</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="872"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="873"/> <source>Show Package Details</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="872"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="873"/> <source>Select the package version:</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="910"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="911"/> <source><p>No package details info for <b>{0}</b> available.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="926"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="927"/> <source>Install Pip</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="929"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="930"/> <source>Install Pip to User-Site</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="932"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="933"/> <source>Repair Pip</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1046"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1050"/> <source>Install Packages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="939"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="940"/> <source>Install Local Package</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="943"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="944"/> <source>Install Requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="946"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="947"/> <source>Uninstall Requirements</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="949"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="950"/> <source>Generate Requirements...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="967"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="968"/> <source>Edit User Configuration...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="970"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="971"/> <source>Edit Environment Configuration...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="975"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="976"/> <source>Configure...</source> <translation type="unfinished">Konfigurovat...</translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1166"/> <source>Edit Configuration</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="1158"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="1166"/> <source>No valid configuration path determined. Aborting</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="953"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="954"/> <source>Show Cache Info...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="956"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="957"/> <source>Show Cached Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="959"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="960"/> <source>Remove Cached Files...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../PipInterface/PipPackagesWidget.py" line="962"/> + <location filename="../PipInterface/PipPackagesWidget.py" line="963"/> <source>Purge Cache...</source> <translation type="unfinished"></translation> </message> @@ -53790,72 +53790,72 @@ <translation>Vytvořit adresář projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="2939"/> + <location filename="../Project/Project.py" line="2943"/> <source>New Project</source> <translation>Nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2454"/> + <location filename="../Project/Project.py" line="2458"/> <source>Add existing files to the project?</source> <translation>Přidat existující soubory do projektu?</translation> </message> <message> - <location filename="../Project/Project.py" line="2581"/> + <location filename="../Project/Project.py" line="2585"/> <source>Would you like to edit the VCS command options?</source> <translation>Chcete editovat parametry VCS příkazu?</translation> </message> <message> - <location filename="../Project/Project.py" line="3808"/> + <location filename="../Project/Project.py" line="3812"/> <source>New project</source> <translation>Nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="2524"/> + <location filename="../Project/Project.py" line="2528"/> <source>Shall the project file be added to the repository?</source> <translation>Má být projekt přidán do repozitáře?</translation> </message> <message> - <location filename="../Project/Project.py" line="2553"/> + <location filename="../Project/Project.py" line="2557"/> <source>Select version control system for the project</source> <translation>Výběr verzovacího systému projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3822"/> + <location filename="../Project/Project.py" line="3826"/> <source>Open project</source> <translation>Otevřít projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3083"/> + <location filename="../Project/Project.py" line="3087"/> <source>Project Files (*.e4p)</source> <translation>Soubory projektu (*.e4p)</translation> </message> <message> - <location filename="../Project/Project.py" line="3859"/> + <location filename="../Project/Project.py" line="3863"/> <source>Save project as</source> <translation>Uložit projekt jako</translation> </message> <message> - <location filename="../Project/Project.py" line="3098"/> + <location filename="../Project/Project.py" line="3102"/> <source>Save File</source> <translation>Uložit soubor</translation> </message> <message> - <location filename="../Project/Project.py" line="3134"/> + <location filename="../Project/Project.py" line="3138"/> <source>Close Project</source> <translation>Zavřít projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3134"/> + <location filename="../Project/Project.py" line="3138"/> <source>The current project has unsaved changes.</source> <translation>Aktuální projekt obsahuje neuložené změny.</translation> </message> <message> - <location filename="../Project/Project.py" line="3311"/> + <location filename="../Project/Project.py" line="3315"/> <source>Syntax errors detected</source> <translation>Zjištěny syntaktické chyby</translation> </message> <message numerus="yes"> - <location filename="../Project/Project.py" line="3311"/> + <location filename="../Project/Project.py" line="3315"/> <source>The project contains %n file(s) with syntax errors.</source> <translation> <numerusform>Projekt obsahuje %n soubor se syntaktickými chybami.</numerusform> @@ -53864,567 +53864,567 @@ </translation> </message> <message> - <location filename="../Project/Project.py" line="3808"/> + <location filename="../Project/Project.py" line="3812"/> <source>&New...</source> <translation>&Nový...</translation> </message> <message> - <location filename="../Project/Project.py" line="3813"/> + <location filename="../Project/Project.py" line="3817"/> <source>Generate a new project</source> <translation>Vygenerovat nový projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3814"/> + <location filename="../Project/Project.py" line="3818"/> <source><b>New...</b><p>This opens a dialog for entering the info for a new project.</p></source> <translation><b>Nový...</b><p>Otevře se dialogové okno pro zadání informací o novém projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3822"/> + <location filename="../Project/Project.py" line="3826"/> <source>&Open...</source> <translation>&Otevřít...</translation> </message> <message> - <location filename="../Project/Project.py" line="3827"/> + <location filename="../Project/Project.py" line="3831"/> <source>Open an existing project</source> <translation>Otevřít existující projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3828"/> + <location filename="../Project/Project.py" line="3832"/> <source><b>Open...</b><p>This opens an existing project.</p></source> <translation><b>Otevřít....</b><p>Otevře existující projekt.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3835"/> - <source>Close project</source> - <translation>Zavřít projekt</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3835"/> - <source>&Close</source> - <translation>&Zavřít</translation> - </message> - <message> <location filename="../Project/Project.py" line="3839"/> + <source>Close project</source> + <translation>Zavřít projekt</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3839"/> + <source>&Close</source> + <translation>&Zavřít</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3843"/> <source>Close the current project</source> <translation>Uzavře aktuální projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3840"/> + <location filename="../Project/Project.py" line="3844"/> <source><b>Close</b><p>This closes the current project.</p></source> <translation><b>Zavřít</b><p>Aktuální projekt se uzavře.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3847"/> - <source>Save project</source> - <translation>Uložit projekt</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4039"/> - <source>&Save</source> - <translation>&Uložit</translation> - </message> - <message> <location filename="../Project/Project.py" line="3851"/> + <source>Save project</source> + <translation>Uložit projekt</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4043"/> + <source>&Save</source> + <translation>&Uložit</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3855"/> <source>Save the current project</source> <translation>Uložit aktuální projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="3852"/> + <location filename="../Project/Project.py" line="3856"/> <source><b>Save</b><p>This saves the current project.</p></source> <translation><b>Uložit</b><p>Aktuální projekt se uloží.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3859"/> - <source>Save &as...</source> - <translation>Uložit j&ako...</translation> - </message> - <message> <location filename="../Project/Project.py" line="3863"/> + <source>Save &as...</source> + <translation>Uložit j&ako...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3867"/> <source>Save the current project to a new file</source> <translation>Uloží aktuální projekt do nového souboru</translation> </message> <message> - <location filename="../Project/Project.py" line="3865"/> + <location filename="../Project/Project.py" line="3869"/> <source><b>Save as</b><p>This saves the current project to a new file.</p></source> <translation><b>Uložit jako</b><p>Uloží aktuální projekt do nového souboru.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3874"/> + <location filename="../Project/Project.py" line="3878"/> <source>Add files to project</source> <translation>Přidat soubory do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3874"/> + <location filename="../Project/Project.py" line="3878"/> <source>Add &files...</source> <translation>&Přidat soubory...</translation> </message> <message> - <location filename="../Project/Project.py" line="3879"/> + <location filename="../Project/Project.py" line="3883"/> <source>Add files to the current project</source> <translation>Přidat soubory do aktuálního projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3881"/> + <location filename="../Project/Project.py" line="3885"/> <source><b>Add files...</b><p>This opens a dialog for adding files to the current project. The place to add is determined by the file extension.</p></source> <translation><b>Přidat soubory...</b><p>Otevře dialog pri přidání souborů do aktuálního projektu. Místo pro přidání je definováno extenzí souborů.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3890"/> + <location filename="../Project/Project.py" line="3894"/> <source>Add directory to project</source> <translation>Přidat adresář do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3890"/> + <location filename="../Project/Project.py" line="3894"/> <source>Add directory...</source> <translation>Přidat adresář...</translation> </message> <message> - <location filename="../Project/Project.py" line="3895"/> + <location filename="../Project/Project.py" line="3899"/> <source>Add a directory to the current project</source> <translation>Přidat adresář do aktuálního projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3897"/> + <location filename="../Project/Project.py" line="3901"/> <source><b>Add directory...</b><p>This opens a dialog for adding a directory to the current project.</p></source> <translation><b>Přidat adresář...</b><p>Otevře dialog pro přičtení adresáře do aktuálního projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3905"/> + <location filename="../Project/Project.py" line="3909"/> <source>Add translation to project</source> <translation>Přidat překlad do projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3905"/> + <location filename="../Project/Project.py" line="3909"/> <source>Add &translation...</source> <translation>Přida&t překlad...</translation> </message> <message> - <location filename="../Project/Project.py" line="3910"/> + <location filename="../Project/Project.py" line="3914"/> <source>Add a translation to the current project</source> <translation>Přidat překlad do aktuálního projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3912"/> + <location filename="../Project/Project.py" line="3916"/> <source><b>Add translation...</b><p>This opens a dialog for add a translation to the current project.</p></source> <translation><b>Přidat překlad</b><p>Otevře dialog pro přidání překladu do aktuálního projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3920"/> + <location filename="../Project/Project.py" line="3924"/> <source>Search new files</source> <translation>Hledat nové soubory</translation> </message> <message> - <location filename="../Project/Project.py" line="3920"/> - <source>Searc&h new files...</source> - <translation>&Hledat nové soubory...</translation> - </message> - <message> <location filename="../Project/Project.py" line="3924"/> + <source>Searc&h new files...</source> + <translation>&Hledat nové soubory...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3928"/> <source>Search new files in the project directory.</source> <translation>Hledat nové soubory v adresáři projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="3950"/> + <location filename="../Project/Project.py" line="3954"/> <source>Project properties</source> <translation>Nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3950"/> + <location filename="../Project/Project.py" line="3954"/> <source>&Properties...</source> <translation>&Natavení...</translation> </message> <message> - <location filename="../Project/Project.py" line="3955"/> + <location filename="../Project/Project.py" line="3959"/> <source>Show the project properties</source> <translation>Zobrazit nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3956"/> + <location filename="../Project/Project.py" line="3960"/> <source><b>Properties...</b><p>This shows a dialog to edit the project properties.</p></source> <translation><b>Nastavení...</b><p>Zobrazí dialog s editací nastavení projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3963"/> + <location filename="../Project/Project.py" line="3967"/> <source>User project properties</source> <translation>Uživatelská nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3963"/> + <location filename="../Project/Project.py" line="3967"/> <source>&User Properties...</source> <translation>Uživat&elská nastavení...</translation> </message> <message> - <location filename="../Project/Project.py" line="3968"/> + <location filename="../Project/Project.py" line="3972"/> <source>Show the user specific project properties</source> <translation>Zobrazit uživatelem definovaná nastavení projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="3970"/> + <location filename="../Project/Project.py" line="3974"/> <source><b>User Properties...</b><p>This shows a dialog to edit the user specific project properties.</p></source> <translation><b>Uživatelská nastavení...</b><p>Zobrazí dialog s editací uživatelských nastavení projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3978"/> + <location filename="../Project/Project.py" line="3982"/> <source>Filetype Associations</source> <translation>Asociace typů souborů</translation> </message> <message> - <location filename="../Project/Project.py" line="3978"/> - <source>Filetype Associations...</source> - <translation>Asociace typů souborů...</translation> - </message> - <message> <location filename="../Project/Project.py" line="3982"/> + <source>Filetype Associations...</source> + <translation>Asociace typů souborů...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="3986"/> <source>Show the project filetype associations</source> <translation>Zobrazit asociace typů souborů</translation> </message> <message> - <location filename="../Project/Project.py" line="4014"/> + <location filename="../Project/Project.py" line="4018"/> <source>Debugger Properties</source> <translation>Nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4014"/> - <source>Debugger &Properties...</source> - <translation>Nastavení &debuggeru...</translation> - </message> - <message> <location filename="../Project/Project.py" line="4018"/> + <source>Debugger &Properties...</source> + <translation>Nastavení &debuggeru...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4022"/> <source>Show the debugger properties</source> <translation>Zobrazit nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4019"/> + <location filename="../Project/Project.py" line="4023"/> <source><b>Debugger Properties...</b><p>This shows a dialog to edit project specific debugger settings.</p></source> <translation><b>Nastavení debugeru...</b><p>Zobrazí dialog s editací nastavení debugeru.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4027"/> + <location filename="../Project/Project.py" line="4031"/> <source>Load</source> <translation>Načíst</translation> </message> <message> - <location filename="../Project/Project.py" line="4027"/> - <source>&Load</source> - <translation>&Načíst</translation> - </message> - <message> <location filename="../Project/Project.py" line="4031"/> + <source>&Load</source> + <translation>&Načíst</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4035"/> <source>Load the debugger properties</source> <translation>Načíst nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4032"/> + <location filename="../Project/Project.py" line="4036"/> <source><b>Load Debugger Properties</b><p>This loads the project specific debugger settings.</p></source> <translation><b>Načíst nastavení debugeru</b><p>Načtou se nastavení debugeru do projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4039"/> - <source>Save</source> - <translation>Uložit</translation> - </message> - <message> <location filename="../Project/Project.py" line="4043"/> + <source>Save</source> + <translation>Uložit</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4047"/> <source>Save the debugger properties</source> <translation>Uložit nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4044"/> + <location filename="../Project/Project.py" line="4048"/> <source><b>Save Debugger Properties</b><p>This saves the project specific debugger settings.</p></source> <translation><b>Uložit nastavení debugeru</b><p>Uloží nastavení debugeru definovaná v projektu..</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4051"/> + <location filename="../Project/Project.py" line="4055"/> <source>Delete</source> <translation>Smazat</translation> </message> <message> - <location filename="../Project/Project.py" line="4051"/> - <source>&Delete</source> - <translation>Sma&zat</translation> - </message> - <message> <location filename="../Project/Project.py" line="4055"/> + <source>&Delete</source> + <translation>Sma&zat</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4059"/> <source>Delete the debugger properties</source> <translation>Smazat nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4056"/> + <location filename="../Project/Project.py" line="4060"/> <source><b>Delete Debugger Properties</b><p>This deletes the file containing the project specific debugger settings.</p></source> <translation><b>Smazat nastavení debugeru</b><p>Smaže se soubor obsahující nastavení debugeru v daném projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4064"/> + <location filename="../Project/Project.py" line="4068"/> <source>Reset</source> <translation></translation> </message> <message> - <location filename="../Project/Project.py" line="4064"/> - <source>&Reset</source> - <translation>&Reset</translation> - </message> - <message> <location filename="../Project/Project.py" line="4068"/> + <source>&Reset</source> + <translation>&Reset</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4072"/> <source>Reset the debugger properties</source> <translation>Reset nastavení debugeru</translation> </message> <message> - <location filename="../Project/Project.py" line="4069"/> + <location filename="../Project/Project.py" line="4073"/> <source><b>Reset Debugger Properties</b><p>This resets the project specific debugger settings.</p></source> <translation><b>Reset nastavení debugeru</b><p>Zresetuje nastavení debugeru v projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4078"/> - <source>Load session</source> - <translation>Načíst relaci</translation> - </message> - <message> <location filename="../Project/Project.py" line="4082"/> + <source>Load session</source> + <translation>Načíst relaci</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4086"/> <source>Load the projects session file.</source> <translation>Načíst soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4083"/> + <location filename="../Project/Project.py" line="4087"/> <source><b>Load session</b><p>This loads the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Načíst relaci</b><p>Načte soubor s relací projektu. Relace obsahuje následující údaje:<br>- všechny otevřené zdrojové soubory<br>- všechny breakpointy<br>- argumenty příkazové řádky <br>- pracovní adresář<br>- příznak výjimky</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4096"/> - <source>Save session</source> - <translation>Uložit relaci</translation> - </message> - <message> <location filename="../Project/Project.py" line="4100"/> + <source>Save session</source> + <translation>Uložit relaci</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4104"/> <source>Save the projects session file.</source> <translation>Uložit soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4101"/> + <location filename="../Project/Project.py" line="4105"/> <source><b>Save session</b><p>This saves the projects session file. The session consists of the following data.<br>- all open source files<br>- all breakpoint<br>- the commandline arguments<br>- the working directory<br>- the exception reporting flag</p></source> <translation><b>Uložit relaci</b><p>Uloží soubor s relací projektu. Relace obsahuje následující údaje:<br>- všechny otevřené zdrojové soubory<br>- všechny breakpointy<br>- argumenty příkazové řádky <br>- pracovní adresář<br>- příznak výjimky</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4114"/> - <source>Delete session</source> - <translation>Smazat relaci</translation> - </message> - <message> <location filename="../Project/Project.py" line="4118"/> + <source>Delete session</source> + <translation>Smazat relaci</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4122"/> <source>Delete the projects session file.</source> <translation>Smaže soubor s relací projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4119"/> + <location filename="../Project/Project.py" line="4123"/> <source><b>Delete session</b><p>This deletes the projects session file</p></source> <translation><b>Smazat relaci</b><p>Smaže soubor s relací projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4128"/> + <location filename="../Project/Project.py" line="4132"/> <source>Code Metrics</source> <translation>Metriky kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="4128"/> - <source>&Code Metrics...</source> - <translation>Metriky &kódu...</translation> - </message> - <message> <location filename="../Project/Project.py" line="4132"/> + <source>&Code Metrics...</source> + <translation>Metriky &kódu...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4136"/> <source>Show some code metrics for the project.</source> <translation>Zobrazit metriky kódu projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4134"/> + <location filename="../Project/Project.py" line="4138"/> <source><b>Code Metrics...</b><p>This shows some code metrics for all Python files in the project.</p></source> <translation><b>Metriky kódu...</b><p>Zobrazí se metriky kódu všech python souborů v projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4142"/> - <source>Python Code Coverage</source> - <translation>Pokrytí python kódu</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4142"/> - <source>Code Co&verage...</source> - <translation>Pokr&ytí kódu...</translation> - </message> - <message> <location filename="../Project/Project.py" line="4146"/> + <source>Python Code Coverage</source> + <translation>Pokrytí python kódu</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4146"/> + <source>Code Co&verage...</source> + <translation>Pokr&ytí kódu...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4150"/> <source>Show code coverage information for the project.</source> <translation>Zobrazit informace pokrytí kódu projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4148"/> + <location filename="../Project/Project.py" line="4152"/> <source><b>Code Coverage...</b><p>This shows the code coverage information for all Python files in the project.</p></source> <translation><b>Pokrytí kódu...</b><p>Zobrazí informace o pokrytí kódu ve všech python souborech projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5032"/> + <location filename="../Project/Project.py" line="5036"/> <source>Profile Data</source> <translation>Profilovat data</translation> </message> <message> - <location filename="../Project/Project.py" line="4156"/> - <source>&Profile Data...</source> - <translation>&Profilovat data...</translation> - </message> - <message> <location filename="../Project/Project.py" line="4160"/> + <source>&Profile Data...</source> + <translation>&Profilovat data...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4164"/> <source>Show profiling data for the project.</source> <translation>Zobrazit profilování dat projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4162"/> + <location filename="../Project/Project.py" line="4166"/> <source><b>Profile Data...</b><p>This shows the profiling data for the project.</p></source> <translation><b>Profilovat data</b><p>Zobrazí se profilování dat projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5086"/> + <location filename="../Project/Project.py" line="5090"/> <source>Application Diagram</source> <translation>Diagram aplikace</translation> </message> <message> - <location filename="../Project/Project.py" line="4171"/> - <source>&Application Diagram...</source> - <translation>Diagram &aplikace...</translation> - </message> - <message> <location filename="../Project/Project.py" line="4175"/> + <source>&Application Diagram...</source> + <translation>Diagram &aplikace...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4179"/> <source>Show a diagram of the project.</source> <translation>Zobrazit diagram projektu.</translation> </message> <message> - <location filename="../Project/Project.py" line="4177"/> + <location filename="../Project/Project.py" line="4181"/> <source><b>Application Diagram...</b><p>This shows a diagram of the project.</p></source> <translation><b>Diagram aplikace...</b><p>Zobrazí diagram projektu.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4302"/> + <location filename="../Project/Project.py" line="4306"/> <source>&Project</source> <translation>&Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="4303"/> + <location filename="../Project/Project.py" line="4307"/> <source>Open &Recent Projects</source> <translation>Otevřít poslední p&rojekty</translation> </message> <message> - <location filename="../Project/Project.py" line="4308"/> - <source>&Version Control</source> - <translation>Kontrola &verzí</translation> - </message> - <message> <location filename="../Project/Project.py" line="4312"/> - <source>Chec&k</source> - <translation>Zkontro&lovat</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4314"/> - <source>Sho&w</source> - <translation>Zo&brazit</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4315"/> - <source>&Diagrams</source> - <translation>&Diagramy</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4304"/> - <source>Session</source> - <translation>Relace</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4317"/> - <source>Source &Documentation</source> - <translation>Zd&rojová dokumentace</translation> - </message> - <message> - <location filename="../Project/Project.py" line="4305"/> - <source>Debugger</source> - <translation></translation> + <source>&Version Control</source> + <translation>Kontrola &verzí</translation> </message> <message> <location filename="../Project/Project.py" line="4316"/> + <source>Chec&k</source> + <translation>Zkontro&lovat</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4318"/> + <source>Sho&w</source> + <translation>Zo&brazit</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4319"/> + <source>&Diagrams</source> + <translation>&Diagramy</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4308"/> + <source>Session</source> + <translation>Relace</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4321"/> + <source>Source &Documentation</source> + <translation>Zd&rojová dokumentace</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4309"/> + <source>Debugger</source> + <translation></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4320"/> <source>Pac&kagers</source> <translation>Balíč&ky</translation> </message> <message> - <location filename="../Project/Project.py" line="4442"/> + <location filename="../Project/Project.py" line="4446"/> <source>Project</source> <translation>Projekt</translation> </message> <message> - <location filename="../Project/Project.py" line="4508"/> + <location filename="../Project/Project.py" line="4512"/> <source>&Clear</source> <translation>&Vyčistit</translation> </message> <message> - <location filename="../Project/Project.py" line="4681"/> + <location filename="../Project/Project.py" line="4685"/> <source>Search New Files</source> <translation>Hledat nové soubory</translation> </message> <message> - <location filename="../Project/Project.py" line="4681"/> + <location filename="../Project/Project.py" line="4685"/> <source>There were no new files found to be added.</source> <translation>Nebyly nalezeny žádné soubory, které je možné přidat.</translation> </message> <message> - <location filename="../Project/Project.py" line="4829"/> + <location filename="../Project/Project.py" line="4833"/> <source>Version Control System</source> <translation>Version Control System</translation> </message> <message> - <location filename="../Project/Project.py" line="4959"/> + <location filename="../Project/Project.py" line="4963"/> <source>Coverage Data</source> <translation>Datové pokrytí</translation> </message> <message> - <location filename="../Project/Project.py" line="5009"/> + <location filename="../Project/Project.py" line="5013"/> <source>There is no main script defined for the current project. Aborting</source> <translation>V aktuálním projektu nebyl určen hlavní skript. Zrušeno</translation> </message> <message> - <location filename="../Project/Project.py" line="4982"/> + <location filename="../Project/Project.py" line="4986"/> <source>Code Coverage</source> <translation>Pokrytí kódu</translation> </message> <message> - <location filename="../Project/Project.py" line="4982"/> + <location filename="../Project/Project.py" line="4986"/> <source>Please select a coverage file</source> <translation>Prosím, vyberte soubor pokrytí</translation> </message> <message> - <location filename="../Project/Project.py" line="5032"/> + <location filename="../Project/Project.py" line="5036"/> <source>Please select a profile file</source> <translation>Prosím, vyberte soubor s profilem</translation> </message> <message> - <location filename="../Project/Project.py" line="5086"/> + <location filename="../Project/Project.py" line="5090"/> <source>Include module names?</source> <translation>Včetně jmen modulů?</translation> </message> <message> - <location filename="../Project/Project.py" line="5281"/> + <location filename="../Project/Project.py" line="5285"/> <source>Create Package List</source> <translation>Vytvořit seznam balíčků</translation> </message> <message> - <location filename="../Project/Project.py" line="4200"/> + <location filename="../Project/Project.py" line="4204"/> <source>Create &Package List</source> <translation type="unfinished">Vytvořit Plugin &archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="5554"/> + <location filename="../Project/Project.py" line="5558"/> <source>Create Plugin Archive</source> <translation>Vytvořit Plugin archiv</translation> </message> <message> - <location filename="../Project/Project.py" line="5230"/> + <location filename="../Project/Project.py" line="5234"/> <source><p>The file <b>PKGLIST</b> already exists.</p><p>Overwrite it?</p></source> <translation><p>Soubor <b>PKGLIST</b> již existuje.</p><p>Přepsat jej?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5300"/> + <location filename="../Project/Project.py" line="5304"/> <source>The project does not have a main script defined. Aborting...</source> <translation>Projekt nemá definován hlavní skript. Zrušeno...</translation> </message> @@ -54434,12 +54434,12 @@ <translation><p>Zdrojový adresář neobsahuje žádné soubory související s danou kategorií.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2939"/> + <location filename="../Project/Project.py" line="2943"/> <source>Select Version Control System</source> <translation>Vybrat Version Control System</translation> </message> <message> - <location filename="../Project/Project.py" line="2560"/> + <location filename="../Project/Project.py" line="2564"/> <source>None</source> <translation>None</translation> </message> @@ -54449,7 +54449,7 @@ <translation>Zaregistrovat typ projektu</translation> </message> <message> - <location filename="../Project/Project.py" line="4216"/> + <location filename="../Project/Project.py" line="4220"/> <source>Create Plugin &Archives</source> <translation type="unfinished"></translation> </message> @@ -54459,32 +54459,32 @@ <translation>Nejdříve musíte specifikovat vzor překladu.</translation> </message> <message> - <location filename="../Project/Project.py" line="2662"/> + <location filename="../Project/Project.py" line="2666"/> <source>Translation Pattern</source> <translation>Vzor překladu</translation> </message> <message> - <location filename="../Project/Project.py" line="2662"/> + <location filename="../Project/Project.py" line="2666"/> <source>Enter the path pattern for translation files (use '%language%' in place of the language code):</source> <translation>Zadejte vzor cesty pro soubory s překlady (použijte '%language%' na místě s kódem jazyka):</translation> </message> <message> - <location filename="../Project/Project.py" line="3996"/> - <source>Lexer Associations</source> - <translation>Spojení lexeru</translation> - </message> - <message> - <location filename="../Project/Project.py" line="3996"/> - <source>Lexer Associations...</source> - <translation>Spojení lexeru...</translation> - </message> - <message> <location filename="../Project/Project.py" line="4000"/> + <source>Lexer Associations</source> + <translation>Spojení lexeru</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4000"/> + <source>Lexer Associations...</source> + <translation>Spojení lexeru...</translation> + </message> + <message> + <location filename="../Project/Project.py" line="4004"/> <source>Show the project lexer associations (overriding defaults)</source> <translation>Zobrazit spojení lexeru projektu (přepíše výchozí)</translation> </message> <message> - <location filename="../Project/Project.py" line="4002"/> + <location filename="../Project/Project.py" line="4006"/> <source><b>Lexer Associations...</b><p>This shows a dialog to edit the lexer associations of the project. These associations override the global lexer associations. Lexers are used to highlight the editor text.</p></source> <translation><b>Spojení lexeru...</b><p>Zobrazuje dialog s editací spojení lexeru projektu. Tato spojení přepisují globální lexer spojení. Lexer je použit pro zvýraznění textu v editoru.</p></translation> </message> @@ -54564,7 +54564,7 @@ <translation><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Project/Project.py" line="3098"/> + <location filename="../Project/Project.py" line="3102"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> @@ -54579,22 +54579,22 @@ <translation><p>Adresář projektu <b>{0}</b> nelze vytvořit.</p></translation> </message> <message> - <location filename="../Project/Project.py" line="4829"/> + <location filename="../Project/Project.py" line="4833"/> <source><p>The selected VCS <b>{0}</b> could not be found.<br/>Disabling version control.</p><p>{1}</p></source> <translation><p>Vybrané VCS <b>{0}</b> nebylo nalezeno.<br/>Kontrola verzí vypnuta.</p><p>{1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5281"/> + <location filename="../Project/Project.py" line="5285"/> <source><p>The file <b>PKGLIST</b> could not be created.</p><p>Reason: {0}</p></source> <translation><p>Soubor <b>PKGLIST</b> nelze vytvořit.</p><p>Důvod: {0}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5440"/> + <location filename="../Project/Project.py" line="5444"/> <source><p>The file <b>{0}</b> could not be stored in the archive. Ignoring it.</p><p>Reason: {1}</p></source> <translation><p>Soubor <b>{0}</b> nelze uložit do archivu. Ingorováno.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="5513"/> + <location filename="../Project/Project.py" line="5517"/> <source><p>The plugin file <b>{0}</b> could not be read.</p><p>Reason: {1}</p></source> <translation><p>Plugin soubor <b>{0}</b> nelze přečíst.</p><p>Důvod: {1}</p></translation> </message> @@ -54609,32 +54609,32 @@ <translation><p>Cílový adresář <b>{0}</b> nelze vytvořit.</p><p>Důvod: {1}</p></translation> </message> <message> - <location filename="../Project/Project.py" line="2421"/> + <location filename="../Project/Project.py" line="2424"/> <source>Create main script</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2421"/> + <location filename="../Project/Project.py" line="2424"/> <source><p>The mainscript <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4185"/> - <source>Load Diagram</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4185"/> - <source>&Load Diagram...</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Project/Project.py" line="4189"/> + <source>Load Diagram</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4189"/> + <source>&Load Diagram...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4193"/> <source>Load a diagram from file.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4191"/> + <location filename="../Project/Project.py" line="4195"/> <source><b>Load Diagram...</b><p>This loads a diagram from file.</p></source> <translation type="unfinished"></translation> </message> @@ -54659,37 +54659,37 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4817"/> + <location filename="../Project/Project.py" line="4821"/> <source><p>The selected VCS <b>{0}</b> could not be found. <br/>Reverting override.</p><p>{1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5554"/> + <location filename="../Project/Project.py" line="5558"/> <source><p>The plugin file <b>{0}</b> could not be read.</p> <p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4205"/> + <location filename="../Project/Project.py" line="4209"/> <source>Create an initial PKGLIST file for an eric6 plugin.</source> <translation type="unfinished">Vytvořit soubor eric5 plugin archivu. {6 ?}</translation> </message> <message> - <location filename="../Project/Project.py" line="4207"/> + <location filename="../Project/Project.py" line="4211"/> <source><b>Create Package List</b><p>This creates an initial list of files to include in an eric6 plugin archive. The list is created from the project file.</p></source> <translation type="unfinished"><b>Vytvořit Plugin archiv</b><p>Vytvoří soubor s eric5 plugin archivem za použití seznamu souborů daných v PKGLIST souboru. Jméno archivu je odvozeno ze jména hlavního skriptu.</p> {6 ?}</translation> </message> <message> - <location filename="../Project/Project.py" line="4221"/> + <location filename="../Project/Project.py" line="4225"/> <source>Create eric6 plugin archive files.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4223"/> + <location filename="../Project/Project.py" line="4227"/> <source><b>Create Plugin Archives</b><p>This creates eric6 plugin archive files using the list of files given in a PKGLIST* file. The archive name is built from the main script name if not designated in the package list file.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5404"/> + <location filename="../Project/Project.py" line="5408"/> <source><p>The eric6 plugin archive file <b>{0}</b> could not be created.</p><p>Reason: {1}</p></source> <translation type="unfinished"><p>Soubor s eric5 plugin archivem <b>{0}</b> nelze vytvořit. Zrušeno...</p><p>Důvod: {1}</p> {6 ?} {0}?} {1}?}</translation> </message> @@ -54699,118 +54699,118 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2909"/> + <location filename="../Project/Project.py" line="2913"/> <source>Create project management directory</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2909"/> + <location filename="../Project/Project.py" line="2913"/> <source><p>The project directory <b>{0}</b> is not writable.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3935"/> + <location filename="../Project/Project.py" line="3939"/> <source>Alt+Ctrl+P</source> <comment>Project|Search Project File</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3941"/> + <location filename="../Project/Project.py" line="3945"/> <source>Search for a file in the project list of files.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3943"/> + <location filename="../Project/Project.py" line="3947"/> <source><b>Search Project File</b><p>This searches for a file in the project list of files.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3935"/> + <location filename="../Project/Project.py" line="3939"/> <source>Search Project File</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3935"/> + <location filename="../Project/Project.py" line="3939"/> <source>Search Project File...</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../Project/Project.py" line="5340"/> + <source>Create Plugin Archives</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4237"/> + <source>Create Plugin Archives (Snapshot)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4237"/> + <source>Create Plugin Archives (&Snapshot)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4242"/> + <source>Create eric6 plugin archive files (snapshot releases).</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4244"/> + <source><b>Create Plugin Archives (Snapshot)</b><p>This creates eric6 plugin archive files using the list of files given in the PKGLIST* file. The archive name is built from the main script name if not designated in the package list file. The version entry of the main script is modified to reflect a snapshot release.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="5318"/> + <source>Select package lists:</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../Project/Project.py" line="5336"/> - <source>Create Plugin Archives</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4233"/> - <source>Create Plugin Archives (Snapshot)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4233"/> - <source>Create Plugin Archives (&Snapshot)</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4238"/> - <source>Create eric6 plugin archive files (snapshot releases).</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="4240"/> - <source><b>Create Plugin Archives (Snapshot)</b><p>This creates eric6 plugin archive files using the list of files given in the PKGLIST* file. The archive name is built from the main script name if not designated in the package list file. The version entry of the main script is modified to reflect a snapshot release.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="5314"/> - <source>Select package lists:</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Project/Project.py" line="5332"/> <source>Creating plugin archives...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5332"/> + <location filename="../Project/Project.py" line="5336"/> <source>Abort</source> <translation type="unfinished">Přerušit</translation> </message> <message> - <location filename="../Project/Project.py" line="5332"/> + <location filename="../Project/Project.py" line="5336"/> <source>%v/%m Archives</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5348"/> + <location filename="../Project/Project.py" line="5352"/> <source><p>The file <b>{0}</b> could not be read.</p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5459"/> + <location filename="../Project/Project.py" line="5463"/> <source><p>The eric6 plugin archive files were created with some errors.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5462"/> + <location filename="../Project/Project.py" line="5466"/> <source><p>The eric6 plugin archive files were created successfully.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5325"/> + <location filename="../Project/Project.py" line="5329"/> <source><p>No package list files (PKGLIST*) available or selected. Aborting...</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5376"/> + <location filename="../Project/Project.py" line="5380"/> <source><p>The file <b>{0}</b> is not ready yet.</p><p>Please rework it and delete the'; initial_list' line of the header.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3926"/> + <location filename="../Project/Project.py" line="3930"/> <source><b>Search new files...</b><p>This searches for new files (sources, *.ui, *.idl, *.proto) in the project directory and registered subdirectories.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="3984"/> + <location filename="../Project/Project.py" line="3988"/> <source><b>Filetype Associations...</b><p>This shows a dialog to edit the file type associations of the project. These associations determine the type (source, form, interface, protocol or others) with a filename pattern. They are used when adding a file to the project and when performing a search for new files.</p></source> <translation type="unfinished"></translation> </message> @@ -54830,82 +54830,82 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2735"/> + <location filename="../Project/Project.py" line="2739"/> <source>Create Makefile</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="2735"/> + <location filename="../Project/Project.py" line="2739"/> <source><p>The makefile <b>{0}</b> could not be created.<br/>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5740"/> + <location filename="../Project/Project.py" line="5744"/> <source>Execute Make</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4254"/> - <source>&Execute Make</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Project/Project.py" line="4258"/> + <source>&Execute Make</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4262"/> <source>Perform a 'make' run.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4260"/> + <location filename="../Project/Project.py" line="4264"/> <source><b>Execute Make</b><p>This performs a 'make' run to rebuild the configured target.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5720"/> + <location filename="../Project/Project.py" line="5724"/> <source>Test for Changes</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4268"/> - <source>&Test for Changes</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Project/Project.py" line="4272"/> + <source>&Test for Changes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Project/Project.py" line="4276"/> <source>Question 'make', if a rebuild is needed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4274"/> + <location filename="../Project/Project.py" line="4278"/> <source><b>Test for Changes</b><p>This questions 'make', if a rebuild of the configured target is necessary.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4319"/> + <location filename="../Project/Project.py" line="4323"/> <source>Make</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5668"/> + <location filename="../Project/Project.py" line="5672"/> <source>The make process did not start.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5713"/> + <location filename="../Project/Project.py" line="5717"/> <source>The make process crashed.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5723"/> + <location filename="../Project/Project.py" line="5727"/> <source><p>There are changes that require the configured make target <b>{0}</b> to be rebuilt.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5728"/> + <location filename="../Project/Project.py" line="5732"/> <source><p>There are changes that require the default make target to be rebuilt.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="5740"/> + <location filename="../Project/Project.py" line="5744"/> <source>The makefile contains errors.</source> <translation type="unfinished"></translation> </message> @@ -54920,7 +54920,7 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Project/Project.py" line="4307"/> + <location filename="../Project/Project.py" line="4311"/> <source>Project-T&ools</source> <translation type="unfinished"></translation> </message> @@ -65260,231 +65260,251 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="242"/> - <source><b>Restart</b><p>Restart the shell for the currently selected language.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="249"/> + <location filename="../QScintilla/ShellWindow.py" line="250"/> <source>Restart and Clear</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="254"/> + <location filename="../QScintilla/ShellWindow.py" line="255"/> <source>Clear the window and restart the shell</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="256"/> - <source><b>Restart and Clear</b><p>Clear the shell window and restart the shell for the currently selected language.</p></source> + <location filename="../QScintilla/ShellWindow.py" line="885"/> + <source>Show History</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="885"/> + <source>&Show History...</source> <translation type="unfinished"></translation> </message> <message> <location filename="../QScintilla/ShellWindow.py" line="891"/> - <source>Show History</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="891"/> - <source>&Show History...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="897"/> <source>Show the shell history in a dialog</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../QScintilla/ShellWindow.py" line="895"/> + <source>Clear History</source> + <translation type="unfinished">Vyčistit historii</translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="895"/> + <source>&Clear History...</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../QScintilla/ShellWindow.py" line="901"/> - <source>Clear History</source> - <translation type="unfinished">Vyčistit historii</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="901"/> - <source>&Clear History...</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="907"/> <source>Clear the shell history</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="911"/> + <location filename="../QScintilla/ShellWindow.py" line="905"/> <source>Select History Entry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="911"/> + <location filename="../QScintilla/ShellWindow.py" line="905"/> <source>Select History &Entry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="916"/> + <location filename="../QScintilla/ShellWindow.py" line="910"/> <source>Select an entry of the shell history</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../QScintilla/ShellWindow.py" line="918"/> + <source>About</source> + <translation type="unfinished">O aplikaci</translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="918"/> + <source>&About</source> + <translation type="unfinished">O &aplikaci</translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="922"/> + <source>Display information about this software</source> + <translation type="unfinished">Zobrazit informace a tomto software</translation> + </message> + <message> <location filename="../QScintilla/ShellWindow.py" line="924"/> - <source>About</source> - <translation type="unfinished">O aplikaci</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="924"/> - <source>&About</source> - <translation type="unfinished">O &aplikaci</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="928"/> - <source>Display information about this software</source> - <translation type="unfinished">Zobrazit informace a tomto software</translation> + <source><b>About</b><p>Display some information about this software.</p></source> + <translation type="unfinished"><b>O aplikaci</b><p>Zobrazí se informace o tomto software.</p></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="930"/> + <source>About Qt</source> + <translation type="unfinished">O Qt</translation> </message> <message> <location filename="../QScintilla/ShellWindow.py" line="930"/> - <source><b>About</b><p>Display some information about this software.</p></source> - <translation type="unfinished"><b>O aplikaci</b><p>Zobrazí se informace o tomto software.</p></translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="936"/> - <source>About Qt</source> - <translation type="unfinished">O Qt</translation> + <source>About &Qt</source> + <translation type="unfinished">O &Qt</translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="934"/> + <source>Display information about the Qt toolkit</source> + <translation type="unfinished">Zobrazit informace o Qt toolkitu</translation> </message> <message> <location filename="../QScintilla/ShellWindow.py" line="936"/> - <source>About &Qt</source> - <translation type="unfinished">O &Qt</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="940"/> - <source>Display information about the Qt toolkit</source> - <translation type="unfinished">Zobrazit informace o Qt toolkitu</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="942"/> <source><b>About Qt</b><p>Display some information about the Qt toolkit.</p></source> <translation type="unfinished"></translation> </message> <message> + <location filename="../QScintilla/ShellWindow.py" line="943"/> + <source>What's This?</source> + <translation type="unfinished">Co je to?</translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="943"/> + <source>&What's This?</source> + <translation type="unfinished">&Co je to?</translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="943"/> + <source>Shift+F1</source> + <comment>Help|What's This?'</comment> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../QScintilla/ShellWindow.py" line="949"/> - <source>What's This?</source> - <translation type="unfinished">Co je to?</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="949"/> - <source>&What's This?</source> - <translation type="unfinished">&Co je to?</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="949"/> - <source>Shift+F1</source> - <comment>Help|What's This?'</comment> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="955"/> <source>Context sensitive help</source> <translation type="unfinished">Kontextově senzitivní nápověda</translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="956"/> + <location filename="../QScintilla/ShellWindow.py" line="950"/> <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> <translation type="unfinished"><b>Zobrazit kontextově senzitivní nápovědu</b><p>V režimu "Co je to?" se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.</p></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1100"/> + <location filename="../QScintilla/ShellWindow.py" line="1094"/> <source>About eric6 Shell Window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1100"/> + <location filename="../QScintilla/ShellWindow.py" line="1094"/> <source>The eric6 Shell is a standalone shell window. It uses the same backend as the debugger of the full IDE, but is executed independently.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1128"/> + <location filename="../QScintilla/ShellWindow.py" line="1122"/> <source>&File</source> <translation type="unfinished">S&oubor</translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1137"/> + <location filename="../QScintilla/ShellWindow.py" line="1131"/> <source>&Edit</source> <translation type="unfinished">&Edit</translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1148"/> + <location filename="../QScintilla/ShellWindow.py" line="1142"/> <source>&View</source> <translation type="unfinished">Poh&led</translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1155"/> + <location filename="../QScintilla/ShellWindow.py" line="1149"/> <source>Histor&y</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../QScintilla/ShellWindow.py" line="1156"/> + <source>&Start</source> + <translation type="unfinished">&Start</translation> + </message> + <message> <location filename="../QScintilla/ShellWindow.py" line="1162"/> - <source>&Start</source> - <translation type="unfinished">&Start</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="1168"/> <source>&Help</source> <translation type="unfinished">&Nápověda</translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1201"/> + <location filename="../QScintilla/ShellWindow.py" line="1195"/> <source>File</source> <translation type="unfinished">Soubor</translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1210"/> + <location filename="../QScintilla/ShellWindow.py" line="1204"/> <source>Edit</source> <translation type="unfinished"></translation> </message> <message> + <location filename="../QScintilla/ShellWindow.py" line="1211"/> + <source>Find</source> + <translation type="unfinished">Hledat</translation> + </message> + <message> <location filename="../QScintilla/ShellWindow.py" line="1217"/> - <source>Find</source> - <translation type="unfinished">Hledat</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="1223"/> <source>View</source> <translation type="unfinished">Pohled</translation> </message> <message> + <location filename="../QScintilla/ShellWindow.py" line="1224"/> + <source>History</source> + <translation type="unfinished">Historie</translation> + </message> + <message> <location filename="../QScintilla/ShellWindow.py" line="1230"/> - <source>History</source> - <translation type="unfinished">Historie</translation> - </message> - <message> - <location filename="../QScintilla/ShellWindow.py" line="1236"/> <source>Help</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1257"/> + <location filename="../QScintilla/ShellWindow.py" line="1251"/> <source><p>This part of the status bar allows zooming the shell.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="585"/> + <location filename="../QScintilla/ShellWindow.py" line="579"/> <source>Move forward one history entry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="595"/> + <location filename="../QScintilla/ShellWindow.py" line="589"/> <source>Move back one history entry</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1036"/> + <location filename="../QScintilla/ShellWindow.py" line="1030"/> <source>eric6 Shell</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../QScintilla/ShellWindow.py" line="1034"/> + <location filename="../QScintilla/ShellWindow.py" line="1028"/> <source>eric6 Shell [{0}]</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="242"/> + <source><b>Restart</b><p>Restart the shell for the currently selected environment.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="257"/> + <source><b>Restart and Clear</b><p>Clear the shell window and restart the shell for the currently selected environment.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="284"/> + <source><b>Cut</b><p>Cut the selected text to the clipboard.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="302"/> + <source><b>Copy</b><p>Copy the selected text to the clipboard.</p></source> + <translation type="unfinished"><b>Kopírovat</b><p>Kopírovat vybraný text do schránky.</p></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="320"/> + <source><b>Paste</b><p>Paste the last cut/copied text from the clipboard.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QScintilla/ShellWindow.py" line="337"/> + <source><b>Clear</b><p>Delete all text.</p></source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>Shelve</name> @@ -77807,568 +77827,568 @@ <context> <name>UserInterface</name> <message> - <location filename="../UI/UserInterface.py" line="277"/> + <location filename="../UI/UserInterface.py" line="278"/> <source>Generating Main User Interface...</source> <translation>Generování hlavního uživatelského rozhraní...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="327"/> + <location filename="../UI/UserInterface.py" line="328"/> <source>Setting up connections...</source> <translation>Nastavení připojení...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="584"/> + <location filename="../UI/UserInterface.py" line="585"/> <source>Initializing Tools...</source> <translation>Inicializace nástrojů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="594"/> + <location filename="../UI/UserInterface.py" line="595"/> <source>Registering Objects...</source> <translation>Registrování objektů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="627"/> + <location filename="../UI/UserInterface.py" line="628"/> <source>Initializing Actions...</source> <translation>Inicializace akcí...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="629"/> + <location filename="../UI/UserInterface.py" line="630"/> <source>Initializing Menus...</source> <translation>Inicializace menu...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="631"/> + <location filename="../UI/UserInterface.py" line="632"/> <source>Initializing Toolbars...</source> <translation>Inicializace nástrojových lišt...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="633"/> + <location filename="../UI/UserInterface.py" line="634"/> <source>Initializing Statusbar...</source> <translation>Inicializace statusbaru...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="660"/> + <location filename="../UI/UserInterface.py" line="661"/> <source>Initializing Single Application Server...</source> <translation>Inicializace jednouživatelského aplikačního serveru...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1715"/> + <location filename="../UI/UserInterface.py" line="1749"/> <source>Project-Viewer</source> <translation>Prohlížeč projektu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1750"/> + <location filename="../UI/UserInterface.py" line="1784"/> <source>Debug-Viewer</source> <translation>Prohlížeč debugeru</translation> </message> <message> + <location filename="../UI/UserInterface.py" line="1836"/> + <source>Log-Viewer</source> + <translation>Prohlížeč logu</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1854"/> + <source>Task-Viewer</source> + <translation>Prohlížeč úloh</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1873"/> + <source>Template-Viewer</source> + <translation>Prohlížeč šablon</translation> + </message> + <message> <location filename="../UI/UserInterface.py" line="1802"/> - <source>Log-Viewer</source> - <translation>Prohlížeč logu</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1820"/> - <source>Task-Viewer</source> - <translation>Prohlížeč úloh</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1839"/> - <source>Template-Viewer</source> - <translation>Prohlížeč šablon</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1768"/> <source>Shell</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1785"/> + <location filename="../UI/UserInterface.py" line="1819"/> <source>File-Browser</source> <translation>Browser souborů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1603"/> + <location filename="../UI/UserInterface.py" line="1637"/> <source>Quit</source> <translation>Konec</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1603"/> + <location filename="../UI/UserInterface.py" line="1637"/> <source>&Quit</source> <translation>&Konec</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1603"/> + <location filename="../UI/UserInterface.py" line="1637"/> <source>Ctrl+Q</source> <comment>File|Quit</comment> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1609"/> + <location filename="../UI/UserInterface.py" line="1643"/> <source>Quit the IDE</source> <translation>Ukončit IDE</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1610"/> + <location filename="../UI/UserInterface.py" line="1644"/> <source><b>Quit the IDE</b><p>This quits the IDE. Any unsaved changes may be saved first. Any Python program being debugged will be stopped and the preferences will be written to disc.</p></source> <translation><b>Ukončit IDE</b><p>Ukončí se IDE. Nejdříve by se měly uložit neuložené změny. Python programy běžící v debug procesu budou ukončeny a nastavení budou uložena.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1681"/> - <source>Edit Profile</source> - <translation>Editační profil</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1687"/> - <source>Activate the edit view profile</source> - <translation>Aktivovat profil editace</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1689"/> - <source><b>Edit Profile</b><p>Activate the "Edit View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> - <translation><b>Editační profil</b><p>Aktivování skupiny 'Editační profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1698"/> - <source>Debug Profile</source> - <translation>Debugovací profil</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1704"/> - <source>Activate the debug view profile</source> - <translation>Aktivovat debugovací profil</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1706"/> - <source><b>Debug Profile</b><p>Activate the "Debug View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> - <translation><b>Debugovací profil</b><p>Aktivování skupiny 'Debugovací profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="1715"/> + <source>Edit Profile</source> + <translation>Editační profil</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1721"/> + <source>Activate the edit view profile</source> + <translation>Aktivovat profil editace</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1723"/> + <source><b>Edit Profile</b><p>Activate the "Edit View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> + <translation><b>Editační profil</b><p>Aktivování skupiny 'Editační profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1732"/> + <source>Debug Profile</source> + <translation>Debugovací profil</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1738"/> + <source>Activate the debug view profile</source> + <translation>Aktivovat debugovací profil</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1740"/> + <source><b>Debug Profile</b><p>Activate the "Debug View Profile". Windows being shown, if this profile is active, may be configured with the "View Profile Configuration" dialog.</p></source> + <translation><b>Debugovací profil</b><p>Aktivování skupiny 'Debugovací profil'. Okna, která se v tomto profilu zobrazí lze nastavit v dialogu 'Konfigurace profilu pohledů'.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1749"/> <source>&Project-Viewer</source> <translation>Prohlížeč &projektu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1715"/> + <location filename="../UI/UserInterface.py" line="1749"/> <source>Alt+Shift+P</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1750"/> + <location filename="../UI/UserInterface.py" line="1784"/> <source>Alt+Shift+D</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1768"/> - <source>&Shell</source> - <translation>&Shell</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1768"/> - <source>Alt+Shift+S</source> - <translation></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1785"/> - <source>Alt+Shift+F</source> - <translation></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="1802"/> + <source>&Shell</source> + <translation>&Shell</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1802"/> + <source>Alt+Shift+S</source> + <translation></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1819"/> + <source>Alt+Shift+F</source> + <translation></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1836"/> <source>Alt+Shift+G</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1820"/> + <location filename="../UI/UserInterface.py" line="1854"/> <source>Alt+Shift+T</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1732"/> + <location filename="../UI/UserInterface.py" line="1766"/> <source>Alt+Shift+M</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2087"/> + <location filename="../UI/UserInterface.py" line="2121"/> <source>What's This?</source> <translation>Co je to?</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2087"/> + <location filename="../UI/UserInterface.py" line="2121"/> <source>&What's This?</source> <translation>&Co je to?</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2087"/> + <location filename="../UI/UserInterface.py" line="2121"/> <source>Shift+F1</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2093"/> + <location filename="../UI/UserInterface.py" line="2127"/> <source>Context sensitive help</source> <translation>Kontextově senzitivní nápověda</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2094"/> + <location filename="../UI/UserInterface.py" line="2128"/> <source><b>Display context sensitive help</b><p>In What's This? mode, the mouse cursor shows an arrow with a question mark, and you can click on the interface elements to get a short description of what they do and how to use them. In dialogs, this feature can be accessed using the context help button in the titlebar.</p></source> <translation><b>Zobrazit kontextově senzitivní nápovědu</b><p>V režimu "Co je to?" se nad různými prvky aplikace u kurzoru zobrazí otazník. Když pak kliknete na tyto prvky, zobrazí se krátký popis co daný prvek znamená a jak jej použít. V dialogových oknech se tato funkce spustí tlačítkem kontextové nápovědy na horní liště.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2105"/> + <location filename="../UI/UserInterface.py" line="2139"/> <source>Helpviewer</source> <translation>Prohlížeč nápovědy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2105"/> + <location filename="../UI/UserInterface.py" line="2139"/> <source>&Helpviewer...</source> <translation>Pro&hlížeč nápovědy...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2105"/> + <location filename="../UI/UserInterface.py" line="2139"/> <source>F1</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2111"/> + <location filename="../UI/UserInterface.py" line="2145"/> <source>Open the helpviewer window</source> <translation>Otevřít okno prohlížeče nápovědy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2131"/> + <location filename="../UI/UserInterface.py" line="2165"/> <source>Show Versions</source> <translation>Zobrazit verze</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2131"/> + <location filename="../UI/UserInterface.py" line="2165"/> <source>Show &Versions</source> <translation>Zobrazit &verze</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2135"/> + <location filename="../UI/UserInterface.py" line="2169"/> <source>Display version information</source> <translation>Zobrazit informace o verzích</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2137"/> + <location filename="../UI/UserInterface.py" line="2171"/> <source><b>Show Versions</b><p>Display version information.</p></source> <translation><b>Zobrazit verze</b><p>Zobrazí informace o verzích.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2147"/> + <location filename="../UI/UserInterface.py" line="2181"/> <source>Check for Updates</source> <translation>Zjistit aktualizace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2144"/> + <location filename="../UI/UserInterface.py" line="2178"/> <source>Check for &Updates...</source> <translation>Zjistit akt&ualizace...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3745"/> + <location filename="../UI/UserInterface.py" line="3779"/> <source>Report Bug</source> <translation>Reportovat Bugy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2196"/> + <location filename="../UI/UserInterface.py" line="2230"/> <source>Report &Bug...</source> <translation>Reportovat &Bugy...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2200"/> + <location filename="../UI/UserInterface.py" line="2234"/> <source>Report a bug</source> <translation>Reportovat bug</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2201"/> + <location filename="../UI/UserInterface.py" line="2235"/> <source><b>Report Bug...</b><p>Opens a dialog to report a bug.</p></source> <translation><b>Reportovat bug...</b><p>Otevře se dialog pro reportování bugu.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3279"/> + <location filename="../UI/UserInterface.py" line="3313"/> <source>Unittest</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2223"/> + <location filename="../UI/UserInterface.py" line="2257"/> <source>&Unittest...</source> <translation>&Unittest...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2228"/> + <location filename="../UI/UserInterface.py" line="2262"/> <source>Start unittest dialog</source> <translation>Otevřít dialog unittestu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2229"/> + <location filename="../UI/UserInterface.py" line="2263"/> <source><b>Unittest</b><p>Perform unit tests. The dialog gives you the ability to select and run a unittest suite.</p></source> <translation><b>Unittest</b><p>Provést unittesty. V dialogovém okně se nastaví který test se má provést.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2237"/> + <location filename="../UI/UserInterface.py" line="2271"/> <source>Unittest Restart</source> <translation>Restart unittestu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2237"/> + <location filename="../UI/UserInterface.py" line="2271"/> <source>&Restart Unittest...</source> <translation>&Restart unittestu...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2242"/> + <location filename="../UI/UserInterface.py" line="2276"/> <source>Restart last unittest</source> <translation>Restart posledního unittestu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2243"/> + <location filename="../UI/UserInterface.py" line="2277"/> <source><b>Restart Unittest</b><p>Restart the unittest performed last.</p></source> <translation><b>Restart unittestu</b><p>Restartuje se poslední provedený unittest.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2267"/> + <location filename="../UI/UserInterface.py" line="2301"/> <source>Unittest Script</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2267"/> + <location filename="../UI/UserInterface.py" line="2301"/> <source>Unittest &Script...</source> <translation>Unittest &Script...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2272"/> + <location filename="../UI/UserInterface.py" line="2306"/> <source>Run unittest with current script</source> <translation>Spustit unittest s aktuálním skriptem</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2274"/> + <location filename="../UI/UserInterface.py" line="2308"/> <source><b>Unittest Script</b><p>Run unittest with current script.</p></source> <translation><b>Unittest Script</b><p>Spustit unittest s aktuálním skriptem.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2282"/> + <location filename="../UI/UserInterface.py" line="2316"/> <source>Unittest Project</source> <translation>Unittest Projekt</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2282"/> + <location filename="../UI/UserInterface.py" line="2316"/> <source>Unittest &Project...</source> <translation>Unittest &Projekt...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2287"/> + <location filename="../UI/UserInterface.py" line="2321"/> <source>Run unittest with current project</source> <translation>Spustit unittest s aktuálním projektem</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2289"/> + <location filename="../UI/UserInterface.py" line="2323"/> <source><b>Unittest Project</b><p>Run unittest with current project.</p></source> <translation><b>Unittest projekt</b><p>Spustit unittest s aktuálním projektem.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2350"/> + <location filename="../UI/UserInterface.py" line="2384"/> <source>UI Previewer</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2350"/> + <location filename="../UI/UserInterface.py" line="2384"/> <source>&UI Previewer...</source> <translation>&UI Previewer...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2355"/> + <location filename="../UI/UserInterface.py" line="2389"/> <source>Start the UI Previewer</source> <translation>Spustit UI Previewer</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2356"/> - <source><b>UI Previewer</b><p>Start the UI Previewer.</p></source> - <translation><b>UI Previewer</b><p>Spustit UI Previewer.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2363"/> - <source>Translations Previewer</source> - <translation>Náhled překladů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2363"/> - <source>&Translations Previewer...</source> - <translation>Náhled &překladů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2368"/> - <source>Start the Translations Previewer</source> - <translation>Spustit Previewer překladů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2370"/> - <source><b>Translations Previewer</b><p>Start the Translations Previewer.</p></source> - <translation><b>Previewer překladů</b><p>Spustit Previewer překladů.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2377"/> - <source>Compare Files</source> - <translation>Porovnat soubory</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2377"/> - <source>&Compare Files...</source> - <translation>&Porovnat soubory...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2395"/> - <source>Compare two files</source> - <translation>Porovnat dva soubory</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2383"/> - <source><b>Compare Files</b><p>Open a dialog to compare two files.</p></source> - <translation><b>Porovnat soubory</b><p>Otevře dialog pro porovnání dvou souborů.</p></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="2390"/> + <source><b>UI Previewer</b><p>Start the UI Previewer.</p></source> + <translation><b>UI Previewer</b><p>Spustit UI Previewer.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2397"/> + <source>Translations Previewer</source> + <translation>Náhled překladů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2397"/> + <source>&Translations Previewer...</source> + <translation>Náhled &překladů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2402"/> + <source>Start the Translations Previewer</source> + <translation>Spustit Previewer překladů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2404"/> + <source><b>Translations Previewer</b><p>Start the Translations Previewer.</p></source> + <translation><b>Previewer překladů</b><p>Spustit Previewer překladů.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2411"/> + <source>Compare Files</source> + <translation>Porovnat soubory</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2411"/> + <source>&Compare Files...</source> + <translation>&Porovnat soubory...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2429"/> + <source>Compare two files</source> + <translation>Porovnat dva soubory</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2417"/> + <source><b>Compare Files</b><p>Open a dialog to compare two files.</p></source> + <translation><b>Porovnat soubory</b><p>Otevře dialog pro porovnání dvou souborů.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2424"/> <source>Compare Files side by side</source> <translation>Porovnat soubory stranu proti straně</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2396"/> + <location filename="../UI/UserInterface.py" line="2430"/> <source><b>Compare Files side by side</b><p>Open a dialog to compare two files and show the result side by side.</p></source> <translation><b>Porovnat soubory stranu proti straně</b><p>Otevře dialog pro porovnání souborů a zobrazení rozdílů strany proti straně.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2490"/> + <location filename="../UI/UserInterface.py" line="2524"/> <source>Preferences</source> <translation>Nastavení</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2490"/> + <location filename="../UI/UserInterface.py" line="2524"/> <source>&Preferences...</source> <translation>Na&stavení...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2495"/> + <location filename="../UI/UserInterface.py" line="2529"/> <source>Set the prefered configuration</source> <translation>Nastavení konfigurace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2497"/> + <location filename="../UI/UserInterface.py" line="2531"/> <source><b>Preferences</b><p>Set the configuration items of the application with your prefered values.</p></source> <translation><b>Nastavení</b><p>Upravit konfiguraci aplikace podle požadavků uživatele.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2534"/> + <location filename="../UI/UserInterface.py" line="2568"/> <source>Reload APIs</source> <translation>Obnovit API</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2534"/> - <source>Reload &APIs</source> - <translation>Obnovit &API</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2538"/> - <source>Reload the API information</source> - <translation>Obnovit API nastavení</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2540"/> - <source><b>Reload APIs</b><p>Reload the API information.</p></source> - <translation><b>Obnovit API</b><p>Obnovit API nastavení.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2563"/> - <source>View Profiles</source> - <translation>Profily pohledů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2563"/> - <source>&View Profiles...</source> - <translation>Profily &pohledů...</translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="2568"/> - <source>Configure view profiles</source> - <translation>Konfigurace profilů pohledů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2570"/> - <source><b>View Profiles</b><p>Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.</p></source> - <translation><b>Profily pohledů</b><p>Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2595"/> - <source>Keyboard Shortcuts</source> - <translation>Klávesové zkratky</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2595"/> - <source>Keyboard &Shortcuts...</source> - <translation>Klávesové &zkratky...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2600"/> - <source>Set the keyboard shortcuts</source> - <translation>Nastavení klávesových zkratek</translation> + <source>Reload &APIs</source> + <translation>Obnovit &API</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2572"/> + <source>Reload the API information</source> + <translation>Obnovit API nastavení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2574"/> + <source><b>Reload APIs</b><p>Reload the API information.</p></source> + <translation><b>Obnovit API</b><p>Obnovit API nastavení.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2597"/> + <source>View Profiles</source> + <translation>Profily pohledů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2597"/> + <source>&View Profiles...</source> + <translation>Profily &pohledů...</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2602"/> - <source><b>Keyboard Shortcuts</b><p>Set the keyboard shortcuts of the application with your prefered values.</p></source> - <translation><b>Klávesové zkratky</b><p>Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="6217"/> - <source>Export Keyboard Shortcuts</source> - <translation>Exportovat klávesové zkratky</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2610"/> - <source>&Export Keyboard Shortcuts...</source> - <translation>&Exportovat klávesové zkratky...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2615"/> - <source>Export the keyboard shortcuts</source> - <translation>Export klávesových zkratek</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2617"/> - <source><b>Export Keyboard Shortcuts</b><p>Export the keyboard shortcuts of the application.</p></source> - <translation><b>Export klávesových zkratek</b><p>Exportují se klávesové zkratky z aplikace.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="6241"/> - <source>Import Keyboard Shortcuts</source> - <translation>Import klávesových zkratek</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2624"/> - <source>&Import Keyboard Shortcuts...</source> - <translation>&Import klávesových zkratek...</translation> + <source>Configure view profiles</source> + <translation>Konfigurace profilů pohledů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2604"/> + <source><b>View Profiles</b><p>Configure the view profiles. With this dialog you may set the visibility of the various windows for the predetermined view profiles.</p></source> + <translation><b>Profily pohledů</b><p>Konfigurace profilu pohledů. V tomto dialogu můžete nastavit zobrazování různých typů pohledů - editačních oken.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2629"/> + <source>Keyboard Shortcuts</source> + <translation>Klávesové zkratky</translation> </message> <message> <location filename="../UI/UserInterface.py" line="2629"/> + <source>Keyboard &Shortcuts...</source> + <translation>Klávesové &zkratky...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2634"/> + <source>Set the keyboard shortcuts</source> + <translation>Nastavení klávesových zkratek</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2636"/> + <source><b>Keyboard Shortcuts</b><p>Set the keyboard shortcuts of the application with your prefered values.</p></source> + <translation><b>Klávesové zkratky</b><p>Nastavení klávesových zkratek aplikace podle zvyklostí uživatele.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="6251"/> + <source>Export Keyboard Shortcuts</source> + <translation>Exportovat klávesové zkratky</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2644"/> + <source>&Export Keyboard Shortcuts...</source> + <translation>&Exportovat klávesové zkratky...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2649"/> + <source>Export the keyboard shortcuts</source> + <translation>Export klávesových zkratek</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2651"/> + <source><b>Export Keyboard Shortcuts</b><p>Export the keyboard shortcuts of the application.</p></source> + <translation><b>Export klávesových zkratek</b><p>Exportují se klávesové zkratky z aplikace.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="6275"/> + <source>Import Keyboard Shortcuts</source> + <translation>Import klávesových zkratek</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2658"/> + <source>&Import Keyboard Shortcuts...</source> + <translation>&Import klávesových zkratek...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2663"/> <source>Import the keyboard shortcuts</source> <translation>Import klávesových zkratek</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2631"/> + <location filename="../UI/UserInterface.py" line="2665"/> <source><b>Import Keyboard Shortcuts</b><p>Import the keyboard shortcuts of the application.</p></source> <translation><b>Import klávesových zkratek</b><p>Do aplikace se importují klávesové zkratky.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2689"/> + <location filename="../UI/UserInterface.py" line="2723"/> <source>Activate current editor</source> <translation>Aktivovat aktuální editor</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2689"/> + <location filename="../UI/UserInterface.py" line="2723"/> <source>Alt+Shift+E</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2699"/> + <location filename="../UI/UserInterface.py" line="2733"/> <source>Ctrl+Alt+Tab</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2708"/> + <location filename="../UI/UserInterface.py" line="2742"/> <source>Shift+Ctrl+Alt+Tab</source> <translation></translation> </message> @@ -78398,72 +78418,72 @@ <translation type="obsolete">Otevřít PyQt4 dokumentaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2889"/> + <location filename="../UI/UserInterface.py" line="2923"/> <source>Eric API Documentation</source> <translation>Eric API dokumentace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2889"/> + <location filename="../UI/UserInterface.py" line="2923"/> <source>&Eric API Documentation</source> <translation>&Eric API dokumentace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2893"/> + <location filename="../UI/UserInterface.py" line="2927"/> <source>Open Eric API Documentation</source> <translation>Otevřít Eric API dokumentaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3074"/> + <location filename="../UI/UserInterface.py" line="3108"/> <source>&Unittest</source> <translation>&Unittest</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3018"/> + <location filename="../UI/UserInterface.py" line="3052"/> <source>E&xtras</source> <translation>E&xtra funkce</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3091"/> + <location filename="../UI/UserInterface.py" line="3125"/> <source>Select Tool Group</source> <translation>Vybrat skupinu nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3102"/> + <location filename="../UI/UserInterface.py" line="3136"/> <source>Se&ttings</source> <translation>Nas&tavení</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3132"/> + <location filename="../UI/UserInterface.py" line="3166"/> <source>&Window</source> <translation>O&kno</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3193"/> + <location filename="../UI/UserInterface.py" line="3227"/> <source>&Toolbars</source> <translation>&Toolbary</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3207"/> + <location filename="../UI/UserInterface.py" line="3241"/> <source>&Help</source> <translation>&Nápověda</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3278"/> + <location filename="../UI/UserInterface.py" line="3312"/> <source>Tools</source> <translation>Nástroje</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3280"/> + <location filename="../UI/UserInterface.py" line="3314"/> <source>Settings</source> <translation>Nastavení</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5147"/> + <location filename="../UI/UserInterface.py" line="5181"/> <source>Help</source> <translation>Nápověda</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3282"/> + <location filename="../UI/UserInterface.py" line="3316"/> <source>Profiles</source> <translation>Profily</translation> </message> @@ -78473,27 +78493,27 @@ <translation type="obsolete"><h3>Čísla verzí</h3><table></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7214"/> + <location filename="../UI/UserInterface.py" line="7248"/> <source></table></source> <translation></table></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3745"/> + <location filename="../UI/UserInterface.py" line="3779"/> <source>Email address or mail server address is empty. Please configure your Email settings in the Preferences Dialog.</source> <translation>Emailová adresa nebo mail server adresa jsou prázdné. Prosím, nastavte váš email v dialogovém okně Nastavení.</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4146"/> + <location filename="../UI/UserInterface.py" line="4180"/> <source>Configure Tool Groups ...</source> <translation>Konfigurace Skupin nástrojů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4150"/> + <location filename="../UI/UserInterface.py" line="4184"/> <source>Configure current Tool Group ...</source> <translation>Konfigurace aktuální skupiny nástrojů...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4101"/> + <location filename="../UI/UserInterface.py" line="4135"/> <source>&Builtin Tools</source> <translation>&Vestavěné nástroje</translation> </message> @@ -78503,32 +78523,32 @@ <translation type="obsolete">V aktuálním projektu není definován hlavní skript. Zrušeno</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5275"/> + <location filename="../UI/UserInterface.py" line="5309"/> <source>Problem</source> <translation>Problém</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5470"/> + <location filename="../UI/UserInterface.py" line="5504"/> <source>Process Generation Error</source> <translation>Chyba v procesu generování</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5147"/> - <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source> - <translation>Aktuálně není vybrán žádný prohlížeč. Prosím otevřete Nastavení a nějaký vyberte.</translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="5181"/> + <source>Currently no custom viewer is selected. Please use the preferences dialog to specify one.</source> + <translation>Aktuálně není vybrán žádný prohlížeč. Prosím otevřete Nastavení a nějaký vyberte.</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="5215"/> <source><p>Could not start the help viewer.<br>Ensure that it is available as <b>hh</b>.</p></source> <translation><p>Nemohu spustit prohlížeč nápovědy.<br>Ověřte jestli je dostupný jako <b>hh</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5809"/> + <location filename="../UI/UserInterface.py" line="5843"/> <source>Documentation Missing</source> <translation>Dokumentace chybí</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5792"/> + <location filename="../UI/UserInterface.py" line="5826"/> <source>Documentation</source> <translation>Dokumentace</translation> </message> @@ -78538,472 +78558,472 @@ <translation type="obsolete"><p>Počátek dokumentace PySide nebyl nastaven.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6411"/> + <location filename="../UI/UserInterface.py" line="6445"/> <source>Save tasks</source> <translation>Uložit úlohy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6440"/> + <location filename="../UI/UserInterface.py" line="6474"/> <source>Read tasks</source> <translation>Načíst úlohy</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6804"/> + <location filename="../UI/UserInterface.py" line="6838"/> <source>Drop Error</source> <translation>Zahodit chybu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7175"/> + <location filename="../UI/UserInterface.py" line="7209"/> <source>Error during updates check</source> <translation>Chyba během zjišťování aktualizací</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7156"/> + <location filename="../UI/UserInterface.py" line="7190"/> <source>Update available</source> <translation>Byla nalezena aktualizace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2552"/> - <source>Show external tools</source> - <translation>Zobrazit externí nástroje</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2547"/> - <source>Show external &tools</source> - <translation>Zobrazit externí nás&troje</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="7175"/> - <source>Could not perform updates check.</source> - <translation>Kontrolu updatů nelze provést.</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="6989"/> - <source>&Cancel</source> - <translation>&Zrušit</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="7251"/> - <source>First time usage</source> - <translation>Spuštěno poprvé</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="270"/> - <source>Initializing Plugin Manager...</source> - <translation>Inicializace Plugin manažera...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3055"/> - <source>P&lugins</source> - <translation>P&luginy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3283"/> - <source>Plugins</source> - <translation>Pluginy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2726"/> - <source>Plugin Infos</source> - <translation>Plugin Infa</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2730"/> - <source>Show Plugin Infos</source> - <translation>Zobrazit Plugin infa</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2731"/> - <source><b>Plugin Infos...</b><p>This opens a dialog, that show some information about loaded plugins.</p></source> - <translation><b>Plugin Infa</b><p>Otevře dialog, který zobrazí informace o načtených pluginech.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2726"/> - <source>&Plugin Infos...</source> - <translation>&Plugin Infa...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="4118"/> - <source>&Plugin Tools</source> - <translation>&Plugin nástroje</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2757"/> - <source>Uninstall Plugin</source> - <translation>Odinstalovat plugin</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2752"/> - <source>&Uninstall Plugin...</source> - <translation>&Odinstalovat plugin...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2758"/> - <source><b>Uninstall Plugin...</b><p>This opens a dialog to uninstall a plugin.</p></source> - <translation><b>Odinstalovat plugin...</b><p>Otevře dialog pro odinstalaci pluginu.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="4267"/> - <source>&Show all</source> - <translation>&Zobrazit vše</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="4269"/> - <source>&Hide all</source> - <translation>&Skrýt vše</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="670"/> - <source>Activating Plugins...</source> - <translation>Aktivace pluginů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="3028"/> - <source>Wi&zards</source> - <translation>&Průvodci</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2155"/> - <source>Show downloadable versions</source> - <translation>Zobrazit verze ke stažení</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2155"/> - <source>Show &downloadable versions...</source> - <translation>Zobrazit verze pro &download...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2159"/> - <source>Show the versions available for download</source> - <translation>Zobrazit dostupné verze ke stažení</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="7199"/> - <source><h3>Available versions</h3><table></source> - <translation><h3>Dostupné verze</h3><table></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2765"/> - <source>Plugin Repository</source> - <translation>Repozitář pluginů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2765"/> - <source>Plugin &Repository...</source> - <translation>&Repozitář pluginů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2770"/> - <source>Show Plugins available for download</source> - <translation>Zobrazit pluginy dostupné ke stažení</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2772"/> - <source><b>Plugin Repository...</b><p>This opens a dialog, that shows a list of plugins available on the Internet.</p></source> - <translation><b>Repozitář pluginů...</b><p>Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2744"/> - <source>Install Plugins</source> - <translation>Instalovat pluginy</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2739"/> - <source>&Install Plugins...</source> - <translation>&Instalovat pluginy...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2745"/> - <source><b>Install Plugins...</b><p>This opens a dialog to install or update plugins.</p></source> - <translation><b>Instalovat pluginy...</b><p>Otevře dialog pro instalaci nebo aktualizaci pluginů.</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2422"/> - <source>Mini Editor</source> - <translation></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2417"/> - <source>Mini &Editor...</source> - <translation>Mini &Editor...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2423"/> - <source><b>Mini Editor</b><p>Open a dialog with a simplified editor.</p></source> - <translation><b>Mini editor</b><p>Otevře se okno s jednoduchým editorem</p></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2580"/> - <source>Toolbars</source> - <translation>Lišty nástrojů</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2580"/> - <source>Tool&bars...</source> - <translation>&Lišty nástrojů...</translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="2585"/> - <source>Configure toolbars</source> - <translation>Konfigurace lišt nástrojů</translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="2586"/> + <source>Show external tools</source> + <translation>Zobrazit externí nástroje</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2581"/> + <source>Show external &tools</source> + <translation>Zobrazit externí nás&troje</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="7209"/> + <source>Could not perform updates check.</source> + <translation>Kontrolu updatů nelze provést.</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="7023"/> + <source>&Cancel</source> + <translation>&Zrušit</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="7285"/> + <source>First time usage</source> + <translation>Spuštěno poprvé</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="271"/> + <source>Initializing Plugin Manager...</source> + <translation>Inicializace Plugin manažera...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="3089"/> + <source>P&lugins</source> + <translation>P&luginy</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="3317"/> + <source>Plugins</source> + <translation>Pluginy</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2760"/> + <source>Plugin Infos</source> + <translation>Plugin Infa</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2764"/> + <source>Show Plugin Infos</source> + <translation>Zobrazit Plugin infa</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2765"/> + <source><b>Plugin Infos...</b><p>This opens a dialog, that show some information about loaded plugins.</p></source> + <translation><b>Plugin Infa</b><p>Otevře dialog, který zobrazí informace o načtených pluginech.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2760"/> + <source>&Plugin Infos...</source> + <translation>&Plugin Infa...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="4152"/> + <source>&Plugin Tools</source> + <translation>&Plugin nástroje</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2791"/> + <source>Uninstall Plugin</source> + <translation>Odinstalovat plugin</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2786"/> + <source>&Uninstall Plugin...</source> + <translation>&Odinstalovat plugin...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2792"/> + <source><b>Uninstall Plugin...</b><p>This opens a dialog to uninstall a plugin.</p></source> + <translation><b>Odinstalovat plugin...</b><p>Otevře dialog pro odinstalaci pluginu.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="4301"/> + <source>&Show all</source> + <translation>&Zobrazit vše</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="4303"/> + <source>&Hide all</source> + <translation>&Skrýt vše</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="671"/> + <source>Activating Plugins...</source> + <translation>Aktivace pluginů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="3062"/> + <source>Wi&zards</source> + <translation>&Průvodci</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2189"/> + <source>Show downloadable versions</source> + <translation>Zobrazit verze ke stažení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2189"/> + <source>Show &downloadable versions...</source> + <translation>Zobrazit verze pro &download...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2193"/> + <source>Show the versions available for download</source> + <translation>Zobrazit dostupné verze ke stažení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="7233"/> + <source><h3>Available versions</h3><table></source> + <translation><h3>Dostupné verze</h3><table></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2799"/> + <source>Plugin Repository</source> + <translation>Repozitář pluginů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2799"/> + <source>Plugin &Repository...</source> + <translation>&Repozitář pluginů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2804"/> + <source>Show Plugins available for download</source> + <translation>Zobrazit pluginy dostupné ke stažení</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2806"/> + <source><b>Plugin Repository...</b><p>This opens a dialog, that shows a list of plugins available on the Internet.</p></source> + <translation><b>Repozitář pluginů...</b><p>Otevře se dialog, který zobrazí seznam pluginů dostupných ke stažení přes internet.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2778"/> + <source>Install Plugins</source> + <translation>Instalovat pluginy</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2773"/> + <source>&Install Plugins...</source> + <translation>&Instalovat pluginy...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2779"/> + <source><b>Install Plugins...</b><p>This opens a dialog to install or update plugins.</p></source> + <translation><b>Instalovat pluginy...</b><p>Otevře dialog pro instalaci nebo aktualizaci pluginů.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2456"/> + <source>Mini Editor</source> + <translation></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2451"/> + <source>Mini &Editor...</source> + <translation>Mini &Editor...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2457"/> + <source><b>Mini Editor</b><p>Open a dialog with a simplified editor.</p></source> + <translation><b>Mini editor</b><p>Otevře se okno s jednoduchým editorem</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2614"/> + <source>Toolbars</source> + <translation>Lišty nástrojů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2614"/> + <source>Tool&bars...</source> + <translation>&Lišty nástrojů...</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2619"/> + <source>Configure toolbars</source> + <translation>Konfigurace lišt nástrojů</translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="2620"/> <source><b>Toolbars</b><p>Configure the toolbars. With this dialog you may change the actions shown on the various toolbars and define your own toolbars.</p></source> <translation><b>Listy nástrojů</b><p>Konfigurace lišt nástrojů. S tímto dialogem můžete změnit akce zobrazené v různých nástrojových lištách nebo definovat své vlastní nástrojové lišty.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="686"/> + <location filename="../UI/UserInterface.py" line="687"/> <source>Restoring Toolbarmanager...</source> <translation>Obnovit manažer nástrojových lišt...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5415"/> + <location filename="../UI/UserInterface.py" line="5449"/> <source>External Tools</source> <translation>Externí nástroje</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1732"/> + <location filename="../UI/UserInterface.py" line="1766"/> <source>Multiproject-Viewer</source> <translation>Prohlížeč multiprojektu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1732"/> + <location filename="../UI/UserInterface.py" line="1766"/> <source>&Multiproject-Viewer</source> <translation>Prohlížeč &multiprojektu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6536"/> + <location filename="../UI/UserInterface.py" line="6570"/> <source>Save session</source> <translation>Uložit relaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6520"/> + <location filename="../UI/UserInterface.py" line="6554"/> <source>Read session</source> <translation>Načíst relaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3459"/> + <location filename="../UI/UserInterface.py" line="3493"/> <source><p>This part of the status bar displays the current editors encoding.</p></source> <translation><p>Tato část status baru zobrazuje aktuální kódování editorů.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3473"/> + <location filename="../UI/UserInterface.py" line="3507"/> <source><p>This part of the status bar displays an indication of the current editors files writability.</p></source> <translation><p>Tato část status baru zobrazuje indikátor práva zápisu editoru do souboru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2208"/> + <location filename="../UI/UserInterface.py" line="2242"/> <source>Request Feature</source> <translation>Požadavek na vlastnost</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2208"/> + <location filename="../UI/UserInterface.py" line="2242"/> <source>Request &Feature...</source> <translation>&Požadavek na vlastnost...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2212"/> + <location filename="../UI/UserInterface.py" line="2246"/> <source>Send a feature request</source> <translation>Poslat požadavek na vlastnost</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2214"/> + <location filename="../UI/UserInterface.py" line="2248"/> <source><b>Request Feature...</b><p>Opens a dialog to send a feature request.</p></source> <translation><b>Požadavek na vlastnost...</b><p>Otevře dialog pro odeslání požadavku.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3452"/> + <location filename="../UI/UserInterface.py" line="3486"/> <source><p>This part of the status bar displays the current editors language.</p></source> <translation><p>Tato část status baru zobrazuje aktuální jazyk editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3480"/> + <location filename="../UI/UserInterface.py" line="3514"/> <source><p>This part of the status bar displays the line number of the current editor.</p></source> <translation><p>Tato část status baru zobrazuje číslo řádku v aktuálním editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3487"/> + <location filename="../UI/UserInterface.py" line="3521"/> <source><p>This part of the status bar displays the cursor position of the current editor.</p></source> <translation><p>Tato část status baru zobrazuje pozici kurzoru v aktuálním editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1882"/> + <location filename="../UI/UserInterface.py" line="1916"/> <source>Horizontal Toolbox</source> <translation>Vodorovná nástrojová lišta</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1882"/> + <location filename="../UI/UserInterface.py" line="1916"/> <source>&Horizontal Toolbox</source> <translation>&Horizontální lista nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1886"/> + <location filename="../UI/UserInterface.py" line="1920"/> <source>Toggle the Horizontal Toolbox window</source> <translation>Přepnout na vodorovnou lištu nástrojů</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1888"/> + <location filename="../UI/UserInterface.py" line="1922"/> <source><b>Toggle the Horizontal Toolbox window</b><p>If the Horizontal Toolbox window is hidden then display it. If it is displayed then close it.</p></source> <translation><b>Přepnout vodorovnou nástrojovou lištu</b><p>Pokud je vodorovná nástrojová lišta skryta, tak se zobrazí. Je-li zobrazena, skryje se.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4065"/> + <location filename="../UI/UserInterface.py" line="4099"/> <source>Restart application</source> <translation>Restartovat aplikaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="4065"/> + <location filename="../UI/UserInterface.py" line="4099"/> <source>The application needs to be restarted. Do it now?</source> <translation>Aplikace potřebuje restartovat. Má se provést nyní?</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1839"/> + <location filename="../UI/UserInterface.py" line="1873"/> <source>Alt+Shift+A</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3064"/> + <location filename="../UI/UserInterface.py" line="3098"/> <source>Configure...</source> <translation>Konfigurovat...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3466"/> + <location filename="../UI/UserInterface.py" line="3500"/> <source><p>This part of the status bar displays the current editors eol setting.</p></source> <translation><p>Tato část status baru zobrazuje eol nastavení v aktuálním editoru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2717"/> + <location filename="../UI/UserInterface.py" line="2751"/> <source>Switch between tabs</source> <translation>Přepnout mezi taby</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2717"/> + <location filename="../UI/UserInterface.py" line="2751"/> <source>Ctrl+1</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2506"/> + <location filename="../UI/UserInterface.py" line="2540"/> <source>Export Preferences</source> <translation>Exportovat předvolby</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2506"/> + <location filename="../UI/UserInterface.py" line="2540"/> <source>E&xport Preferences...</source> <translation>E&xportovat předvolby...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2511"/> + <location filename="../UI/UserInterface.py" line="2545"/> <source>Export the current configuration</source> <translation>Export aktuální konfigurace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2513"/> + <location filename="../UI/UserInterface.py" line="2547"/> <source><b>Export Preferences</b><p>Export the current configuration to a file.</p></source> <translation><b>Export předvoleb</b><p>Export aktuální konfigurace do souboru.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2520"/> + <location filename="../UI/UserInterface.py" line="2554"/> <source>Import Preferences</source> <translation>Import předvoleb</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2520"/> + <location filename="../UI/UserInterface.py" line="2554"/> <source>I&mport Preferences...</source> <translation>I&mport předvoleb...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2525"/> + <location filename="../UI/UserInterface.py" line="2559"/> <source>Import a previously exported configuration</source> <translation>Import dříve exportované konfigurace</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2527"/> + <location filename="../UI/UserInterface.py" line="2561"/> <source><b>Import Preferences</b><p>Import a previously exported configuration.</p></source> <translation><b>Import předvoleb</b><p>Import dříve exportované konfigurace.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2699"/> + <location filename="../UI/UserInterface.py" line="2733"/> <source>Show next</source> <translation>Zobrazit další</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2708"/> + <location filename="../UI/UserInterface.py" line="2742"/> <source>Show previous</source> <translation>Zobrazit předchozí</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1896"/> + <location filename="../UI/UserInterface.py" line="1930"/> <source>Left Sidebar</source> <translation>Levé menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1896"/> + <location filename="../UI/UserInterface.py" line="1930"/> <source>&Left Sidebar</source> <translation>&Levé menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1900"/> + <location filename="../UI/UserInterface.py" line="1934"/> <source>Toggle the left sidebar window</source> <translation>Přepnout okno levého menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1901"/> + <location filename="../UI/UserInterface.py" line="1935"/> <source><b>Toggle the left sidebar window</b><p>If the left sidebar window is hidden then display it. If it is displayed then close it.</p></source> <translation><b>Přepnout okno levého menu</b><p>Je-li okno levého menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1923"/> + <location filename="../UI/UserInterface.py" line="1957"/> <source>Bottom Sidebar</source> <translation>Dolní menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1923"/> + <location filename="../UI/UserInterface.py" line="1957"/> <source>&Bottom Sidebar</source> <translation>&Dolní menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1927"/> + <location filename="../UI/UserInterface.py" line="1961"/> <source>Toggle the bottom sidebar window</source> <translation>Přepnout okno dolního menu</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1929"/> + <location filename="../UI/UserInterface.py" line="1963"/> <source><b>Toggle the bottom sidebar window</b><p>If the bottom sidebar window is hidden then display it. If it is displayed then close it.</p></source> <translation><b>Přepnout okno dolního menu</b><p>Je-li okno dolního menu skryto, tak se zobrazí. Je-li zobrazeno, skryje se.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1750"/> + <location filename="../UI/UserInterface.py" line="1784"/> <source>&Debug-Viewer</source> <translation>Prohlížeč &debugeru</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2404"/> + <location filename="../UI/UserInterface.py" line="2438"/> <source>SQL Browser</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2404"/> + <location filename="../UI/UserInterface.py" line="2438"/> <source>SQL &Browser...</source> <translation>SQL &Browser...</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2409"/> + <location filename="../UI/UserInterface.py" line="2443"/> <source>Browse a SQL database</source> <translation>Procházet SQL databázi</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2410"/> + <location filename="../UI/UserInterface.py" line="2444"/> <source><b>SQL Browser</b><p>Browse a SQL database.</p></source> <translation><b>SQL Browser</b><p>Procházet SQL databázi.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2461"/> + <location filename="../UI/UserInterface.py" line="2495"/> <source>Icon Editor</source> <translation>Editor ikon</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2461"/> + <location filename="../UI/UserInterface.py" line="2495"/> <source>&Icon Editor...</source> <translation>Editor &ikon...</translation> </message> @@ -79028,747 +79048,747 @@ <translation type="obsolete">Otevřít PySide dokumentaci</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1569"/> + <location filename="../UI/UserInterface.py" line="1603"/> <source>{0} - Passive Mode</source> <translation>{0} - Pasivní mód</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1576"/> + <location filename="../UI/UserInterface.py" line="1610"/> <source>{0} - {1} - Passive Mode</source> <translation>{0} - {1} - pasivní mód</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1580"/> + <location filename="../UI/UserInterface.py" line="1614"/> <source>{0} - {1} - {2} - Passive Mode</source> <translation>{0} - {1} - {2} - pasivní mód</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3563"/> + <location filename="../UI/UserInterface.py" line="3597"/> <source>External Tools/{0}</source> <translation>Externí nástroje/{0}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5275"/> + <location filename="../UI/UserInterface.py" line="5309"/> <source><p>The file <b>{0}</b> does not exist or is zero length.</p></source> <translation><p>Soubor <b>{0}</b> neexistuje nebo má nulovou délku.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5000"/> + <location filename="../UI/UserInterface.py" line="5034"/> <source><p>Could not start Qt-Designer.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit Qt-Designer.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5070"/> + <location filename="../UI/UserInterface.py" line="5104"/> <source><p>Could not start Qt-Linguist.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit Qt-Linguist.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5114"/> + <location filename="../UI/UserInterface.py" line="5148"/> <source><p>Could not start Qt-Assistant.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit Qt-Assistant.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5161"/> + <location filename="../UI/UserInterface.py" line="5195"/> <source><p>Could not start custom viewer.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit aktuální prohlížeč.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5231"/> + <location filename="../UI/UserInterface.py" line="5265"/> <source><p>Could not start UI Previewer.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit UI Previewer.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5288"/> + <location filename="../UI/UserInterface.py" line="5322"/> <source><p>Could not start Translation Previewer.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nemohu spustit Previewer překladů.<br>Ověřte jestli je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5311"/> + <location filename="../UI/UserInterface.py" line="5345"/> <source><p>Could not start SQL Browser.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation><p>Nelze spustit SQL Browser.<br>Ujistěte se, že je dostupný jako <b>{0}</b>.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5406"/> + <location filename="../UI/UserInterface.py" line="5440"/> <source>No tool entry found for external tool '{0}' in tool group '{1}'.</source> <translation>V externím nástroji '{0}' ve skupině '{1}' nebyl záznam nástroje nalezen.</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5415"/> + <location filename="../UI/UserInterface.py" line="5449"/> <source>No toolgroup entry '{0}' found.</source> <translation>Skupina nástrojů '{0}' nenalezena. </translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5454"/> + <location filename="../UI/UserInterface.py" line="5488"/> <source>Starting process '{0} {1}'. </source> <translation>Spouštím proces '{0} {1}'. </translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5470"/> + <location filename="../UI/UserInterface.py" line="5504"/> <source><p>Could not start the tool entry <b>{0}</b>.<br>Ensure that it is available as <b>{1}</b>.</p></source> <translation><p>Nemohu spustit příkaz <b>{0}</b><br>Ověřte jestli je dostupný jako <b>{1}</b>. </p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5548"/> + <location filename="../UI/UserInterface.py" line="5582"/> <source>Process '{0}' has exited. </source> <translation>Proces '{0}' byl ukončen. </translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5809"/> + <location filename="../UI/UserInterface.py" line="5843"/> <source><p>The documentation starting point "<b>{0}</b>" could not be found.</p></source> <translation><p>Adresář dokumentace "<b>{0}</b>" nebyl nalezen.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6411"/> + <location filename="../UI/UserInterface.py" line="6445"/> <source><p>The tasks file <b>{0}</b> could not be written.</p></source> <translation><p>Do souboru s úlohami <b>{0}</b> nelze zapisovat.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6440"/> - <source><p>The tasks file <b>{0}</b> could not be read.</p></source> - <translation><p>Soubor s úlohami <b>{0}</b> nelze načíst.</p></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="6474"/> + <source><p>The tasks file <b>{0}</b> could not be read.</p></source> + <translation><p>Soubor s úlohami <b>{0}</b> nelze načíst.</p></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="6508"/> <source><p>The session file <b>{0}</b> could not be written.</p></source> <translation><p>Zápis do souboru relace session <b>{0}</b> se nezdařil.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6520"/> + <location filename="../UI/UserInterface.py" line="6554"/> <source><p>The session file <b>{0}</b> could not be read.</p></source> <translation><p>Soubor relace session <b>{0}</b> nelze přečíst.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6804"/> + <location filename="../UI/UserInterface.py" line="6838"/> <source><p><b>{0}</b> is not a file.</p></source> <translation><p><b>{0}</b> není soubor.</p></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6998"/> + <location filename="../UI/UserInterface.py" line="7032"/> <source>Trying host {0}</source> <translation>Zkouším host {0}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1122"/> + <location filename="../UI/UserInterface.py" line="1123"/> <source>Cooperation</source> <translation>Spolupráce</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1938"/> + <location filename="../UI/UserInterface.py" line="1972"/> <source>Alt+Shift+O</source> <translation></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1178"/> + <location filename="../UI/UserInterface.py" line="1179"/> <source>Symbols</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1975"/> + <location filename="../UI/UserInterface.py" line="2009"/> <source>Alt+Shift+Y</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1187"/> + <location filename="../UI/UserInterface.py" line="1188"/> <source>Numbers</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1994"/> + <location filename="../UI/UserInterface.py" line="2028"/> <source>Alt+Shift+B</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6241"/> + <location filename="../UI/UserInterface.py" line="6275"/> <source>Keyboard shortcut file (*.e4k)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2867"/> + <location filename="../UI/UserInterface.py" line="2901"/> <source>Python 3 Documentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2867"/> + <location filename="../UI/UserInterface.py" line="2901"/> <source>Python &3 Documentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2871"/> + <location filename="../UI/UserInterface.py" line="2905"/> <source>Open Python 3 Documentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7064"/> + <location filename="../UI/UserInterface.py" line="7098"/> <source>Error getting versions information</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7057"/> + <location filename="../UI/UserInterface.py" line="7091"/> <source>The versions information could not be downloaded. Please go online and try again.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6009"/> + <location filename="../UI/UserInterface.py" line="6043"/> <source>Open Browser</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6009"/> + <location filename="../UI/UserInterface.py" line="6043"/> <source>Could not start a web browser</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7064"/> + <location filename="../UI/UserInterface.py" line="7098"/> <source>The versions information could not be downloaded for the last 7 days. Please go online and try again.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="695"/> + <location filename="../UI/UserInterface.py" line="696"/> <source>Setting View Profile...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="708"/> + <location filename="../UI/UserInterface.py" line="709"/> <source>Reading Tasks...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="713"/> + <location filename="../UI/UserInterface.py" line="714"/> <source>Reading Templates...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="718"/> + <location filename="../UI/UserInterface.py" line="719"/> <source>Starting Debugger...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1662"/> + <location filename="../UI/UserInterface.py" line="1696"/> <source>New Window</source> <translation type="unfinished">Nové okno</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1662"/> + <location filename="../UI/UserInterface.py" line="1696"/> <source>New &Window</source> <translation type="unfinished">&Nové okno</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1662"/> + <location filename="../UI/UserInterface.py" line="1696"/> <source>Ctrl+Shift+N</source> <comment>File|New Window</comment> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2251"/> + <location filename="../UI/UserInterface.py" line="2285"/> <source>Unittest Rerun Failed</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2251"/> + <location filename="../UI/UserInterface.py" line="2285"/> <source>Rerun Failed Tests...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2256"/> + <location filename="../UI/UserInterface.py" line="2290"/> <source>Rerun failed tests of the last run</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2258"/> + <location filename="../UI/UserInterface.py" line="2292"/> <source><b>Rerun Failed Tests</b><p>Rerun all tests that failed during the last unittest run.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2390"/> + <location filename="../UI/UserInterface.py" line="2424"/> <source>Compare &Files side by side...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2475"/> + <location filename="../UI/UserInterface.py" line="2509"/> <source>Snapshot</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2475"/> + <location filename="../UI/UserInterface.py" line="2509"/> <source>&Snapshot...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2480"/> + <location filename="../UI/UserInterface.py" line="2514"/> <source>Take snapshots of a screen region</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2482"/> + <location filename="../UI/UserInterface.py" line="2516"/> <source><b>Snapshot</b><p>This opens a dialog to take snapshots of a screen region.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5383"/> + <location filename="../UI/UserInterface.py" line="5417"/> <source><p>Could not start Snapshot tool.<br>Ensure that it is available as <b>{0}</b>.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="7270"/> + <location filename="../UI/UserInterface.py" line="7304"/> <source>Select Workspace Directory</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1857"/> + <location filename="../UI/UserInterface.py" line="1891"/> <source>Left Toolbox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1869"/> + <location filename="../UI/UserInterface.py" line="1903"/> <source>Right Toolbox</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1721"/> + <location filename="../UI/UserInterface.py" line="1755"/> <source>Switch the input focus to the Project-Viewer window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1723"/> + <location filename="../UI/UserInterface.py" line="1757"/> <source><b>Activate Project-Viewer</b><p>This switches the input focus to the Project-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1738"/> + <location filename="../UI/UserInterface.py" line="1772"/> <source>Switch the input focus to the Multiproject-Viewer window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1740"/> - <source><b>Activate Multiproject-Viewer</b><p>This switches the input focus to the Multiproject-Viewer window.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1756"/> - <source>Switch the input focus to the Debug-Viewer window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1758"/> - <source><b>Activate Debug-Viewer</b><p>This switches the input focus to the Debug-Viewer window.</p></source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="1774"/> - <source>Switch the input focus to the Shell window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1776"/> - <source><b>Activate Shell</b><p>This switches the input focus to the Shell window.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1785"/> - <source>&File-Browser</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1791"/> - <source>Switch the input focus to the File-Browser window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1793"/> - <source><b>Activate File-Browser</b><p>This switches the input focus to the File-Browser window.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1802"/> - <source>Lo&g-Viewer</source> + <source><b>Activate Multiproject-Viewer</b><p>This switches the input focus to the Multiproject-Viewer window.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1790"/> + <source>Switch the input focus to the Debug-Viewer window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1792"/> + <source><b>Activate Debug-Viewer</b><p>This switches the input focus to the Debug-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> <location filename="../UI/UserInterface.py" line="1808"/> - <source>Switch the input focus to the Log-Viewer window.</source> + <source>Switch the input focus to the Shell window.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../UI/UserInterface.py" line="1810"/> + <source><b>Activate Shell</b><p>This switches the input focus to the Shell window.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1819"/> + <source>&File-Browser</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1825"/> + <source>Switch the input focus to the File-Browser window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1827"/> + <source><b>Activate File-Browser</b><p>This switches the input focus to the File-Browser window.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1836"/> + <source>Lo&g-Viewer</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1842"/> + <source>Switch the input focus to the Log-Viewer window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1844"/> <source><b>Activate Log-Viewer</b><p>This switches the input focus to the Log-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1820"/> + <location filename="../UI/UserInterface.py" line="1854"/> <source>&Task-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1826"/> - <source>Switch the input focus to the Task-Viewer window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1839"/> - <source>Templ&ate-Viewer</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1845"/> - <source>Switch the input focus to the Template-Viewer window.</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1847"/> - <source><b>Activate Template-Viewer</b><p>This switches the input focus to the Template-Viewer window.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1857"/> - <source>&Left Toolbox</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../UI/UserInterface.py" line="1860"/> - <source>Toggle the Left Toolbox window</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1861"/> - <source><b>Toggle the Left Toolbox window</b><p>If the Left Toolbox window is hidden then display it. If it is displayed then close it.</p></source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../UI/UserInterface.py" line="1869"/> - <source>&Right Toolbox</source> + <source>Switch the input focus to the Task-Viewer window.</source> <translation type="unfinished"></translation> </message> <message> <location filename="../UI/UserInterface.py" line="1873"/> + <source>Templ&ate-Viewer</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1879"/> + <source>Switch the input focus to the Template-Viewer window.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1881"/> + <source><b>Activate Template-Viewer</b><p>This switches the input focus to the Template-Viewer window.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1891"/> + <source>&Left Toolbox</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1894"/> + <source>Toggle the Left Toolbox window</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1895"/> + <source><b>Toggle the Left Toolbox window</b><p>If the Left Toolbox window is hidden then display it. If it is displayed then close it.</p></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1903"/> + <source>&Right Toolbox</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../UI/UserInterface.py" line="1907"/> <source>Toggle the Right Toolbox window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1874"/> + <location filename="../UI/UserInterface.py" line="1908"/> <source><b>Toggle the Right Toolbox window</b><p>If the Right Toolbox window is hidden then display it. If it is displayed then close it.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1909"/> + <location filename="../UI/UserInterface.py" line="1943"/> <source>Right Sidebar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1909"/> + <location filename="../UI/UserInterface.py" line="1943"/> <source>&Right Sidebar</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1913"/> + <location filename="../UI/UserInterface.py" line="1947"/> <source>Toggle the right sidebar window</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1915"/> + <location filename="../UI/UserInterface.py" line="1949"/> <source><b>Toggle the right sidebar window</b><p>If the right sidebar window is hidden then display it. If it is displayed then close it.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1938"/> + <location filename="../UI/UserInterface.py" line="1972"/> <source>Cooperation-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1938"/> + <location filename="../UI/UserInterface.py" line="1972"/> <source>Co&operation-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1944"/> + <location filename="../UI/UserInterface.py" line="1978"/> <source>Switch the input focus to the Cooperation-Viewer window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1946"/> + <location filename="../UI/UserInterface.py" line="1980"/> <source><b>Activate Cooperation-Viewer</b><p>This switches the input focus to the Cooperation-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1975"/> + <location filename="../UI/UserInterface.py" line="2009"/> <source>Symbols-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1975"/> + <location filename="../UI/UserInterface.py" line="2009"/> <source>S&ymbols-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1981"/> + <location filename="../UI/UserInterface.py" line="2015"/> <source>Switch the input focus to the Symbols-Viewer window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1983"/> + <location filename="../UI/UserInterface.py" line="2017"/> <source><b>Activate Symbols-Viewer</b><p>This switches the input focus to the Symbols-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1994"/> + <location filename="../UI/UserInterface.py" line="2028"/> <source>Numbers-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1994"/> + <location filename="../UI/UserInterface.py" line="2028"/> <source>Num&bers-Viewer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2000"/> + <location filename="../UI/UserInterface.py" line="2034"/> <source>Switch the input focus to the Numbers-Viewer window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2002"/> + <location filename="../UI/UserInterface.py" line="2036"/> <source><b>Activate Numbers-Viewer</b><p>This switches the input focus to the Numbers-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="3141"/> + <location filename="../UI/UserInterface.py" line="3175"/> <source>&Windows</source> <translation type="unfinished">&Windows</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1828"/> + <location filename="../UI/UserInterface.py" line="1862"/> <source><b>Activate Task-Viewer</b><p>This switches the input focus to the Task-Viewer window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1957"/> + <location filename="../UI/UserInterface.py" line="1991"/> <source>IRC</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1957"/> + <location filename="../UI/UserInterface.py" line="1991"/> <source>&IRC</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1963"/> + <location filename="../UI/UserInterface.py" line="1997"/> <source>Switch the input focus to the IRC window.</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1965"/> + <location filename="../UI/UserInterface.py" line="1999"/> <source><b>Activate IRC</b><p>This switches the input focus to the IRC window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2309"/> + <location filename="../UI/UserInterface.py" line="2343"/> <source>Qt-Designer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2309"/> + <location filename="../UI/UserInterface.py" line="2343"/> <source>Qt-&Designer...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2314"/> + <location filename="../UI/UserInterface.py" line="2348"/> <source>Start Qt-Designer</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2315"/> + <location filename="../UI/UserInterface.py" line="2349"/> <source><b>Qt-Designer</b><p>Start Qt-Designer.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2335"/> + <location filename="../UI/UserInterface.py" line="2369"/> <source>Qt-Linguist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2335"/> + <location filename="../UI/UserInterface.py" line="2369"/> <source>Qt-&Linguist...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2340"/> + <location filename="../UI/UserInterface.py" line="2374"/> <source>Start Qt-Linguist</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2341"/> + <location filename="../UI/UserInterface.py" line="2375"/> <source><b>Qt-Linguist</b><p>Start Qt-Linguist.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2831"/> + <location filename="../UI/UserInterface.py" line="2865"/> <source>Qt5 Documentation</source> <translation type="unfinished">Qt4 dokumentace {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2831"/> + <location filename="../UI/UserInterface.py" line="2865"/> <source>Qt&5 Documentation</source> <translation type="unfinished">Qt&4 dokumentace {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2835"/> + <location filename="../UI/UserInterface.py" line="2869"/> <source>Open Qt5 Documentation</source> <translation type="unfinished">Otevřít Qt4 dokumentaci {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2639"/> + <location filename="../UI/UserInterface.py" line="2673"/> <source>Manage SSL Certificates</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2639"/> + <location filename="../UI/UserInterface.py" line="2673"/> <source>Manage SSL Certificates...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2644"/> + <location filename="../UI/UserInterface.py" line="2678"/> <source>Manage the saved SSL certificates</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2646"/> + <location filename="../UI/UserInterface.py" line="2680"/> <source><b>Manage SSL Certificates...</b><p>Opens a dialog to manage the saved SSL certificates.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2655"/> + <location filename="../UI/UserInterface.py" line="2689"/> <source>Edit Message Filters</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2655"/> + <location filename="../UI/UserInterface.py" line="2689"/> <source>Edit Message Filters...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2660"/> + <location filename="../UI/UserInterface.py" line="2694"/> <source>Edit the message filters used to suppress unwanted messages</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2662"/> + <location filename="../UI/UserInterface.py" line="2696"/> <source><b>Edit Message Filters</b><p>Opens a dialog to edit the message filters used to suppress unwanted messages been shown in an error window.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2846"/> + <location filename="../UI/UserInterface.py" line="2880"/> <source>PyQt5 Documentation</source> <translation type="unfinished">PyQt4 dokumentace {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2846"/> + <location filename="../UI/UserInterface.py" line="2880"/> <source>PyQt&5 Documentation</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2850"/> + <location filename="../UI/UserInterface.py" line="2884"/> <source>Open PyQt5 Documentation</source> <translation type="unfinished">Otevřít PyQt4 dokumentaci {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="5687"/> + <location filename="../UI/UserInterface.py" line="5721"/> <source><p>The PyQt5 documentation starting point has not been configured.</p></source> <translation type="unfinished"><p>Adresář PyQt4 dokumentace není nakonfigurován.</p> {5 ?}</translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2873"/> + <location filename="../UI/UserInterface.py" line="2907"/> <source><b>Python 3 Documentation</b><p>Display the Python 3 documentation. If no documentation directory is configured, the location of the Python 3 documentation is assumed to be the doc directory underneath the location of the Python 3 executable on Windows and <i>/usr/share/doc/packages/python/html</i> on Unix. Set PYTHON3DOCDIR in your environment to override this.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6989"/> + <location filename="../UI/UserInterface.py" line="7023"/> <source>%v/%m</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2174"/> + <location filename="../UI/UserInterface.py" line="2208"/> <source>Show Error Log</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2170"/> + <location filename="../UI/UserInterface.py" line="2204"/> <source>Show Error &Log...</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="2175"/> + <location filename="../UI/UserInterface.py" line="2209"/> <source><b>Show Error Log...</b><p>Opens a dialog showing the most recent error log.</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="6993"/> + <location filename="../UI/UserInterface.py" line="7027"/> <source>Version Check</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../UI/UserInterface.py" line="1668"/> + <location filename="../UI/UserInterface.py" line="1702"/> <