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>""" |
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 |
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 |
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: |