From bbc5be0075b050dc91c1a9e67d185d9617098acb Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 10 Nov 2022 16:32:17 +0100 Subject: [PATCH 1/2] Disable toolbars when no project is open --- novelwriter/gui/noveltree.py | 5 ++++- novelwriter/gui/outline.py | 5 ++++- novelwriter/gui/projtree.py | 3 +++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/novelwriter/gui/noveltree.py b/novelwriter/gui/noveltree.py index 64662e17..02a7f567 100644 --- a/novelwriter/gui/noveltree.py +++ b/novelwriter/gui/noveltree.py @@ -69,8 +69,9 @@ class GuiNovelView(QWidget): self.theProject = mainGui.theProject # Build GUI - self.novelBar = GuiNovelToolBar(self) self.novelTree = GuiNovelTree(self) + self.novelBar = GuiNovelToolBar(self) + self.novelBar.setEnabled(False) # Assemble self.outerBox = QVBoxLayout() @@ -117,6 +118,7 @@ class GuiNovelView(QWidget): """ self.novelTree.clearContent() self.novelBar.clearContent() + self.novelBar.setEnabled(False) return def openProjectTasks(self): @@ -136,6 +138,7 @@ class GuiNovelView(QWidget): self.novelBar.buildNovelRootMenu() self.novelBar.setLastColType(lastCol, doRefresh=False) self.novelBar.setCurrentRoot(lastNovel) + self.novelBar.setEnabled(True) return diff --git a/novelwriter/gui/outline.py b/novelwriter/gui/outline.py index 4d5826a1..3ccba658 100644 --- a/novelwriter/gui/outline.py +++ b/novelwriter/gui/outline.py @@ -64,9 +64,10 @@ class GuiOutlineView(QWidget): self.theProject = mainGui.theProject # Build GUI - self.outlineBar = GuiOutlineToolBar(self) self.outlineTree = GuiOutlineTree(self) self.outlineData = GuiOutlineDetails(self) + self.outlineBar = GuiOutlineToolBar(self) + self.outlineBar.setEnabled(False) self.splitOutline = QSplitter(Qt.Vertical) self.splitOutline.addWidget(self.outlineTree) @@ -121,6 +122,7 @@ class GuiOutlineView(QWidget): """Clear project-related GUI content. """ self.outlineData.clearDetails() + self.outlineBar.setEnabled(False) return def openProjectTasks(self): @@ -135,6 +137,7 @@ class GuiOutlineView(QWidget): self.clearProject() self.outlineBar.populateNovelList() self.outlineBar.setCurrentRoot(lastOutline) + self.outlineBar.setEnabled(True) return diff --git a/novelwriter/gui/projtree.py b/novelwriter/gui/projtree.py index b41e7ed7..5ddeacba 100644 --- a/novelwriter/gui/projtree.py +++ b/novelwriter/gui/projtree.py @@ -73,6 +73,7 @@ class GuiProjectView(QWidget): # Build GUI self.projTree = GuiProjectTree(self) self.projBar = GuiProjectToolBar(self) + self.projBar.setEnabled(False) # Assemble self.outerBox = QVBoxLayout() @@ -136,6 +137,7 @@ class GuiProjectView(QWidget): """Clear project-related GUI content. """ self.projBar.clearContent() + self.projBar.setEnabled(False) self.projTree.clearTree() return @@ -143,6 +145,7 @@ class GuiProjectView(QWidget): """Run open project tasks. """ self.projBar.buildQuickLinkMenu() + self.projBar.setEnabled(True) return def saveProjectTasks(self): From f556fde84849caa30575e07c55a72677aa6a0a01 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Thu, 10 Nov 2022 17:04:12 +0100 Subject: [PATCH 2/2] Make some minor code fixes --- novelwriter/dialogs/projload.py | 1 - novelwriter/guimain.py | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/novelwriter/dialogs/projload.py b/novelwriter/dialogs/projload.py index 7034b465..326e8bce 100644 --- a/novelwriter/dialogs/projload.py +++ b/novelwriter/dialogs/projload.py @@ -77,7 +77,6 @@ class GuiProjectLoad(QDialog): self.setWindowTitle(self.tr("Open Project")) self.setMinimumWidth(self.mainConf.pxInt(650)) self.setMinimumHeight(self.mainConf.pxInt(400)) - self.setModal(True) self.nwIcon = QLabel() self.nwIcon.setPixmap(self.mainGui.mainTheme.getPixmap("novelwriter", (nPx, nPx))) diff --git a/novelwriter/guimain.py b/novelwriter/guimain.py index 6e96fdaf..20f7ce2d 100644 --- a/novelwriter/guimain.py +++ b/novelwriter/guimain.py @@ -872,6 +872,7 @@ class GuiMain(QMainWindow): """ dlgProj = GuiProjectLoad(self) dlgProj.exec_() + if dlgProj.result() == QDialog.Accepted: if dlgProj.openState == GuiProjectLoad.OPEN_STATE: self.openProject(dlgProj.openPath)