UI/UserInterface.py

changeset 500
c3abc7895a01
parent 496
ed1e3f654d0b
child 535
4b00d7336e19
equal deleted inserted replaced
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

eric ide

mercurial