Merge branch 'master' into docbar_icons

This commit is contained in:
Veronica K. B. Olsen
2020-06-07 23:39:12 +02:00
5 changed files with 15 additions and 86 deletions
+12 -21
View File
@@ -39,14 +39,13 @@ class NWDoc():
def __init__(self, theProject, theParent): def __init__(self, theProject, theParent):
self.mainConf = nw.CONFIG self.mainConf = nw.CONFIG
self.theProject = theProject self.theProject = theProject
self.theParent = theParent self.theParent = theParent
self.theItem = None self.theItem = None
self.docHandle = None self.docHandle = None
self.docEditable = False self.fileLoc = None
self.fileLoc = None self.docMeta = ""
self.docMeta = ""
# Internal Mapping # Internal Mapping
self.makeAlert = self.theParent.makeAlert self.makeAlert = self.theParent.makeAlert
@@ -60,11 +59,10 @@ class NWDoc():
def clearDocument(self): def clearDocument(self):
"""Clear the document contents. """Clear the document contents.
""" """
self.theItem = None self.theItem = None
self.docHandle = None self.docHandle = None
self.docEditable = False self.fileLoc = None
self.fileLoc = None self.docMeta = ""
self.docMeta = ""
return return
def openDocument(self, tHandle, showStatus=True, isOrphan=False): def openDocument(self, tHandle, showStatus=True, isOrphan=False):
@@ -87,13 +85,6 @@ class NWDoc():
self.clearDocument() self.clearDocument()
return None return None
# By default, the document is editable.
# Except for files in the trash folder.
self.docEditable = True
if self.theItem is not None:
if self.theItem.parHandle == self.theProject.projTree.trashRoot():
self.docEditable = False
docFile = self.docHandle+".nwd" docFile = self.docHandle+".nwd"
logger.debug("Opening document %s" % docFile) logger.debug("Opening document %s" % docFile)
@@ -137,7 +128,7 @@ class NWDoc():
"""Save the document via temp file in case of save failure, and """Save the document via temp file in case of save failure, and
in any case keep a backup of the file. in any case keep a backup of the file.
""" """
if self.docHandle is None or not self.docEditable: if self.docHandle is None:
return False return False
self.theProject.ensureFolderStructure() self.theProject.ensureFolderStructure()
+1 -2
View File
@@ -2,7 +2,7 @@
from nw.gui.about import GuiAbout from nw.gui.about import GuiAbout
from nw.gui.build import GuiBuildNovel from nw.gui.build import GuiBuildNovel
from nw.gui.docbars import GuiDocTitleBar, GuiNoticeBar, GuiSearchBar from nw.gui.docbars import GuiDocTitleBar, GuiSearchBar
from nw.gui.docdetails import GuiDocViewDetails from nw.gui.docdetails import GuiDocViewDetails
from nw.gui.doceditor import GuiDocEditor from nw.gui.doceditor import GuiDocEditor
from nw.gui.docmerge import GuiDocMerge from nw.gui.docmerge import GuiDocMerge
@@ -25,7 +25,6 @@ __all__ = [
"GuiAbout", "GuiAbout",
"GuiBuildNovel", "GuiBuildNovel",
"GuiDocTitleBar", "GuiDocTitleBar",
"GuiNoticeBar",
"GuiSearchBar", "GuiSearchBar",
"GuiDocViewDetails", "GuiDocViewDetails",
"GuiDocEditor", "GuiDocEditor",
-54
View File
@@ -7,7 +7,6 @@
File History: File History:
Created: 2019-09-29 [0.2.1] GuiSearchBar Created: 2019-09-29 [0.2.1] GuiSearchBar
Created: 2019-10-31 [0.3.2] GuiNoticeBar
Created: 2020-04-25 [0.4.5] GuiDocTitleBar Created: 2020-04-25 [0.4.5] GuiDocTitleBar
This file is a part of novelWriter This file is a part of novelWriter
@@ -169,59 +168,6 @@ class GuiSearchBar(QWidget):
# END Class GuiSearchBar # END Class GuiSearchBar
class GuiNoticeBar(QFrame):
def __init__(self, theParent):
QFrame.__init__(self, theParent)
logger.debug("Initialising GuiNoticeBar ...")
self.mainConf = nw.CONFIG
self.theParent = theParent
self.theTheme = theParent.theTheme
self.setContentsMargins(0, 0, 0, 0)
self.setFrameShape(QFrame.Box)
m8 = self.mainConf.pxInt(8)
m2 = self.mainConf.pxInt(2)
self.mainBox = QHBoxLayout(self)
self.mainBox.setContentsMargins(m8, m2, m2, m2)
self.noteLabel = QLabel("")
self.closeButton = QPushButton(self.theTheme.getIcon("close"),"")
self.closeButton.clicked.connect(self.hideNote)
self.mainBox.addWidget(self.noteLabel)
self.mainBox.addWidget(self.closeButton)
self.mainBox.setStretch(0, 1)
self.setLayout(self.mainBox)
self.hideNote()
logger.debug("GuiNoticeBar initialisation complete")
return
def showNote(self, theNote):
"""Show the note on the noticebar.
"""
self.noteLabel.setText("<b>Note:</b> %s" % theNote)
self.setVisible(True)
return
def hideNote(self):
"""Clear the noticebar and hide it.
"""
self.noteLabel.setText("")
self.setVisible(False)
return
# END Class GuiNoticeBar
class GuiDocTitleBar(QWidget): class GuiDocTitleBar(QWidget):
def __init__(self, theParent, theProject): def __init__(self, theParent, theProject):
+1 -6
View File
@@ -158,7 +158,6 @@ class GuiDocEditor(QTextEdit):
self.hasSelection = False self.hasSelection = False
self.setDocumentChanged(False) self.setDocumentChanged(False)
self.theParent.noticeBar.hideNote()
self.docTitle.setTitleFromHandle(self.theHandle) self.docTitle.setTitleFromHandle(self.theHandle)
return True return True
@@ -270,11 +269,7 @@ class GuiDocEditor(QTextEdit):
self.setDocumentChanged(False) self.setDocumentChanged(False)
self.theHandle = tHandle self.theHandle = tHandle
if self.nwDocument.docEditable: self.setReadOnly(False)
self.setReadOnly(False)
else:
self.theParent.noticeBar.showNote("This document is read only.")
self.docTitle.setTitleFromHandle(self.theHandle) self.docTitle.setTitleFromHandle(self.theHandle)
self.updateDocMargins() self.updateDocMargins()
self.hLight.spellCheck = spTemp self.hLight.spellCheck = spTemp
+1 -3
View File
@@ -42,7 +42,7 @@ from PyQt5.QtWidgets import (
from nw.gui import ( from nw.gui import (
GuiBuildNovel, GuiDocEditor, GuiDocMerge, GuiDocSplit, GuiDocViewDetails, GuiBuildNovel, GuiDocEditor, GuiDocMerge, GuiDocSplit, GuiDocViewDetails,
GuiDocViewer, GuiItemDetails, GuiItemEditor, GuiMainMenu, GuiMainStatus, GuiDocViewer, GuiItemDetails, GuiItemEditor, GuiMainMenu, GuiMainStatus,
GuiNoticeBar, GuiOutline, GuiOutlineDetails, GuiPreferences, GuiProjectLoad, GuiOutline, GuiOutlineDetails, GuiPreferences, GuiProjectLoad,
GuiProjectSettings, GuiProjectTree, GuiSearchBar, GuiSessionLogView, GuiTheme GuiProjectSettings, GuiProjectTree, GuiSearchBar, GuiSessionLogView, GuiTheme
) )
from nw.core import NWProject, NWDoc, NWIndex from nw.core import NWProject, NWDoc, NWIndex
@@ -90,7 +90,6 @@ class GuiMain(QMainWindow):
# Main GUI Elements # Main GUI Elements
self.statusBar = GuiMainStatus(self) self.statusBar = GuiMainStatus(self)
self.noticeBar = GuiNoticeBar(self)
self.treeView = GuiProjectTree(self) self.treeView = GuiProjectTree(self)
self.docEditor = GuiDocEditor(self) self.docEditor = GuiDocEditor(self)
self.docViewer = GuiDocViewer(self) self.docViewer = GuiDocViewer(self)
@@ -118,7 +117,6 @@ class GuiMain(QMainWindow):
self.docEdit.setContentsMargins(0, 0, 0, 0) self.docEdit.setContentsMargins(0, 0, 0, 0)
self.docEdit.setSpacing(self.mainConf.pxInt(2)) self.docEdit.setSpacing(self.mainConf.pxInt(2))
self.docEdit.addWidget(self.searchBar) self.docEdit.addWidget(self.searchBar)
self.docEdit.addWidget(self.noticeBar)
self.docEdit.addWidget(self.docEditor) self.docEdit.addWidget(self.docEditor)
self.editPane.setLayout(self.docEdit) self.editPane.setLayout(self.docEdit)