diff --git a/nw/gui/elements/doceditor.py b/nw/gui/elements/doceditor.py
index e8bc23b7..852d3272 100644
--- a/nw/gui/elements/doceditor.py
+++ b/nw/gui/elements/doceditor.py
@@ -16,9 +16,9 @@ import nw
from time import time
from PyQt5.QtCore import Qt, QTimer, QSizeF
-from PyQt5.QtWidgets import qApp, QTextEdit, QAction, QMenu, QShortcut
+from PyQt5.QtWidgets import qApp, QTextEdit, QAction, QMenu, QShortcut, QMessageBox
from PyQt5.QtGui import (
- QTextCursor, QTextOption, QIcon, QKeySequence, QFont, QColor, QPalette, QTextDocument
+ QTextCursor, QTextOption, QIcon, QKeySequence, QFont, QColor, QPalette, QTextDocument,
)
from nw.project.document import NWDoc
@@ -332,6 +332,19 @@ class GuiDocEditor(QTextEdit):
def isEmpty(self):
return self.qDocument.isEmpty()
+ def revealLocation(self):
+ if self.theHandle is not None:
+ msgBox = QMessageBox()
+ msgBox.information(self, "File Location", (
+ "File details for the currently open file
"
+ "Handle: {handle:s}
"
+ "Location: {fileLoc:s}"
+ ).format(
+ handle = self.theHandle,
+ fileLoc = str(self.nwDocument.fileLoc)
+ ))
+ return
+
##
# Document Events and Maintenance
##
diff --git a/nw/gui/elements/docviewer.py b/nw/gui/elements/docviewer.py
index 612416df..468f4f2b 100644
--- a/nw/gui/elements/docviewer.py
+++ b/nw/gui/elements/docviewer.py
@@ -117,7 +117,7 @@ class GuiDocViewer(QTextBrowser):
self.theHandle = tHandle
self.theProject.setLastViewed(tHandle)
- self.theParent.docMeta.refreshReferences(tHandle)
+ self.theParent.viewMeta.refreshReferences(tHandle)
return True
diff --git a/nw/gui/elements/viewdetails.py b/nw/gui/elements/viewdetails.py
index a4eb4bc1..d283cd20 100644
--- a/nw/gui/elements/viewdetails.py
+++ b/nw/gui/elements/viewdetails.py
@@ -6,7 +6,7 @@
Class holding the document view details panel
File History:
- Created: 2019-09-31 [0.3.2]
+ Created: 2019-10-31 [0.3.2]
"""
@@ -20,7 +20,7 @@ from PyQt5.QtWidgets import (
QSizePolicy, QCheckBox, QGridLayout
)
-from nw.constants import nwLabels
+from nw.constants import nwLabels
logger = logging.getLogger(__name__)
diff --git a/nw/gui/mainmenu.py b/nw/gui/mainmenu.py
index 000865a3..23dff355 100644
--- a/nw/gui/mainmenu.py
+++ b/nw/gui/mainmenu.py
@@ -168,6 +168,10 @@ class GuiMainMenu(QMenuBar):
self.updateRecentProjects()
return True
+ def _showDocumentLocation(self):
+ self.theParent.docEditor.revealLocation()
+ return True
+
##
# Menu Builders
##
@@ -347,6 +351,12 @@ class GuiMainMenu(QMenuBar):
# Document > Separator
self.docuMenu.addSeparator()
+ # Document > Show File Details
+ menuItem = QAction("Show File Details", self)
+ menuItem.setStatusTip("Shows a message box with the document location in the project folder")
+ menuItem.triggered.connect(self._showDocumentLocation)
+ self.docuMenu.addAction(menuItem)
+
# Document > Import From File
menuItem = QAction("Import from File", self)
menuItem.setStatusTip("Import document from a text or markdown file")
diff --git a/nw/gui/winmain.py b/nw/gui/winmain.py
index 0d86f84b..c64c095d 100644
--- a/nw/gui/winmain.py
+++ b/nw/gui/winmain.py
@@ -77,7 +77,7 @@ class GuiMain(QMainWindow):
self.noticeBar = GuiNoticeBar(self)
self.docEditor = GuiDocEditor(self, self.theProject)
self.docViewer = GuiDocViewer(self, self.theProject)
- self.docMeta = GuiDocViewDetails(self, self.theProject)
+ self.viewMeta = GuiDocViewDetails(self, self.theProject)
self.searchBar = GuiSearchBar(self)
self.treeMeta = GuiDocDetails(self, self.theProject)
self.treeView = GuiDocTree(self, self.theProject)
@@ -107,7 +107,7 @@ class GuiMain(QMainWindow):
self.docView = QVBoxLayout()
self.docView.setContentsMargins(0,0,0,0)
self.docView.addWidget(self.docViewer)
- self.docView.addWidget(self.docMeta)
+ self.docView.addWidget(self.viewMeta)
self.docView.setStretch(0, 1)
self.viewPane.setLayout(self.docView)
diff --git a/nw/project/document.py b/nw/project/document.py
index 0a3fa126..ad531fb3 100644
--- a/nw/project/document.py
+++ b/nw/project/document.py
@@ -31,6 +31,7 @@ class NWDoc():
self.theItem = None
self.docHandle = None
self.docEditable = False
+ self.fileLoc = None
# Internal Mapping
self.makeAlert = self.theParent.makeAlert
@@ -58,7 +59,8 @@ class NWDoc():
self.docEditable = False
docDir, docFile = self._assemblePath(self.FILE_MN)
- logger.debug("Opening document %s" % path.join(docDir,docFile))
+ self.fileLoc = path.join(docDir,docFile)
+ logger.debug("Opening document %s" % self.fileLoc)
dataDir = path.join(self.theProject.projPath, docDir)
docPath = path.join(dataDir, docFile)