UI/UserInterface.py

changeset 1852
12d37ab1baf3
parent 1843
0c00516e0403
child 1926
474057fbefe0
equal deleted inserted replaced
1851:8809e87fcbee 1852:12d37ab1baf3
625 centralWidget.setLayout(layout) 625 centralWidget.setLayout(layout)
626 self.setCentralWidget(centralWidget) 626 self.setCentralWidget(centralWidget)
627 self.viewmanager.searchDlg.hide() 627 self.viewmanager.searchDlg.hide()
628 self.viewmanager.replaceDlg.hide() 628 self.viewmanager.replaceDlg.hide()
629 629
630 # Create layout with movable dock windows
631 if self.layout == "DockWindows":
632 logging.debug("Creating dockable windows...")
633 self.__createDockWindowsLayout(debugServer)
634
635 # Create layout with toolbox windows embedded in dock windows 630 # Create layout with toolbox windows embedded in dock windows
636 elif self.layout == "Toolboxes": 631 if self.layout == "Toolboxes":
637 logging.debug("Creating toolboxes...") 632 logging.debug("Creating toolboxes...")
638 self.__createToolboxesLayout(debugServer) 633 self.__createToolboxesLayout(debugServer)
639 634
640 # Create layout with sidebar windows embedded in dock windows 635 # Create layout with sidebar windows embedded in dock windows
641 elif self.layout == "Sidebars": 636 elif self.layout == "Sidebars":
642 logging.debug("Creating sidebars...") 637 logging.debug("Creating sidebars...")
643 self.__createSidebarsLayout(debugServer) 638 self.__createSidebarsLayout(debugServer)
644 639
645 # Create layout with floating windows 640 else:
646 elif self.layout == "FloatingWindows": 641 raise ValueError("Wrong layout type given ({0})".format(self.layout))
647 logging.debug("Creating floating windows...")
648 self.__createFloatingWindowsLayout(debugServer)
649
650 else:
651 raise RuntimeError("wrong layout type given ({0})".format(self.layout))
652 logging.debug("Created Layout") 642 logging.debug("Created Layout")
653 643
654 def __createFloatingWindowsLayout(self, debugServer): 644 def __createToolboxesLayout(self, debugServer):
655 """ 645 """
656 Private method to create the FloatingWindows layout. 646 Private method to create the Toolboxes layout.
657 647
658 @param debugServer reference to the debug server object 648 @param debugServer reference to the debug server object
659 """ 649 """
650 # Create the vertical toolbox
651 self.vToolboxDock = self.__createDockWindow("vToolboxDock")
652 self.vToolbox = E5VerticalToolBox(self.vToolboxDock)
653 self.__setupDockWindow(self.vToolboxDock, Qt.LeftDockWidgetArea,
654 self.vToolbox, self.trUtf8("Vertical Toolbox"))
655
656 # Create the horizontal toolbox
657 self.hToolboxDock = self.__createDockWindow("hToolboxDock")
658 self.hToolbox = E5HorizontalToolBox(self.hToolboxDock)
659 self.__setupDockWindow(self.hToolboxDock, Qt.BottomDockWidgetArea,
660 self.hToolbox, self.trUtf8("Horizontal Toolbox"))
661
660 # Create the project browser 662 # Create the project browser
661 self.projectBrowser = ProjectBrowser(self.project, None, 663 self.projectBrowser = ProjectBrowser(self.project, None,
662 embeddedBrowser=(self.embeddedFileBrowser == 2)) 664 embeddedBrowser=(self.embeddedFileBrowser == 2))
663 self.projectBrowser.setWindowTitle(self.trUtf8("Project-Viewer")) 665 self.vToolbox.addItem(self.projectBrowser,
666 UI.PixmapCache.getIcon("projectViewer.png"),
667 self.trUtf8("Project-Viewer"))
664 668
665 # Create the multi project browser 669 # Create the multi project browser
666 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject) 670 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
667 self.multiProjectBrowser.setWindowTitle(self.trUtf8("Multiproject-Viewer")) 671 self.vToolbox.addItem(self.multiProjectBrowser,
668 672 UI.PixmapCache.getIcon("multiProjectViewer.png"),
669 # Create the debug viewer maybe without the embedded shell 673 self.trUtf8("Multiproject-Viewer"))
670 self.debugViewer = DebugViewer(debugServer, False, self.viewmanager, None,
671 embeddedShell=self.embeddedShell,
672 embeddedBrowser=(self.embeddedFileBrowser == 1))
673 self.debugViewer.setWindowTitle(self.trUtf8("Debug-Viewer"))
674
675 # Create the chat part of the user interface
676 self.cooperation = ChatWidget()
677 self.cooperation.setWindowTitle(self.trUtf8("Cooperation"))
678
679 # Create the symbols part of the user interface
680 self.symbolsViewer = SymbolsWidget()
681 self.symbolsViewer.setWindowTitle(self.trUtf8("Symbols"))
682
683 # Create the log viewer part of the user interface
684 self.logViewer = LogViewer(None)
685 self.logViewer.setWindowTitle(self.trUtf8("Log-Viewer"))
686
687 # Create the task viewer part of the user interface
688 self.taskViewer = TaskViewer(None, self.project)
689 self.taskViewer.setWindowTitle(self.trUtf8("Task-Viewer"))
690 674
691 # Create the template viewer part of the user interface 675 # Create the template viewer part of the user interface
692 self.templateViewer = TemplateViewer(None, self.viewmanager) 676 self.templateViewer = TemplateViewer(None,
693 self.templateViewer.setWindowTitle(self.trUtf8("Template-Viewer")) 677 self.viewmanager)
694 678 self.vToolbox.addItem(self.templateViewer,
695 # Create the terminal 679 UI.PixmapCache.getIcon("templateViewer.png"),
696 self.terminalAssembly = TerminalAssembly(self.viewmanager) 680 self.trUtf8("Template-Viewer"))
697 self.terminal = self.terminalAssembly.termina()
698 self.terminalAssembly.setWindowTitle(self.trUtf8("Terminal"))
699
700 # Create the numbers viewer
701 self.numbersViewer = NumbersWidget()
702 self.numbersViewer.setWindowTitle(self.trUtf8("Numbers"))
703
704 self.windows = [self.projectBrowser, None, self.debugViewer,
705 None, self.logViewer, self.taskViewer, self.templateViewer,
706 self.multiProjectBrowser, self.terminalAssembly, self.cooperation,
707 self.symbolsViewer, self.numbersViewer]
708
709 if self.embeddedShell:
710 self.shell = self.debugViewer.shell
711 else:
712 # Create the shell
713 self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True)
714 self.shell = self.shellAssembly.shell()
715 self.windows[3] = self.shellAssembly
716
717 if self.embeddedFileBrowser == 0: # separate window
718 # Create the file browser
719 self.browser = Browser(None)
720 self.browser.setWindowTitle(self.trUtf8("File-Browser"))
721 self.windows[1] = self.browser
722 elif self.embeddedFileBrowser == 1: # embedded in debug browser
723 self.browser = self.debugViewer.browser
724 else: # embedded in project browser
725 self.browser = self.projectBrowser.fileBrowser
726
727 def __createDockWindowsLayout(self, debugServer):
728 """
729 Private method to create the DockWindows layout.
730
731 @param debugServer reference to the debug server object
732 """
733 # Create the project browser
734 self.projectBrowserDock = self.__createDockWindow("ProjectBrowserDock")
735 self.projectBrowser = ProjectBrowser(self.project, self.projectBrowserDock,
736 embeddedBrowser=(self.embeddedFileBrowser == 2))
737 self.__setupDockWindow(self.projectBrowserDock, Qt.LeftDockWidgetArea,
738 self.projectBrowser, self.trUtf8("Project-Viewer"))
739
740 # Create the multi project browser
741 self.multiProjectBrowserDock = \
742 self.__createDockWindow("MultiProjectBrowserDock")
743 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
744 self.__setupDockWindow(self.multiProjectBrowserDock, Qt.LeftDockWidgetArea,
745 self.multiProjectBrowser,
746 self.trUtf8("Multiproject-Viewer"))
747 681
748 # Create the debug viewer maybe without the embedded shell 682 # Create the debug viewer maybe without the embedded shell
749 self.debugViewerDock = self.__createDockWindow("DebugViewerDock") 683 self.debugViewerDock = self.__createDockWindow("DebugViewerDock")
750 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager, 684 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager,
751 self.debugViewerDock, 685 self.debugViewerDock,
758 self.cooperationDock = self.__createDockWindow("CooperationDock") 692 self.cooperationDock = self.__createDockWindow("CooperationDock")
759 self.cooperation = ChatWidget(parent=self.cooperationDock) 693 self.cooperation = ChatWidget(parent=self.cooperationDock)
760 self.__setupDockWindow(self.cooperationDock, Qt.RightDockWidgetArea, 694 self.__setupDockWindow(self.cooperationDock, Qt.RightDockWidgetArea,
761 self.cooperation, self.trUtf8("Cooperation")) 695 self.cooperation, self.trUtf8("Cooperation"))
762 696
763 # Create the log viewer part of the user interface
764 self.logViewerDock = self.__createDockWindow("LogViewerDock")
765 self.logViewer = LogViewer(self.logViewerDock)
766 self.__setupDockWindow(self.logViewerDock, Qt.BottomDockWidgetArea,
767 self.logViewer, self.trUtf8("Log-Viewer"))
768
769 # Create the task viewer part of the user interface
770 self.taskViewerDock = self.__createDockWindow("TaskViewerDock")
771 self.taskViewer = TaskViewer(self.taskViewerDock, self.project)
772 self.__setupDockWindow(self.taskViewerDock, Qt.BottomDockWidgetArea,
773 self.taskViewer, self.trUtf8("Task-Viewer"))
774
775 # Create the template viewer part of the user interface
776 self.templateViewerDock = self.__createDockWindow("TemplateViewerDock")
777 self.templateViewer = TemplateViewer(self.templateViewerDock,
778 self.viewmanager)
779 self.__setupDockWindow(self.templateViewerDock, Qt.RightDockWidgetArea,
780 self.templateViewer, self.trUtf8("Template-Viewer"))
781
782 # Create the terminal
783 self.terminalDock = self.__createDockWindow("TerminalDock")
784 self.terminalAssembly = TerminalAssembly(self.viewmanager, self.terminalDock)
785 self.terminal = self.terminalAssembly.termina()
786 self.__setupDockWindow(self.terminalDock, Qt.BottomDockWidgetArea,
787 self.terminalAssembly, self.trUtf8("Terminal"))
788
789 self.windows = [self.projectBrowserDock, None, self.debugViewerDock,
790 None, self.logViewerDock, self.taskViewerDock, self.templateViewerDock,
791 self.multiProjectBrowserDock, self.terminalDock, self.cooperationDock]
792
793 if self.embeddedShell:
794 self.shell = self.debugViewer.shell
795 else:
796 # Create the shell
797 self.shellDock = self.__createDockWindow("ShellDock")
798 self.shellAssembly = ShellAssembly(debugServer, self.viewmanager, True,
799 self.shellDock)
800 self.shell = self.shellAssembly.shell()
801 self.__setupDockWindow(self.shellDock, Qt.BottomDockWidgetArea,
802 self.shellAssembly, self.trUtf8("Shell"))
803 self.windows[3] = self.shellDock
804
805 if self.embeddedFileBrowser == 0: # separate window
806 # Create the file browser
807 self.browserDock = self.__createDockWindow("BrowserDock")
808 self.browser = Browser(self.browserDock)
809 self.__setupDockWindow(self.browserDock, Qt.RightDockWidgetArea,
810 self.browser, self.trUtf8("File-Browser"))
811 self.windows[1] = self.browserDock
812 elif self.embeddedFileBrowser == 1: # embedded in debug browser
813 self.browser = self.debugViewer.browser
814 else: # embedded in project browser
815 self.browser = self.projectBrowser.fileBrowser
816
817 # Create the symbols viewer
818 self.symbolsDock = self.__createDockWindow("SymbolsDock")
819 self.symbolsViewer = SymbolsWidget()
820 self.__setupDockWindow(self.symbolsDock, Qt.LeftDockWidgetArea,
821 self.symbolsViewer, self.trUtf8("Symbols"))
822 self.windows.append(self.symbolsDock)
823
824 # Create the numbers viewer
825 self.numbersDock = self.__createDockWindow("NumbersDock")
826 self.numbersViewer = NumbersWidget()
827 self.__setupDockWindow(self.numbersDock, Qt.BottomDockWidgetArea,
828 self.numbersViewer, self.trUtf8("Numbers"))
829 self.windows.append(self.numbersDock)
830
831 def __createToolboxesLayout(self, debugServer):
832 """
833 Private method to create the Toolboxes layout.
834
835 @param debugServer reference to the debug server object
836 """
837 # Create the vertical toolbox
838 self.vToolboxDock = self.__createDockWindow("vToolboxDock")
839 self.vToolbox = E5VerticalToolBox(self.vToolboxDock)
840 self.__setupDockWindow(self.vToolboxDock, Qt.LeftDockWidgetArea,
841 self.vToolbox, self.trUtf8("Vertical Toolbox"))
842
843 # Create the horizontal toolbox
844 self.hToolboxDock = self.__createDockWindow("hToolboxDock")
845 self.hToolbox = E5HorizontalToolBox(self.hToolboxDock)
846 self.__setupDockWindow(self.hToolboxDock, Qt.BottomDockWidgetArea,
847 self.hToolbox, self.trUtf8("Horizontal Toolbox"))
848
849 # Create the project browser
850 self.projectBrowser = ProjectBrowser(self.project, None,
851 embeddedBrowser=(self.embeddedFileBrowser == 2))
852 self.vToolbox.addItem(self.projectBrowser,
853 UI.PixmapCache.getIcon("projectViewer.png"),
854 self.trUtf8("Project-Viewer"))
855
856 # Create the multi project browser
857 self.multiProjectBrowser = MultiProjectBrowser(self.multiProject)
858 self.vToolbox.addItem(self.multiProjectBrowser,
859 UI.PixmapCache.getIcon("multiProjectViewer.png"),
860 self.trUtf8("Multiproject-Viewer"))
861
862 # Create the template viewer part of the user interface
863 self.templateViewer = TemplateViewer(None,
864 self.viewmanager)
865 self.vToolbox.addItem(self.templateViewer,
866 UI.PixmapCache.getIcon("templateViewer.png"),
867 self.trUtf8("Template-Viewer"))
868
869 # Create the debug viewer maybe without the embedded shell
870 self.debugViewerDock = self.__createDockWindow("DebugViewerDock")
871 self.debugViewer = DebugViewer(debugServer, True, self.viewmanager,
872 self.debugViewerDock,
873 embeddedShell=self.embeddedShell,
874 embeddedBrowser=(self.embeddedFileBrowser == 1))
875 self.__setupDockWindow(self.debugViewerDock, Qt.RightDockWidgetArea,
876 self.debugViewer, self.trUtf8("Debug-Viewer"))
877
878 # Create the chat part of the user interface
879 self.cooperationDock = self.__createDockWindow("CooperationDock")
880 self.cooperation = ChatWidget(parent=self.cooperationDock)
881 self.__setupDockWindow(self.cooperationDock, Qt.RightDockWidgetArea,
882 self.cooperation, self.trUtf8("Cooperation"))
883
884 # Create the terminal part of the user interface 697 # Create the terminal part of the user interface
885 self.terminalAssembly = TerminalAssembly(self.viewmanager) 698 self.terminalAssembly = TerminalAssembly(self.viewmanager)
886 self.terminal = self.terminalAssembly.termina() 699 self.terminal = self.terminalAssembly.terminal()
887 self.hToolbox.addItem(self.terminalAssembly, 700 self.hToolbox.addItem(self.terminalAssembly,
888 UI.PixmapCache.getIcon("terminal.png"), 701 UI.PixmapCache.getIcon("terminal.png"),
889 self.trUtf8("Terminal")) 702 self.trUtf8("Terminal"))
890 703
891 # Create the task viewer part of the user interface 704 # Create the task viewer part of the user interface
1091 Public method to show a particular Log-Viewer tab. 904 Public method to show a particular Log-Viewer tab.
1092 905
1093 @param tabname string naming the tab to be shown (string) 906 @param tabname string naming the tab to be shown (string)
1094 """ 907 """
1095 if Preferences.getUI("LogViewerAutoRaise"): 908 if Preferences.getUI("LogViewerAutoRaise"):
1096 if self.layout == "DockWindows": 909 if self.layout == "Toolboxes":
1097 self.logViewerDock.show()
1098 self.logViewerDock.raise_()
1099 elif self.layout == "Toolboxes":
1100 self.hToolboxDock.show() 910 self.hToolboxDock.show()
1101 self.hToolbox.setCurrentWidget(self.logViewer) 911 self.hToolbox.setCurrentWidget(self.logViewer)
1102 self.hToolboxDock.raise_() 912 self.hToolboxDock.raise_()
1103 elif self.layout == "Sidebars": 913 elif self.layout == "Sidebars":
1104 self.bottomSidebar.show() 914 self.bottomSidebar.show()
3227 self.__menus["window"].addAction(self.debugViewerAct) 3037 self.__menus["window"].addAction(self.debugViewerAct)
3228 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden()) 3038 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden())
3229 else: 3039 else:
3230 # Set the options according to what is being displayed. 3040 # Set the options according to what is being displayed.
3231 self.__menus["window"].addAction(self.pbAct) 3041 self.__menus["window"].addAction(self.pbAct)
3232 if self.layout == "DockWindows": 3042 self.pbAct.setChecked(not self.projectBrowser.isHidden())
3233 self.pbAct.setChecked(not self.projectBrowserDock.isHidden())
3234 else:
3235 self.pbAct.setChecked(not self.projectBrowser.isHidden())
3236 3043
3237 self.__menus["window"].addAction(self.mpbAct) 3044 self.__menus["window"].addAction(self.mpbAct)
3238 if self.layout == "DockWindows": 3045 self.mpbAct.setChecked(not self.multiProjectBrowser.isHidden())
3239 self.mpbAct.setChecked(not self.multiProjectBrowserDock.isHidden())
3240 else:
3241 self.mpbAct.setChecked(not self.multiProjectBrowser.isHidden())
3242 3046
3243 if not self.embeddedFileBrowser: 3047 if not self.embeddedFileBrowser:
3244 self.__menus["window"].addAction(self.browserAct) 3048 self.__menus["window"].addAction(self.browserAct)
3245 if self.layout == "DockWindows": 3049 self.browserAct.setChecked(not self.browser.isHidden())
3246 self.browserAct.setChecked(not self.browserDock.isHidden())
3247 else:
3248 self.browserAct.setChecked(not self.browser.isHidden())
3249 3050
3250 self.__menus["window"].addAction(self.debugViewerAct) 3051 self.__menus["window"].addAction(self.debugViewerAct)
3251 if self.layout == "DockWindows": 3052 self.debugViewerAct.setChecked(not self.debugViewer.isHidden())
3252 self.debugViewerAct.setChecked(not self.debugViewerDock.isHidden())
3253 else:
3254 self.debugViewerAct.setChecked(not self.debugViewer.isHidden())
3255 3053
3256 if not self.embeddedShell: 3054 if not self.embeddedShell:
3257 self.__menus["window"].addAction(self.shellAct) 3055 self.__menus["window"].addAction(self.shellAct)
3258 if self.layout == "DockWindows": 3056 self.shellAct.setChecked(not self.shell.isHidden())
3259 self.shellAct.setChecked(not self.shellDock.isHidden())
3260 else:
3261 self.shellAct.setChecked(not self.shell.isHidden())
3262 3057
3263 self.__menus["window"].addAction(self.terminalAct) 3058 self.__menus["window"].addAction(self.terminalAct)
3264 if self.layout == "DockWindows": 3059 self.terminalAct.setChecked(not self.terminal.isHidden())
3265 self.terminalAct.setChecked(not self.terminalDock.isHidden())
3266 else:
3267 self.terminalAct.setChecked(not self.terminal.isHidden())
3268 3060
3269 self.__menus["window"].addAction(self.logViewerAct) 3061 self.__menus["window"].addAction(self.logViewerAct)
3270 if self.layout == "DockWindows": 3062 self.logViewerAct.setChecked(not self.logViewer.isHidden())
3271 self.logViewerAct.setChecked(not self.logViewerDock.isHidden())
3272 else:
3273 self.logViewerAct.setChecked(not self.logViewer.isHidden())
3274 3063
3275 self.__menus["window"].addAction(self.taskViewerAct) 3064 self.__menus["window"].addAction(self.taskViewerAct)
3276 if self.layout == "DockWindows": 3065 self.taskViewerAct.setChecked(not self.taskViewer.isHidden())
3277 self.taskViewerAct.setChecked(not self.taskViewerDock.isHidden())
3278 else:
3279 self.taskViewerAct.setChecked(not self.taskViewer.isHidden())
3280 3066
3281 self.__menus["window"].addAction(self.templateViewerAct) 3067 self.__menus["window"].addAction(self.templateViewerAct)
3282 if self.layout == "DockWindows": 3068 self.templateViewerAct.setChecked(not self.templateViewer.isHidden())
3283 self.templateViewerAct.setChecked(not self.templateViewerDock.isHidden())
3284 else:
3285 self.templateViewerAct.setChecked(not self.templateViewer.isHidden())
3286 3069
3287 self.__menus["window"].addAction(self.cooperationViewerAct) 3070 self.__menus["window"].addAction(self.cooperationViewerAct)
3288 if self.layout == "DockWindows": 3071 self.cooperationViewerAct.setChecked(not self.cooperation.isHidden())
3289 self.cooperationViewerAct.setChecked(not self.cooperationDock.isHidden())
3290 else:
3291 self.cooperationViewerAct.setChecked(not self.cooperation.isHidden())
3292 3072
3293 self.__menus["window"].addAction(self.symbolsViewerAct) 3073 self.__menus["window"].addAction(self.symbolsViewerAct)
3294 if self.layout == "DockWindows": 3074 self.symbolsViewerAct.setChecked(not self.symbolsViewer.isHidden())
3295 self.symbolsViewerAct.setChecked(not self.symbolsDock.isHidden())
3296 else:
3297 self.symbolsViewerAct.setChecked(not self.symbolsViewer.isHidden())
3298 3075
3299 # Insert menu entry for toolbar settings 3076 # Insert menu entry for toolbar settings
3300 self.__menus["window"].addSeparator() 3077 self.__menus["window"].addSeparator()
3301 self.__menus["window"].addMenu(self.__menus["toolbars"]) 3078 self.__menus["window"].addMenu(self.__menus["toolbars"])
3302 3079
3359 @param save flag indicating that the current profile should 3136 @param save flag indicating that the current profile should
3360 be saved (boolean) 3137 be saved (boolean)
3361 """ 3138 """
3362 if self.currentProfile and save: 3139 if self.currentProfile and save:
3363 # step 1: save the window geometries of the active profile 3140 # step 1: save the window geometries of the active profile
3364 if self.layout == "DockWindows": 3141 if self.layout in ["Toolboxes", "Sidebars"]:
3365 state = self.saveState()
3366 self.profiles[self.currentProfile][1] = bytes(state)
3367 elif self.layout in ["Toolboxes", "Sidebars"]:
3368 state = self.saveState() 3142 state = self.saveState()
3369 self.profiles[self.currentProfile][4] = bytes(state) 3143 self.profiles[self.currentProfile][4] = bytes(state)
3370 if self.layout == "Sidebars": 3144 if self.layout == "Sidebars":
3371 state = self.horizontalSplitter.saveState() 3145 state = self.horizontalSplitter.saveState()
3372 self.profiles[self.currentProfile][6][0] = bytes(state) 3146 self.profiles[self.currentProfile][6][0] = bytes(state)
3374 self.profiles[self.currentProfile][6][1] = bytes(state) 3148 self.profiles[self.currentProfile][6][1] = bytes(state)
3375 state = self.leftSidebar.saveState() 3149 state = self.leftSidebar.saveState()
3376 self.profiles[self.currentProfile][6][2] = bytes(state) 3150 self.profiles[self.currentProfile][6][2] = bytes(state)
3377 state = self.bottomSidebar.saveState() 3151 state = self.bottomSidebar.saveState()
3378 self.profiles[self.currentProfile][6][3] = bytes(state) 3152 self.profiles[self.currentProfile][6][3] = bytes(state)
3379 elif self.layout == "FloatingWindows":
3380 state = self.saveState()
3381 self.profiles[self.currentProfile][3] = bytes(state)
3382 for window, i in zip(self.windows, list(range(len(self.windows)))):
3383 if window is not None:
3384 self.profiles[self.currentProfile][2][i] = \
3385 bytes(window.saveGeometry())
3386 # step 2: save the visibility of the windows of the active profile 3153 # step 2: save the visibility of the windows of the active profile
3387 for window, i in zip(self.windows, list(range(len(self.windows)))): 3154 for window, i in zip(self.windows, list(range(len(self.windows)))):
3388 if window is not None: 3155 if window is not None:
3389 self.profiles[self.currentProfile][0][i] = window.isVisible() 3156 self.profiles[self.currentProfile][0][i] = window.isVisible()
3390 if self.layout == "Toolboxes": 3157 if self.layout == "Toolboxes":
3406 if self.currentProfile != name or not save: 3173 if self.currentProfile != name or not save:
3407 # step 1: save the active profile 3174 # step 1: save the active profile
3408 self.__saveCurrentViewProfile(save) 3175 self.__saveCurrentViewProfile(save)
3409 3176
3410 # step 2: set the window geometries of the new profile 3177 # step 2: set the window geometries of the new profile
3411 if self.layout == "DockWindows": 3178 if self.layout in ["Toolboxes", "Sidebars"]:
3412 state = QByteArray(self.profiles[name][1])
3413 if not state.isEmpty():
3414 self.restoreState(state)
3415 self.__configureDockareaCornerUsage()
3416 elif self.layout in ["Toolboxes", "Sidebars"]:
3417 state = QByteArray(self.profiles[name][4]) 3179 state = QByteArray(self.profiles[name][4])
3418 if not state.isEmpty(): 3180 if not state.isEmpty():
3419 self.restoreState(state) 3181 self.restoreState(state)
3420 if self.layout == "Sidebars": 3182 if self.layout == "Sidebars":
3421 state = QByteArray(self.profiles[name][6][0]) 3183 state = QByteArray(self.profiles[name][6][0])
3429 self.leftSidebar.restoreState(state) 3191 self.leftSidebar.restoreState(state)
3430 state = QByteArray(self.profiles[name][6][3]) 3192 state = QByteArray(self.profiles[name][6][3])
3431 if not state.isEmpty(): 3193 if not state.isEmpty():
3432 self.bottomSidebar.restoreState(state) 3194 self.bottomSidebar.restoreState(state)
3433 self.__configureDockareaCornerUsage() 3195 self.__configureDockareaCornerUsage()
3434 elif self.layout == "FloatingWindows":
3435 state = QByteArray(self.profiles[name][3])
3436 if not state.isEmpty():
3437 self.restoreState(state)
3438 for window, i in zip(self.windows, list(range(len(self.windows)))):
3439 if window is not None:
3440 geo = QByteArray(self.profiles[name][2][i])
3441 if not geo.isEmpty():
3442 window.restoreGeometry(geo)
3443 pass
3444 3196
3445 # step 3: activate the windows of the new profile 3197 # step 3: activate the windows of the new profile
3446 for window, visible in zip(self.windows, self.profiles[name][0]): 3198 for window, visible in zip(self.windows, self.profiles[name][0]):
3447 if window is not None: 3199 if window is not None:
3448 window.setVisible(visible) 3200 window.setVisible(visible)
3510 def __toggleProjectBrowser(self): 3262 def __toggleProjectBrowser(self):
3511 """ 3263 """
3512 Private slot to handle the toggle of the Project Browser window. 3264 Private slot to handle the toggle of the Project Browser window.
3513 """ 3265 """
3514 hasFocus = self.projectBrowser.currentWidget().hasFocus() 3266 hasFocus = self.projectBrowser.currentWidget().hasFocus()
3515 if self.layout == "DockWindows": 3267 shown = self.__toggleWindow(self.projectBrowser)
3516 shown = self.__toggleWindow(self.projectBrowserDock)
3517 else:
3518 shown = self.__toggleWindow(self.projectBrowser)
3519 if shown: 3268 if shown:
3520 self.__activateProjectBrowser() 3269 self.__activateProjectBrowser()
3521 else: 3270 else:
3522 if hasFocus: 3271 if hasFocus:
3523 self.__activateViewmanager() 3272 self.__activateViewmanager()
3524 3273
3525 def __activateProjectBrowser(self): 3274 def __activateProjectBrowser(self):
3526 """ 3275 """
3527 Private slot to handle the activation of the project browser. 3276 Private slot to handle the activation of the project browser.
3528 """ 3277 """
3529 if self.layout == "DockWindows": 3278 if self.layout == "Toolboxes":
3530 self.projectBrowserDock.show()
3531 self.projectBrowserDock.raise_()
3532 elif self.layout == "Toolboxes":
3533 self.vToolboxDock.show() 3279 self.vToolboxDock.show()
3534 self.vToolbox.setCurrentWidget(self.projectBrowser) 3280 self.vToolbox.setCurrentWidget(self.projectBrowser)
3535 elif self.layout == "Sidebars": 3281 elif self.layout == "Sidebars":
3536 self.leftSidebar.show() 3282 self.leftSidebar.show()
3537 self.leftSidebar.setCurrentWidget(self.projectBrowser) 3283 self.leftSidebar.setCurrentWidget(self.projectBrowser)
3542 def __toggleMultiProjectBrowser(self): 3288 def __toggleMultiProjectBrowser(self):
3543 """ 3289 """
3544 Private slot to handle the toggle of the Project Browser window. 3290 Private slot to handle the toggle of the Project Browser window.
3545 """ 3291 """
3546 hasFocus = self.multiProjectBrowser.hasFocus() 3292 hasFocus = self.multiProjectBrowser.hasFocus()
3547 if self.layout == "DockWindows": 3293 shown = self.__toggleWindow(self.multiProjectBrowser)
3548 shown = self.__toggleWindow(self.multiProjectBrowserDock)
3549 else:
3550 shown = self.__toggleWindow(self.multiProjectBrowser)
3551 if shown: 3294 if shown:
3552 self.__activateMultiProjectBrowser() 3295 self.__activateMultiProjectBrowser()
3553 else: 3296 else:
3554 if hasFocus: 3297 if hasFocus:
3555 self.__activateViewmanager() 3298 self.__activateViewmanager()
3556 3299
3557 def __activateMultiProjectBrowser(self): 3300 def __activateMultiProjectBrowser(self):
3558 """ 3301 """
3559 Private slot to handle the activation of the project browser. 3302 Private slot to handle the activation of the project browser.
3560 """ 3303 """
3561 if self.layout == "DockWindows": 3304 if self.layout == "Toolboxes":
3562 self.multiProjectBrowserDock.show()
3563 self.multiProjectBrowserDock.raise_()
3564 elif self.layout == "Toolboxes":
3565 self.vToolboxDock.show() 3305 self.vToolboxDock.show()
3566 self.vToolbox.setCurrentWidget(self.multiProjectBrowser) 3306 self.vToolbox.setCurrentWidget(self.multiProjectBrowser)
3567 elif self.layout == "Sidebars": 3307 elif self.layout == "Sidebars":
3568 self.leftSidebar.show() 3308 self.leftSidebar.show()
3569 self.leftSidebar.setCurrentWidget(self.multiProjectBrowser) 3309 self.leftSidebar.setCurrentWidget(self.multiProjectBrowser)
3574 def __toggleDebugViewer(self): 3314 def __toggleDebugViewer(self):
3575 """ 3315 """
3576 Private slot to handle the toggle of the debug viewer. 3316 Private slot to handle the toggle of the debug viewer.
3577 """ 3317 """
3578 hasFocus = self.debugViewer.currentWidget().hasFocus() 3318 hasFocus = self.debugViewer.currentWidget().hasFocus()
3579 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: 3319 if self.layout in ["Toolboxes", "Sidebars"]:
3580 shown = self.__toggleWindow(self.debugViewerDock) 3320 shown = self.__toggleWindow(self.debugViewerDock)
3581 else: 3321 else:
3582 shown = self.__toggleWindow(self.debugViewer) 3322 shown = self.__toggleWindow(self.debugViewer)
3583 if shown: 3323 if shown:
3584 self.__activateDebugViewer() 3324 self.__activateDebugViewer()
3588 3328
3589 def __activateDebugViewer(self): 3329 def __activateDebugViewer(self):
3590 """ 3330 """
3591 Private slot to handle the activation of the debug viewer. 3331 Private slot to handle the activation of the debug viewer.
3592 """ 3332 """
3593 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: 3333 if self.layout in ["Toolboxes", "Sidebars"]:
3594 self.debugViewerDock.show() 3334 self.debugViewerDock.show()
3595 self.debugViewerDock.raise_() 3335 self.debugViewerDock.raise_()
3596 else: 3336 else:
3597 self.debugViewer.show() 3337 self.debugViewer.show()
3598 self.debugViewer.currentWidget().setFocus(Qt.ActiveWindowFocusReason) 3338 self.debugViewer.currentWidget().setFocus(Qt.ActiveWindowFocusReason)
3600 def __toggleShell(self): 3340 def __toggleShell(self):
3601 """ 3341 """
3602 Private slot to handle the toggle of the Shell window . 3342 Private slot to handle the toggle of the Shell window .
3603 """ 3343 """
3604 hasFocus = self.shell.hasFocus() 3344 hasFocus = self.shell.hasFocus()
3605 if self.layout == "DockWindows": 3345 shown = self.__toggleWindow(self.shell)
3606 shown = self.__toggleWindow(self.shellDock)
3607 else:
3608 shown = self.__toggleWindow(self.shell)
3609 if shown: 3346 if shown:
3610 self.__activateShell() 3347 self.__activateShell()
3611 else: 3348 else:
3612 if hasFocus: 3349 if hasFocus:
3613 self.__activateViewmanager() 3350 self.__activateViewmanager()
3615 def __activateShell(self): 3352 def __activateShell(self):
3616 """ 3353 """
3617 Private slot to handle the activation of the Shell window. 3354 Private slot to handle the activation of the Shell window.
3618 """ 3355 """
3619 if self.embeddedShell: # embedded in debug browser 3356 if self.embeddedShell: # embedded in debug browser
3620 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: 3357 if self.layout in ["Toolboxes", "Sidebars"]:
3621 self.debugViewerDock.show() 3358 self.debugViewerDock.show()
3622 self.debugViewerDock.raise_() 3359 self.debugViewerDock.raise_()
3623 else: 3360 else:
3624 self.debugViewer.show() 3361 self.debugViewer.show()
3625 self.debugViewer.setCurrentWidget(self.shellAssembly) 3362 self.debugViewer.setCurrentWidget(self.shellAssembly)
3626 else: # separate window 3363 else: # separate window
3627 if self.layout == "DockWindows": 3364 if self.layout == "Toolboxes":
3628 self.shellDock.show()
3629 self.shellDock.raise_()
3630 elif self.layout == "Toolboxes":
3631 self.hToolboxDock.show() 3365 self.hToolboxDock.show()
3632 self.hToolbox.setCurrentWidget(self.shellAssembly) 3366 self.hToolbox.setCurrentWidget(self.shellAssembly)
3633 elif self.layout == "Sidebars": 3367 elif self.layout == "Sidebars":
3634 self.bottomSidebar.show() 3368 self.bottomSidebar.show()
3635 self.bottomSidebar.setCurrentWidget(self.shellAssembly) 3369 self.bottomSidebar.setCurrentWidget(self.shellAssembly)
3640 def __toggleTerminal(self): 3374 def __toggleTerminal(self):
3641 """ 3375 """
3642 Private slot to handle the toggle of the Terminal window . 3376 Private slot to handle the toggle of the Terminal window .
3643 """ 3377 """
3644 hasFocus = self.terminal.hasFocus() 3378 hasFocus = self.terminal.hasFocus()
3645 if self.layout == "DockWindows": 3379 shown = self.__toggleWindow(self.terminal)
3646 shown = self.__toggleWindow(self.terminalDock)
3647 else:
3648 shown = self.__toggleWindow(self.terminal)
3649 if shown: 3380 if shown:
3650 self.__activateTerminal() 3381 self.__activateTerminal()
3651 else: 3382 else:
3652 if hasFocus: 3383 if hasFocus:
3653 self.__activateViewmanager() 3384 self.__activateViewmanager()
3654 3385
3655 def __activateTerminal(self): 3386 def __activateTerminal(self):
3656 """ 3387 """
3657 Private slot to handle the activation of the Terminal window. 3388 Private slot to handle the activation of the Terminal window.
3658 """ 3389 """
3659 if self.layout == "DockWindows": 3390 if self.layout == "Toolboxes":
3660 self.terminalDock.show()
3661 self.terminalDock.raise_()
3662 elif self.layout == "Toolboxes":
3663 self.hToolboxDock.show() 3391 self.hToolboxDock.show()
3664 self.hToolbox.setCurrentWidget(self.terminalAssembly) 3392 self.hToolbox.setCurrentWidget(self.terminalAssembly)
3665 elif self.layout == "Sidebars": 3393 elif self.layout == "Sidebars":
3666 self.bottomSidebar.show() 3394 self.bottomSidebar.show()
3667 self.bottomSidebar.setCurrentWidget(self.terminalAssembly) 3395 self.bottomSidebar.setCurrentWidget(self.terminalAssembly)
3672 def __toggleLogViewer(self): 3400 def __toggleLogViewer(self):
3673 """ 3401 """
3674 Private slot to handle the toggle of the Log Viewer window. 3402 Private slot to handle the toggle of the Log Viewer window.
3675 """ 3403 """
3676 hasFocus = self.logViewer.hasFocus() 3404 hasFocus = self.logViewer.hasFocus()
3677 if self.layout == "DockWindows": 3405 shown = self.__toggleWindow(self.logViewer)
3678 shown = self.__toggleWindow(self.logViewerDock)
3679 else:
3680 shown = self.__toggleWindow(self.logViewer)
3681 if shown: 3406 if shown:
3682 self.__activateLogViewer() 3407 self.__activateLogViewer()
3683 else: 3408 else:
3684 if hasFocus: 3409 if hasFocus:
3685 self.__activateViewmanager() 3410 self.__activateViewmanager()
3686 3411
3687 def __activateLogViewer(self): 3412 def __activateLogViewer(self):
3688 """ 3413 """
3689 Private slot to handle the activation of the Log Viewer. 3414 Private slot to handle the activation of the Log Viewer.
3690 """ 3415 """
3691 if self.layout == "DockWindows": 3416 if self.layout == "Toolboxes":
3692 self.logViewerDock.show()
3693 self.logViewerDock.raise_()
3694 elif self.layout == "Toolboxes":
3695 self.hToolboxDock.show() 3417 self.hToolboxDock.show()
3696 self.hToolbox.setCurrentWidget(self.logViewer) 3418 self.hToolbox.setCurrentWidget(self.logViewer)
3697 elif self.layout == "Sidebars": 3419 elif self.layout == "Sidebars":
3698 self.bottomSidebar.show() 3420 self.bottomSidebar.show()
3699 self.bottomSidebar.setCurrentWidget(self.logViewer) 3421 self.bottomSidebar.setCurrentWidget(self.logViewer)
3704 def __toggleTaskViewer(self): 3426 def __toggleTaskViewer(self):
3705 """ 3427 """
3706 Private slot to handle the toggle of the Task Viewer window. 3428 Private slot to handle the toggle of the Task Viewer window.
3707 """ 3429 """
3708 hasFocus = self.taskViewer.hasFocus() 3430 hasFocus = self.taskViewer.hasFocus()
3709 if self.layout == "DockWindows": 3431 shown = self.__toggleWindow(self.taskViewer)
3710 shown = self.__toggleWindow(self.taskViewerDock)
3711 else:
3712 shown = self.__toggleWindow(self.taskViewer)
3713 if shown: 3432 if shown:
3714 self.__activateTaskViewer() 3433 self.__activateTaskViewer()
3715 else: 3434 else:
3716 if hasFocus: 3435 if hasFocus:
3717 self.__activateViewmanager() 3436 self.__activateViewmanager()
3718 3437
3719 def __activateTaskViewer(self): 3438 def __activateTaskViewer(self):
3720 """ 3439 """
3721 Private slot to handle the activation of the Task Viewer. 3440 Private slot to handle the activation of the Task Viewer.
3722 """ 3441 """
3723 if self.layout == "DockWindows": 3442 if self.layout == "Toolboxes":
3724 self.taskViewerDock.show()
3725 self.taskViewerDock.raise_()
3726 elif self.layout == "Toolboxes":
3727 self.hToolboxDock.show() 3443 self.hToolboxDock.show()
3728 self.hToolbox.setCurrentWidget(self.taskViewer) 3444 self.hToolbox.setCurrentWidget(self.taskViewer)
3729 elif self.layout == "Sidebars": 3445 elif self.layout == "Sidebars":
3730 self.bottomSidebar.show() 3446 self.bottomSidebar.show()
3731 self.bottomSidebar.setCurrentWidget(self.taskViewer) 3447 self.bottomSidebar.setCurrentWidget(self.taskViewer)
3736 def __toggleTemplateViewer(self): 3452 def __toggleTemplateViewer(self):
3737 """ 3453 """
3738 Private slot to handle the toggle of the Template Viewer window. 3454 Private slot to handle the toggle of the Template Viewer window.
3739 """ 3455 """
3740 hasFocus = self.templateViewer.hasFocus() 3456 hasFocus = self.templateViewer.hasFocus()
3741 if self.layout == "DockWindows": 3457 shown = self.__toggleWindow(self.templateViewer)
3742 shown = self.__toggleWindow(self.templateViewerDock)
3743 else:
3744 shown = self.__toggleWindow(self.templateViewer)
3745 if shown: 3458 if shown:
3746 self.__activateTemplateViewer() 3459 self.__activateTemplateViewer()
3747 else: 3460 else:
3748 if hasFocus: 3461 if hasFocus:
3749 self.__activateViewmanager() 3462 self.__activateViewmanager()
3750 3463
3751 def __activateTemplateViewer(self): 3464 def __activateTemplateViewer(self):
3752 """ 3465 """
3753 Private slot to handle the activation of the Template Viewer. 3466 Private slot to handle the activation of the Template Viewer.
3754 """ 3467 """
3755 if self.layout == "DockWindows": 3468 if self.layout == "Toolboxes":
3756 self.templateViewerDock.show()
3757 self.templateViewerDock.raise_()
3758 elif self.layout == "Toolboxes":
3759 self.vToolboxDock.show() 3469 self.vToolboxDock.show()
3760 self.vToolbox.setCurrentWidget(self.templateViewer) 3470 self.vToolbox.setCurrentWidget(self.templateViewer)
3761 elif self.layout == "Sidebars": 3471 elif self.layout == "Sidebars":
3762 self.leftSidebar.show() 3472 self.leftSidebar.show()
3763 self.leftSidebar.setCurrentWidget(self.templateViewer) 3473 self.leftSidebar.setCurrentWidget(self.templateViewer)
3768 def __toggleBrowser(self): 3478 def __toggleBrowser(self):
3769 """ 3479 """
3770 Private slot to handle the toggle of the File Browser window. 3480 Private slot to handle the toggle of the File Browser window.
3771 """ 3481 """
3772 hasFocus = self.browser.hasFocus() 3482 hasFocus = self.browser.hasFocus()
3773 if self.layout == "DockWindows": 3483 shown = self.__toggleWindow(self.browser)
3774 shown = self.__toggleWindow(self.browserDock)
3775 else:
3776 shown = self.__toggleWindow(self.browser)
3777 if shown: 3484 if shown:
3778 self.__activateBrowser() 3485 self.__activateBrowser()
3779 else: 3486 else:
3780 if hasFocus: 3487 if hasFocus:
3781 self.__activateViewmanager() 3488 self.__activateViewmanager()
3783 def __activateBrowser(self): 3490 def __activateBrowser(self):
3784 """ 3491 """
3785 Private slot to handle the activation of the file browser. 3492 Private slot to handle the activation of the file browser.
3786 """ 3493 """
3787 if self.embeddedFileBrowser == 0: # separate window 3494 if self.embeddedFileBrowser == 0: # separate window
3788 if self.layout == "DockWindows": 3495 if self.layout == "Toolboxes":
3789 self.browserDock.show()
3790 self.browserDock.raise_()
3791 elif self.layout == "Toolboxes":
3792 self.vToolboxDock.show() 3496 self.vToolboxDock.show()
3793 self.vToolbox.setCurrentWidget(self.browser) 3497 self.vToolbox.setCurrentWidget(self.browser)
3794 elif self.layout == "Sidebars": 3498 elif self.layout == "Sidebars":
3795 self.leftSidebar.show() 3499 self.leftSidebar.show()
3796 self.leftSidebar.setCurrentWidget(self.browser) 3500 self.leftSidebar.setCurrentWidget(self.browser)
3797 else: 3501 else:
3798 self.browser.show() 3502 self.browser.show()
3799 elif self.embeddedFileBrowser == 1: # embedded in debug browser 3503 elif self.embeddedFileBrowser == 1: # embedded in debug browser
3800 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: 3504 if self.layout in ["Toolboxes", "Sidebars"]:
3801 self.debugViewerDock.show() 3505 self.debugViewerDock.show()
3802 self.debugViewerDock.raise_() 3506 self.debugViewerDock.raise_()
3803 else: 3507 else:
3804 self.debugViewer.show() 3508 self.debugViewer.show()
3805 self.debugViewer.setCurrentWidget(self.browser) 3509 self.debugViewer.setCurrentWidget(self.browser)
3806 else: # embedded in project browser 3510 else: # embedded in project browser
3807 if self.layout == "DockWindows": 3511 if self.layout == "Toolboxes":
3808 self.projectBrowserDock.show()
3809 self.projectBrowserDock.raise_()
3810 elif self.layout == "Toolboxes":
3811 self.vToolboxDock.show() 3512 self.vToolboxDock.show()
3812 self.vToolbox.setCurrentWidget(self.projectBrowser) 3513 self.vToolbox.setCurrentWidget(self.projectBrowser)
3813 elif self.layout == "Sidebars": 3514 elif self.layout == "Sidebars":
3814 self.leftSidebar.show() 3515 self.leftSidebar.show()
3815 self.leftSidebar.setCurrentWidget(self.projectBrowser) 3516 self.leftSidebar.setCurrentWidget(self.projectBrowser)
3869 def __toggleCooperationViewer(self): 3570 def __toggleCooperationViewer(self):
3870 """ 3571 """
3871 Private slot to handle the toggle of the cooperation window. 3572 Private slot to handle the toggle of the cooperation window.
3872 """ 3573 """
3873 hasFocus = self.cooperation.hasFocus() 3574 hasFocus = self.cooperation.hasFocus()
3874 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: 3575 if self.layout in ["Toolboxes", "Sidebars"]:
3875 shown = self.__toggleWindow(self.cooperationDock) 3576 shown = self.__toggleWindow(self.cooperationDock)
3876 else: 3577 else:
3877 shown = self.__toggleWindow(self.cooperation) 3578 shown = self.__toggleWindow(self.cooperation)
3878 if shown: 3579 if shown:
3879 self.activateCooperationViewer() 3580 self.activateCooperationViewer()
3883 3584
3884 def activateCooperationViewer(self): 3585 def activateCooperationViewer(self):
3885 """ 3586 """
3886 Public slot to handle the activation of the cooperation window. 3587 Public slot to handle the activation of the cooperation window.
3887 """ 3588 """
3888 if self.layout in ["DockWindows", "Toolboxes", "Sidebars"]: 3589 if self.layout in ["Toolboxes", "Sidebars"]:
3889 self.cooperationDock.show() 3590 self.cooperationDock.show()
3890 self.cooperationDock.raise_() 3591 self.cooperationDock.raise_()
3891 else: 3592 else:
3892 self.cooperation.show() 3593 self.cooperation.show()
3893 self.cooperation.setFocus(Qt.ActiveWindowFocusReason) 3594 self.cooperation.setFocus(Qt.ActiveWindowFocusReason)
3895 def __toggleSymbolsViewer(self): 3596 def __toggleSymbolsViewer(self):
3896 """ 3597 """
3897 Private slot to handle the toggle of the Symbols Viewer window. 3598 Private slot to handle the toggle of the Symbols Viewer window.
3898 """ 3599 """
3899 hasFocus = self.symbolsViewer.hasFocus() 3600 hasFocus = self.symbolsViewer.hasFocus()
3900 if self.layout == "DockWindows": 3601 shown = self.__toggleWindow(self.symbolsViewer)
3901 shown = self.__toggleWindow(self.symbolsDock)
3902 else:
3903 shown = self.__toggleWindow(self.symbolsViewer)
3904 if shown: 3602 if shown:
3905 self.__activateSymbolsViewer() 3603 self.__activateSymbolsViewer()
3906 else: 3604 else:
3907 if hasFocus: 3605 if hasFocus:
3908 self.__activateViewmanager() 3606 self.__activateViewmanager()
3909 3607
3910 def __activateSymbolsViewer(self): 3608 def __activateSymbolsViewer(self):
3911 """ 3609 """
3912 Private slot to handle the activation of the Symbols Viewer. 3610 Private slot to handle the activation of the Symbols Viewer.
3913 """ 3611 """
3914 if self.layout == "DockWindows": 3612 if self.layout == "Toolboxes":
3915 self.symbolsDock.show()
3916 self.symbolsDock.raise_()
3917 elif self.layout == "Toolboxes":
3918 self.vToolboxDock.show() 3613 self.vToolboxDock.show()
3919 self.vToolbox.setCurrentWidget(self.symbolsViewer) 3614 self.vToolbox.setCurrentWidget(self.symbolsViewer)
3920 elif self.layout == "Sidebars": 3615 elif self.layout == "Sidebars":
3921 self.leftSidebar.show() 3616 self.leftSidebar.show()
3922 self.leftSidebar.setCurrentWidget(self.symbolsViewer) 3617 self.leftSidebar.setCurrentWidget(self.symbolsViewer)
3927 def __toggleNumbersViewer(self): 3622 def __toggleNumbersViewer(self):
3928 """ 3623 """
3929 Private slot to handle the toggle of the Numbers Viewer window. 3624 Private slot to handle the toggle of the Numbers Viewer window.
3930 """ 3625 """
3931 hasFocus = self.numbersViewer.hasFocus() 3626 hasFocus = self.numbersViewer.hasFocus()
3932 if self.layout == "DockWindows": 3627 shown = self.__toggleWindow(self.numbersViewer)
3933 shown = self.__toggleWindow(self.numbersDock)
3934 else:
3935 shown = self.__toggleWindow(self.numbersViewer)
3936 if shown: 3628 if shown:
3937 self.__activateNumbersViewer() 3629 self.__activateNumbersViewer()
3938 else: 3630 else:
3939 if hasFocus: 3631 if hasFocus:
3940 self.__activateViewmanager() 3632 self.__activateViewmanager()
3941 3633
3942 def __activateNumbersViewer(self): 3634 def __activateNumbersViewer(self):
3943 """ 3635 """
3944 Private slot to handle the activation of the Numbers Viewer. 3636 Private slot to handle the activation of the Numbers Viewer.
3945 """ 3637 """
3946 if self.layout == "DockWindows": 3638 if self.layout == "Toolboxes":
3947 self.numbersDock.show()
3948 self.numbersDock.raise_()
3949 elif self.layout == "Toolboxes":
3950 self.vToolboxDock.show() 3639 self.vToolboxDock.show()
3951 self.vToolbox.setCurrentWidget(self.numbersViewer) 3640 self.vToolbox.setCurrentWidget(self.numbersViewer)
3952 elif self.layout == "Sidebars": 3641 elif self.layout == "Sidebars":
3953 self.bottomSidebar.show() 3642 self.bottomSidebar.show()
3954 self.bottomSidebar.setCurrentWidget(self.numbersViewer) 3643 self.bottomSidebar.setCurrentWidget(self.numbersViewer)
5563 self.SAServer = None 5252 self.SAServer = None
5564 5253
5565 Preferences.setGeometry("MainMaximized", self.isMaximized()) 5254 Preferences.setGeometry("MainMaximized", self.isMaximized())
5566 if not self.isMaximized(): 5255 if not self.isMaximized():
5567 Preferences.setGeometry("MainGeometry", self.saveGeometry()) 5256 Preferences.setGeometry("MainGeometry", self.saveGeometry())
5568 if self.layout == "FloatingWindows": # floating windows
5569 windows = {
5570 "ProjectBrowser": self.projectBrowser,
5571 "DebugViewer": self.debugViewer,
5572 "LogViewer": self.logViewer,
5573 "Shell": self.shell,
5574 "FileBrowser": self.browser,
5575 "TaskViewer": self.taskViewer,
5576 "TemplateViewer": self.templateViewer,
5577 "MultiProjectBrowser": self.multiProjectBrowser,
5578 }
5579 if self.embeddedShell:
5580 del windows["Shell"]
5581 if self.embeddedFileBrowser:
5582 del windows["FileBrowser"]
5583 for window, i in zip(self.windows, list(range(len(self.windows)))):
5584 if window is not None:
5585 self.profiles[self.currentProfile][2][i] = \
5586 bytes(window.saveGeometry())
5587
5588 self.browser.saveToplevelDirs() 5257 self.browser.saveToplevelDirs()
5589 5258
5590 Preferences.setUI("ToolbarManagerState", self.toolbarManager.saveState()) 5259 Preferences.setUI("ToolbarManagerState", self.toolbarManager.saveState())
5591 self.__saveCurrentViewProfile(True) 5260 self.__saveCurrentViewProfile(True)
5592 Preferences.saveToolGroups(self.toolGroups, self.currentToolGroup) 5261 Preferences.saveToolGroups(self.toolGroups, self.currentToolGroup)

eric ide

mercurial