UI/UserInterface.py

changeset 2409
df3820f08247
parent 2400
c1726b754f96
child 2411
aec0a8a6e548
equal deleted inserted replaced
2408:dc3a7c9d8f6e 2409:df3820f08247
18 QVBoxLayout, QDockWidget, QAction, QLabel 18 QVBoxLayout, QDockWidget, QAction, QLabel
19 from PyQt4.Qsci import QSCINTILLA_VERSION_STR 19 from PyQt4.Qsci import QSCINTILLA_VERSION_STR
20 from PyQt4.QtNetwork import QNetworkProxyFactory, QNetworkAccessManager, \ 20 from PyQt4.QtNetwork import QNetworkProxyFactory, QNetworkAccessManager, \
21 QNetworkRequest, QNetworkReply 21 QNetworkRequest, QNetworkReply
22 22
23 from Debugger.DebugUI import DebugUI
24 from Debugger.DebugServer import DebugServer
25 from Debugger.DebugViewer import DebugViewer
26 from Debugger.DebugClientCapabilities import HasUnittest
27
28 from QScintilla.Shell import ShellAssembly
29 from QScintilla.Terminal import TerminalAssembly
30 from QScintilla.SpellChecker import SpellChecker
31
32 from Helpviewer.HelpWindow import HelpWindow
33
34 from Preferences import Shortcuts
35
36 from PluginManager.PluginManager import PluginManager
37
38 from Project.Project import Project
39 from Project.ProjectBrowser import ProjectBrowser
40
41 from MultiProject.MultiProject import MultiProject
42 from MultiProject.MultiProjectBrowser import MultiProjectBrowser
43
44 from Tasks.TaskViewer import TaskViewer
45
46 from Templates.TemplateViewer import TemplateViewer
47
48 from Cooperation.ChatWidget import ChatWidget
49
50 from Network.IRC.IrcWidget import IrcWidget
51
52 from .Browser import Browser
53 from .Info import Version, BugAddress, Program, FeatureAddress 23 from .Info import Version, BugAddress, Program, FeatureAddress
54 from . import Config 24 from . import Config
55 from .LogView import LogViewer
56 from .SymbolsWidget import SymbolsWidget
57 from .NumbersWidget import NumbersWidget
58 25
59 from E5Gui.E5SingleApplication import E5SingleApplicationServer 26 from E5Gui.E5SingleApplication import E5SingleApplicationServer
60 from E5Gui.E5Action import E5Action, createActionGroup 27 from E5Gui.E5Action import E5Action, createActionGroup
61 from E5Gui.E5ToolBarManager import E5ToolBarManager 28 from E5Gui.E5ToolBarManager import E5ToolBarManager
62 from E5Gui import E5MessageBox, E5FileDialog 29 from E5Gui import E5MessageBox, E5FileDialog
63 from E5Gui.E5Application import e5App 30 from E5Gui.E5Application import e5App
64 from E5Gui.E5MainWindow import E5MainWindow 31 from E5Gui.E5MainWindow import E5MainWindow
65 from E5Gui.E5ZoomWidget import E5ZoomWidget 32 from E5Gui.E5ZoomWidget import E5ZoomWidget
66 33
67 from VCS.StatusMonitorLed import StatusMonitorLed
68
69 import Preferences 34 import Preferences
70 import ViewManager
71 import Utilities 35 import Utilities
72 36
73 import UI.PixmapCache 37 import UI.PixmapCache
74 38
75 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, \ 39 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, \
218 182
219 # load the view profiles 183 # load the view profiles
220 self.profiles = Preferences.getUI("ViewProfiles") 184 self.profiles = Preferences.getUI("ViewProfiles")
221 185
222 # Generate the debug server object 186 # Generate the debug server object
187 from Debugger.DebugServer import DebugServer
223 debugServer = DebugServer() 188 debugServer = DebugServer()
224 189
225 # Generate an empty project object and multi project object 190 # Generate an empty project object and multi project object
191 from Project.Project import Project
226 self.project = Project(self) 192 self.project = Project(self)
193
194 from MultiProject.MultiProject import MultiProject
227 self.multiProject = MultiProject(self.project, self) 195 self.multiProject = MultiProject(self.project, self)
228 196
229 splash.showMessage(self.trUtf8("Initializing Plugin Manager...")) 197 splash.showMessage(self.trUtf8("Initializing Plugin Manager..."))
230 198
231 # Initialize the Plugin Manager (Plugins are initialized later 199 # Initialize the Plugin Manager (Plugins are initialized later
200 from PluginManager.PluginManager import PluginManager
232 self.pluginManager = PluginManager(self, develPlugin=plugin) 201 self.pluginManager = PluginManager(self, develPlugin=plugin)
233 202
234 splash.showMessage(self.trUtf8("Generating Main User Interface...")) 203 splash.showMessage(self.trUtf8("Generating Main User Interface..."))
235 204
236 # Create the main window now so that we can connect QActions to it. 205 # Create the main window now so that we can connect QActions to it.
239 self.__currentRightWidget = None 208 self.__currentRightWidget = None
240 self.__currentBottomWidget = None 209 self.__currentBottomWidget = None
241 210
242 # Generate the debugger part of the ui 211 # Generate the debugger part of the ui
243 logging.debug("Creating Debugger UI...") 212 logging.debug("Creating Debugger UI...")
213 from Debugger.DebugUI import DebugUI
244 self.debuggerUI = DebugUI(self, self.viewmanager, debugServer, 214 self.debuggerUI = DebugUI(self, self.viewmanager, debugServer,
245 self.debugViewer, self.project) 215 self.debugViewer, self.project)
246 self.debugViewer.setDebugger(self.debuggerUI) 216 self.debugViewer.setDebugger(self.debuggerUI)
247 self.shell.setDebuggerUI(self.debuggerUI) 217 self.shell.setDebuggerUI(self.debuggerUI)
248 218
443 self.toolGroups, self.currentToolGroup = Preferences.readToolGroups() 413 self.toolGroups, self.currentToolGroup = Preferences.readToolGroups()
444 self.toolProcs = [] 414 self.toolProcs = []
445 self.__initExternalToolsActions() 415 self.__initExternalToolsActions()
446 416
447 # create a dummy help window for shortcuts handling 417 # create a dummy help window for shortcuts handling
418 from Helpviewer.HelpWindow import HelpWindow
448 self.dummyHelpViewer = HelpWindow(None, '.', None, 'help viewer', True, True) 419 self.dummyHelpViewer = HelpWindow(None, '.', None, 'help viewer', True, True)
449 420
450 # register all relevant objects 421 # register all relevant objects
451 splash.showMessage(self.trUtf8("Registering Objects...")) 422 splash.showMessage(self.trUtf8("Registering Objects..."))
452 e5App().registerObject("UserInterface", self) 423 e5App().registerObject("UserInterface", self)
509 # now activate plugins having autoload set to True 480 # now activate plugins having autoload set to True
510 splash.showMessage(self.trUtf8("Activating Plugins...")) 481 splash.showMessage(self.trUtf8("Activating Plugins..."))
511 self.pluginManager.activatePlugins() 482 self.pluginManager.activatePlugins()
512 483
513 # now read the keyboard shortcuts for all the actions 484 # now read the keyboard shortcuts for all the actions
485 from Preferences import Shortcuts
514 Shortcuts.readShortcuts() 486 Shortcuts.readShortcuts()
515 487
516 # restore toolbar manager state 488 # restore toolbar manager state
517 splash.showMessage(self.trUtf8("Restoring Toolbarmanager...")) 489 splash.showMessage(self.trUtf8("Restoring Toolbarmanager..."))
518 self.toolbarManager.restoreState(Preferences.getUI("ToolbarManagerState")) 490 self.toolbarManager.restoreState(Preferences.getUI("ToolbarManagerState"))
549 self.__httpAlternatives = Preferences.getUI("VersionsUrls5") 521 self.__httpAlternatives = Preferences.getUI("VersionsUrls5")
550 self.__inVersionCheck = False 522 self.__inVersionCheck = False
551 self.__versionCheckProgress = None 523 self.__versionCheckProgress = None
552 524
553 # set spellchecker defaults 525 # set spellchecker defaults
526 from QScintilla.SpellChecker import SpellChecker
554 SpellChecker.setDefaultLanguage( 527 SpellChecker.setDefaultLanguage(
555 Preferences.getEditor("SpellCheckingDefaultLanguage")) 528 Preferences.getEditor("SpellCheckingDefaultLanguage"))
556 529
557 # attribute for the last shown configuration page 530 # attribute for the last shown configuration page
558 self.__lastConfigurationPageName = "" 531 self.__lastConfigurationPageName = ""
563 536
564 @param debugServer reference to the debug server object 537 @param debugServer reference to the debug server object
565 """ 538 """
566 # Create the view manager depending on the configuration setting 539 # Create the view manager depending on the configuration setting
567 logging.debug("Creating Viewmanager...") 540 logging.debug("Creating Viewmanager...")
541 import ViewManager
568 self.viewmanager = \ 542 self.viewmanager = \
569 ViewManager.factory(self, self, debugServer, self.pluginManager) 543 ViewManager.factory(self, self, debugServer, self.pluginManager)
570 centralWidget = QWidget() 544 centralWidget = QWidget()
571 layout = QVBoxLayout() 545 layout = QVBoxLayout()
572 layout.setContentsMargins(1, 1, 1, 1) 546 layout.setContentsMargins(1, 1, 1, 1)
619 self.rToolbox = E5VerticalToolBox(self.rToolboxDock) 593 self.rToolbox = E5VerticalToolBox(self.rToolboxDock)
620 self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea, 594 self.__setupDockWindow(self.rToolboxDock, Qt.RightDockWidgetArea,
621 self.rToolbox, self.trUtf8("Right Toolbox")) 595 self.rToolbox, self.trUtf8("Right Toolbox"))
622 596
623 # Create the project browser 597 # Create the project browser
598 from Project.ProjectBrowser import ProjectBrowser
624 self.projectBrowser = ProjectBrowser(self.project, None, 599 self.projectBrowser = ProjectBrowser(self.project, None,
625 embeddedBrowser=(self.embeddedFileBrowser == 2)) 600 embeddedBrowser=(self.embeddedFileBrowser == 2))
626 self.lToolbox.addItem(self.projectBrowser, 601 self.lToolbox.addItem(self.projectBrowser,
627 UI.PixmapCache.getIcon("projectViewer.png"), 602 UI.PixmapCache.getIcon("projectViewer.png"),
628 self.trUtf8("Project-Viewer")) 603 self.trUtf8("Project-Viewer"))
629 604
630 # Create the multi project browser 605 # Create the multi project browser
606 from MultiProject.MultiProjectBrowser import MultiProjectBrowser
631 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject) 607 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
632 self.lToolbox.addItem(self.multiProjectBrowser, 608 self.lToolbox.addItem(self.multiProjectBrowser,
633 UI.PixmapCache.getIcon("multiProjectViewer.png"), 609 UI.PixmapCache.getIcon("multiProjectViewer.png"),
634 self.trUtf8("Multiproject-Viewer")) 610 self.trUtf8("Multiproject-Viewer"))
635 611
636 # Create the template viewer part of the user interface 612 # Create the template viewer part of the user interface
613 from Templates.TemplateViewer import TemplateViewer
637 self.templateViewer = TemplateViewer(None, 614 self.templateViewer = TemplateViewer(None,
638 self.viewmanager) 615 self.viewmanager)
639 self.lToolbox.addItem(self.templateViewer, 616 self.lToolbox.addItem(self.templateViewer,
640 UI.PixmapCache.getIcon("templateViewer.png"), 617 UI.PixmapCache.getIcon("templateViewer.png"),
641 self.trUtf8("Template-Viewer")) 618 self.trUtf8("Template-Viewer"))
642 619
643 # Create the debug viewer maybe without the embedded shell 620 # Create the debug viewer maybe without the embedded shell
621 from Debugger.DebugViewer import DebugViewer
644 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager, 622 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager,
645 None, 623 None,
646 embeddedShell=self.embeddedShell, 624 embeddedShell=self.embeddedShell,
647 embeddedBrowser=(self.embeddedFileBrowser == 1)) 625 embeddedBrowser=(self.embeddedFileBrowser == 1))
648 self.rToolbox.addItem(self.debugViewer, 626 self.rToolbox.addItem(self.debugViewer,
649 UI.PixmapCache.getIcon("debugViewer.png"), 627 UI.PixmapCache.getIcon("debugViewer.png"),
650 self.trUtf8("Debug-Viewer")) 628 self.trUtf8("Debug-Viewer"))
651 629
652 # Create the chat part of the user interface 630 # Create the chat part of the user interface
631 from Cooperation.ChatWidget import ChatWidget
653 self.cooperation = ChatWidget(self) 632 self.cooperation = ChatWidget(self)
654 self.rToolbox.addItem(self.cooperation, 633 self.rToolbox.addItem(self.cooperation,
655 UI.PixmapCache.getIcon("cooperation.png"), 634 UI.PixmapCache.getIcon("cooperation.png"),
656 self.trUtf8("Cooperation")) 635 self.trUtf8("Cooperation"))
657 636
658 # Create the IRC part of the user interface 637 # Create the IRC part of the user interface
638 from Network.IRC.IrcWidget import IrcWidget
659 self.irc = IrcWidget(self) 639 self.irc = IrcWidget(self)
660 self.rToolbox.addItem(self.irc, 640 self.rToolbox.addItem(self.irc,
661 UI.PixmapCache.getIcon("irc.png"), 641 UI.PixmapCache.getIcon("irc.png"),
662 self.trUtf8("IRC")) 642 self.trUtf8("IRC"))
663 643
664 # Create the terminal part of the user interface 644 # Create the terminal part of the user interface
645 from QScintilla.Terminal import TerminalAssembly
665 self.terminalAssembly = TerminalAssembly(self.viewmanager) 646 self.terminalAssembly = TerminalAssembly(self.viewmanager)
666 self.terminal = self.terminalAssembly.terminal() 647 self.terminal = self.terminalAssembly.terminal()
667 self.hToolbox.addItem(self.terminalAssembly, 648 self.hToolbox.addItem(self.terminalAssembly,
668 UI.PixmapCache.getIcon("terminal.png"), 649 UI.PixmapCache.getIcon("terminal.png"),
669 self.trUtf8("Terminal")) 650 self.trUtf8("Terminal"))
670 651
671 # Create the task viewer part of the user interface 652 # Create the task viewer part of the user interface
653 from Tasks.TaskViewer import TaskViewer
672 self.taskViewer = TaskViewer(None, self.project) 654 self.taskViewer = TaskViewer(None, self.project)
673 self.hToolbox.addItem(self.taskViewer, 655 self.hToolbox.addItem(self.taskViewer,
674 UI.PixmapCache.getIcon("task.png"), 656 UI.PixmapCache.getIcon("task.png"),
675 self.trUtf8("Task-Viewer")) 657 self.trUtf8("Task-Viewer"))
676 658
677 # Create the log viewer part of the user interface 659 # Create the log viewer part of the user interface
660 from .LogView import LogViewer
678 self.logViewer = LogViewer() 661 self.logViewer = LogViewer()
679 self.hToolbox.addItem(self.logViewer, 662 self.hToolbox.addItem(self.logViewer,
680 UI.PixmapCache.getIcon("logViewer.png"), 663 UI.PixmapCache.getIcon("logViewer.png"),
681 self.trUtf8("Log-Viewer")) 664 self.trUtf8("Log-Viewer"))
682 665
683 if self.embeddedShell: 666 if self.embeddedShell:
684 self.shell = self.debugViewer.shell 667 self.shell = self.debugViewer.shell
685 else: 668 else:
686 # Create the shell 669 # Create the shell
670 from QScintilla.Shell import ShellAssembly
687 self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True) 671 self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True)
688 self.shell = self.shellAssembly.shell() 672 self.shell = self.shellAssembly.shell()
689 self.hToolbox.insertItem(0, self.shellAssembly, 673 self.hToolbox.insertItem(0, self.shellAssembly,
690 UI.PixmapCache.getIcon("shell.png"), 674 UI.PixmapCache.getIcon("shell.png"),
691 self.trUtf8("Shell")) 675 self.trUtf8("Shell"))
692 676
693 if self.embeddedFileBrowser == 0: # separate window 677 if self.embeddedFileBrowser == 0: # separate window
694 # Create the file browser 678 # Create the file browser
679 from .Browser import Browser
695 self.browser = Browser() 680 self.browser = Browser()
696 self.lToolbox.addItem(self.browser, 681 self.lToolbox.addItem(self.browser,
697 UI.PixmapCache.getIcon("browser.png"), 682 UI.PixmapCache.getIcon("browser.png"),
698 self.trUtf8("File-Browser")) 683 self.trUtf8("File-Browser"))
699 elif self.embeddedFileBrowser == 1: # embedded in debug browser 684 elif self.embeddedFileBrowser == 1: # embedded in debug browser
700 self.browser = self.debugViewer.browser 685 self.browser = self.debugViewer.browser
701 else: # embedded in project browser 686 else: # embedded in project browser
702 self.browser = self.projectBrowser.fileBrowser 687 self.browser = self.projectBrowser.fileBrowser
703 688
704 # Create the symbols viewer 689 # Create the symbols viewer
690 from .SymbolsWidget import SymbolsWidget
705 self.symbolsViewer = SymbolsWidget() 691 self.symbolsViewer = SymbolsWidget()
706 self.lToolbox.addItem(self.symbolsViewer, 692 self.lToolbox.addItem(self.symbolsViewer,
707 UI.PixmapCache.getIcon("symbols.png"), 693 UI.PixmapCache.getIcon("symbols.png"),
708 self.trUtf8("Symbols")) 694 self.trUtf8("Symbols"))
709 695
710 # Create the numbers viewer 696 # Create the numbers viewer
697 from .NumbersWidget import NumbersWidget
711 self.numbersViewer = NumbersWidget() 698 self.numbersViewer = NumbersWidget()
712 self.hToolbox.addItem(self.numbersViewer, 699 self.hToolbox.addItem(self.numbersViewer,
713 UI.PixmapCache.getIcon("numbers.png"), 700 UI.PixmapCache.getIcon("numbers.png"),
714 self.trUtf8("Numbers")) 701 self.trUtf8("Numbers"))
715 702
732 # Create the right sidebar 719 # Create the right sidebar
733 self.rightSidebar = E5SideBar(E5SideBar.East) 720 self.rightSidebar = E5SideBar(E5SideBar.East)
734 721
735 # Create the project browser 722 # Create the project browser
736 logging.debug("Creating Project Browser...") 723 logging.debug("Creating Project Browser...")
724 from Project.ProjectBrowser import ProjectBrowser
737 self.projectBrowser = ProjectBrowser(self.project, None, 725 self.projectBrowser = ProjectBrowser(self.project, None,
738 embeddedBrowser=(self.embeddedFileBrowser == 2)) 726 embeddedBrowser=(self.embeddedFileBrowser == 2))
739 self.leftSidebar.addTab(self.projectBrowser, 727 self.leftSidebar.addTab(self.projectBrowser,
740 UI.PixmapCache.getIcon("projectViewer.png"), 728 UI.PixmapCache.getIcon("projectViewer.png"),
741 self.trUtf8("Project-Viewer")) 729 self.trUtf8("Project-Viewer"))
742 730
743 # Create the multi project browser 731 # Create the multi project browser
744 logging.debug("Creating Multiproject Browser...") 732 logging.debug("Creating Multiproject Browser...")
733 from MultiProject.MultiProjectBrowser import MultiProjectBrowser
745 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject) 734 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
746 self.leftSidebar.addTab(self.multiProjectBrowser, 735 self.leftSidebar.addTab(self.multiProjectBrowser,
747 UI.PixmapCache.getIcon("multiProjectViewer.png"), 736 UI.PixmapCache.getIcon("multiProjectViewer.png"),
748 self.trUtf8("Multiproject-Viewer")) 737 self.trUtf8("Multiproject-Viewer"))
749 738
750 # Create the template viewer part of the user interface 739 # Create the template viewer part of the user interface
751 logging.debug("Creating Template Viewer...") 740 logging.debug("Creating Template Viewer...")
741 from Templates.TemplateViewer import TemplateViewer
752 self.templateViewer = TemplateViewer(None, 742 self.templateViewer = TemplateViewer(None,
753 self.viewmanager) 743 self.viewmanager)
754 self.leftSidebar.addTab(self.templateViewer, 744 self.leftSidebar.addTab(self.templateViewer,
755 UI.PixmapCache.getIcon("templateViewer.png"), 745 UI.PixmapCache.getIcon("templateViewer.png"),
756 self.trUtf8("Template-Viewer")) 746 self.trUtf8("Template-Viewer"))
757 747
758 # Create the debug viewer maybe without the embedded shell 748 # Create the debug viewer maybe without the embedded shell
759 logging.debug("Creating Debug Viewer...") 749 logging.debug("Creating Debug Viewer...")
750 from Debugger.DebugViewer import DebugViewer
760 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager, 751 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager,
761 None, 752 None,
762 embeddedShell=self.embeddedShell, 753 embeddedShell=self.embeddedShell,
763 embeddedBrowser=(self.embeddedFileBrowser == 1)) 754 embeddedBrowser=(self.embeddedFileBrowser == 1))
764 self.rightSidebar.addTab(self.debugViewer, 755 self.rightSidebar.addTab(self.debugViewer,
765 UI.PixmapCache.getIcon("debugViewer.png"), self.trUtf8("Debug-Viewer")) 756 UI.PixmapCache.getIcon("debugViewer.png"), self.trUtf8("Debug-Viewer"))
766 757
767 # Create the chat part of the user interface 758 # Create the chat part of the user interface
768 logging.debug("Creating Chat Widget...") 759 logging.debug("Creating Chat Widget...")
760 from Cooperation.ChatWidget import ChatWidget
769 self.cooperation = ChatWidget(self) 761 self.cooperation = ChatWidget(self)
770 self.rightSidebar.addTab(self.cooperation, 762 self.rightSidebar.addTab(self.cooperation,
771 UI.PixmapCache.getIcon("cooperation.png"), self.trUtf8("Cooperation")) 763 UI.PixmapCache.getIcon("cooperation.png"), self.trUtf8("Cooperation"))
772 764
773 # Create the IRC part of the user interface 765 # Create the IRC part of the user interface
774 logging.debug("Creating IRC Widget...") 766 logging.debug("Creating IRC Widget...")
767 from Network.IRC.IrcWidget import IrcWidget
775 self.irc = IrcWidget(self) 768 self.irc = IrcWidget(self)
776 self.rightSidebar.addTab(self.irc, 769 self.rightSidebar.addTab(self.irc,
777 UI.PixmapCache.getIcon("irc.png"), self.trUtf8("IRC")) 770 UI.PixmapCache.getIcon("irc.png"), self.trUtf8("IRC"))
778 771
779 # Create the terminal part of the user interface 772 # Create the terminal part of the user interface
780 logging.debug("Creating Terminal...") 773 logging.debug("Creating Terminal...")
774 from QScintilla.Terminal import TerminalAssembly
781 self.terminalAssembly = TerminalAssembly(self.viewmanager) 775 self.terminalAssembly = TerminalAssembly(self.viewmanager)
782 self.terminal = self.terminalAssembly.terminal() 776 self.terminal = self.terminalAssembly.terminal()
783 self.bottomSidebar.addTab(self.terminalAssembly, 777 self.bottomSidebar.addTab(self.terminalAssembly,
784 UI.PixmapCache.getIcon("terminal.png"), 778 UI.PixmapCache.getIcon("terminal.png"),
785 self.trUtf8("Terminal")) 779 self.trUtf8("Terminal"))
786 780
787 # Create the task viewer part of the user interface 781 # Create the task viewer part of the user interface
788 logging.debug("Creating Task Viewer...") 782 logging.debug("Creating Task Viewer...")
783 from Tasks.TaskViewer import TaskViewer
789 self.taskViewer = TaskViewer(None, self.project) 784 self.taskViewer = TaskViewer(None, self.project)
790 self.bottomSidebar.addTab(self.taskViewer, 785 self.bottomSidebar.addTab(self.taskViewer,
791 UI.PixmapCache.getIcon("task.png"), 786 UI.PixmapCache.getIcon("task.png"),
792 self.trUtf8("Task-Viewer")) 787 self.trUtf8("Task-Viewer"))
793 788
794 # Create the log viewer part of the user interface 789 # Create the log viewer part of the user interface
795 logging.debug("Creating Log Viewer...") 790 logging.debug("Creating Log Viewer...")
791 from .LogView import LogViewer
796 self.logViewer = LogViewer() 792 self.logViewer = LogViewer()
797 self.bottomSidebar.addTab(self.logViewer, 793 self.bottomSidebar.addTab(self.logViewer,
798 UI.PixmapCache.getIcon("logViewer.png"), 794 UI.PixmapCache.getIcon("logViewer.png"),
799 self.trUtf8("Log-Viewer")) 795 self.trUtf8("Log-Viewer"))
800 796
801 if self.embeddedShell: 797 if self.embeddedShell:
802 self.shell = self.debugViewer.shell 798 self.shell = self.debugViewer.shell
803 else: 799 else:
804 # Create the shell 800 # Create the shell
805 logging.debug("Creating Shell...") 801 logging.debug("Creating Shell...")
802 from QScintilla.Shell import ShellAssembly
806 self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True) 803 self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True)
807 self.shell = self.shellAssembly.shell() 804 self.shell = self.shellAssembly.shell()
808 self.bottomSidebar.insertTab(0, self.shellAssembly, 805 self.bottomSidebar.insertTab(0, self.shellAssembly,
809 UI.PixmapCache.getIcon("shell.png"), 806 UI.PixmapCache.getIcon("shell.png"),
810 self.trUtf8("Shell")) 807 self.trUtf8("Shell"))
811 808
812 if self.embeddedFileBrowser == 0: # separate window 809 if self.embeddedFileBrowser == 0: # separate window
813 # Create the file browser 810 # Create the file browser
814 logging.debug("Creating File Browser...") 811 logging.debug("Creating File Browser...")
812 from .Browser import Browser
815 self.browser = Browser() 813 self.browser = Browser()
816 self.leftSidebar.addTab(self.browser, 814 self.leftSidebar.addTab(self.browser,
817 UI.PixmapCache.getIcon("browser.png"), 815 UI.PixmapCache.getIcon("browser.png"),
818 self.trUtf8("File-Browser")) 816 self.trUtf8("File-Browser"))
819 elif self.embeddedFileBrowser == 1: # embedded in debug browser 817 elif self.embeddedFileBrowser == 1: # embedded in debug browser
820 self.browser = self.debugViewer.browser 818 self.browser = self.debugViewer.browser
821 else: # embedded in project browser 819 else: # embedded in project browser
822 self.browser = self.projectBrowser.fileBrowser 820 self.browser = self.projectBrowser.fileBrowser
823 821
824 # Create the symbols viewer 822 # Create the symbols viewer
823 logging.debug("Creating Symbols Viewer...")
824 from .SymbolsWidget import SymbolsWidget
825 self.symbolsViewer = SymbolsWidget() 825 self.symbolsViewer = SymbolsWidget()
826 self.leftSidebar.addTab(self.symbolsViewer, 826 self.leftSidebar.addTab(self.symbolsViewer,
827 UI.PixmapCache.getIcon("symbols.png"), 827 UI.PixmapCache.getIcon("symbols.png"),
828 self.trUtf8("Symbols")) 828 self.trUtf8("Symbols"))
829 829
830 # Create the numbers viewer 830 # Create the numbers viewer
831 logging.debug("Creating Numbers Viewer...")
832 from .NumbersWidget import NumbersWidget
831 self.numbersViewer = NumbersWidget() 833 self.numbersViewer = NumbersWidget()
832 self.bottomSidebar.addTab(self.numbersViewer, 834 self.bottomSidebar.addTab(self.numbersViewer,
833 UI.PixmapCache.getIcon("numbers.png"), 835 UI.PixmapCache.getIcon("numbers.png"),
834 self.trUtf8("Numbers")) 836 self.trUtf8("Numbers"))
835 837
2504 2506
2505 self.viewmanager.setSbInfo(self.sbLine, self.sbPos, self.sbWritable, 2507 self.viewmanager.setSbInfo(self.sbLine, self.sbPos, self.sbWritable,
2506 self.sbEncoding, self.sbLanguage, self.sbEol, 2508 self.sbEncoding, self.sbLanguage, self.sbEol,
2507 self.sbZoom) 2509 self.sbZoom)
2508 2510
2511 from VCS.StatusMonitorLed import StatusMonitorLed
2509 self.sbVcsMonitorLed = StatusMonitorLed(self.project, self.__statusBar) 2512 self.sbVcsMonitorLed = StatusMonitorLed(self.project, self.__statusBar)
2510 self.__statusBar.addPermanentWidget(self.sbVcsMonitorLed) 2513 self.__statusBar.addPermanentWidget(self.sbVcsMonitorLed)
2511 2514
2512 def __initExternalToolsActions(self): 2515 def __initExternalToolsActions(self):
2513 """ 2516 """
4588 homeUrl = QUrl(home) 4591 homeUrl = QUrl(home)
4589 if not homeUrl.scheme(): 4592 if not homeUrl.scheme():
4590 home = QUrl.fromLocalFile(home).toString() 4593 home = QUrl.fromLocalFile(home).toString()
4591 if not (useSingle or Preferences.getHelp("SingleHelpWindow")) or \ 4594 if not (useSingle or Preferences.getHelp("SingleHelpWindow")) or \
4592 self.helpWindow is None: 4595 self.helpWindow is None:
4596 from Helpviewer.HelpWindow import HelpWindow
4593 help = HelpWindow(home, '.', None, 'help viewer', True, 4597 help = HelpWindow(home, '.', None, 'help viewer', True,
4594 searchWord=searchWord) 4598 searchWord=searchWord)
4595 4599
4596 if QApplication.desktop().width() > 400 and \ 4600 if QApplication.desktop().width() > 400 and \
4597 QApplication.desktop().height() > 500: 4601 QApplication.desktop().height() > 500:
4722 self.__httpAlternatives = Preferences.getUI("VersionsUrls5") 4726 self.__httpAlternatives = Preferences.getUI("VersionsUrls5")
4723 self.performVersionCheck(False) 4727 self.performVersionCheck(False)
4724 4728
4725 self.__configureDockareaCornerUsage() 4729 self.__configureDockareaCornerUsage()
4726 4730
4731 from QScintilla.SpellChecker import SpellChecker
4727 SpellChecker.setDefaultLanguage( 4732 SpellChecker.setDefaultLanguage(
4728 Preferences.getEditor("SpellCheckingDefaultLanguage")) 4733 Preferences.getEditor("SpellCheckingDefaultLanguage"))
4729 4734
4730 self.preferencesChanged.emit() 4735 self.preferencesChanged.emit()
4731 4736
4813 if not ext: 4818 if not ext:
4814 ex = selectedFilter.split("(*")[1].split(")")[0] 4819 ex = selectedFilter.split("(*")[1].split(")")[0]
4815 if ex: 4820 if ex:
4816 fn += ex 4821 fn += ex
4817 4822
4823 from Preferences import Shortcuts
4818 Shortcuts.exportShortcuts(fn) 4824 Shortcuts.exportShortcuts(fn)
4819 4825
4820 def __importShortcuts(self): 4826 def __importShortcuts(self):
4821 """ 4827 """
4822 Private slot to import the keyboard shortcuts. 4828 Private slot to import the keyboard shortcuts.
4826 self.trUtf8("Import Keyboard Shortcuts"), 4832 self.trUtf8("Import Keyboard Shortcuts"),
4827 "", 4833 "",
4828 self.trUtf8("Keyboard shortcut file (*.e4k)")) 4834 self.trUtf8("Keyboard shortcut file (*.e4k)"))
4829 4835
4830 if fn: 4836 if fn:
4837 from Preferences import Shortcuts
4831 Shortcuts.importShortcuts(fn) 4838 Shortcuts.importShortcuts(fn)
4832 4839
4833 def __showCertificatesDialog(self): 4840 def __showCertificatesDialog(self):
4834 """ 4841 """
4835 Private slot to show the certificates management dialog. 4842 Private slot to show the certificates management dialog.
4847 4854
4848 def __projectOpened(self): 4855 def __projectOpened(self):
4849 """ 4856 """
4850 Private slot to handle the projectOpened signal. 4857 Private slot to handle the projectOpened signal.
4851 """ 4858 """
4859 from Debugger.DebugClientCapabilities import HasUnittest
4852 self.__setWindowCaption(project=self.project.name) 4860 self.__setWindowCaption(project=self.project.name)
4853 cap = e5App().getObject("DebugServer")\ 4861 cap = e5App().getObject("DebugServer")\
4854 .getClientCapabilities(self.project.pdata["PROGLANGUAGE"][0]) 4862 .getClientCapabilities(self.project.pdata["PROGLANGUAGE"][0])
4855 self.utProjectAct.setEnabled(cap & HasUnittest) 4863 self.utProjectAct.setEnabled(cap & HasUnittest)
4856 self.utProjectOpen = cap & HasUnittest 4864 self.utProjectOpen = cap & HasUnittest
4903 if fn and str(fn) != "None": 4911 if fn and str(fn) != "None":
4904 dbs = e5App().getObject("DebugServer") 4912 dbs = e5App().getObject("DebugServer")
4905 for language in dbs.getSupportedLanguages(): 4913 for language in dbs.getSupportedLanguages():
4906 exts = dbs.getExtensions(language) 4914 exts = dbs.getExtensions(language)
4907 if fn.endswith(exts): 4915 if fn.endswith(exts):
4916 from Debugger.DebugClientCapabilities import HasUnittest
4908 cap = dbs.getClientCapabilities(language) 4917 cap = dbs.getClientCapabilities(language)
4909 self.utScriptAct.setEnabled(cap & HasUnittest) 4918 self.utScriptAct.setEnabled(cap & HasUnittest)
4910 self.utEditorOpen = cap & HasUnittest 4919 self.utEditorOpen = cap & HasUnittest
4911 return 4920 return
4912 4921
4929 if fn: 4938 if fn:
4930 dbs = e5App().getObject("DebugServer") 4939 dbs = e5App().getObject("DebugServer")
4931 for language in dbs.getSupportedLanguages(): 4940 for language in dbs.getSupportedLanguages():
4932 exts = dbs.getExtensions(language) 4941 exts = dbs.getExtensions(language)
4933 if fn.endswith(exts): 4942 if fn.endswith(exts):
4943 from Debugger.DebugClientCapabilities import HasUnittest
4934 cap = dbs.getClientCapabilities(language) 4944 cap = dbs.getClientCapabilities(language)
4935 self.utScriptAct.setEnabled(cap & HasUnittest) 4945 self.utScriptAct.setEnabled(cap & HasUnittest)
4936 self.utEditorOpen = cap & HasUnittest 4946 self.utEditorOpen = cap & HasUnittest
4937 return 4947 return
4938 4948

eric ide

mercurial