201 if self.passive: |
201 if self.passive: |
202 self.__getBanner() |
202 self.__getBanner() |
203 |
203 |
204 # Create a little language context menu |
204 # Create a little language context menu |
205 self.lmenu = QMenu(self.tr('Start')) |
205 self.lmenu = QMenu(self.tr('Start')) |
206 self.clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True) |
206 self.lmenu.aboutToShow.connect(self.__showLanguageMenu) |
207 self.clientLanguages.sort() |
|
208 for language in self.clientLanguages: |
|
209 act = self.lmenu.addAction(language) |
|
210 act.setData(language) |
|
211 self.lmenu.triggered.connect(self.__startDebugClient) |
207 self.lmenu.triggered.connect(self.__startDebugClient) |
212 |
208 |
213 # Create the history context menu |
209 # Create the history context menu |
214 self.hmenu = QMenu(self.tr('History')) |
210 self.hmenu = QMenu(self.tr('History')) |
215 self.hmenu.addAction(self.tr('Select entry'), self.__selectHistory) |
211 self.hmenu.addAction(self.tr('Select entry'), self.__selectHistory) |
280 QsciScintilla.SCI_LINEENDEXTEND: self.extendSelectionToEOL, |
276 QsciScintilla.SCI_LINEENDEXTEND: self.extendSelectionToEOL, |
281 } |
277 } |
282 |
278 |
283 self.grabGesture(Qt.PinchGesture) |
279 self.grabGesture(Qt.PinchGesture) |
284 |
280 |
|
281 def __showLanguageMenu(self): |
|
282 """ |
|
283 Private slot to prepare the language submenu. |
|
284 """ |
|
285 self.lmenu.clear() |
|
286 clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True) |
|
287 for language in sorted(clientLanguages): |
|
288 act = self.lmenu.addAction(language) |
|
289 act.setData(language) |
|
290 |
285 def __resizeLinenoMargin(self): |
291 def __resizeLinenoMargin(self): |
286 """ |
292 """ |
287 Private slot to resize the line numbers margin. |
293 Private slot to resize the line numbers margin. |
288 """ |
294 """ |
289 linenoMargin = Preferences.getShell("LinenoMargin") |
295 linenoMargin = Preferences.getShell("LinenoMargin") |
1369 if not self.passive: |
1375 if not self.passive: |
1370 cmdList = cmd.split(None, 1) |
1376 cmdList = cmd.split(None, 1) |
1371 if len(cmdList) < 2: |
1377 if len(cmdList) < 2: |
1372 self.dbs.startClient(False) # same as reset |
1378 self.dbs.startClient(False) # same as reset |
1373 else: |
1379 else: |
|
1380 clientLanguages = self.dbs.getSupportedLanguages( |
|
1381 shellOnly=True) |
1374 language = cmdList[1] |
1382 language = cmdList[1] |
1375 if language not in self.clientLanguages: |
1383 if language not in clientLanguages: |
1376 language = cmdList[1].capitalize() |
1384 language = cmdList[1].capitalize() |
1377 if language not in self.clientLanguages: |
1385 if language not in clientLanguages: |
1378 language = "" |
1386 language = "" |
1379 if language: |
1387 if language: |
1380 self.dbs.startClient(False, language) |
1388 self.dbs.startClient(False, language) |
1381 else: |
1389 else: |
1382 # language not supported or typo |
1390 # language not supported or typo |
1386 .format(cmdList[1])) |
1394 .format(cmdList[1])) |
1387 self.__clientStatement(False) |
1395 self.__clientStatement(False) |
1388 return |
1396 return |
1389 cmd = '' |
1397 cmd = '' |
1390 elif cmd == 'languages': |
1398 elif cmd == 'languages': |
1391 s = '{0}\n'.format(', '.join(self.clientLanguages)) |
1399 s = '{0}\n'.format(', '.join(sorted( |
|
1400 self.dbs.getSupportedLanguages(shellOnly=True)))) |
1392 self.__write(s) |
1401 self.__write(s) |
1393 self.__clientStatement(False) |
1402 self.__clientStatement(False) |
1394 return |
1403 return |
1395 elif cmd == 'clear': |
1404 elif cmd == 'clear': |
1396 # Display the banner. |
1405 # Display the banner. |
1567 else: |
1576 else: |
1568 self.dbs.clientProcessStdout.disconnect(self.__writeStdOut) |
1577 self.dbs.clientProcessStdout.disconnect(self.__writeStdOut) |
1569 self.dbs.clientProcessStderr.disconnect(self.__writeStdErr) |
1578 self.dbs.clientProcessStderr.disconnect(self.__writeStdErr) |
1570 self.__showStdOutErr = showStdOutErr |
1579 self.__showStdOutErr = showStdOutErr |
1571 |
1580 |
1572 # recreate the languages menu |
|
1573 self.lmenu.clear() |
|
1574 self.clientLanguages = self.dbs.getSupportedLanguages(shellOnly=True) |
|
1575 self.clientLanguages.sort() |
|
1576 for language in self.clientLanguages: |
|
1577 act = self.lmenu.addAction(language) |
|
1578 act.setData(language) |
|
1579 |
|
1580 def __showCompletions(self, completions, text): |
1581 def __showCompletions(self, completions, text): |
1581 """ |
1582 """ |
1582 Private method to display the possible completions. |
1583 Private method to display the possible completions. |
1583 |
1584 |
1584 @param completions list of possible completions (list of strings) |
1585 @param completions list of possible completions (list of strings) |