Wed, 30 Dec 2020 13:45:26 +0100
Call Trace Viewer, Call Stack Viewer: some refinements and further adaptions to the multi-process debugger.
--- a/eric6/APIs/Python3/eric6.api Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/APIs/Python3/eric6.api Wed Dec 30 13:45:26 2020 +0100 @@ -497,6 +497,7 @@ eric6.Debugger.BreakPointViewer.BreakPointViewer?1(parent=None) eric6.Debugger.CallStackViewer.CallStackViewer.FilenameRole?7 eric6.Debugger.CallStackViewer.CallStackViewer.LinenoRole?7 +eric6.Debugger.CallStackViewer.CallStackViewer.clear?4() eric6.Debugger.CallStackViewer.CallStackViewer.frameSelected?7 eric6.Debugger.CallStackViewer.CallStackViewer.setDebugger?4(debugUI) eric6.Debugger.CallStackViewer.CallStackViewer.setProjectMode?4(enabled) @@ -11890,6 +11891,7 @@ install.createGlobalPluginsDir?4() install.createInstallConfig?4() install.createInstallInfo?4() +install.createInstallInfoFile?7 install.createLinuxSpecifics?4() install.createMacAppBundle?4(pydir) install.createPyWrapper?4(pydir, wfile, saveDir, isGuiScript=True)
--- a/eric6/APIs/Python3/eric6.bas Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/APIs/Python3/eric6.bas Wed Dec 30 13:45:26 2020 +0100 @@ -60,7 +60,7 @@ BrowserSortFilterProxyModel QSortFilterProxyModel BrowserSysPathItem BrowserItem BugBearVisitor ast.NodeVisitor -CallStackViewer QTreeWidget +CallStackViewer QWidget CallTraceViewer QWidget Ui_CallTraceViewer ChangeBookmarkCommand QUndoCommand Charset str
--- a/eric6/Debugger/CallStackViewer.py Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/Debugger/CallStackViewer.py Wed Dec 30 13:45:26 2020 +0100 @@ -8,7 +8,9 @@ """ from PyQt5.QtCore import pyqtSignal, Qt, QFileInfo -from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QMenu +from PyQt5.QtWidgets import ( + QTreeWidget, QTreeWidgetItem, QMenu, QWidget, QVBoxLayout, QLabel +) from E5Gui.E5Application import e5App from E5Gui import E5FileDialog, E5MessageBox @@ -16,7 +18,7 @@ import Utilities -class CallStackViewer(QTreeWidget): +class CallStackViewer(QWidget): """ Class implementing the Call Stack viewer widget. @@ -33,25 +35,35 @@ """ Constructor - @param debugServer reference to the debug server object (DebugServer) - @param parent reference to the parent widget (QWidget) + @param debugServer reference to the debug server object + @type DebugServer + @param parent reference to the parent widget + @type QWidget """ super(CallStackViewer, self).__init__(parent) - self.setHeaderHidden(True) - self.setAlternatingRowColors(True) - self.setItemsExpandable(False) - self.setRootIsDecorated(False) + self.__layout = QVBoxLayout(self) + self.setLayout(self.__layout) + self.__debuggerLabel = QLabel(self) + self.__layout.addWidget(self.__debuggerLabel) + self.__callStackList = QTreeWidget(self) + self.__layout.addWidget(self.__callStackList) + + self.__callStackList.setHeaderHidden(True) + self.__callStackList.setAlternatingRowColors(True) + self.__callStackList.setItemsExpandable(False) + self.__callStackList.setRootIsDecorated(False) self.setWindowTitle(self.tr("Call Stack")) - self.__menu = QMenu(self) + self.__menu = QMenu(self.__callStackList) self.__sourceAct = self.__menu.addAction( self.tr("Show source"), self.__openSource) - self.__menu.addAction(self.tr("Clear"), self.clear) + self.__menu.addAction(self.tr("Clear"), self.__callStackList.clear) self.__menu.addSeparator() self.__menu.addAction(self.tr("Save"), self.__saveStackTrace) - self.setContextMenuPolicy(Qt.CustomContextMenu) - self.customContextMenuRequested.connect(self.__showContextMenu) + self.__callStackList.setContextMenuPolicy(Qt.CustomContextMenu) + self.__callStackList.customContextMenuRequested.connect( + self.__showContextMenu) self.__dbs = debugServer @@ -64,13 +76,15 @@ self.__project = None self.__dbs.clientStack.connect(self.__showCallStack) - self.itemDoubleClicked.connect(self.__itemDoubleClicked) + self.__callStackList.itemDoubleClicked.connect( + self.__itemDoubleClicked) def setDebugger(self, debugUI): """ Public method to set a reference to the Debug UI. - @param debugUI reference to the DebugUI object (DebugUI) + @param debugUI reference to the DebugUI object + @type DebugUI """ debugUI.clientStack.connect(self.__showCallStack) @@ -81,7 +95,8 @@ In project mode the call trace info is shown with project relative path names. - @param enabled flag indicating to enable the project mode (boolean) + @param enabled flag indicating to enable the project mode + @type bool """ self.__projectMode = enabled if enabled and self.__project is None: @@ -91,22 +106,34 @@ """ Private slot to show the context menu. - @param coord the position of the mouse pointer (QPoint) + @param coord the position of the mouse pointer + @type QPoint """ - if self.topLevelItemCount() > 0: - itm = self.currentItem() + if self.__callStackList.topLevelItemCount() > 0: + itm = self.__callStackList.currentItem() self.__sourceAct.setEnabled(itm is not None) - self.__menu.popup(self.mapToGlobal(coord)) + self.__menu.popup(self.__callStackList.mapToGlobal(coord)) - def __showCallStack(self, stack): + def clear(self): + """ + Public method to clear the stack viewer data. + """ + self.__debuggerLabel.clear() + self.__callStackList.clear() + + def __showCallStack(self, stack, debuggerId): """ Private slot to show the call stack of the program being debugged. @param stack list of tuples with call stack data (file name, line number, function name, formatted argument/values list) @type list of tuples of (str, str, str, str) + @param debuggerId ID of the debugger backend + @type str """ - self.clear() + self.__debuggerLabel.setText(debuggerId) + + self.__callStackList.clear() for fname, fline, ffunc, fargs in stack: if self.__projectMode: dfname = self.__project.getRelativePath(fname) @@ -115,22 +142,26 @@ if ffunc and not ffunc.startswith("<"): # use normal format itm = QTreeWidgetItem( - self, - [self.__entryFormat.format(dfname, fline, ffunc, fargs)]) + self.__callStackList, + [self.__entryFormat.format(dfname, fline, ffunc, fargs)] + ) else: # use short format itm = QTreeWidgetItem( - self, [self.__entryFormatShort.format(dfname, fline)]) + self.__callStackList, + [self.__entryFormatShort.format(dfname, fline)] + ) itm.setData(0, self.FilenameRole, fname) itm.setData(0, self.LinenoRole, fline) - self.resizeColumnToContents(0) + self.__callStackList.resizeColumnToContents(0) def __itemDoubleClicked(self, itm): """ Private slot to handle a double click of a stack entry. - @param itm reference to the double clicked item (QTreeWidgetItem) + @param itm reference to the double clicked item + @type QTreeWidgetItem """ fname = itm.data(0, self.FilenameRole) fline = itm.data(0, self.LinenoRole) @@ -138,14 +169,14 @@ fname = self.__project.getAbsolutePath(fname) self.sourceFile.emit(fname, fline) - index = self.indexOfTopLevelItem(itm) + index = self.__callStackList.indexOfTopLevelItem(itm) self.frameSelected.emit(index) def __openSource(self): """ Private slot to show the source for the selected stack entry. """ - itm = self.currentItem() + itm = self.__callStackList.currentItem() if itm: self.__itemDoubleClicked(itm) @@ -153,7 +184,7 @@ """ Private slot to save the stack trace info to a file. """ - if self.topLevelItemCount() > 0: + if self.__callStackList.topLevelItemCount() > 0: fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( self, self.tr("Save Call Stack Info"), @@ -179,12 +210,16 @@ fname = Utilities.toNativeSeparators(fname) try: + title = self.tr("Call Stack of '{0}'").format( + self.__debuggerLabel.text()) with open(fname, "w", encoding="utf-8") as f: - itm = self.topLevelItem(0) + f.write("{0}\n".format(title)) + f.write("{0}\n\n".format(len(title) * "=")) + itm = self.__callStackList.topLevelItem(0) while itm is not None: f.write("{0}\n".format(itm.text(0))) - f.write(78 * "=" + "\n") - itm = self.itemBelow(itm) + f.write("{0}\n".format(78 * "=")) + itm = self.__callStackList.itemBelow(itm) except OSError as err: E5MessageBox.critical( self,
--- a/eric6/Debugger/CallTraceViewer.py Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/Debugger/CallTraceViewer.py Wed Dec 30 13:45:26 2020 +0100 @@ -177,7 +177,11 @@ fname = Utilities.toNativeSeparators(fname) try: + title = self.tr("Call Trace Info of '{0}'").format( + self.__tracedDebuggerId) with open(fname, "w", encoding="utf-8") as f: + f.write("{0}\n".format(title)) + f.write("{0}\n\n".format(len(title) * "=")) itm = self.callTrace.topLevelItem(0) while itm is not None: isCall = itm.data(0, Qt.UserRole)
--- a/eric6/Documentation/Help/source.qhp Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/Documentation/Help/source.qhp Wed Dec 30 13:45:26 2020 +0100 @@ -2307,6 +2307,7 @@ <keyword name="CallStackViewer.__saveStackTrace" id="CallStackViewer.__saveStackTrace" ref="eric6.Debugger.CallStackViewer.html#CallStackViewer.__saveStackTrace" /> <keyword name="CallStackViewer.__showCallStack" id="CallStackViewer.__showCallStack" ref="eric6.Debugger.CallStackViewer.html#CallStackViewer.__showCallStack" /> <keyword name="CallStackViewer.__showContextMenu" id="CallStackViewer.__showContextMenu" ref="eric6.Debugger.CallStackViewer.html#CallStackViewer.__showContextMenu" /> + <keyword name="CallStackViewer.clear" id="CallStackViewer.clear" ref="eric6.Debugger.CallStackViewer.html#CallStackViewer.clear" /> <keyword name="CallStackViewer.setDebugger" id="CallStackViewer.setDebugger" ref="eric6.Debugger.CallStackViewer.html#CallStackViewer.setDebugger" /> <keyword name="CallStackViewer.setProjectMode" id="CallStackViewer.setProjectMode" ref="eric6.Debugger.CallStackViewer.html#CallStackViewer.setProjectMode" /> <keyword name="CallTraceViewer" id="CallTraceViewer" ref="eric6.Debugger.CallTraceViewer.html#CallTraceViewer" />
--- a/eric6/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/Documentation/Source/eric6.DebugClients.Python.DebugClientBase.html Wed Dec 30 13:45:26 2020 +0100 @@ -914,7 +914,7 @@ <dt><i>stream</i></dt> <dd> -file like object that has data to be written +file like object that has data to be read </dd> </dl> <dl>
--- a/eric6/Documentation/Source/eric6.Debugger.CallStackViewer.html Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/Documentation/Source/eric6.Debugger.CallStackViewer.html Wed Dec 30 13:45:26 2020 +0100 @@ -65,7 +65,7 @@ </dd> </dl> <h3>Derived from</h3> -QTreeWidget +QWidget <h3>Class Attributes</h3> <table> @@ -105,6 +105,10 @@ <td>Private slot to show the context menu.</td> </tr> <tr> +<td><a href="#CallStackViewer.clear">clear</a></td> +<td>Public method to clear the stack viewer data.</td> +</tr> +<tr> <td><a href="#CallStackViewer.setDebugger">setDebugger</a></td> <td>Public method to set a reference to the Debug UI.</td> </tr> @@ -128,13 +132,13 @@ </p> <dl> -<dt><i>debugServer</i></dt> +<dt><i>debugServer</i> (DebugServer)</dt> <dd> -reference to the debug server object (DebugServer) +reference to the debug server object </dd> -<dt><i>parent</i></dt> +<dt><i>parent</i> (QWidget)</dt> <dd> -reference to the parent widget (QWidget) +reference to the parent widget </dd> </dl> <a NAME="CallStackViewer.__itemDoubleClicked" ID="CallStackViewer.__itemDoubleClicked"></a> @@ -146,9 +150,9 @@ </p> <dl> -<dt><i>itm</i></dt> +<dt><i>itm</i> (QTreeWidgetItem)</dt> <dd> -reference to the double clicked item (QTreeWidgetItem) +reference to the double clicked item </dd> </dl> <a NAME="CallStackViewer.__openSource" ID="CallStackViewer.__openSource"></a> @@ -167,7 +171,7 @@ </p> <a NAME="CallStackViewer.__showCallStack" ID="CallStackViewer.__showCallStack"></a> <h4>CallStackViewer.__showCallStack</h4> -<b>__showCallStack</b>(<i>stack</i>) +<b>__showCallStack</b>(<i>stack, debuggerId</i>) <p> Private slot to show the call stack of the program being debugged. @@ -179,6 +183,10 @@ list of tuples with call stack data (file name, line number, function name, formatted argument/values list) </dd> +<dt><i>debuggerId</i> (str)</dt> +<dd> +ID of the debugger backend +</dd> </dl> <a NAME="CallStackViewer.__showContextMenu" ID="CallStackViewer.__showContextMenu"></a> <h4>CallStackViewer.__showContextMenu</h4> @@ -189,11 +197,18 @@ </p> <dl> -<dt><i>coord</i></dt> +<dt><i>coord</i> (QPoint)</dt> <dd> -the position of the mouse pointer (QPoint) +the position of the mouse pointer </dd> </dl> +<a NAME="CallStackViewer.clear" ID="CallStackViewer.clear"></a> +<h4>CallStackViewer.clear</h4> +<b>clear</b>(<i></i>) + +<p> + Public method to clear the stack viewer data. +</p> <a NAME="CallStackViewer.setDebugger" ID="CallStackViewer.setDebugger"></a> <h4>CallStackViewer.setDebugger</h4> <b>setDebugger</b>(<i>debugUI</i>) @@ -203,9 +218,9 @@ </p> <dl> -<dt><i>debugUI</i></dt> +<dt><i>debugUI</i> (DebugUI)</dt> <dd> -reference to the DebugUI object (DebugUI) +reference to the DebugUI object </dd> </dl> <a NAME="CallStackViewer.setProjectMode" ID="CallStackViewer.setProjectMode"></a> @@ -221,9 +236,9 @@ </p> <dl> -<dt><i>enabled</i></dt> +<dt><i>enabled</i> (bool)</dt> <dd> -flag indicating to enable the project mode (boolean) +flag indicating to enable the project mode </dd> </dl> <div align="right"><a href="#top">Up</a></div>
--- a/eric6/Documentation/Source/install.html Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/Documentation/Source/install.html Wed Dec 30 13:45:26 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>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> +<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>createInstallInfoFile</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/i18n/eric6_cs.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_cs.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2443,63 +2443,68 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation type="unfinished">Zobrazit zdroj</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> - <source>Clear</source> - <translation type="unfinished">Vyčistit</translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> - <source>Save</source> - <translation type="unfinished">Uložit</translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> - <source>File: {0} -Line: {1} -{2}{3}</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Debugger/CallStackViewer.py" line="61"/> + <source>Clear</source> + <translation type="unfinished">Vyčistit</translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="63"/> + <source>Save</source> + <translation type="unfinished">Uložit</translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="71"/> + <source>File: {0} +Line: {1} +{2}{3}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Textové soubory (*.txt);;Všechny soubory (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2559,12 +2564,12 @@ <translation type="unfinished"><p>Soubor <b>{0}</b> již existuje.</p><p>Má se přepsat?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> @@ -2578,6 +2583,11 @@ <source>Stop recording on exit</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_de.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_de.ts Wed Dec 30 13:45:26 2020 +0100 @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage=""> +<!DOCTYPE TS> +<TS version="2.1" language="de"> <context> <name>AboutDialog</name> <message> @@ -2052,8 +2053,8 @@ </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="170"/> - <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source> - <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation> + <source>Open in New Tab Ctrl+LMB</source> + <translation>In neuem Register öffnen Strg+LMK</translation> </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="174"/> @@ -2121,8 +2122,8 @@ </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/> - <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source> - <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation> + <source>Open in New Tab Ctrl+LMB</source> + <translation>In neuem Register öffnen Strg+LMK</translation> </message> <message> <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="94"/> @@ -2405,22 +2406,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>Zeige Quelltext</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>Löschen</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>Speichern</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2429,42 +2430,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>Datei: {0} Zeile: {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation>Aufrufhierarchie speichern</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>Textdateien (*.txt);;Alle Dateien (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation>Fehler beim Speichern der Aufrufhierarchie</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>Die Aufrufhierarchie konnten nicht nach <b>{0}</b> geschrieben werden.</p><p>Ursache: {1}</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation>Aufrufhierarchie</translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation>Aufrufhierarchie von '{0}'</translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2524,12 +2530,12 @@ <translation><p>Die Datei <b>{0}</b> existiert bereits. Überschreiben?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation>Fehler beim Speichern der Aufrufinformation</translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>Die Aufrufinformationen konnten nicht nach <b>{0}</b> geschrieben werden.</p><p>Ursache: {1}</p></translation> </message> @@ -2543,6 +2549,11 @@ <source>Stop recording on exit</source> <translation>Aufzeichnung beim Beenden stoppen</translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation>Aufrufinformation von '{0}'</translation> + </message> </context> <context> <name>ChatWidget</name> @@ -44629,12 +44640,12 @@ </message> <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1050"/> - <source>µPy Chart</source> + <source>µPy Chart</source> <translation>µPy Chart</translation> </message> <message> <location filename="../MicroPython/MicroPythonWidget.py" line="1130"/> - <source>µPy Files</source> + <source>µPy Files</source> <translation>µPy Dateien</translation> </message> <message> @@ -83767,8 +83778,8 @@ </message> <message> <location filename="../WebBrowser/WebBrowserView.py" line="676"/> - <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source> - <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation> + <source>Open Link in New Tab Ctrl+LMB</source> + <translation>Link in neuem Fenster öffnen Strg+LMK</translation> </message> <message> <location filename="../WebBrowser/WebBrowserView.py" line="682"/>
--- a/eric6/i18n/eric6_empty.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_empty.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2383,63 +2383,68 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> - <source>Show source</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> - <source>Clear</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> - <source>Save</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Debugger/CallStackViewer.py" line="59"/> - <source>File: {0} -Line: {1} -{2}{3}</source> + <source>Show source</source> <translation type="unfinished"></translation> </message> <message> <location filename="../Debugger/CallStackViewer.py" line="61"/> + <source>Clear</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="63"/> + <source>Save</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="71"/> + <source>File: {0} +Line: {1} +{2}{3}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2509,15 +2514,20 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_en.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_en.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2383,63 +2383,68 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> - <source>Clear</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> - <source>Save</source> - <translation type="unfinished"></translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> - <source>File: {0} -Line: {1} -{2}{3}</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Debugger/CallStackViewer.py" line="61"/> + <source>Clear</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="63"/> + <source>Save</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="71"/> + <source>File: {0} +Line: {1} +{2}{3}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2499,12 +2504,12 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> @@ -2518,6 +2523,11 @@ <source>Stop recording on exit</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_es.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_es.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2402,22 +2402,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>Mostrar código fuente</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>Limpiar</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>Guardar</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2426,42 +2426,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>Archivo: {0} Línea: {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation>Guardar Información de Pila de Llamadas</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>Archivos de Texto (*.txt);;Todos los Archivos (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>El archivo <b>{0}</b> ya existe. ¿Desea sobreescribirlo?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation>Error al guardar Información de Pila de Llamadas</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>La información de la pila de llamadas no se ha podido guardar en <b>{0}</b></p><p>Razón: {1}</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation>Pila de Llamadas</translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2521,12 +2526,12 @@ <translation><p>El archivo <b>{0}</b> ya existe. ¿Desea sobreescribirlo?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation>Error al guardar Información de Trazado de Llamadas</translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>La información del trazado de llamadas no se ha podido guardar en <b>{0}</b></p><p>Razón: {1}</p></translation> </message> @@ -2540,6 +2545,11 @@ <source>Stop recording on exit</source> <translation>Detener grabación al salir</translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_fr.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_fr.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2466,22 +2466,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>Afficher la source</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>Effacer</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>Sauvegarder</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2490,42 +2490,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>Fichier : {0} Ligne : {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>Fichiers texte (*.txt);;Tous les fichiers (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Le fichier <b>{0}</b>existe déjà. Écraser ?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2585,12 +2590,12 @@ <translation><p>Le fichier <b>{0}</b>existe déjà. Écraser ?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> @@ -2604,6 +2609,11 @@ <source>Stop recording on exit</source> <translation>Arrêter l'enregistrement en quittant</translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_it.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_it.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2463,22 +2463,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>Mostra sorgente</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>Pulisci</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>Salva</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2487,42 +2487,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>File: {0} riga: {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation>Salva le informazioni della pila di chiamate</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>File Testo(*.txt);;Tutti i file (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Il file <b>{0}</b> esiste già. Sovrascriverlo ?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation>Errore salvando le informazioni della pila di chiamate</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>Le informazioni della pila di chiamate non possono essere scritte su <b>{0}</b></p><p>Motivo: {1}</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation>Pila di chiamate</translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2582,12 +2587,12 @@ <translation><p>Il file <b>{0}</b> esiste già. Sovrascriverlo ?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation>Errore salvando le informazioni del tracciamento chiamate</translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>Le informazioni del tracciamento chiamate non possono essere scritte su <b>{0}</b></p><p>Motivo: {1}</p></translation> </message> @@ -2601,6 +2606,11 @@ <source>Stop recording on exit</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_pt.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_pt.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2465,22 +2465,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>Mostrar fonte</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>Limpar</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>Gravar</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2489,42 +2489,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>Ficheiro: {0} Linha: {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation>Gravar Informação da Pilha de Chamadas</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>Ficheiros de Texto (*.txt);;Ficheiros Todos (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>O ficheiro <b>{0}</b> já existe. Sobreescrever?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation>Erro ao gravar a Informação da Pilha de Chamadas</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>A informação da pilha de chamadas não se pôde escrever em <b>{0}</b></p><p>Razão: {1}</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation>Pilha de Chamadas</translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2584,12 +2589,12 @@ <translation><p>O ficheiro <b>{0}</b> já existe. Sobreescrever?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation>Erro ao gravar Informação de Rastreio de Chamadas</translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>A informação de rastreio de chamadas não se pôde escrever em {0}</b></p><p>Razão: {1}</p></translation> </message> @@ -2603,6 +2608,11 @@ <source>Stop recording on exit</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_ru.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_ru.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2404,22 +2404,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>Показать исходник</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>Очистить</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>Сохранить</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2428,42 +2428,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>Файл: {0} Строка: {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation>Сохранить стек вызовов</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>Текстовые файлы (*.txt);;Все файлы (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>Файл <b>{0}</b> уже существует. Переписать?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation>Ошибка при сохранении стека вызовов</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>Стек вызовов не записан в<b>{0}</b></p><p>Причина: {1}</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation>Стек вызовов</translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2523,12 +2528,12 @@ <translation><p>Файл <b>{0}</b> уже существует. Переписать?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation>Ошибка при сохранении информации о трассировке вызовов</translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>Информация о трассировке вызовов не может быть записана в <b>{0}</b></p><p>Причина: {1}.</p></translation> </message> @@ -2542,6 +2547,11 @@ <source>Stop recording on exit</source> <translation>Останавливать запись при выходе</translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_tr.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_tr.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2442,63 +2442,68 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation type="unfinished">Kaynağı göster</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> - <source>Clear</source> - <translation type="unfinished">Temizle</translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> - <source>Save</source> - <translation type="unfinished">Kaydet</translation> - </message> - <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> - <source>File: {0} -Line: {1} -{2}{3}</source> - <translation type="unfinished"></translation> - </message> - <message> <location filename="../Debugger/CallStackViewer.py" line="61"/> + <source>Clear</source> + <translation type="unfinished">Temizle</translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="63"/> + <source>Save</source> + <translation type="unfinished">Kaydet</translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="71"/> + <source>File: {0} +Line: {1} +{2}{3}</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation type="unfinished">Metin Dosyaları (*.txt);;Tüm Dosyalar (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation type="unfinished"><p><b>{0}</b> dosyası halen mevcut. Üzerine yazılsın mı?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2558,12 +2563,12 @@ <translation type="unfinished"><p><b>{0}</b> dosyası halen mevcut. Üzerine yazılsın mı?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation type="unfinished"></translation> </message> @@ -2577,6 +2582,11 @@ <source>Stop recording on exit</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>
--- a/eric6/i18n/eric6_zh_CN.ts Wed Dec 30 12:31:25 2020 +0100 +++ b/eric6/i18n/eric6_zh_CN.ts Wed Dec 30 13:45:26 2020 +0100 @@ -2458,22 +2458,22 @@ <context> <name>CallStackViewer</name> <message> - <location filename="../Debugger/CallStackViewer.py" line="48"/> + <location filename="../Debugger/CallStackViewer.py" line="59"/> <source>Show source</source> <translation>显示源代码</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="50"/> + <location filename="../Debugger/CallStackViewer.py" line="61"/> <source>Clear</source> <translation>清除</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="52"/> + <location filename="../Debugger/CallStackViewer.py" line="63"/> <source>Save</source> <translation>保存</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="59"/> + <location filename="../Debugger/CallStackViewer.py" line="71"/> <source>File: {0} Line: {1} {2}{3}</source> @@ -2482,42 +2482,47 @@ {2}{3}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="61"/> + <location filename="../Debugger/CallStackViewer.py" line="73"/> <source>File: {0} Line: {1}</source> <translation>文件: {0} 行: {1}</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source>Save Call Stack Info</source> <translation>保存调用堆栈信息</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="157"/> + <location filename="../Debugger/CallStackViewer.py" line="188"/> <source>Text Files (*.txt);;All Files (*)</source> <translation>文本文件 (*.txt);;所有文件 (*)</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="171"/> + <location filename="../Debugger/CallStackViewer.py" line="202"/> <source><p>The file <b>{0}</b> already exists. Overwrite it?</p></source> <translation><p>文件 <b>{0}</b> 已经存在。是否覆盖?</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source>Error saving Call Stack Info</source> <translation>保存调用堆栈信息错误</translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="189"/> + <location filename="../Debugger/CallStackViewer.py" line="224"/> <source><p>The call stack info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation>调用堆栈信息不能写入到 <b>{0}</b></p><p>原因: {1}</p></translation> </message> <message> - <location filename="../Debugger/CallStackViewer.py" line="45"/> + <location filename="../Debugger/CallStackViewer.py" line="56"/> <source>Call Stack</source> <translation>调用堆栈</translation> </message> + <message> + <location filename="../Debugger/CallStackViewer.py" line="213"/> + <source>Call Stack of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>CallTraceViewer</name> @@ -2577,12 +2582,12 @@ <translation><p>文件 <b>{0}</b> 已经存在。是否覆盖?</p></translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source>Error saving Call Trace Info</source> <translation>保存调用跟踪信息时出错</translation> </message> <message> - <location filename="../Debugger/CallTraceViewer.py" line="193"/> + <location filename="../Debugger/CallTraceViewer.py" line="197"/> <source><p>The call trace info could not be written to <b>{0}</b></p><p>Reason: {1}</p></source> <translation><p>调用跟踪信息不能写入到 <b>{0}</b></p><p>原因: {1}</p></translation> </message> @@ -2596,6 +2601,11 @@ <source>Stop recording on exit</source> <translation>退出时停止记录</translation> </message> + <message> + <location filename="../Debugger/CallTraceViewer.py" line="180"/> + <source>Call Trace Info of '{0}'</source> + <translation type="unfinished"></translation> + </message> </context> <context> <name>ChatWidget</name>