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, \ |
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 |