aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrien Tétar2015-09-11 21:56:15 +0200
committerAdrien Tétar2015-09-11 21:56:15 +0200
commit797a6548a18815e1020d792ffda2d8a39ae4d834 (patch)
treebd30ff1f78dec24d80783faebfd19da7dc6bd9c5
parenta23778cd5350861de61c25e27ce921419b1c125c (diff)
downloadtrufont-797a6548a18815e1020d792ffda2d8a39ae4d834.tar.bz2
fontView,featureTextEditor: make use of setWindowModified()
-rw-r--r--Lib/defconQt/featureTextEditor.py10
-rw-r--r--Lib/defconQt/fontView.py5
2 files changed, 12 insertions, 3 deletions
diff --git a/Lib/defconQt/featureTextEditor.py b/Lib/defconQt/featureTextEditor.py
index ef16199..1cff1b8 100644
--- a/Lib/defconQt/featureTextEditor.py
+++ b/Lib/defconQt/featureTextEditor.py
@@ -11,14 +11,16 @@ class MainEditWindow(QMainWindow):
self.font = font
self.setupFileMenu()
self.editor = TextEditor(self.font.features.text, self)
+ # arm `undoAvailable` to `setWindowModified`
+ self.editor.setFileChangedCallback(self.setWindowModified)
self.resize(600, 500)
self.setCentralWidget(self.editor)
self.setWindowTitle("Font features", self.font)
def setWindowTitle(self, title, font):
- if font is not None: puts = "%s%s%s%s%s" % (title, " – ", self.font.info.familyName, " ", self.font.info.styleName)
- else: puts = title
+ if font is not None: puts = "[*]%s%s%s%s%s" % (title, " – ", self.font.info.familyName, " ", self.font.info.styleName)
+ else: puts = "[*]%s" % title
super(MainEditWindow, self).setWindowTitle(puts)
def closeEvent(self, event):
@@ -85,6 +87,10 @@ class TextEditor(QPlainTextEdit):
font.setFixedPitch(isMono)
self.setFont(font)
+ # TODO: add way to unset callback?
+ def setFileChangedCallback(self, fileChangedCallback):
+ self.undoAvailable.connect(fileChangedCallback)
+
def write(self, features):
features.text = self.toPlainText()
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py
index a701562..733c172 100644
--- a/Lib/defconQt/fontView.py
+++ b/Lib/defconQt/fontView.py
@@ -568,6 +568,7 @@ class MainWindow(QMainWindow):
else:
self.font.save(path=path)
# self.font.dirty = False
+ self.setWindowModified(False)
# self.font.path = path # done by defcon
def saveFileAs(self):
@@ -575,6 +576,7 @@ class MainWindow(QMainWindow):
"UFO Fonts (*.ufo)")
if ok:
self.saveFile(path)
+ self.setWindowTitle()
#return ok
def close(self):
@@ -613,6 +615,7 @@ class MainWindow(QMainWindow):
def _fontChanged(self, notification):
self.characterWidget.update()
+ self.setWindowModified(True)
def _glyphOpened(self, name):
from glyphView import MainGfxWindow
@@ -634,7 +637,7 @@ class MainWindow(QMainWindow):
def setWindowTitle(self, title=None):
if title is None: title = os.path.basename(self.font.path.rstrip(os.sep))
- super(MainWindow, self).setWindowTitle(title)
+ super(MainWindow, self).setWindowTitle("[*]{}".format(title))
def sortCharacters(self):
if not (hasattr(self, 'sortingWindow') and self.sortingWindow.isVisible()):