diff options
| author | Adrien Tétar | 2015-09-11 21:56:15 +0200 |
|---|---|---|
| committer | Adrien Tétar | 2015-09-11 21:56:15 +0200 |
| commit | 797a6548a18815e1020d792ffda2d8a39ae4d834 (patch) | |
| tree | bd30ff1f78dec24d80783faebfd19da7dc6bd9c5 | |
| parent | a23778cd5350861de61c25e27ce921419b1c125c (diff) | |
| download | trufont-797a6548a18815e1020d792ffda2d8a39ae4d834.tar.bz2 | |
fontView,featureTextEditor: make use of setWindowModified()
| -rw-r--r-- | Lib/defconQt/featureTextEditor.py | 10 | ||||
| -rw-r--r-- | Lib/defconQt/fontView.py | 5 |
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()): |
