54 from MultiProject.MultiProjectBrowser import MultiProjectBrowser |
54 from MultiProject.MultiProjectBrowser import MultiProjectBrowser |
55 |
55 |
56 from Tasks.TaskViewer import TaskViewer |
56 from Tasks.TaskViewer import TaskViewer |
57 |
57 |
58 from Templates.TemplateViewer import TemplateViewer |
58 from Templates.TemplateViewer import TemplateViewer |
|
59 |
|
60 from Cooperation.ChatWidget import ChatWidget |
59 |
61 |
60 from .Browser import Browser |
62 from .Browser import Browser |
61 from .Info import * |
63 from .Info import * |
62 from . import Config |
64 from . import Config |
63 from .EmailDialog import EmailDialog |
65 from .EmailDialog import EmailDialog |
452 self.taskViewer.handlePreferencesChanged) |
454 self.taskViewer.handlePreferencesChanged) |
453 self.connect(self, SIGNAL('preferencesChanged'), |
455 self.connect(self, SIGNAL('preferencesChanged'), |
454 self.pluginManager.preferencesChanged) |
456 self.pluginManager.preferencesChanged) |
455 self.connect(self, SIGNAL('preferencesChanged'), |
457 self.connect(self, SIGNAL('preferencesChanged'), |
456 debugServer.preferencesChanged) |
458 debugServer.preferencesChanged) |
|
459 self.connect(self, SIGNAL('preferencesChanged'), |
|
460 self.cooperation.preferencesChanged) |
457 |
461 |
458 self.connect(self.viewmanager, SIGNAL('editorSaved'), |
462 self.connect(self.viewmanager, SIGNAL('editorSaved'), |
459 self.project.repopulateItem) |
463 self.project.repopulateItem) |
460 self.connect(self.viewmanager, SIGNAL('lastEditorClosed'), |
464 self.connect(self.viewmanager, SIGNAL('lastEditorClosed'), |
461 self.__lastEditorClosed) |
465 self.__lastEditorClosed) |
704 self.debugViewer = DebugViewer(debugServer, False, self.viewmanager, None, |
708 self.debugViewer = DebugViewer(debugServer, False, self.viewmanager, None, |
705 embeddedShell=self.embeddedShell, |
709 embeddedShell=self.embeddedShell, |
706 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
710 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
707 self.debugViewer.setWindowTitle(self.trUtf8("Debug-Viewer")) |
711 self.debugViewer.setWindowTitle(self.trUtf8("Debug-Viewer")) |
708 |
712 |
|
713 # Create the chat part of the user interface |
|
714 self.cooperation = ChatWidget() |
|
715 self.cooperation.setWindowTitle(self.trUtf8("Cooperation")) |
|
716 |
709 # Create the log viewer part of the user interface |
717 # Create the log viewer part of the user interface |
710 self.logViewer = LogViewer(None) |
718 self.logViewer = LogViewer(None) |
711 self.logViewer.setWindowTitle(self.trUtf8("Log-Viewer")) |
719 self.logViewer.setWindowTitle(self.trUtf8("Log-Viewer")) |
712 |
720 |
713 # Create the task viewer part of the user interface |
721 # Create the task viewer part of the user interface |
722 self.terminal = Terminal(self.viewmanager) |
730 self.terminal = Terminal(self.viewmanager) |
723 self.terminal.setWindowTitle(self.trUtf8("Terminal")) |
731 self.terminal.setWindowTitle(self.trUtf8("Terminal")) |
724 |
732 |
725 self.windows = [self.projectBrowser, None, self.debugViewer, |
733 self.windows = [self.projectBrowser, None, self.debugViewer, |
726 None, self.logViewer, self.taskViewer, self.templateViewer, |
734 None, self.logViewer, self.taskViewer, self.templateViewer, |
727 self.multiProjectBrowser, self.terminal] |
735 self.multiProjectBrowser, self.terminal, self.cooperation] |
728 |
736 |
729 if self.embeddedShell: |
737 if self.embeddedShell: |
730 self.shell = self.debugViewer.shell |
738 self.shell = self.debugViewer.shell |
731 else: |
739 else: |
732 # Create the shell |
740 # Create the shell |
771 embeddedShell=self.embeddedShell, |
779 embeddedShell=self.embeddedShell, |
772 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
780 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
773 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea, |
781 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea, |
774 self.debugViewer, self.trUtf8("Debug-Viewer")) |
782 self.debugViewer, self.trUtf8("Debug-Viewer")) |
775 |
783 |
|
784 # Create the chat part of the user interface |
|
785 self.cooperationDock = self.__createDockWindow("CooperationDock") |
|
786 self.cooperation = ChatWidget(parent = self.cooperationDock) |
|
787 self.__setupDockWindow(self.cooperationDock, Qt.RightDockWidgetArea, |
|
788 self.cooperation, self.trUtf8("Cooperation")) |
|
789 |
776 # Create the log viewer part of the user interface |
790 # Create the log viewer part of the user interface |
777 self.logViewerDock = self.__createDockWindow("LogViewerDock") |
791 self.logViewerDock = self.__createDockWindow("LogViewerDock") |
778 self.logViewer = LogViewer(self.logViewerDock) |
792 self.logViewer = LogViewer(self.logViewerDock) |
779 self.__setupDockWindow(self.logViewerDock, Qt.BottomDockWidgetArea, |
793 self.__setupDockWindow(self.logViewerDock, Qt.BottomDockWidgetArea, |
780 self.logViewer, self.trUtf8("Log-Viewer")) |
794 self.logViewer, self.trUtf8("Log-Viewer")) |
798 self.__setupDockWindow(self.terminalDock, Qt.BottomDockWidgetArea, |
812 self.__setupDockWindow(self.terminalDock, Qt.BottomDockWidgetArea, |
799 self.terminal, self.trUtf8("Terminal")) |
813 self.terminal, self.trUtf8("Terminal")) |
800 |
814 |
801 self.windows = [self.projectBrowserDock, None, self.debugViewerDock, |
815 self.windows = [self.projectBrowserDock, None, self.debugViewerDock, |
802 None, self.logViewerDock, self.taskViewerDock, self.templateViewerDock, |
816 None, self.logViewerDock, self.taskViewerDock, self.templateViewerDock, |
803 self.multiProjectBrowserDock, self.terminalDock] |
817 self.multiProjectBrowserDock, self.terminalDock, self.cooperationDock] |
804 |
818 |
805 if self.embeddedShell: |
819 if self.embeddedShell: |
806 self.shell = self.debugViewer.shell |
820 self.shell = self.debugViewer.shell |
807 else: |
821 else: |
808 # Create the shell |
822 # Create the shell |
869 embeddedShell=self.embeddedShell, |
883 embeddedShell=self.embeddedShell, |
870 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
884 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
871 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea, |
885 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea, |
872 self.debugViewer, self.trUtf8("Debug-Viewer")) |
886 self.debugViewer, self.trUtf8("Debug-Viewer")) |
873 |
887 |
|
888 # Create the chat part of the user interface |
|
889 self.cooperationDock = self.__createDockWindow("CooperationDock") |
|
890 self.cooperation = ChatWidget(parent = self.cooperationDock) |
|
891 self.__setupDockWindow(self.cooperationDock, Qt.RightDockWidgetArea, |
|
892 self.cooperation, self.trUtf8("Cooperation")) |
|
893 |
874 # Create the terminal part of the user interface |
894 # Create the terminal part of the user interface |
875 self.terminal = Terminal(self.viewmanager) |
895 self.terminal = Terminal(self.viewmanager) |
876 self.hToolbox.addItem(self.terminal, |
896 self.hToolbox.addItem(self.terminal, |
877 UI.PixmapCache.getIcon("terminal.png"), |
897 UI.PixmapCache.getIcon("terminal.png"), |
878 self.trUtf8("Terminal")) |
898 self.trUtf8("Terminal")) |
887 self.logViewer = LogViewer() |
907 self.logViewer = LogViewer() |
888 self.hToolbox.addItem(self.logViewer, |
908 self.hToolbox.addItem(self.logViewer, |
889 UI.PixmapCache.getIcon("logViewer.png"), |
909 UI.PixmapCache.getIcon("logViewer.png"), |
890 self.trUtf8("Log-Viewer")) |
910 self.trUtf8("Log-Viewer")) |
891 |
911 |
892 self.windows = [None, None, self.debugViewerDock, |
912 self.windows = [None, None, self.debugViewerDock, None, None, |
893 None, None, None, None, None] |
913 None, None, None, None, self.cooperationDock] |
894 |
914 |
895 if self.embeddedShell: |
915 if self.embeddedShell: |
896 self.shell = self.debugViewer.shell |
916 self.shell = self.debugViewer.shell |
897 else: |
917 else: |
898 # Create the shell |
918 # Create the shell |
957 embeddedShell=self.embeddedShell, |
977 embeddedShell=self.embeddedShell, |
958 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
978 embeddedBrowser=(self.embeddedFileBrowser == 1)) |
959 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea, |
979 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea, |
960 self.debugViewer, self.trUtf8("Debug-Viewer")) |
980 self.debugViewer, self.trUtf8("Debug-Viewer")) |
961 |
981 |
|
982 # Create the chat part of the user interface |
|
983 self.cooperationDock = self.__createDockWindow("CooperationDock") |
|
984 self.cooperation = ChatWidget(parent = self.cooperationDock) |
|
985 self.__setupDockWindow(self.cooperationDock, Qt.RightDockWidgetArea, |
|
986 self.cooperation, self.trUtf8("Cooperation")) |
|
987 |
962 # Create the terminal part of the user interface |
988 # Create the terminal part of the user interface |
963 logging.debug("Creating Terminal...") |
989 logging.debug("Creating Terminal...") |
964 self.terminal = Terminal(self.viewmanager) |
990 self.terminal = Terminal(self.viewmanager) |
965 self.bottomSidebar.addTab(self.terminal, |
991 self.bottomSidebar.addTab(self.terminal, |
966 UI.PixmapCache.getIcon("terminal.png"), |
992 UI.PixmapCache.getIcon("terminal.png"), |
978 self.logViewer = LogViewer() |
1004 self.logViewer = LogViewer() |
979 self.bottomSidebar.addTab(self.logViewer, |
1005 self.bottomSidebar.addTab(self.logViewer, |
980 UI.PixmapCache.getIcon("logViewer.png"), |
1006 UI.PixmapCache.getIcon("logViewer.png"), |
981 self.trUtf8("Log-Viewer")) |
1007 self.trUtf8("Log-Viewer")) |
982 |
1008 |
983 self.windows = [None, None, self.debugViewerDock, None, None, None, None, None] |
1009 self.windows = [None, None, self.debugViewerDock, None, None, |
|
1010 None, None, None, None, self.cooperationDock] |
984 |
1011 |
985 if self.embeddedShell: |
1012 if self.embeddedShell: |
986 self.shell = self.debugViewer.shell |
1013 self.shell = self.debugViewer.shell |
987 else: |
1014 else: |
988 # Create the shell |
1015 # Create the shell |
1534 """ If it is displayed then close it.</p>""" |
1561 """ If it is displayed then close it.</p>""" |
1535 )) |
1562 )) |
1536 self.connect(self.bsbAct, SIGNAL('triggered()'), self.__toggleBottomSidebar) |
1563 self.connect(self.bsbAct, SIGNAL('triggered()'), self.__toggleBottomSidebar) |
1537 self.actions.append(self.bsbAct) |
1564 self.actions.append(self.bsbAct) |
1538 |
1565 |
|
1566 self.cooperationViewerAct = E5Action(self.trUtf8('Cooperation'), |
|
1567 self.trUtf8('&Cooperation'), 0, 0, self, 'cooperation_viewer', True) |
|
1568 self.cooperationViewerAct.setStatusTip(self.trUtf8( |
|
1569 'Toggle the Cooperation window')) |
|
1570 self.cooperationViewerAct.setWhatsThis(self.trUtf8( |
|
1571 """<b>Toggle the Cooperation window</b>""" |
|
1572 """<p>If the Cooperation window is hidden then display it.""" |
|
1573 """ If it is displayed then close it.</p>""" |
|
1574 )) |
|
1575 self.connect(self.cooperationViewerAct, SIGNAL('triggered()'), |
|
1576 self.__toggleCooperationViewer) |
|
1577 self.actions.append(self.cooperationViewerAct) |
|
1578 |
|
1579 self.cooperationViewerActivateAct = E5Action( |
|
1580 self.trUtf8('Activate Cooperation-Viewer'), |
|
1581 self.trUtf8('Activate Cooperation-Viewer'), |
|
1582 QKeySequence(self.trUtf8("Alt+Shift+O")), |
|
1583 0, self, |
|
1584 'cooperation_viewer_activate', True) |
|
1585 self.connect(self.cooperationViewerActivateAct, SIGNAL('triggered()'), |
|
1586 self.__activateCooperationViewer) |
|
1587 self.actions.append(self.cooperationViewerActivateAct) |
|
1588 self.addAction(self.cooperationViewerActivateAct) |
|
1589 |
1539 self.whatsThisAct = E5Action(self.trUtf8('What\'s This?'), |
1590 self.whatsThisAct = E5Action(self.trUtf8('What\'s This?'), |
1540 UI.PixmapCache.getIcon("whatsThis.png"), |
1591 UI.PixmapCache.getIcon("whatsThis.png"), |
1541 self.trUtf8('&What\'s This?'), |
1592 self.trUtf8('&What\'s This?'), |
1542 QKeySequence(self.trUtf8("Shift+F1")), |
1593 QKeySequence(self.trUtf8("Shift+F1")), |
1543 0, self, 'whatsThis') |
1594 0, self, 'whatsThis') |
3034 if self.layout == "Toolboxes": |
3085 if self.layout == "Toolboxes": |
3035 self.__menus["window"].addAction(self.vtAct) |
3086 self.__menus["window"].addAction(self.vtAct) |
3036 self.vtAct.setChecked(not self.vToolboxDock.isHidden()) |
3087 self.vtAct.setChecked(not self.vToolboxDock.isHidden()) |
3037 self.__menus["window"].addAction(self.htAct) |
3088 self.__menus["window"].addAction(self.htAct) |
3038 self.htAct.setChecked(not self.hToolboxDock.isHidden()) |
3089 self.htAct.setChecked(not self.hToolboxDock.isHidden()) |
|
3090 self.__menus["window"].addAction(self.cooperationViewerAct) |
|
3091 self.cooperationViewerAct.setChecked(not self.cooperationDock.isHidden()) |
3039 self.__menus["window"].addAction(self.debugViewerAct) |
3092 self.__menus["window"].addAction(self.debugViewerAct) |
3040 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden()) |
3093 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden()) |
3041 elif self.layout == "Sidebars": |
3094 elif self.layout == "Sidebars": |
3042 self.__menus["window"].addAction(self.lsbAct) |
3095 self.__menus["window"].addAction(self.lsbAct) |
3043 self.lsbAct.setChecked(not self.leftSidebar.isHidden()) |
3096 self.lsbAct.setChecked(not self.leftSidebar.isHidden()) |
3044 self.__menus["window"].addAction(self.bsbAct) |
3097 self.__menus["window"].addAction(self.bsbAct) |
3045 self.bsbAct.setChecked(not self.bottomSidebar.isHidden()) |
3098 self.bsbAct.setChecked(not self.bottomSidebar.isHidden()) |
|
3099 self.__menus["window"].addAction(self.cooperationViewerAct) |
|
3100 self.cooperationViewerAct.setChecked(not self.cooperationDock.isHidden()) |
3046 self.__menus["window"].addAction(self.debugViewerAct) |
3101 self.__menus["window"].addAction(self.debugViewerAct) |
3047 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden()) |
3102 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden()) |
3048 else: |
3103 else: |
3049 # Set the options according to what is being displayed. |
3104 # Set the options according to what is being displayed. |
3050 self.__menus["window"].addAction(self.pbAct) |
3105 self.__menus["window"].addAction(self.pbAct) |
3100 self.__menus["window"].addAction(self.templateViewerAct) |
3155 self.__menus["window"].addAction(self.templateViewerAct) |
3101 if self.layout == "DockWindows": |
3156 if self.layout == "DockWindows": |
3102 self.templateViewerAct.setChecked(not self.templateViewerDock.isHidden()) |
3157 self.templateViewerAct.setChecked(not self.templateViewerDock.isHidden()) |
3103 else: |
3158 else: |
3104 self.templateViewerAct.setChecked(not self.templateViewer.isHidden()) |
3159 self.templateViewerAct.setChecked(not self.templateViewer.isHidden()) |
|
3160 |
|
3161 self.__menus["window"].addAction(self.cooperationViewerAct) |
|
3162 if self.layout == "DockWindows": |
|
3163 self.cooperationViewerAct.setChecked(not self.cooperationDock.isHidden()) |
|
3164 else: |
|
3165 self.cooperationViewerAct.setChecked(not self.cooperation.isHidden()) |
3105 |
3166 |
3106 # Insert menu entry for toolbar settings |
3167 # Insert menu entry for toolbar settings |
3107 self.__menus["window"].addSeparator() |
3168 self.__menus["window"].addSeparator() |
3108 self.__menus["window"].addMenu(self.__menus["toolbars"]) |
3169 self.__menus["window"].addMenu(self.__menus["toolbars"]) |
3109 |
3170 |
3671 self.bottomSidebar.currentWidget().setFocus(Qt.ActiveWindowFocusReason) |
3732 self.bottomSidebar.currentWidget().setFocus(Qt.ActiveWindowFocusReason) |
3672 else: |
3733 else: |
3673 if hasFocus: |
3734 if hasFocus: |
3674 self.__activateViewmanager() |
3735 self.__activateViewmanager() |
3675 |
3736 |
|
3737 def __toggleCooperationViewer(self): |
|
3738 """ |
|
3739 Private slot to handle the toggle of the cooperation window. |
|
3740 """ |
|
3741 hasFocus = self.cooperation.hasFocus() |
|
3742 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: |
|
3743 shown = self.__toggleWindow(self.cooperationDock) |
|
3744 else: |
|
3745 shown = self.__toggleWindow(self.cooperation) |
|
3746 if shown: |
|
3747 self.__activateCooperationViewer() |
|
3748 else: |
|
3749 if hasFocus: |
|
3750 self.__activateViewmanager() |
|
3751 |
|
3752 def __activateCooperationViewer(self): |
|
3753 """ |
|
3754 Private slot to handle the activation of the cooperation window. |
|
3755 """ |
|
3756 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: |
|
3757 self.cooperationDock.show() |
|
3758 self.cooperationDock.raise_() |
|
3759 else: |
|
3760 self.cooperation.show() |
|
3761 self.cooperation.setFocus(Qt.ActiveWindowFocusReason) |
|
3762 |
3676 def __activateViewmanager(self): |
3763 def __activateViewmanager(self): |
3677 """ |
3764 """ |
3678 Private slot to handle the activation of the current editor. |
3765 Private slot to handle the activation of the current editor. |
3679 """ |
3766 """ |
3680 aw = self.viewmanager.activeWindow() |
3767 aw = self.viewmanager.activeWindow() |