QScintilla/Shell.py

branch
Py2 comp.
changeset 3484
645c12de6b0c
parent 3178
f25fc1364c88
parent 3356
22633c0739e2
child 3591
2f2a4a76dd22
equal deleted inserted replaced
3456:96232974dcdb 3484:645c12de6b0c
109 109
110 self.linesepRegExp = r"\r\n|\n|\r" 110 self.linesepRegExp = r"\r\n|\n|\r"
111 111
112 self.passive = Preferences.getDebugger("PassiveDbgEnabled") 112 self.passive = Preferences.getDebugger("PassiveDbgEnabled")
113 if self.passive: 113 if self.passive:
114 self.setWindowTitle(self.trUtf8('Shell - Passive')) 114 self.setWindowTitle(self.tr('Shell - Passive'))
115 else: 115 else:
116 self.setWindowTitle(self.trUtf8('Shell')) 116 self.setWindowTitle(self.tr('Shell'))
117 117
118 self.setWhatsThis(self.trUtf8( 118 self.setWhatsThis(self.tr(
119 """<b>The Shell Window</b>""" 119 """<b>The Shell Window</b>"""
120 """<p>This is simply an interpreter running in a window. The""" 120 """<p>This is simply an interpreter running in a window. The"""
121 """ interpreter is the one that is used to run the program""" 121 """ interpreter is the one that is used to run the program"""
122 """ being debugged. This means that you can execute any command""" 122 """ being debugged. This means that you can execute any command"""
123 """ while the program being debugged is running.</p>""" 123 """ while the program being debugged is running.</p>"""
183 self.clearKeys() 183 self.clearKeys()
184 self.__actionsAdded = False 184 self.__actionsAdded = False
185 185
186 # Make sure we have prompts. 186 # Make sure we have prompts.
187 if self.passive: 187 if self.passive:
188 sys.ps1 = self.trUtf8("Passive >>> ") 188 sys.ps1 = self.tr("Passive >>> ")
189 else: 189 else:
190 try: 190 try:
191 sys.ps1 191 sys.ps1
192 except AttributeError: 192 except AttributeError:
193 sys.ps1 = ">>> " 193 sys.ps1 = ">>> "
198 198
199 if self.passive: 199 if self.passive:
200 self.__getBanner() 200 self.__getBanner()
201 201
202 # Create a little language context menu 202 # Create a little language context menu
203 self.lmenu = QMenu(self.trUtf8('Start')) 203 self.lmenu = QMenu(self.tr('Start'))
204 self.clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True) 204 self.clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True)
205 self.clientLanguages.sort() 205 self.clientLanguages.sort()
206 for language in self.clientLanguages: 206 for language in self.clientLanguages:
207 act = self.lmenu.addAction(language) 207 act = self.lmenu.addAction(language)
208 act.setData(language) 208 act.setData(language)
209 self.lmenu.triggered.connect(self.__startDebugClient) 209 self.lmenu.triggered.connect(self.__startDebugClient)
210 210
211 # Create the history context menu 211 # Create the history context menu
212 self.hmenu = QMenu(self.trUtf8('History')) 212 self.hmenu = QMenu(self.tr('History'))
213 self.hmenu.addAction(self.trUtf8('Select entry'), self.__selectHistory) 213 self.hmenu.addAction(self.tr('Select entry'), self.__selectHistory)
214 self.hmenu.addAction(self.trUtf8('Show'), self.__showHistory) 214 self.hmenu.addAction(self.tr('Show'), self.__showHistory)
215 self.hmenu.addAction(self.trUtf8('Clear'), self.__clearHistory) 215 self.hmenu.addAction(self.tr('Clear'), self.__clearHistory)
216 216
217 # Create a little context menu 217 # Create a little context menu
218 self.menu = QMenu(self) 218 self.menu = QMenu(self)
219 self.menu.addAction(self.trUtf8('Cut'), self.cut) 219 self.menu.addAction(self.tr('Cut'), self.cut)
220 self.menu.addAction(self.trUtf8('Copy'), self.copy) 220 self.menu.addAction(self.tr('Copy'), self.copy)
221 self.menu.addAction(self.trUtf8('Paste'), self.paste) 221 self.menu.addAction(self.tr('Paste'), self.paste)
222 self.menu.addMenu(self.hmenu) 222 self.menu.addMenu(self.hmenu)
223 self.menu.addSeparator() 223 self.menu.addSeparator()
224 self.menu.addAction(self.trUtf8('Find'), self.__find) 224 self.menu.addAction(self.tr('Find'), self.__find)
225 self.menu.addSeparator() 225 self.menu.addSeparator()
226 self.menu.addAction(self.trUtf8('Clear'), self.clear) 226 self.menu.addAction(self.tr('Clear'), self.clear)
227 self.menu.addAction(self.trUtf8('Reset'), self.__reset) 227 self.menu.addAction(self.tr('Reset'), self.__reset)
228 self.menu.addAction( 228 self.menu.addAction(
229 self.trUtf8('Reset and Clear'), self.__resetAndClear) 229 self.tr('Reset and Clear'), self.__resetAndClear)
230 self.menu.addSeparator() 230 self.menu.addSeparator()
231 self.menu.addMenu(self.lmenu) 231 self.menu.addMenu(self.lmenu)
232 self.menu.addSeparator() 232 self.menu.addSeparator()
233 self.menu.addAction(self.trUtf8("Configure..."), self.__configure) 233 self.menu.addAction(self.tr("Configure..."), self.__configure)
234 234
235 self.__bindLexer() 235 self.__bindLexer()
236 self.__setTextDisplay() 236 self.__setTextDisplay()
237 self.__setMargin0() 237 self.__setMargin0()
238 238
574 """ 574 """
575 Private slot to select a history entry to execute. 575 Private slot to select a history entry to execute.
576 """ 576 """
577 cmd, ok = QInputDialog.getItem( 577 cmd, ok = QInputDialog.getItem(
578 self, 578 self,
579 self.trUtf8("Select History"), 579 self.tr("Select History"),
580 self.trUtf8("Select the history entry to execute" 580 self.tr("Select the history entry to execute"
581 " (most recent shown last)."), 581 " (most recent shown last)."),
582 self.history, 582 self.history,
583 0, False) 583 0, False)
584 if ok: 584 if ok:
585 self.__insertHistory(cmd) 585 self.__insertHistory(cmd)
586 586
623 @param platform platform of the remote interpreter (string) 623 @param platform platform of the remote interpreter (string)
624 @param dbgclient debug client variant used (string) 624 @param dbgclient debug client variant used (string)
625 """ 625 """
626 super(Shell, self).clear() 626 super(Shell, self).clear()
627 if self.passive and not self.dbs.isConnected(): 627 if self.passive and not self.dbs.isConnected():
628 self.__write(self.trUtf8('Passive Debug Mode')) 628 self.__write(self.tr('Passive Debug Mode'))
629 self.__write(self.trUtf8('\nNot connected')) 629 self.__write(self.tr('\nNot connected'))
630 else: 630 else:
631 version = version.replace("#", self.trUtf8("No.")) 631 version = version.replace("#", self.tr("No."))
632 if platform != "" and dbgclient != "": 632 if platform != "" and dbgclient != "":
633 self.__write(self.trUtf8('{0} on {1}, {2}') 633 self.__write(self.tr('{0} on {1}, {2}')
634 .format(version, platform, dbgclient)) 634 .format(version, platform, dbgclient))
635 else: 635 else:
636 self.__write(version) 636 self.__write(version)
637 self.__write('\n') 637 self.__write('\n')
638 638
689 """ 689 """
690 Private method to display some text with StdOut label. 690 Private method to display some text with StdOut label.
691 691
692 @param s text to be displayed (string) 692 @param s text to be displayed (string)
693 """ 693 """
694 self.__write(self.trUtf8("StdOut: {0}").format(s)) 694 self.__write(self.tr("StdOut: {0}").format(s))
695 695
696 def __writeStdErr(self, s): 696 def __writeStdErr(self, s):
697 """ 697 """
698 Private method to display some text with StdErr label. 698 Private method to display some text with StdErr label.
699 699
700 @param s text to be displayed (string) 700 @param s text to be displayed (string)
701 """ 701 """
702 self.__write(self.trUtf8("StdErr: {0}").format(s)) 702 self.__write(self.tr("StdErr: {0}").format(s))
703 703
704 def __raw_input(self, s, echo): 704 def __raw_input(self, s, echo):
705 """ 705 """
706 Private method to handle raw input. 706 Private method to handle raw input.
707 707
1266 if language: 1266 if language:
1267 self.dbs.startClient(False, language) 1267 self.dbs.startClient(False, language)
1268 else: 1268 else:
1269 # language not supported or typo 1269 # language not supported or typo
1270 self.__write( 1270 self.__write(
1271 self.trUtf8( 1271 self.tr(
1272 'Shell language "{0}" not supported.\n') 1272 'Shell language "{0}" not supported.\n')
1273 .format(cmdList[1])) 1273 .format(cmdList[1]))
1274 self.__clientStatement(False) 1274 self.__clientStatement(False)
1275 return 1275 return
1276 cmd = '' 1276 cmd = ''
1293 else: 1293 else:
1294 cmd = '' 1294 cmd = ''
1295 1295
1296 self.dbs.remoteStatement(cmd) 1296 self.dbs.remoteStatement(cmd)
1297 while self.inCommandExecution: 1297 while self.inCommandExecution:
1298 QApplication.processEvents() 1298 try:
1299 QApplication.processEvents()
1300 except KeyboardInterrupt:
1301 pass
1299 else: 1302 else:
1300 if not self.echoInput: 1303 if not self.echoInput:
1301 cmd = self.buff 1304 cmd = self.buff
1302 self.inRawMode = False 1305 self.inRawMode = False
1303 self.echoInput = True 1306 self.echoInput = True
1450 self.dbs.clientProcessStderr.connect(self.__writeStdErr) 1453 self.dbs.clientProcessStderr.connect(self.__writeStdErr)
1451 else: 1454 else:
1452 self.dbs.clientProcessStdout.disconnect(self.__writeStdOut) 1455 self.dbs.clientProcessStdout.disconnect(self.__writeStdOut)
1453 self.dbs.clientProcessStderr.disconnect(self.__writeStdErr) 1456 self.dbs.clientProcessStderr.disconnect(self.__writeStdErr)
1454 self.__showStdOutErr = showStdOutErr 1457 self.__showStdOutErr = showStdOutErr
1458
1459 # recreate the languages menu
1460 self.lmenu.clear()
1461 self.clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True)
1462 self.clientLanguages.sort()
1463 for language in self.clientLanguages:
1464 act = self.lmenu.addAction(language)
1465 act.setData(language)
1455 1466
1456 def __showCompletions(self, completions, text): 1467 def __showCompletions(self, completions, text):
1457 """ 1468 """
1458 Private method to display the possible completions. 1469 Private method to display the possible completions.
1459 1470
1540 if not QFileInfo(fname).isDir(): 1551 if not QFileInfo(fname).isDir():
1541 self.vm.openSourceFile(fname) 1552 self.vm.openSourceFile(fname)
1542 else: 1553 else:
1543 E5MessageBox.information( 1554 E5MessageBox.information(
1544 self, 1555 self,
1545 self.trUtf8("Drop Error"), 1556 self.tr("Drop Error"),
1546 self.trUtf8("""<p><b>{0}</b> is not a file.</p>""") 1557 self.tr("""<p><b>{0}</b> is not a file.</p>""")
1547 .format(fname)) 1558 .format(fname))
1548 event.acceptProposedAction() 1559 event.acceptProposedAction()
1549 elif event.mimeData().hasText(): 1560 elif event.mimeData().hasText():
1550 s = event.mimeData().text() 1561 s = event.mimeData().text()
1551 if s: 1562 if s:

eric ide

mercurial