UI/UserInterface.py

changeset 2474
8727522a69d5
parent 2425
ace8a08028f3
child 2525
8b507a9a2d40
child 2548
03c3840f887d
equal deleted inserted replaced
2472:4860fe0ed4a6 2474:8727522a69d5
354 self.reloadAPIs.connect(self.viewmanager.getAPIsManager().reloadAPIs) 354 self.reloadAPIs.connect(self.viewmanager.getAPIsManager().reloadAPIs)
355 self.preferencesChanged.connect(self.logViewer.preferencesChanged) 355 self.preferencesChanged.connect(self.logViewer.preferencesChanged)
356 self.appendStdout.connect(self.logViewer.appendToStdout) 356 self.appendStdout.connect(self.logViewer.appendToStdout)
357 self.appendStderr.connect(self.logViewer.appendToStderr) 357 self.appendStderr.connect(self.logViewer.appendToStderr)
358 self.preferencesChanged.connect(self.shell.handlePreferencesChanged) 358 self.preferencesChanged.connect(self.shell.handlePreferencesChanged)
359 self.preferencesChanged.connect(self.terminal.handlePreferencesChanged)
360 self.preferencesChanged.connect(self.project.handlePreferencesChanged) 359 self.preferencesChanged.connect(self.project.handlePreferencesChanged)
361 self.preferencesChanged.connect(self.projectBrowser.handlePreferencesChanged) 360 self.preferencesChanged.connect(self.projectBrowser.handlePreferencesChanged)
362 self.preferencesChanged.connect( 361 self.preferencesChanged.connect(
363 self.projectBrowser.psBrowser.handlePreferencesChanged) 362 self.projectBrowser.psBrowser.handlePreferencesChanged)
364 self.preferencesChanged.connect( 363 self.preferencesChanged.connect(
386 self.viewmanager.editorChanged.connect(self.projectBrowser.handleEditorChanged) 385 self.viewmanager.editorChanged.connect(self.projectBrowser.handleEditorChanged)
387 self.viewmanager.checkActions.connect(self.cooperation.checkEditorActions) 386 self.viewmanager.checkActions.connect(self.cooperation.checkEditorActions)
388 387
389 self.shell.zoomValueChanged.connect(self.viewmanager.zoomValueChanged) 388 self.shell.zoomValueChanged.connect(self.viewmanager.zoomValueChanged)
390 389
391 self.terminal.zoomValueChanged.connect(self.viewmanager.zoomValueChanged)
392
393 self.cooperation.shareEditor.connect(self.viewmanager.shareEditor) 390 self.cooperation.shareEditor.connect(self.viewmanager.shareEditor)
394 self.cooperation.startEdit.connect(self.viewmanager.startSharedEdit) 391 self.cooperation.startEdit.connect(self.viewmanager.startSharedEdit)
395 self.cooperation.sendEdit.connect(self.viewmanager.sendSharedEdit) 392 self.cooperation.sendEdit.connect(self.viewmanager.sendSharedEdit)
396 self.cooperation.cancelEdit.connect(self.viewmanager.cancelSharedEdit) 393 self.cooperation.cancelEdit.connect(self.viewmanager.cancelSharedEdit)
397 self.cooperation.connected.connect(self.viewmanager.shareConnected) 394 self.cooperation.connected.connect(self.viewmanager.shareConnected)
431 e5App().registerObject("TemplateViewer", self.templateViewer) 428 e5App().registerObject("TemplateViewer", self.templateViewer)
432 e5App().registerObject("Shell", self.shell) 429 e5App().registerObject("Shell", self.shell)
433 e5App().registerObject("DummyHelpViewer", self.dummyHelpViewer) 430 e5App().registerObject("DummyHelpViewer", self.dummyHelpViewer)
434 e5App().registerObject("PluginManager", self.pluginManager) 431 e5App().registerObject("PluginManager", self.pluginManager)
435 e5App().registerObject("ToolbarManager", self.toolbarManager) 432 e5App().registerObject("ToolbarManager", self.toolbarManager)
436 e5App().registerObject("Terminal", self.terminal)
437 e5App().registerObject("Cooperation", self.cooperation) 433 e5App().registerObject("Cooperation", self.cooperation)
438 e5App().registerObject("IRC", self.irc) 434 e5App().registerObject("IRC", self.irc)
439 e5App().registerObject("Symbols", self.symbolsViewer) 435 e5App().registerObject("Symbols", self.symbolsViewer)
440 e5App().registerObject("Numbers", self.numbersViewer) 436 e5App().registerObject("Numbers", self.numbersViewer)
441 437
648 self.irc = IrcWidget(self) 644 self.irc = IrcWidget(self)
649 self.rToolbox.addItem(self.irc, 645 self.rToolbox.addItem(self.irc,
650 UI.PixmapCache.getIcon("irc.png"), 646 UI.PixmapCache.getIcon("irc.png"),
651 self.trUtf8("IRC")) 647 self.trUtf8("IRC"))
652 648
653 # Create the terminal part of the user interface
654 from QScintilla.Terminal import TerminalAssembly
655 self.terminalAssembly = TerminalAssembly(self.viewmanager)
656 self.terminal = self.terminalAssembly.terminal()
657 self.hToolbox.addItem(self.terminalAssembly,
658 UI.PixmapCache.getIcon("terminal.png"),
659 self.trUtf8("Terminal"))
660
661 # Create the task viewer part of the user interface 649 # Create the task viewer part of the user interface
662 from Tasks.TaskViewer import TaskViewer 650 from Tasks.TaskViewer import TaskViewer
663 self.taskViewer = TaskViewer(None, self.project) 651 self.taskViewer = TaskViewer(None, self.project)
664 self.hToolbox.addItem(self.taskViewer, 652 self.hToolbox.addItem(self.taskViewer,
665 UI.PixmapCache.getIcon("task.png"), 653 UI.PixmapCache.getIcon("task.png"),
776 from Network.IRC.IrcWidget import IrcWidget 764 from Network.IRC.IrcWidget import IrcWidget
777 self.irc = IrcWidget(self) 765 self.irc = IrcWidget(self)
778 self.rightSidebar.addTab(self.irc, 766 self.rightSidebar.addTab(self.irc,
779 UI.PixmapCache.getIcon("irc.png"), self.trUtf8("IRC")) 767 UI.PixmapCache.getIcon("irc.png"), self.trUtf8("IRC"))
780 768
781 # Create the terminal part of the user interface
782 logging.debug("Creating Terminal...")
783 from QScintilla.Terminal import TerminalAssembly
784 self.terminalAssembly = TerminalAssembly(self.viewmanager)
785 self.terminal = self.terminalAssembly.terminal()
786 self.bottomSidebar.addTab(self.terminalAssembly,
787 UI.PixmapCache.getIcon("terminal.png"),
788 self.trUtf8("Terminal"))
789
790 # Create the task viewer part of the user interface 769 # Create the task viewer part of the user interface
791 logging.debug("Creating Task Viewer...") 770 logging.debug("Creating Task Viewer...")
792 from Tasks.TaskViewer import TaskViewer 771 from Tasks.TaskViewer import TaskViewer
793 self.taskViewer = TaskViewer(None, self.project) 772 self.taskViewer = TaskViewer(None, self.project)
794 self.bottomSidebar.addTab(self.taskViewer, 773 self.bottomSidebar.addTab(self.taskViewer,
1255 )) 1234 ))
1256 self.shellActivateAct.triggered[()].connect(self.__activateShell) 1235 self.shellActivateAct.triggered[()].connect(self.__activateShell)
1257 self.actions.append(self.shellActivateAct) 1236 self.actions.append(self.shellActivateAct)
1258 self.addAction(self.shellActivateAct) 1237 self.addAction(self.shellActivateAct)
1259 1238
1260 self.terminalActivateAct = E5Action(self.trUtf8('Terminal'),
1261 self.trUtf8('Te&rminal'),
1262 QKeySequence(self.trUtf8("Alt+Shift+R")),
1263 0, self,
1264 'terminal_activate')
1265 self.terminalActivateAct.setStatusTip(self.trUtf8(
1266 "Switch the input focus to the Terminal window."))
1267 self.terminalActivateAct.setWhatsThis(self.trUtf8(
1268 """<b>Activate Terminal</b>"""
1269 """<p>This switches the input focus to the Terminal window.</p>"""
1270 ))
1271 self.terminalActivateAct.triggered[()].connect(self.__activateTerminal)
1272 self.actions.append(self.terminalActivateAct)
1273 self.addAction(self.terminalActivateAct)
1274
1275 self.browserActivateAct = E5Action(self.trUtf8('File-Browser'), 1239 self.browserActivateAct = E5Action(self.trUtf8('File-Browser'),
1276 self.trUtf8('&File-Browser'), 1240 self.trUtf8('&File-Browser'),
1277 QKeySequence(self.trUtf8("Alt+Shift+F")), 1241 QKeySequence(self.trUtf8("Alt+Shift+F")),
1278 0, self, 1242 0, self,
1279 'file_browser_activate') 1243 'file_browser_activate')
2212 self.__menus["subwindow"].addAction(self.templateViewerActivateAct) 2176 self.__menus["subwindow"].addAction(self.templateViewerActivateAct)
2213 self.__menus["subwindow"].addAction(self.browserActivateAct) 2177 self.__menus["subwindow"].addAction(self.browserActivateAct)
2214 self.__menus["subwindow"].addAction(self.symbolsViewerActivateAct) 2178 self.__menus["subwindow"].addAction(self.symbolsViewerActivateAct)
2215 # bottom side 2179 # bottom side
2216 self.__menus["subwindow"].addAction(self.shellActivateAct) 2180 self.__menus["subwindow"].addAction(self.shellActivateAct)
2217 self.__menus["subwindow"].addAction(self.terminalActivateAct)
2218 self.__menus["subwindow"].addAction(self.taskViewerActivateAct) 2181 self.__menus["subwindow"].addAction(self.taskViewerActivateAct)
2219 self.__menus["subwindow"].addAction(self.logViewerActivateAct) 2182 self.__menus["subwindow"].addAction(self.logViewerActivateAct)
2220 self.__menus["subwindow"].addAction(self.numbersViewerActivateAct) 2183 self.__menus["subwindow"].addAction(self.numbersViewerActivateAct)
2221 # right side 2184 # right side
2222 self.__menus["subwindow"].addAction(self.debugViewerActivateAct) 2185 self.__menus["subwindow"].addAction(self.debugViewerActivateAct)
3388 self.bottomSidebar.setCurrentWidget(self.shellAssembly) 3351 self.bottomSidebar.setCurrentWidget(self.shellAssembly)
3389 else: 3352 else:
3390 self.shell.show() 3353 self.shell.show()
3391 self.shell.setFocus(Qt.ActiveWindowFocusReason) 3354 self.shell.setFocus(Qt.ActiveWindowFocusReason)
3392 3355
3393 def __activateTerminal(self):
3394 """
3395 Private slot to handle the activation of the Terminal window.
3396 """
3397 if self.layout == "Toolboxes":
3398 self.hToolboxDock.show()
3399 self.hToolbox.setCurrentWidget(self.terminalAssembly)
3400 elif self.layout == "Sidebars":
3401 self.bottomSidebar.show()
3402 self.bottomSidebar.setCurrentWidget(self.terminalAssembly)
3403 else:
3404 self.terminal.show()
3405 self.terminal.setFocus(Qt.ActiveWindowFocusReason)
3406
3407 def __activateLogViewer(self): 3356 def __activateLogViewer(self):
3408 """ 3357 """
3409 Private slot to handle the activation of the Log Viewer. 3358 Private slot to handle the activation of the Log Viewer.
3410 """ 3359 """
3411 if self.layout == "Toolboxes": 3360 if self.layout == "Toolboxes":
4510 """ 4459 """
4511 Private slot to show the Eric documentation. 4460 Private slot to show the Eric documentation.
4512 """ 4461 """
4513 home = Utilities.normjoinpath(getConfig('ericDocDir'), 4462 home = Utilities.normjoinpath(getConfig('ericDocDir'),
4514 "Source", "index.html") 4463 "Source", "index.html")
4515 ## home = "qthelp://org.eric5.ide/eric5/index.html"
4516 4464
4517 if not home.startswith("http://") and \ 4465 if not home.startswith("http://") and \
4518 not home.startswith("https://") and \ 4466 not home.startswith("https://") and \
4519 not home.startswith("qthelp://"): 4467 not home.startswith("qthelp://"):
4520 if not os.path.exists(home): 4468 if not os.path.exists(home):
5268 return False 5216 return False
5269 5217
5270 self.__previewer.shutdown() 5218 self.__previewer.shutdown()
5271 5219
5272 self.shell.closeShell() 5220 self.shell.closeShell()
5273 self.terminal.closeTerminal()
5274 5221
5275 self.__writeTasks() 5222 self.__writeTasks()
5276 self.templateViewer.save() 5223 self.templateViewer.save()
5277 5224
5278 if not self.debuggerUI.shutdownServer(): 5225 if not self.debuggerUI.shutdownServer():

eric ide

mercurial