499:622ab17a68d5 | 500:c3abc7895a01 |
---|---|
97 from E5XML.TasksHandler import TasksHandler | 97 from E5XML.TasksHandler import TasksHandler |
98 from E5XML.TasksWriter import TasksWriter | 98 from E5XML.TasksWriter import TasksWriter |
99 from E5XML.SessionWriter import SessionWriter | 99 from E5XML.SessionWriter import SessionWriter |
100 from E5XML.SessionHandler import SessionHandler | 100 from E5XML.SessionHandler import SessionHandler |
101 | 101 |
102 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, proxyAuthenticationRequired | 102 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, \ |
103 proxyAuthenticationRequired | |
103 | 104 |
104 from IconEditor.IconEditorWindow import IconEditorWindow | 105 from IconEditor.IconEditorWindow import IconEditorWindow |
105 | 106 |
106 from eric5config import getConfig | 107 from eric5config import getConfig |
107 | 108 |
108 | 109 |
109 class Redirector(QObject): | 110 class Redirector(QObject): |
110 """ | 111 """ |
111 Helper class used to redirect stdout and stderr to the log window | 112 Helper class used to redirect stdout and stderr to the log window |
112 | 113 |
113 @signal appendStderr(string) emitted to write data to stderr logger | 114 @signal appendStderr(str) emitted to write data to stderr logger |
114 @signal appendStdout(string) emitted to write data to stdout logger | 115 @signal appendStdout(str) emitted to write data to stdout logger |
115 """ | 116 """ |
117 appendStderr = pyqtSignal(str) | |
118 appendStdout = pyqtSignal(str) | |
119 | |
116 def __init__(self, stderr): | 120 def __init__(self, stderr): |
117 """ | 121 """ |
118 Constructor | 122 Constructor |
119 | 123 |
120 @param stderr flag indicating stderr is being redirected | 124 @param stderr flag indicating stderr is being redirected |
130 @param n max number of bytes to write | 134 @param n max number of bytes to write |
131 """ | 135 """ |
132 if n: | 136 if n: |
133 line = self.buffer[:n] | 137 line = self.buffer[:n] |
134 if self.stderr: | 138 if self.stderr: |
135 self.emit(SIGNAL('appendStderr'), line) | 139 self.appendStderr.emit(line) |
136 else: | 140 else: |
137 self.emit(SIGNAL('appendStdout'), line) | 141 self.appendStdout.emit(line) |
138 self.buffer = self.buffer[n:] | 142 self.buffer = self.buffer[n:] |
139 | 143 |
140 def __bufferedWrite(self): | 144 def __bufferedWrite(self): |
141 """ | 145 """ |
142 Private method returning number of characters to write. | 146 Private method returning number of characters to write. |
162 | 166 |
163 class UserInterface(QMainWindow): | 167 class UserInterface(QMainWindow): |
164 """ | 168 """ |
165 Class implementing the main user interface. | 169 Class implementing the main user interface. |
166 | 170 |
167 @signal appendStderr(QString) emitted to write data to stderr logger | 171 @signal appendStderr(str) emitted to write data to stderr logger |
168 @signal appendStdout(QString) emitted to write data to stdout logger | 172 @signal appendStdout(str) emitted to write data to stdout logger |
169 @signal preferencesChanged() emitted after the preferences were changed | 173 @signal preferencesChanged() emitted after the preferences were changed |
170 @signal reloadAPIs() emitted to reload the api information | 174 @signal reloadAPIs() emitted to reload the api information |
171 @signal showMenu(string, QMenu) emitted when a menu is about to be shown. The name | 175 @signal showMenu(str, QMenu) emitted when a menu is about to be shown. The name |
172 of the menu and a reference to the menu are given. | 176 of the menu and a reference to the menu are given. |
173 """ | 177 """ |
178 appendStderr = pyqtSignal(str) | |
179 appendStdout = pyqtSignal(str) | |
174 preferencesChanged = pyqtSignal() | 180 preferencesChanged = pyqtSignal() |
181 reloadAPIs = pyqtSignal() | |
182 showMenu = pyqtSignal(str, QMenu) | |
175 | 183 |
176 maxFilePathLen = 100 | 184 maxFilePathLen = 100 |
177 maxSbFilePathLen = 150 | 185 maxSbFilePathLen = 150 |
178 maxMenuFilePathLen = 75 | 186 maxMenuFilePathLen = 75 |
179 | 187 |
273 self.viewmanager.openSourceFile) | 281 self.viewmanager.openSourceFile) |
274 self.browser.sourceFile[str, int].connect( | 282 self.browser.sourceFile[str, int].connect( |
275 self.viewmanager.openSourceFile) | 283 self.viewmanager.openSourceFile) |
276 self.browser.sourceFile[str, int, str].connect( | 284 self.browser.sourceFile[str, int, str].connect( |
277 self.viewmanager.openSourceFile) | 285 self.viewmanager.openSourceFile) |
278 self.connect(self.browser, SIGNAL('designerFile'), | 286 self.browser.designerFile.connect(self.__designer) |
279 self.__designer) | 287 self.browser.linguistFile.connect(self.__linguist4) |
280 self.connect(self.browser, SIGNAL('linguistFile'), | 288 self.browser.projectFile.connect(self.project.openProject) |
281 self.__linguist4) | 289 self.browser.multiProjectFile.connect(self.multiProject.openMultiProject) |
282 self.connect(self.browser, SIGNAL('projectFile'), | 290 self.browser.pixmapEditFile.connect(self.__editPixmap) |
283 self.project.openProject) | 291 self.browser.pixmapFile.connect(self.__showPixmap) |
284 self.connect(self.browser, SIGNAL('multiProjectFile'), | 292 self.browser.svgFile.connect(self.__showSvg) |
285 self.multiProject.openMultiProject) | 293 self.browser.unittestOpen.connect(self.__unittestScript) |
286 self.connect(self.browser, SIGNAL('pixmapEditFile'), | 294 self.browser.trpreview.connect(self.__TRPreviewer) |
287 self.__editPixmap) | |
288 self.connect(self.browser, SIGNAL('pixmapFile'), | |
289 self.__showPixmap) | |
290 self.connect(self.browser, SIGNAL('svgFile'), | |
291 self.__showSvg) | |
292 self.connect(self.browser, SIGNAL('unittestOpen'), | |
293 self.__unittestScript) | |
294 self.connect(self.browser, SIGNAL('trpreview'), | |
295 self.__TRPreviewer) | |
296 | 295 |
297 self.debugViewer.exceptionLogger.sourceFile.connect( | 296 self.debugViewer.exceptionLogger.sourceFile.connect( |
298 self.viewmanager.openSourceFile) | 297 self.viewmanager.openSourceFile) |
299 | 298 |
300 self.debugViewer.sourceFile.connect(self.viewmanager.showDebugSource) | 299 self.debugViewer.sourceFile.connect(self.viewmanager.showDebugSource) |
301 | 300 |
302 self.connect(self.taskViewer, SIGNAL('displayFile'), | 301 self.taskViewer.displayFile.connect(self.viewmanager.openSourceFile) |
303 self.viewmanager.openSourceFile) | |
304 | 302 |
305 self.projectBrowser.psBrowser.sourceFile[str].connect( | 303 self.projectBrowser.psBrowser.sourceFile[str].connect( |
306 self.viewmanager.openSourceFile) | 304 self.viewmanager.openSourceFile) |
307 self.projectBrowser.psBrowser.sourceFile[str, int].connect( | 305 self.projectBrowser.psBrowser.sourceFile[str, int].connect( |
308 self.viewmanager.openSourceFile) | 306 self.viewmanager.openSourceFile) |
309 self.projectBrowser.psBrowser.sourceFile[str, int, str].connect( | 307 self.projectBrowser.psBrowser.sourceFile[str, int, str].connect( |
310 self.viewmanager.openSourceFile) | 308 self.viewmanager.openSourceFile) |
311 self.connect(self.projectBrowser.psBrowser, SIGNAL('closeSourceWindow'), | 309 self.projectBrowser.psBrowser.closeSourceWindow.connect( |
312 self.viewmanager.closeWindow) | 310 self.viewmanager.closeWindow) |
313 self.connect(self.projectBrowser.psBrowser, SIGNAL('unittestOpen'), | 311 self.projectBrowser.psBrowser.unittestOpen.connect(self.__unittestScript) |
314 self.__unittestScript) | 312 |
315 | 313 self.projectBrowser.pfBrowser.designerFile.connect(self.__designer) |
316 self.connect(self.projectBrowser.pfBrowser, SIGNAL('designerFile'), | |
317 self.__designer) | |
318 self.projectBrowser.pfBrowser.sourceFile.connect( | 314 self.projectBrowser.pfBrowser.sourceFile.connect( |
319 self.viewmanager.openSourceFile) | 315 self.viewmanager.openSourceFile) |
320 self.connect(self.projectBrowser.pfBrowser, SIGNAL('uipreview'), | 316 self.projectBrowser.pfBrowser.uipreview.connect(self.__UIPreviewer) |
321 self.__UIPreviewer) | 317 self.projectBrowser.pfBrowser.trpreview.connect(self.__TRPreviewer) |
322 self.connect(self.projectBrowser.pfBrowser, SIGNAL('trpreview'), | 318 self.projectBrowser.pfBrowser.closeSourceWindow.connect( |
323 self.__TRPreviewer) | 319 self.viewmanager.closeWindow) |
324 self.connect(self.projectBrowser.pfBrowser, SIGNAL('closeSourceWindow'), | 320 self.projectBrowser.pfBrowser.appendStderr.connect(self.appendToStderr) |
325 self.viewmanager.closeWindow) | |
326 self.connect(self.projectBrowser.pfBrowser, SIGNAL('appendStdout'), | |
327 self.appendToStdout) | |
328 self.connect(self.projectBrowser.pfBrowser, SIGNAL('appendStderr'), | |
329 self.appendToStderr) | |
330 | 321 |
331 self.projectBrowser.prBrowser.sourceFile.connect( | 322 self.projectBrowser.prBrowser.sourceFile.connect( |
332 self.viewmanager.openSourceFile) | 323 self.viewmanager.openSourceFile) |
333 self.connect(self.projectBrowser.prBrowser, SIGNAL('closeSourceWindow'), | 324 self.projectBrowser.prBrowser.closeSourceWindow.connect( |
334 self.viewmanager.closeWindow) | 325 self.viewmanager.closeWindow) |
335 self.connect(self.projectBrowser.prBrowser, SIGNAL('appendStdout'), | 326 self.projectBrowser.prBrowser.appendStderr.connect(self.appendToStderr) |
336 self.appendToStdout) | 327 |
337 self.connect(self.projectBrowser.prBrowser, SIGNAL('appendStderr'), | 328 self.projectBrowser.ptBrowser.linguistFile.connect(self.__linguist4) |
338 self.appendToStderr) | |
339 | |
340 self.connect(self.projectBrowser.ptBrowser, SIGNAL('linguistFile'), | |
341 self.__linguist4) | |
342 self.projectBrowser.ptBrowser.sourceFile.connect( | 329 self.projectBrowser.ptBrowser.sourceFile.connect( |
343 self.viewmanager.openSourceFile) | 330 self.viewmanager.openSourceFile) |
344 self.connect(self.projectBrowser.ptBrowser, SIGNAL('trpreview'), | 331 self.projectBrowser.ptBrowser.trpreview[list].connect(self.__TRPreviewer) |
345 self.__TRPreviewer) | 332 self.projectBrowser.ptBrowser.trpreview[list, bool].connect(self.__TRPreviewer) |
346 self.connect(self.projectBrowser.ptBrowser, SIGNAL('closeSourceWindow'), | 333 self.projectBrowser.ptBrowser.closeSourceWindow.connect( |
347 self.viewmanager.closeWindow) | 334 self.viewmanager.closeWindow) |
348 self.connect(self.projectBrowser.ptBrowser, SIGNAL('appendStdout'), | 335 self.projectBrowser.ptBrowser.appendStdout.connect(self.appendToStdout) |
349 self.appendToStdout) | 336 self.projectBrowser.ptBrowser.appendStderr.connect(self.appendToStderr) |
350 self.connect(self.projectBrowser.ptBrowser, SIGNAL('appendStderr'), | |
351 self.appendToStderr) | |
352 | 337 |
353 self.projectBrowser.piBrowser.sourceFile[str].connect( | 338 self.projectBrowser.piBrowser.sourceFile[str].connect( |
354 self.viewmanager.openSourceFile) | 339 self.viewmanager.openSourceFile) |
355 self.projectBrowser.piBrowser.sourceFile[str, int].connect( | 340 self.projectBrowser.piBrowser.sourceFile[str, int].connect( |
356 self.viewmanager.openSourceFile) | 341 self.viewmanager.openSourceFile) |
357 self.connect(self.projectBrowser.piBrowser, SIGNAL('closeSourceWindow'), | 342 self.projectBrowser.piBrowser.closeSourceWindow.connect( |
358 self.viewmanager.closeWindow) | 343 self.viewmanager.closeWindow) |
359 self.connect(self.projectBrowser.piBrowser, SIGNAL('appendStdout'), | 344 self.projectBrowser.piBrowser.appendStdout.connect(self.appendToStdout) |
360 self.appendToStdout) | 345 self.projectBrowser.piBrowser.appendStderr.connect(self.appendToStderr) |
361 self.connect(self.projectBrowser.piBrowser, SIGNAL('appendStderr'), | |
362 self.appendToStderr) | |
363 | 346 |
364 self.projectBrowser.poBrowser.sourceFile.connect( | 347 self.projectBrowser.poBrowser.sourceFile.connect( |
365 self.viewmanager.openSourceFile) | 348 self.viewmanager.openSourceFile) |
366 self.connect(self.projectBrowser.poBrowser, SIGNAL('closeSourceWindow'), | 349 self.projectBrowser.poBrowser.closeSourceWindow.connect( |
367 self.viewmanager.closeWindow) | 350 self.viewmanager.closeWindow) |
368 self.connect(self.projectBrowser.poBrowser, SIGNAL('pixmapEditFile'), | 351 self.projectBrowser.poBrowser.pixmapEditFile.connect(self.__editPixmap) |
369 self.__editPixmap) | 352 self.projectBrowser.poBrowser.pixmapFile.connect(self.__showPixmap) |
370 self.connect(self.projectBrowser.poBrowser, SIGNAL('pixmapFile'), | 353 self.projectBrowser.poBrowser.svgFile.connect(self.__showSvg) |
371 self.__showPixmap) | |
372 self.connect(self.projectBrowser.poBrowser, SIGNAL('svgFile'), | |
373 self.__showSvg) | |
374 | 354 |
375 self.project.sourceFile.connect(self.viewmanager.openSourceFile) | 355 self.project.sourceFile.connect(self.viewmanager.openSourceFile) |
376 self.project.newProject.connect(self.viewmanager.newProject) | 356 self.project.newProject.connect(self.viewmanager.newProject) |
377 self.project.projectOpened.connect(self.viewmanager.projectOpened) | 357 self.project.projectOpened.connect(self.viewmanager.projectOpened) |
378 self.project.projectClosed.connect(self.viewmanager.projectClosed) | 358 self.project.projectClosed.connect(self.viewmanager.projectClosed) |
379 self.connect(self.project, SIGNAL('projectFileRenamed'), | 359 self.project.projectFileRenamed.connect(self.viewmanager.projectFileRenamed) |
380 self.viewmanager.projectFileRenamed) | 360 self.project.lexerAssociationsChanged.connect( |
381 self.connect(self.project, SIGNAL('lexerAssociationsChanged'), | 361 self.viewmanager.projectLexerAssociationsChanged) |
382 self.viewmanager.projectLexerAssociationsChanged) | |
383 self.project.newProject.connect(self.__newProject) | 362 self.project.newProject.connect(self.__newProject) |
384 self.project.projectOpened.connect(self.__projectOpened) | 363 self.project.projectOpened.connect(self.__projectOpened) |
385 self.project.projectOpened.connect(self.__activateProjectBrowser) | 364 self.project.projectOpened.connect(self.__activateProjectBrowser) |
386 self.project.projectClosed.connect(self.__projectClosed) | 365 self.project.projectClosed.connect(self.__projectClosed) |
387 | 366 |
388 self.connect(self.multiProject, SIGNAL("multiProjectOpened"), | 367 self.multiProject.multiProjectOpened.connect(self.__activateMultiProjectBrowser) |
389 self.__activateMultiProjectBrowser) | |
390 | 368 |
391 self.debuggerUI.resetUI.connect(self.viewmanager.handleResetUI) | 369 self.debuggerUI.resetUI.connect(self.viewmanager.handleResetUI) |
392 self.debuggerUI.resetUI.connect(self.debugViewer.handleResetUI) | 370 self.debuggerUI.resetUI.connect(self.debugViewer.handleResetUI) |
393 self.debuggerUI.resetUI.connect(self.__setEditProfile) | 371 self.debuggerUI.resetUI.connect(self.__setEditProfile) |
394 self.debuggerUI.debuggingStarted.connect(self.browser.handleProgramChange) | 372 self.debuggerUI.debuggingStarted.connect(self.browser.handleProgramChange) |
409 debugServer.clientLine.connect( | 387 debugServer.clientLine.connect( |
410 self.debugViewer.breakpointViewer.highlightBreakpoint) | 388 self.debugViewer.breakpointViewer.highlightBreakpoint) |
411 debugServer.clientProcessStdout.connect(self.appendToStdout) | 389 debugServer.clientProcessStdout.connect(self.appendToStdout) |
412 debugServer.clientProcessStderr.connect(self.appendToStderr) | 390 debugServer.clientProcessStderr.connect(self.appendToStderr) |
413 | 391 |
414 self.connect(self.stdout, SIGNAL('appendStdout'), | 392 self.stdout.appendStdout.connect(self.appendToStdout) |
415 self.appendToStdout) | 393 self.stderr.appendStderr.connect(self.appendToStderr) |
416 | |
417 self.connect(self.stderr, SIGNAL('appendStderr'), | |
418 self.appendToStderr) | |
419 | 394 |
420 self.preferencesChanged.connect(self.viewmanager.preferencesChanged) | 395 self.preferencesChanged.connect(self.viewmanager.preferencesChanged) |
421 self.connect(self, SIGNAL('reloadAPIs'), | 396 self.reloadAPIs.connect(self.viewmanager.getAPIsManager().reloadAPIs) |
422 self.viewmanager.getAPIsManager().reloadAPIs) | |
423 self.preferencesChanged.connect(self.logViewer.preferencesChanged) | 397 self.preferencesChanged.connect(self.logViewer.preferencesChanged) |
424 self.connect(self, SIGNAL('appendStdout'), | 398 self.appendStdout.connect(self.logViewer.appendToStdout) |
425 self.logViewer.appendToStdout) | 399 self.appendStderr.connect(self.logViewer.appendToStderr) |
426 self.connect(self, SIGNAL('appendStderr'), | |
427 self.logViewer.appendToStderr) | |
428 self.preferencesChanged.connect(self.shell.handlePreferencesChanged) | 400 self.preferencesChanged.connect(self.shell.handlePreferencesChanged) |
429 self.preferencesChanged.connect(self.terminal.handlePreferencesChanged) | 401 self.preferencesChanged.connect(self.terminal.handlePreferencesChanged) |
430 self.preferencesChanged.connect(self.project.handlePreferencesChanged) | 402 self.preferencesChanged.connect(self.project.handlePreferencesChanged) |
431 self.preferencesChanged.connect(self.projectBrowser.handlePreferencesChanged) | 403 self.preferencesChanged.connect(self.projectBrowser.handlePreferencesChanged) |
432 self.preferencesChanged.connect( | 404 self.preferencesChanged.connect( |
445 self.preferencesChanged.connect(self.taskViewer.handlePreferencesChanged) | 417 self.preferencesChanged.connect(self.taskViewer.handlePreferencesChanged) |
446 self.preferencesChanged.connect(self.pluginManager.preferencesChanged) | 418 self.preferencesChanged.connect(self.pluginManager.preferencesChanged) |
447 self.preferencesChanged.connect(debugServer.preferencesChanged) | 419 self.preferencesChanged.connect(debugServer.preferencesChanged) |
448 self.preferencesChanged.connect(self.cooperation.preferencesChanged) | 420 self.preferencesChanged.connect(self.cooperation.preferencesChanged) |
449 | 421 |
450 self.connect(self.viewmanager, SIGNAL('editorSaved'), | 422 self.viewmanager.editorSaved.connect(self.project.repopulateItem) |
451 self.project.repopulateItem) | |
452 self.viewmanager.lastEditorClosed.connect(self.__lastEditorClosed) | 423 self.viewmanager.lastEditorClosed.connect(self.__lastEditorClosed) |
453 self.viewmanager.editorOpened.connect(self.__editorOpened) | 424 self.viewmanager.editorOpened.connect(self.__editorOpened) |
454 self.connect(self.viewmanager, SIGNAL('changeCaption'), | 425 self.viewmanager.changeCaption.connect(self.__setWindowCaption) |
455 self.__setWindowCaption) | |
456 self.viewmanager.checkActions.connect(self.__checkActions) | 426 self.viewmanager.checkActions.connect(self.__checkActions) |
457 self.connect(self.viewmanager, SIGNAL('editorChanged'), | 427 self.viewmanager.editorChanged.connect(self.projectBrowser.handleEditorChanged) |
458 self.projectBrowser.handleEditorChanged) | |
459 self.viewmanager.checkActions.connect(self.cooperation.checkEditorActions) | 428 self.viewmanager.checkActions.connect(self.cooperation.checkEditorActions) |
460 | 429 |
461 self.connect(self.cooperation, SIGNAL('shareEditor(bool)'), | 430 self.cooperation.shareEditor.connect(self.viewmanager.shareEditor) |
462 self.viewmanager.shareEditor) | 431 self.cooperation.startEdit.connect(self.viewmanager.startSharedEdit) |
463 self.connect(self.cooperation, SIGNAL('startEdit()'), | 432 self.cooperation.sendEdit.connect(self.viewmanager.sendSharedEdit) |
464 self.viewmanager.startSharedEdit) | 433 self.cooperation.cancelEdit.connect(self.viewmanager.cancelSharedEdit) |
465 self.connect(self.cooperation, SIGNAL('sendEdit()'), | 434 self.cooperation.connected.connect(self.viewmanager.shareConnected) |
466 self.viewmanager.sendSharedEdit) | 435 self.cooperation.editorCommand.connect(self.viewmanager.receive) |
467 self.connect(self.cooperation, SIGNAL('cancelEdit()'), | |
468 self.viewmanager.cancelSharedEdit) | |
469 self.connect(self.cooperation, SIGNAL('connected(bool)'), | |
470 self.viewmanager.shareConnected) | |
471 self.connect(self.cooperation, SIGNAL('editorCommand(QString, QString, QString)'), | |
472 self.viewmanager.receive) | |
473 self.viewmanager.setCooperationClient(self.cooperation.getClient()) | 436 self.viewmanager.setCooperationClient(self.cooperation.getClient()) |
474 | 437 |
475 self.connect(self.symbolsViewer, SIGNAL('insertSymbol(QString)'), | 438 self.symbolsViewer.insertSymbol.connect(self.viewmanager.insertSymbol) |
476 self.viewmanager.insertSymbol) | 439 |
477 | 440 self.numbersViewer.insertNumber.connect(self.viewmanager.insertNumber) |
478 self.connect(self.numbersViewer, SIGNAL('insertNumber(QString)'), | |
479 self.viewmanager.insertNumber) | |
480 | 441 |
481 # Generate the unittest dialog | 442 # Generate the unittest dialog |
482 self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self) | 443 self.unittestDialog = UnittestDialog(None, self.debuggerUI.debugServer, self) |
483 self.connect(self.unittestDialog, SIGNAL('unittestFile'), | 444 self.unittestDialog.unittestFile.connect(self.viewmanager.setFileLine) |
484 self.viewmanager.setFileLine) | |
485 | 445 |
486 # Generate the find in project files dialog | 446 # Generate the find in project files dialog |
487 self.findFilesDialog = FindFileDialog(self.project) | 447 self.findFilesDialog = FindFileDialog(self.project) |
488 self.findFilesDialog.sourceFile.connect( | 448 self.findFilesDialog.sourceFile.connect( |
489 self.viewmanager.openSourceFile) | 449 self.viewmanager.openSourceFile) |
490 self.connect(self.findFilesDialog, SIGNAL('designerFile'), | 450 self.findFilesDialog.designerFile.connect(self.__designer) |
491 self.__designer) | |
492 self.replaceFilesDialog = FindFileDialog(self.project, replaceMode = True) | 451 self.replaceFilesDialog = FindFileDialog(self.project, replaceMode = True) |
493 self.replaceFilesDialog.sourceFile.connect( | 452 self.replaceFilesDialog.sourceFile.connect( |
494 self.viewmanager.openSourceFile) | 453 self.viewmanager.openSourceFile) |
495 self.connect(self.replaceFilesDialog, SIGNAL('designerFile'), | 454 self.replaceFilesDialog.designerFile.connect(self.__designer) |
496 self.__designer) | |
497 | 455 |
498 # generate the find file dialog | 456 # generate the find file dialog |
499 self.findFileNameDialog = FindFileNameDialog(self.project) | 457 self.findFileNameDialog = FindFileNameDialog(self.project) |
500 self.findFileNameDialog.sourceFile.connect(self.viewmanager.openSourceFile) | 458 self.findFileNameDialog.sourceFile.connect(self.viewmanager.openSourceFile) |
501 self.connect(self.findFileNameDialog, SIGNAL('designerFile'), | 459 self.findFileNameDialog.designerFile.connect(self.__designer) |
502 self.__designer) | |
503 | 460 |
504 # generate the diff dialogs | 461 # generate the diff dialogs |
505 self.diffDlg = DiffDialog() | 462 self.diffDlg = DiffDialog() |
506 self.compareDlg = CompareDialog() | 463 self.compareDlg = CompareDialog() |
507 | 464 |
601 # now start the debug client | 558 # now start the debug client |
602 debugServer.startClient(False) | 559 debugServer.startClient(False) |
603 | 560 |
604 # attributes for the network objects | 561 # attributes for the network objects |
605 self.__networkManager = QNetworkAccessManager(self) | 562 self.__networkManager = QNetworkAccessManager(self) |
606 self.connect(self.__networkManager, | 563 self.__networkManager.proxyAuthenticationRequired.connect( |
607 SIGNAL('proxyAuthenticationRequired(const QNetworkProxy&, QAuthenticator*)'), | |
608 proxyAuthenticationRequired) | 564 proxyAuthenticationRequired) |
609 self.connect(self.__networkManager, | 565 self.__networkManager.sslErrors.connect(self.__sslErrors) |
610 SIGNAL('sslErrors(QNetworkReply *, const QList<QSslError> &)'), | |
611 self.__sslErrors) | |
612 self.__replies = [] | 566 self.__replies = [] |
613 | 567 |
614 # attribute for the help window | 568 # attribute for the help window |
615 self.helpWindow = None | 569 self.helpWindow = None |
616 | 570 |
2303 self.wizardsMenuAct.setEnabled(False) | 2257 self.wizardsMenuAct.setEnabled(False) |
2304 self.__menus["macros"] = self.viewmanager.initMacroMenu() | 2258 self.__menus["macros"] = self.viewmanager.initMacroMenu() |
2305 self.__menus["extras"].addMenu(self.__menus["macros"]) | 2259 self.__menus["extras"].addMenu(self.__menus["macros"]) |
2306 self.__menus["tools"] = QMenu(self.trUtf8('&Tools'), self) | 2260 self.__menus["tools"] = QMenu(self.trUtf8('&Tools'), self) |
2307 self.__menus["tools"].aboutToShow.connect(self.__showToolsMenu) | 2261 self.__menus["tools"].aboutToShow.connect(self.__showToolsMenu) |
2308 self.connect(self.__menus["tools"], SIGNAL('triggered(QAction *)'), | 2262 self.__menus["tools"].triggered.connect(self.__toolExecute) |
2309 self.__toolExecute) | |
2310 self.toolGroupsMenu = QMenu(self.trUtf8("Select Tool Group"), self) | 2263 self.toolGroupsMenu = QMenu(self.trUtf8("Select Tool Group"), self) |
2311 self.toolGroupsMenu.aboutToShow.connect(self.__showToolGroupsMenu) | 2264 self.toolGroupsMenu.aboutToShow.connect(self.__showToolGroupsMenu) |
2312 self.connect(self.toolGroupsMenu, SIGNAL('triggered(QAction *)'), | 2265 self.toolGroupsMenu.triggered.connect(self.__toolGroupSelected) |
2313 self.__toolGroupSelected) | |
2314 self.toolGroupsMenuTriggered = False | 2266 self.toolGroupsMenuTriggered = False |
2315 self.__menus["extras"].addMenu(self.__menus["tools"]) | 2267 self.__menus["extras"].addMenu(self.__menus["tools"]) |
2316 | 2268 |
2317 self.__menus["settings"] = QMenu(self.trUtf8('Se&ttings'), self) | 2269 self.__menus["settings"] = QMenu(self.trUtf8('Se&ttings'), self) |
2318 mb.addMenu(self.__menus["settings"]) | 2270 mb.addMenu(self.__menus["settings"]) |
2339 | 2291 |
2340 self.__menus["toolbars"] = \ | 2292 self.__menus["toolbars"] = \ |
2341 QMenu(self.trUtf8("&Toolbars"), self.__menus["window"]) | 2293 QMenu(self.trUtf8("&Toolbars"), self.__menus["window"]) |
2342 self.__menus["toolbars"].setTearOffEnabled(True) | 2294 self.__menus["toolbars"].setTearOffEnabled(True) |
2343 self.__menus["toolbars"].aboutToShow.connect(self.__showToolbarsMenu) | 2295 self.__menus["toolbars"].aboutToShow.connect(self.__showToolbarsMenu) |
2344 self.connect(self.__menus["toolbars"], SIGNAL('triggered(QAction *)'), | 2296 self.__menus["toolbars"].triggered.connect(self.__TBMenuTriggered) |
2345 self.__TBMenuTriggered) | |
2346 | 2297 |
2347 self.__showWindowMenu() # to initialize these actions | 2298 self.__showWindowMenu() # to initialize these actions |
2348 | 2299 |
2349 self.__menus["bookmarks"] = self.viewmanager.initBookmarkMenu() | 2300 self.__menus["bookmarks"] = self.viewmanager.initBookmarkMenu() |
2350 mb.addMenu(self.__menus["bookmarks"]) | 2301 mb.addMenu(self.__menus["bookmarks"]) |
2657 | 2608 |
2658 def __showFileMenu(self): | 2609 def __showFileMenu(self): |
2659 """ | 2610 """ |
2660 Private slot to display the File menu. | 2611 Private slot to display the File menu. |
2661 """ | 2612 """ |
2662 self.emit(SIGNAL("showMenu"), "File", self.__menus["file"]) | 2613 self.showMenu.emit("File", self.__menus["file"]) |
2663 | 2614 |
2664 def __showExtrasMenu(self): | 2615 def __showExtrasMenu(self): |
2665 """ | 2616 """ |
2666 Private slot to display the Extras menu. | 2617 Private slot to display the Extras menu. |
2667 """ | 2618 """ |
2668 self.emit(SIGNAL("showMenu"), "Extras", self.__menus["extras"]) | 2619 self.showMenu.emit("Extras", self.__menus["extras"]) |
2669 | 2620 |
2670 def __showWizardsMenu(self): | 2621 def __showWizardsMenu(self): |
2671 """ | 2622 """ |
2672 Private slot to display the Wizards menu. | 2623 Private slot to display the Wizards menu. |
2673 """ | 2624 """ |
2674 self.emit(SIGNAL("showMenu"), "Wizards", self.__menus["wizards"]) | 2625 self.showMenu.emit("Wizards", self.__menus["wizards"]) |
2675 | 2626 |
2676 def __showHelpMenu(self): | 2627 def __showHelpMenu(self): |
2677 """ | 2628 """ |
2678 Private slot to display the Help menu. | 2629 Private slot to display the Help menu. |
2679 """ | 2630 """ |
2680 self.checkUpdateAct.setEnabled(not self.__inVersionCheck) | 2631 self.checkUpdateAct.setEnabled(not self.__inVersionCheck) |
2681 self.showVersionsAct.setEnabled(not self.__inVersionCheck) | 2632 self.showVersionsAct.setEnabled(not self.__inVersionCheck) |
2682 | 2633 |
2683 self.emit(SIGNAL("showMenu"), "Help", self.__menus["help"]) | 2634 self.showMenu.emit("Help", self.__menus["help"]) |
2684 | 2635 |
2685 def __showNext(self): | 2636 def __showNext(self): |
2686 """ | 2637 """ |
2687 Private slot used to show the next tab or file. | 2638 Private slot used to show the next tab or file. |
2688 """ | 2639 """ |
3096 self.__menus["tools"].addAction(self.iconEditorAct) | 3047 self.__menus["tools"].addAction(self.iconEditorAct) |
3097 self.__menus["tools"].addAction(self.webBrowserAct) | 3048 self.__menus["tools"].addAction(self.webBrowserAct) |
3098 elif self.currentToolGroup == -2: | 3049 elif self.currentToolGroup == -2: |
3099 act.setEnabled(False) | 3050 act.setEnabled(False) |
3100 # add the plugin entries | 3051 # add the plugin entries |
3101 self.emit(SIGNAL("showMenu"), "Tools", self.__menus["tools"]) | 3052 self.showMenu.emit("Tools", self.__menus["tools"]) |
3102 else: | 3053 else: |
3103 # add the configurable entries | 3054 # add the configurable entries |
3104 idx = 0 | 3055 idx = 0 |
3105 try: | 3056 try: |
3106 for tool in self.toolGroups[self.currentToolGroup][1]: | 3057 for tool in self.toolGroups[self.currentToolGroup][1]: |
3261 self.__menus["window"].addMenu(self.__menus["toolbars"]) | 3212 self.__menus["window"].addMenu(self.__menus["toolbars"]) |
3262 | 3213 |
3263 # Now do any Source Viewer related stuff. | 3214 # Now do any Source Viewer related stuff. |
3264 self.viewmanager.showWindowMenu(self.__menus["window"]) | 3215 self.viewmanager.showWindowMenu(self.__menus["window"]) |
3265 | 3216 |
3266 self.emit(SIGNAL("showMenu"), "Window", self.__menus["window"]) | 3217 self.showMenu.emit("Window", self.__menus["window"]) |
3267 | 3218 |
3268 def __showToolbarsMenu(self): | 3219 def __showToolbarsMenu(self): |
3269 """ | 3220 """ |
3270 Private slot to display the Toolbars menu. | 3221 Private slot to display the Toolbars menu. |
3271 """ | 3222 """ |
4894 | 4845 |
4895 def __reloadAPIs(self): | 4846 def __reloadAPIs(self): |
4896 """ | 4847 """ |
4897 Private slot to reload the api information. | 4848 Private slot to reload the api information. |
4898 """ | 4849 """ |
4899 self.emit(SIGNAL('reloadAPIs')) | 4850 self.reloadAPIs.emit() |
4900 | 4851 |
4901 def __showExternalTools(self): | 4852 def __showExternalTools(self): |
4902 """ | 4853 """ |
4903 Private slot to display a dialog show a list of external tools used by eric5. | 4854 Private slot to display a dialog show a list of external tools used by eric5. |
4904 """ | 4855 """ |
5240 Public slot to append text to the stdout log viewer tab. | 5191 Public slot to append text to the stdout log viewer tab. |
5241 | 5192 |
5242 @param s output to be appended (string) | 5193 @param s output to be appended (string) |
5243 """ | 5194 """ |
5244 self.showLogTab("stdout") | 5195 self.showLogTab("stdout") |
5245 self.emit(SIGNAL('appendStdout'), s) | 5196 self.appendStdout.emit(s) |
5246 | 5197 |
5247 def appendToStderr(self, s): | 5198 def appendToStderr(self, s): |
5248 """ | 5199 """ |
5249 Public slot to append text to the stderr log viewer tab. | 5200 Public slot to append text to the stderr log viewer tab. |
5250 | 5201 |
5251 @param s output to be appended (string) | 5202 @param s output to be appended (string) |
5252 """ | 5203 """ |
5253 self.showLogTab("stderr") | 5204 self.showLogTab("stderr") |
5254 self.emit(SIGNAL('appendStderr'), s) | 5205 self.appendStderr.emit(s) |
5255 | 5206 |
5256 ########################################################## | 5207 ########################################################## |
5257 ## Below are slots needed by the plugin menu | 5208 ## Below are slots needed by the plugin menu |
5258 ########################################################## | 5209 ########################################################## |
5259 | 5210 |
5489 if self.__versionCheckProgress is None: | 5440 if self.__versionCheckProgress is None: |
5490 self.__versionCheckProgress = \ | 5441 self.__versionCheckProgress = \ |
5491 QProgressDialog("", self.trUtf8("&Cancel"), | 5442 QProgressDialog("", self.trUtf8("&Cancel"), |
5492 0, len(self.__httpAlternatives), self) | 5443 0, len(self.__httpAlternatives), self) |
5493 self.__versionCheckProgress.setMinimumDuration(0) | 5444 self.__versionCheckProgress.setMinimumDuration(0) |
5494 self.connect(self.__versionCheckProgress, SIGNAL("canceled()"), | 5445 self.__versionCheckProgress.canceled.connect( |
5495 self.__versionsDownloadCanceled) | 5446 self.__versionsDownloadCanceled) |
5496 self.__versionCheckProgress.setLabelText(self.trUtf8("Trying host {0}")\ | 5447 self.__versionCheckProgress.setLabelText( |
5497 .format(url.host())) | 5448 self.trUtf8("Trying host {0}").format(url.host())) |
5498 self.__versionCheckProgress.setValue(alternative) | 5449 self.__versionCheckProgress.setValue(alternative) |
5499 reply = self.__networkManager.get(QNetworkRequest(url)) | 5450 reply = self.__networkManager.get(QNetworkRequest(url)) |
5500 reply.finished[()].connect(self.__versionsDownloadDone) | 5451 reply.finished[()].connect(self.__versionsDownloadDone) |
5501 self.__replies.append(reply) | 5452 self.__replies.append(reply) |
5502 | 5453 |