From b04ab099b14c71f2e663dbaac08e02686b3e63aa Mon Sep 17 00:00:00 2001 From: "Veronica K. B. Olsen" Date: Tue, 2 Oct 2018 23:48:26 +0200 Subject: [PATCH] About tab and project tab now only opens once. --- nw/gui/doctabs.py | 36 ++++++++++++++++++++++++++---------- nw/gui/winmain.py | 13 +++++++++++++ 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/nw/gui/doctabs.py b/nw/gui/doctabs.py index 5cccfc2c..9372ecc9 100644 --- a/nw/gui/doctabs.py +++ b/nw/gui/doctabs.py @@ -58,30 +58,44 @@ class GuiDocTabs(QTabWidget): # Internal Functions # - def _createTabAbout(self): - thisTab = GuiAboutView() - self.tabList.append(thisTab) - self.addTab(self.tabList[-1],"About") - return True - def _createTabDoc(self, docName=None): if docName is None: tabName = "New Document" else: tabName = docName thisTab = GuiDocEditor() - self.tabList.append(thisTab) - self.addTab(self.tabList[-1],tabName) + self.addTab(thisTab,tabName) + self.setCurrentWidget(thisTab) return True def _createTabProject(self, projectName=None): + """Display or create the project settings page. + """ + for i in range(self.count()): + thisTab = self.widget(i) + if isinstance(thisTab, GuiProjectEditor): + self.setCurrentWidget(thisTab) + return True if projectName is None: tabName = "New Project" else: tabName = projectName thisTab = GuiProjectEditor() - self.tabList.append(thisTab) - self.addTab(self.tabList[-1],tabName) + self.addTab(thisTab,tabName) + self.setCurrentWidget(thisTab) + return True + + def _createTabAbout(self): + """Display or create the About tab. + """ + for i in range(self.count()): + thisTab = self.widget(i) + if isinstance(thisTab, GuiAboutView): + self.setCurrentWidget(thisTab) + return True + thisTab = GuiAboutView() + self.addTab(thisTab,"About") + self.setCurrentWidget(thisTab) return True # @@ -90,6 +104,8 @@ class GuiDocTabs(QTabWidget): def _doCloseTab(self, tabIdx): logger.verbose("User requested tab %d to be closed." % tabIdx) + self.removeTab(tabIdx) + logger.verbose("Tab %d closed." % tabIdx) return # END Class GuiDocTabs diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py index e693b9f7..9fbf7b60 100644 --- a/nw/gui/winmain.py +++ b/nw/gui/winmain.py @@ -159,6 +159,15 @@ class GuiMain(QMainWindow): menuExit.triggered.connect(self._menuExit) fileMenu.addAction(menuExit) + # Help + helpMenu = menuBar.addMenu("&Help") + + # Help > About + menuAbout = QAction(QIcon.fromTheme("help-about"), "About", menuBar) + menuAbout.setStatusTip("About") + menuAbout.triggered.connect(self._showAbout) + helpMenu.addAction(menuAbout) + return def _buildTreeToolBar(self): @@ -189,4 +198,8 @@ class GuiMain(QMainWindow): qApp.quit() return True + def _showAbout(self): + self.docTabs.createTab(None,nw.DOCTYPE_ABOUT) + return True + # END Class GuiMain