5937:cc296ba99a3f | 5948:6f958d5765f4 |
---|---|
453 self.preferencesChanged.connect(debugServer.preferencesChanged) | 453 self.preferencesChanged.connect(debugServer.preferencesChanged) |
454 self.preferencesChanged.connect(self.debugViewer.preferencesChanged) | 454 self.preferencesChanged.connect(self.debugViewer.preferencesChanged) |
455 self.preferencesChanged.connect(self.cooperation.preferencesChanged) | 455 self.preferencesChanged.connect(self.cooperation.preferencesChanged) |
456 self.preferencesChanged.connect( | 456 self.preferencesChanged.connect( |
457 self.backgroundService.preferencesOrProjectChanged) | 457 self.backgroundService.preferencesOrProjectChanged) |
458 self.preferencesChanged.connect( | |
459 self.codeDocumentationViewer.preferencesChanged) | |
458 | 460 |
459 self.viewmanager.editorSaved.connect(self.project.repopulateItem) | 461 self.viewmanager.editorSaved.connect(self.project.repopulateItem) |
460 self.viewmanager.lastEditorClosed.connect(self.__lastEditorClosed) | 462 self.viewmanager.lastEditorClosed.connect(self.__lastEditorClosed) |
461 self.viewmanager.editorOpened.connect(self.__editorOpened) | 463 self.viewmanager.editorOpened.connect(self.__editorOpened) |
462 self.viewmanager.changeCaption.connect(self.__setWindowCaption) | 464 self.viewmanager.changeCaption.connect(self.__setWindowCaption) |
529 e5App().registerObject("ToolbarManager", self.toolbarManager) | 531 e5App().registerObject("ToolbarManager", self.toolbarManager) |
530 e5App().registerObject("Cooperation", self.cooperation) | 532 e5App().registerObject("Cooperation", self.cooperation) |
531 e5App().registerObject("IRC", self.irc) | 533 e5App().registerObject("IRC", self.irc) |
532 e5App().registerObject("Symbols", self.symbolsViewer) | 534 e5App().registerObject("Symbols", self.symbolsViewer) |
533 e5App().registerObject("Numbers", self.numbersViewer) | 535 e5App().registerObject("Numbers", self.numbersViewer) |
536 e5App().registerObject("DocuViewer", self.codeDocumentationViewer) | |
534 | 537 |
535 # list of web addresses serving the versions file | 538 # list of web addresses serving the versions file |
536 self.__httpAlternatives = Preferences.getUI("VersionsUrls6") | 539 self.__httpAlternatives = Preferences.getUI("VersionsUrls6") |
537 self.__inVersionCheck = False | 540 self.__inVersionCheck = False |
538 self.__versionCheckProgress = None | 541 self.__versionCheckProgress = None |
639 | 642 |
640 # set the keyboard input interval | 643 # set the keyboard input interval |
641 interval = Preferences.getUI("KeyboardInputInterval") | 644 interval = Preferences.getUI("KeyboardInputInterval") |
642 if interval > 0: | 645 if interval > 0: |
643 QApplication.setKeyboardInputInterval(interval) | 646 QApplication.setKeyboardInputInterval(interval) |
647 | |
648 # finalize the initialization of the code documentation viewer | |
649 self.codeDocumentationViewer.finalizeSetup() | |
644 | 650 |
645 def __createLayout(self, debugServer): | 651 def __createLayout(self, debugServer): |
646 """ | 652 """ |
647 Private method to create the layout of the various windows. | 653 Private method to create the layout of the various windows. |
648 | 654 |
698 | 704 |
699 @param debugServer reference to the debug server object | 705 @param debugServer reference to the debug server object |
700 """ | 706 """ |
701 from E5Gui.E5ToolBox import E5VerticalToolBox, E5HorizontalToolBox | 707 from E5Gui.E5ToolBox import E5VerticalToolBox, E5HorizontalToolBox |
702 | 708 |
709 logging.debug("Creating Toolboxes Layout...") | |
710 | |
703 # Create the left toolbox | 711 # Create the left toolbox |
704 self.lToolboxDock = self.__createDockWindow("lToolboxDock") | 712 self.lToolboxDock = self.__createDockWindow("lToolboxDock") |
705 self.lToolbox = E5VerticalToolBox(self.lToolboxDock) | 713 self.lToolbox = E5VerticalToolBox(self.lToolboxDock) |
706 self.__setupDockWindow(self.lToolboxDock, Qt.LeftDockWidgetArea, | 714 self.__setupDockWindow(self.lToolboxDock, Qt.LeftDockWidgetArea, |
707 self.lToolbox, self.tr("Left Toolbox")) | 715 self.lToolbox, self.tr("Left Toolbox")) |
718 self.rToolbox = E5VerticalToolBox(self.rToolboxDock) | 726 self.rToolbox = E5VerticalToolBox(self.rToolboxDock) |
719 self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea, | 727 self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea, |
720 self.rToolbox, self.tr("Right Toolbox")) | 728 self.rToolbox, self.tr("Right Toolbox")) |
721 | 729 |
722 # Create the project browser | 730 # Create the project browser |
731 logging.debug("Creating Project Browser...") | |
723 from Project.ProjectBrowser import ProjectBrowser | 732 from Project.ProjectBrowser import ProjectBrowser |
724 self.projectBrowser = ProjectBrowser( | 733 self.projectBrowser = ProjectBrowser( |
725 self.project, None, | 734 self.project, None, |
726 embeddedBrowser=(self.embeddedFileBrowser == 2)) | 735 embeddedBrowser=(self.embeddedFileBrowser == 2)) |
727 self.lToolbox.addItem(self.projectBrowser, | 736 self.lToolbox.addItem(self.projectBrowser, |
728 UI.PixmapCache.getIcon("projectViewer.png"), | 737 UI.PixmapCache.getIcon("projectViewer.png"), |
729 self.tr("Project-Viewer")) | 738 self.tr("Project-Viewer")) |
730 | 739 |
731 # Create the multi project browser | 740 # Create the multi project browser |
741 logging.debug("Creating Multiproject Browser...") | |
732 from MultiProject.MultiProjectBrowser import MultiProjectBrowser | 742 from MultiProject.MultiProjectBrowser import MultiProjectBrowser |
733 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject, | 743 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject, |
734 self.project) | 744 self.project) |
735 self.lToolbox.addItem(self.multiProjectBrowser, | 745 self.lToolbox.addItem(self.multiProjectBrowser, |
736 UI.PixmapCache.getIcon("multiProjectViewer.png"), | 746 UI.PixmapCache.getIcon("multiProjectViewer.png"), |
737 self.tr("Multiproject-Viewer")) | 747 self.tr("Multiproject-Viewer")) |
738 | 748 |
739 # Create the template viewer part of the user interface | 749 # Create the template viewer part of the user interface |
750 logging.debug("Creating Template Viewer...") | |
740 from Templates.TemplateViewer import TemplateViewer | 751 from Templates.TemplateViewer import TemplateViewer |
741 self.templateViewer = TemplateViewer(None, | 752 self.templateViewer = TemplateViewer(None, |
742 self.viewmanager) | 753 self.viewmanager) |
743 self.lToolbox.addItem(self.templateViewer, | 754 self.lToolbox.addItem(self.templateViewer, |
744 UI.PixmapCache.getIcon("templateViewer.png"), | 755 UI.PixmapCache.getIcon("templateViewer.png"), |
745 self.tr("Template-Viewer")) | 756 self.tr("Template-Viewer")) |
746 | 757 |
758 # Create the code documentation viewer | |
759 logging.debug("Creating Code Documentation Viewer...") | |
760 from .CodeDocumentationViewer import CodeDocumentationViewer | |
761 self.codeDocumentationViewer = CodeDocumentationViewer(self) | |
762 self.rToolbox.addItem(self.codeDocumentationViewer, | |
763 UI.PixmapCache.getIcon("codeDocuViewer.png"), | |
764 self.tr("Code Documentation Viewer")) | |
765 | |
747 # Create the debug viewer maybe without the embedded shell | 766 # Create the debug viewer maybe without the embedded shell |
767 logging.debug("Creating Debug Viewer...") | |
748 from Debugger.DebugViewer import DebugViewer | 768 from Debugger.DebugViewer import DebugViewer |
749 self.debugViewer = DebugViewer( | 769 self.debugViewer = DebugViewer( |
750 debugServer, True, self.viewmanager, None, | 770 debugServer, True, self.viewmanager, None, |
751 embeddedShell=self.embeddedShell, | 771 embeddedShell=self.embeddedShell, |
752 embeddedBrowser=(self.embeddedFileBrowser == 1)) | 772 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
753 self.rToolbox.addItem(self.debugViewer, | 773 self.rToolbox.addItem(self.debugViewer, |
754 UI.PixmapCache.getIcon("debugViewer.png"), | 774 UI.PixmapCache.getIcon("debugViewer.png"), |
755 self.tr("Debug-Viewer")) | 775 self.tr("Debug-Viewer")) |
756 | 776 |
757 # Create the chat part of the user interface | 777 # Create the chat part of the user interface |
778 logging.debug("Creating Chat Widget...") | |
758 from Cooperation.ChatWidget import ChatWidget | 779 from Cooperation.ChatWidget import ChatWidget |
759 self.cooperation = ChatWidget(self) | 780 self.cooperation = ChatWidget(self) |
760 self.rToolbox.addItem(self.cooperation, | 781 self.rToolbox.addItem(self.cooperation, |
761 UI.PixmapCache.getIcon("cooperation.png"), | 782 UI.PixmapCache.getIcon("cooperation.png"), |
762 self.tr("Cooperation")) | 783 self.tr("Cooperation")) |
763 | 784 |
764 # Create the IRC part of the user interface | 785 # Create the IRC part of the user interface |
786 logging.debug("Creating IRC Widget...") | |
765 from Network.IRC.IrcWidget import IrcWidget | 787 from Network.IRC.IrcWidget import IrcWidget |
766 self.irc = IrcWidget(self) | 788 self.irc = IrcWidget(self) |
767 self.rToolbox.addItem(self.irc, | 789 self.rToolbox.addItem(self.irc, |
768 UI.PixmapCache.getIcon("irc.png"), | 790 UI.PixmapCache.getIcon("irc.png"), |
769 self.tr("IRC")) | 791 self.tr("IRC")) |
770 | 792 |
771 # Create the task viewer part of the user interface | 793 # Create the task viewer part of the user interface |
794 logging.debug("Creating Task Viewer...") | |
772 from Tasks.TaskViewer import TaskViewer | 795 from Tasks.TaskViewer import TaskViewer |
773 self.taskViewer = TaskViewer(None, self.project) | 796 self.taskViewer = TaskViewer(None, self.project) |
774 self.hToolbox.addItem(self.taskViewer, | 797 self.hToolbox.addItem(self.taskViewer, |
775 UI.PixmapCache.getIcon("task.png"), | 798 UI.PixmapCache.getIcon("task.png"), |
776 self.tr("Task-Viewer")) | 799 self.tr("Task-Viewer")) |
777 | 800 |
778 # Create the log viewer part of the user interface | 801 # Create the log viewer part of the user interface |
802 logging.debug("Creating Log Viewer...") | |
779 from .LogView import LogViewer | 803 from .LogView import LogViewer |
780 self.logViewer = LogViewer(self) | 804 self.logViewer = LogViewer(self) |
781 self.hToolbox.addItem(self.logViewer, | 805 self.hToolbox.addItem(self.logViewer, |
782 UI.PixmapCache.getIcon("logViewer.png"), | 806 UI.PixmapCache.getIcon("logViewer.png"), |
783 self.tr("Log-Viewer")) | 807 self.tr("Log-Viewer")) |
784 | 808 |
785 if self.embeddedShell: | 809 if self.embeddedShell: |
786 self.shell = self.debugViewer.shell | 810 self.shell = self.debugViewer.shell |
787 else: | 811 else: |
788 # Create the shell | 812 # Create the shell |
813 logging.debug("Creating Shell...") | |
789 from QScintilla.Shell import ShellAssembly | 814 from QScintilla.Shell import ShellAssembly |
790 self.shellAssembly = \ | 815 self.shellAssembly = \ |
791 ShellAssembly(debugServer, self.viewmanager, True) | 816 ShellAssembly(debugServer, self.viewmanager, True) |
792 self.shell = self.shellAssembly.shell() | 817 self.shell = self.shellAssembly.shell() |
793 self.hToolbox.insertItem(0, self.shellAssembly, | 818 self.hToolbox.insertItem(0, self.shellAssembly, |
794 UI.PixmapCache.getIcon("shell.png"), | 819 UI.PixmapCache.getIcon("shell.png"), |
795 self.tr("Shell")) | 820 self.tr("Shell")) |
796 | 821 |
797 if self.embeddedFileBrowser == 0: # separate window | 822 if self.embeddedFileBrowser == 0: # separate window |
798 # Create the file browser | 823 # Create the file browser |
824 logging.debug("Creating File Browser...") | |
799 from .Browser import Browser | 825 from .Browser import Browser |
800 self.browser = Browser() | 826 self.browser = Browser() |
801 self.lToolbox.addItem(self.browser, | 827 self.lToolbox.addItem(self.browser, |
802 UI.PixmapCache.getIcon("browser.png"), | 828 UI.PixmapCache.getIcon("browser.png"), |
803 self.tr("File-Browser")) | 829 self.tr("File-Browser")) |
805 self.browser = self.debugViewer.browser | 831 self.browser = self.debugViewer.browser |
806 else: # embedded in project browser | 832 else: # embedded in project browser |
807 self.browser = self.projectBrowser.fileBrowser | 833 self.browser = self.projectBrowser.fileBrowser |
808 | 834 |
809 # Create the symbols viewer | 835 # Create the symbols viewer |
836 logging.debug("Creating Symbols Viewer...") | |
810 from .SymbolsWidget import SymbolsWidget | 837 from .SymbolsWidget import SymbolsWidget |
811 self.symbolsViewer = SymbolsWidget() | 838 self.symbolsViewer = SymbolsWidget() |
812 self.lToolbox.addItem(self.symbolsViewer, | 839 self.lToolbox.addItem(self.symbolsViewer, |
813 UI.PixmapCache.getIcon("symbols.png"), | 840 UI.PixmapCache.getIcon("symbols.png"), |
814 self.tr("Symbols")) | 841 self.tr("Symbols")) |
815 | 842 |
816 # Create the numbers viewer | 843 # Create the numbers viewer |
844 logging.debug("Creating Numbers Viewer...") | |
817 from .NumbersWidget import NumbersWidget | 845 from .NumbersWidget import NumbersWidget |
818 self.numbersViewer = NumbersWidget() | 846 self.numbersViewer = NumbersWidget() |
819 self.hToolbox.addItem(self.numbersViewer, | 847 self.hToolbox.addItem(self.numbersViewer, |
820 UI.PixmapCache.getIcon("numbers.png"), | 848 UI.PixmapCache.getIcon("numbers.png"), |
821 self.tr("Numbers")) | 849 self.tr("Numbers")) |
827 Private method to create the Sidebars layout. | 855 Private method to create the Sidebars layout. |
828 | 856 |
829 @param debugServer reference to the debug server object | 857 @param debugServer reference to the debug server object |
830 """ | 858 """ |
831 from E5Gui.E5SideBar import E5SideBar | 859 from E5Gui.E5SideBar import E5SideBar |
860 | |
861 logging.debug("Creating Sidebars Layout...") | |
832 | 862 |
833 delay = Preferences.getUI("SidebarDelay") | 863 delay = Preferences.getUI("SidebarDelay") |
834 # Create the left sidebar | 864 # Create the left sidebar |
835 self.leftSidebar = E5SideBar(E5SideBar.West, delay) | 865 self.leftSidebar = E5SideBar(E5SideBar.West, delay) |
836 | 866 |
869 self.leftSidebar.addTab( | 899 self.leftSidebar.addTab( |
870 self.templateViewer, | 900 self.templateViewer, |
871 UI.PixmapCache.getIcon("templateViewer.png"), | 901 UI.PixmapCache.getIcon("templateViewer.png"), |
872 self.tr("Template-Viewer")) | 902 self.tr("Template-Viewer")) |
873 | 903 |
904 # Create the code documentation viewer | |
905 logging.debug("Creating Code Documentation Viewer...") | |
906 from .CodeDocumentationViewer import CodeDocumentationViewer | |
907 self.codeDocumentationViewer = CodeDocumentationViewer(self) | |
908 self.rightSidebar.addTab( | |
909 self.codeDocumentationViewer, | |
910 UI.PixmapCache.getIcon("codeDocuViewer.png"), | |
911 self.tr("Code Documentation Viewer")) | |
912 | |
874 # Create the debug viewer maybe without the embedded shell | 913 # Create the debug viewer maybe without the embedded shell |
875 logging.debug("Creating Debug Viewer...") | 914 logging.debug("Creating Debug Viewer...") |
876 from Debugger.DebugViewer import DebugViewer | 915 from Debugger.DebugViewer import DebugViewer |
877 self.debugViewer = DebugViewer( | 916 self.debugViewer = DebugViewer( |
878 debugServer, True, self.viewmanager, None, | 917 debugServer, True, self.viewmanager, None, |
1422 self.shellActivateAct = E5Action( | 1461 self.shellActivateAct = E5Action( |
1423 self.tr('Shell'), | 1462 self.tr('Shell'), |
1424 self.tr('&Shell'), | 1463 self.tr('&Shell'), |
1425 QKeySequence(self.tr("Alt+Shift+S")), | 1464 QKeySequence(self.tr("Alt+Shift+S")), |
1426 0, self, | 1465 0, self, |
1427 'interprter_shell_activate') | 1466 'interpreter_shell_activate') |
1428 self.shellActivateAct.setStatusTip(self.tr( | 1467 self.shellActivateAct.setStatusTip(self.tr( |
1429 "Switch the input focus to the Shell window.")) | 1468 "Switch the input focus to the Shell window.")) |
1430 self.shellActivateAct.setWhatsThis(self.tr( | 1469 self.shellActivateAct.setWhatsThis(self.tr( |
1431 """<b>Activate Shell</b>""" | 1470 """<b>Activate Shell</b>""" |
1432 """<p>This switches the input focus to the Shell window.</p>""" | 1471 """<p>This switches the input focus to the Shell window.</p>""" |
4162 """ | 4201 """ |
4163 aw = self.viewmanager.activeWindow() | 4202 aw = self.viewmanager.activeWindow() |
4164 if aw is not None: | 4203 if aw is not None: |
4165 aw.setFocus(Qt.ActiveWindowFocusReason) | 4204 aw.setFocus(Qt.ActiveWindowFocusReason) |
4166 | 4205 |
4206 def activateCodeDocumentationViewer(self, switchFocus=True): | |
4207 """ | |
4208 Public slot to handle the activation of the Code Documentation Viewer. | |
4209 | |
4210 @param switchFocus flag indicating to transfer the input focus | |
4211 @type bool | |
4212 """ | |
4213 if self.layoutType == "Toolboxes": | |
4214 self.rToolboxDock.show() | |
4215 self.rToolbox.setCurrentWidget(self.codeDocumentationViewer) | |
4216 elif self.layoutType == "Sidebars": | |
4217 self.rightSidebar.show() | |
4218 self.rightSidebar.setCurrentWidget(self.codeDocumentationViewer) | |
4219 else: | |
4220 self.codeDocumentationViewer.show() | |
4221 if switchFocus: | |
4222 self.codeDocumentationViewer.setFocus(Qt.ActiveWindowFocusReason) | |
4223 | |
4167 def __toggleWindow(self, w): | 4224 def __toggleWindow(self, w): |
4168 """ | 4225 """ |
4169 Private method to toggle a workspace editor window. | 4226 Private method to toggle a workspace editor window. |
4170 | 4227 |
4171 @param w reference to the workspace editor window | 4228 @param w reference to the workspace editor window |
6263 if not self.viewmanager.closeViewManager(): | 6320 if not self.viewmanager.closeViewManager(): |
6264 return False | 6321 return False |
6265 | 6322 |
6266 if sessionCreated and not self.__disableCrashSession: | 6323 if sessionCreated and not self.__disableCrashSession: |
6267 self.__deleteCrashSession() | 6324 self.__deleteCrashSession() |
6325 | |
6326 self.codeDocumentationViewer.shutdown() | |
6268 | 6327 |
6269 self.__previewer.shutdown() | 6328 self.__previewer.shutdown() |
6270 | 6329 |
6271 self.shell.closeShell() | 6330 self.shell.closeShell() |
6272 | 6331 |
6795 def __ircAutoConnected(self): | 6854 def __ircAutoConnected(self): |
6796 """ | 6855 """ |
6797 Private slot handling the automatic connection of the IRC client. | 6856 Private slot handling the automatic connection of the IRC client. |
6798 """ | 6857 """ |
6799 self.__activateIRC() | 6858 self.__activateIRC() |
6859 | |
6860 ############################################### | |
6861 ## Support for Code Documentation Viewer below | |
6862 ############################################### | |
6863 | |
6864 def documentationViewer(self): | |
6865 """ | |
6866 Public method to provide a reference to the code documentation viewer. | |
6867 | |
6868 @return reference to the code documentation viewer | |
6869 @rtype CodeDocumentationViewer | |
6870 """ | |
6871 return self.codeDocumentationViewer |