diff options
Diffstat (limited to 'Lib/defconQt/fontView.py')
| -rw-r--r-- | Lib/defconQt/fontView.py | 56 | 
1 files changed, 45 insertions, 11 deletions
| diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py index 56bfbfe..70f7f44 100644 --- a/Lib/defconQt/fontView.py +++ b/Lib/defconQt/fontView.py @@ -19,8 +19,8 @@ from PyQt5.QtGui import (      QTextCursor)  from PyQt5.QtWidgets import (      QAbstractItemView, QAction, QApplication, QCheckBox, QComboBox, QDialog, -    QDialogButtonBox, QFileDialog, QGridLayout, QGroupBox, QLabel, QLineEdit, -    QListWidget, QListWidgetItem, QMainWindow, QMenu, QMessageBox, +    QDialogButtonBox, QFileDialog, QGridLayout, QGroupBox, QHBoxLayout, QLabel, +    QLineEdit, QListWidget, QListWidgetItem, QMainWindow, QMenu, QMessageBox,      QPlainTextEdit, QPushButton, QRadioButton, QSlider, QSplitter, QTabWidget,      QTextEdit, QToolTip, QTreeView, QVBoxLayout, QWidget)  from collections import OrderedDict @@ -74,6 +74,7 @@ class Application(QApplication):          super(Application, self).__init__(*args, **kwargs)          self._currentGlyph = None          self._currentMainWindow = None +        self.GL2UV = None      def allFonts(self):          fonts = [] @@ -1342,17 +1343,36 @@ class GlyphSetTab(QWidget):          importMenu.addAction("Import from current font",                               self.importFromCurrentFont)          self.importButton.setMenu(importMenu) - -        mainLayout = QGridLayout() +        glyphListPath = settings.value("settings/glyphListPath", type=str) +        self.glyphListBox = QCheckBox("Glyph list path:", self) +        self.glyphListBox.setChecked(bool(glyphListPath)) +        self.glyphListEdit = QLineEdit(glyphListPath, self) +        self.glyphListEdit.setEnabled(bool(glyphListPath)) +        self.glyphListEdit.setReadOnly(True) +        self.glyphListButton = QPushButton("Browse…", self) +        self.glyphListButton.setEnabled(bool(glyphListPath)) +        self.glyphListButton.pressed.connect(self.getGlyphList) +        self.glyphListButton.setFixedWidth(72) +        self.glyphListBox.toggled.connect(self.glyphListEdit.setEnabled) +        self.glyphListBox.toggled.connect(self.glyphListButton.setEnabled) + +        firstLayout = QGridLayout()          l = 0 -        mainLayout.addWidget(self.defaultGlyphSetBox, l, 0, 1, 2) -        mainLayout.addWidget(self.defaultGlyphSetDrop, l, 3, 1, 3) +        firstLayout.addWidget(self.defaultGlyphSetBox, l, 0, 1, 2) +        firstLayout.addWidget(self.defaultGlyphSetDrop, l, 3, 1, 3)          l += 1 -        mainLayout.addWidget(splitter, l, 0, 1, 6) +        firstLayout.addWidget(splitter, l, 0, 1, 6)          l += 1 -        mainLayout.addWidget(self.addGlyphSetButton, l, 0) -        mainLayout.addWidget(self.removeGlyphSetButton, l, 1) -        mainLayout.addWidget(self.importButton, l, 2) +        firstLayout.addWidget(self.addGlyphSetButton, l, 0) +        firstLayout.addWidget(self.removeGlyphSetButton, l, 1) +        firstLayout.addWidget(self.importButton, l, 2) +        secondLayout = QHBoxLayout() +        secondLayout.addWidget(self.glyphListBox, 0) +        secondLayout.addWidget(self.glyphListEdit, 1) +        secondLayout.addWidget(self.glyphListButton, 2) +        mainLayout = QVBoxLayout() +        mainLayout.addLayout(firstLayout) +        mainLayout.addLayout(secondLayout)          self.setLayout(mainLayout)      def addGlyphSet(self, glyphNames=[], glyphSetName="New glyph set"): @@ -1384,7 +1404,7 @@ class GlyphSetTab(QWidget):          del self.glyphSets[self._cachedName]      def importFromCurrentFont(self): -        currentMainWindow = QApplication.instance().currentMainWindow +        currentMainWindow = QApplication.instance().currentMainWindow()          glyphs = currentMainWindow.getGlyphs()          info = currentMainWindow.font.info          name = "%s %s" % (info.familyName, info.styleName) @@ -1419,6 +1439,17 @@ class GlyphSetTab(QWidget):              index += 1          settings.endArray() +    def getGlyphList(self): +        fileFormats = ( +            "Text file (*.txt)", +            "All files (*.*)", +        ) +        path, _ = QFileDialog.getOpenFileName( +            self, "Open File", '', ";;".join(fileFormats) +        ) +        if path: +            self.glyphListEdit.setText(path) +      def writeValues(self):          # store content of the textEdit in the glyphSet dict          glyphNames = self.glyphSetContents.toPlainText().split() @@ -1433,6 +1464,9 @@ class GlyphSetTab(QWidget):              defaultGlyphSet = self.defaultGlyphSetDrop.currentText()              if defaultGlyphSet != latinDefault.name:                  settings.setValue("settings/defaultGlyphSet", defaultGlyphSet) +        glyphListPath = self.glyphListEdit.text() +        if glyphListPath: +            settings.setValue("settings/glyphListPath", glyphListPath)  class MetricsWindowTab(QTabWidget): | 
