diff options
Diffstat (limited to 'Lib/defconQt/fontView.py')
| -rw-r--r-- | Lib/defconQt/fontView.py | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py index 0dbb9d1..80aabec 100644 --- a/Lib/defconQt/fontView.py +++ b/Lib/defconQt/fontView.py @@ -11,6 +11,7 @@ from defconQt.spaceCenter import MainSpaceWindow from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * +from collections import OrderedDict import os, pickle, traceback cannedDesign = [ @@ -194,6 +195,14 @@ class InspectorWindow(QWidget): mainLayout.addWidget(transformGroup) self.setLayout(mainLayout) + def showEvent(self, event): + super(InspectorWindow, self).showEvent(event) + screenRect = QApplication.desktop().screenGeometry() + widgetRect = self.frameGeometry() + x = screenRect.width() - (widgetRect.width() + 20) + y = screenRect.center().y() - widgetRect.height() / 2 + self.move(x, y) + def hSymmetry(self): xMin, yMin, xMax, yMax = self._glyph.controlPointBounds for contour in self._glyph: @@ -672,7 +681,7 @@ class MainWindow(QMainWindow): fontPath = self.sender().toolTip() self.openFile(fontPath) - def saveFile(self, path=None): + def saveFile(self, path=None, ufoFormatVersion=3): if path is None and self.font.path is None: self.saveFileAs() else: @@ -684,7 +693,7 @@ class MainWindow(QMainWindow): for glyph in glyphs: glyphNames.append(glyph.name) self.font.lib["public.glyphOrder"] = glyphNames - self.font.save(path=path) + self.font.save(path, ufoFormatVersion) self.font.dirty = False for glyph in self.font: glyph.dirty = False @@ -692,10 +701,19 @@ class MainWindow(QMainWindow): self.setWindowModified(False) def saveFileAs(self): - path, ok = QFileDialog.getSaveFileName(self, "Save File", '', - "UFO Fonts (*.ufo)") + fileFormats = OrderedDict([ + ("UFO Font version 3 (*.ufo)", 3), + ("UFO Fonts version 2 (*.ufo)", 2), + ]) + # TODO: see if OSX works nicely with UFO as files, then switch to directory + # on platforms that need it + dialog = QFileDialog(self, "Save File", None, ";;".join(fileFormats.keys())) + dialog.setAcceptMode(QFileDialog.AcceptSave) + ok = dialog.exec_() if ok: - self.saveFile(path) + nameFilter = dialog.selectedNameFilter() + path = dialog.selectedFiles()[0] + self.saveFile(path, fileFormats[nameFilter]) self.setWindowTitle() #return ok |
