Debugger/CallStackViewer.py

branch
Py2 comp.
changeset 3484
645c12de6b0c
parent 3178
f25fc1364c88
parent 3190
a9a94491c4fd
child 3591
2f2a4a76dd22
equal deleted inserted replaced
3456:96232974dcdb 3484:645c12de6b0c
42 42
43 self.setHeaderHidden(True) 43 self.setHeaderHidden(True)
44 self.setAlternatingRowColors(True) 44 self.setAlternatingRowColors(True)
45 self.setItemsExpandable(False) 45 self.setItemsExpandable(False)
46 self.setRootIsDecorated(False) 46 self.setRootIsDecorated(False)
47 self.setWindowTitle(self.trUtf8("Call Stack")) 47 self.setWindowTitle(self.tr("Call Stack"))
48 48
49 self.__menu = QMenu(self) 49 self.__menu = QMenu(self)
50 self.__sourceAct = self.__menu.addAction( 50 self.__sourceAct = self.__menu.addAction(
51 self.trUtf8("Show source"), self.__openSource) 51 self.tr("Show source"), self.__openSource)
52 self.__menu.addAction(self.trUtf8("Clear"), self.clear) 52 self.__menu.addAction(self.tr("Clear"), self.clear)
53 self.__menu.addSeparator() 53 self.__menu.addSeparator()
54 self.__menu.addAction(self.trUtf8("Save"), self.__saveStackTrace) 54 self.__menu.addAction(self.tr("Save"), self.__saveStackTrace)
55 self.setContextMenuPolicy(Qt.CustomContextMenu) 55 self.setContextMenuPolicy(Qt.CustomContextMenu)
56 self.customContextMenuRequested.connect(self.__showContextMenu) 56 self.customContextMenuRequested.connect(self.__showContextMenu)
57 57
58 self.__dbs = debugServer 58 self.__dbs = debugServer
59 59
60 # file name, line number, function name, arguments 60 # file name, line number, function name, arguments
61 self.__entryFormat = self.trUtf8("File: {0}\nLine: {1}\n{2}{3}") 61 self.__entryFormat = self.tr("File: {0}\nLine: {1}\n{2}{3}")
62 # file name, line number 62 # file name, line number
63 self.__entryFormatShort = self.trUtf8("File: {0}\nLine: {1}") 63 self.__entryFormatShort = self.tr("File: {0}\nLine: {1}")
64 64
65 self.__projectMode = False 65 self.__projectMode = False
66 self.__project = None 66 self.__project = None
67 67
68 self.__dbs.clientStack.connect(self.__showCallStack) 68 self.__dbs.clientStack.connect(self.__showCallStack)
155 Private slot to save the stack trace info to a file. 155 Private slot to save the stack trace info to a file.
156 """ 156 """
157 if self.topLevelItemCount() > 0: 157 if self.topLevelItemCount() > 0:
158 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter( 158 fname, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
159 self, 159 self,
160 self.trUtf8("Save Call Stack Info"), 160 self.tr("Save Call Stack Info"),
161 "", 161 "",
162 self.trUtf8("Text Files (*.txt);;All Files (*)"), 162 self.tr("Text Files (*.txt);;All Files (*)"),
163 None, 163 None,
164 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite)) 164 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
165 if fname: 165 if fname:
166 ext = QFileInfo(fname).suffix() 166 ext = QFileInfo(fname).suffix()
167 if not ext: 167 if not ext:
169 if ex: 169 if ex:
170 fname += ex 170 fname += ex
171 if QFileInfo(fname).exists(): 171 if QFileInfo(fname).exists():
172 res = E5MessageBox.yesNo( 172 res = E5MessageBox.yesNo(
173 self, 173 self,
174 self.trUtf8("Save Call Stack Info"), 174 self.tr("Save Call Stack Info"),
175 self.trUtf8("<p>The file <b>{0}</b> already exists." 175 self.tr("<p>The file <b>{0}</b> already exists."
176 " Overwrite it?</p>").format(fname), 176 " Overwrite it?</p>").format(fname),
177 icon=E5MessageBox.Warning) 177 icon=E5MessageBox.Warning)
178 if not res: 178 if not res:
179 return 179 return
180 fname = Utilities.toNativeSeparators(fname) 180 fname = Utilities.toNativeSeparators(fname)
181 181
188 itm = self.itemBelow(itm) 188 itm = self.itemBelow(itm)
189 f.close() 189 f.close()
190 except IOError as err: 190 except IOError as err:
191 E5MessageBox.critical( 191 E5MessageBox.critical(
192 self, 192 self,
193 self.trUtf8("Error saving Call Stack Info"), 193 self.tr("Error saving Call Stack Info"),
194 self.trUtf8("""<p>The call stack info could not be""" 194 self.tr("""<p>The call stack info could not be"""
195 """ written to <b>{0}</b></p>""" 195 """ written to <b>{0}</b></p>"""
196 """<p>Reason: {1}</p>""") 196 """<p>Reason: {1}</p>""")
197 .format(fname, str(err))) 197 .format(fname, str(err)))

eric ide

mercurial