diff options
| author | Adrien Tétar | 2015-10-08 21:20:41 +0200 |
|---|---|---|
| committer | Adrien Tétar | 2015-10-08 21:20:41 +0200 |
| commit | f0ffdc1a606db8af02463f164017fdefa6e68819 (patch) | |
| tree | d3818fb225a4ccb148618c2c43dddc6e19cadc56 /Lib | |
| parent | c50cdece55f7aa324c395faf7a5b468369dfa70f (diff) | |
| download | trufont-f0ffdc1a606db8af02463f164017fdefa6e68819.tar.bz2 | |
meta: a few bug fixes with existing widgets
Diffstat (limited to 'Lib')
| -rw-r--r-- | Lib/defconQt/fontView.py | 2 | ||||
| -rw-r--r-- | Lib/defconQt/glyphView.py | 28 |
2 files changed, 18 insertions, 12 deletions
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py index 0cf6dc2..23ac268 100644 --- a/Lib/defconQt/fontView.py +++ b/Lib/defconQt/fontView.py @@ -673,6 +673,8 @@ class MainWindow(QMainWindow): if path is None and self.font.path is None: self.saveFileAs() else: + if path is None: + path = self.font.path glyphs = self.collectionWidget.glyphs # TODO: save sortDescriptor somewhere in lib as well glyphNames = [] diff --git a/Lib/defconQt/glyphView.py b/Lib/defconQt/glyphView.py index d3f043e..222e433 100644 --- a/Lib/defconQt/glyphView.py +++ b/Lib/defconQt/glyphView.py @@ -26,8 +26,9 @@ class GotoDialog(QDialog): layout = QGridLayout(self) self.glyphLabel = QLabel("Glyph:", self) self.glyphEdit = QLineEdit(self) - self.glyphEdit.keyPressEvent = self.lineKeyPressEvent self.glyphEdit.textChanged.connect(self.updateGlyphList) + self.glyphEdit.event = self.lineEvent + self.glyphEdit.keyPressEvent = self.lineKeyPressEvent self.beginsWithBox = QRadioButton("Begins with", self) self.containsBox = QRadioButton("Contains", self) @@ -51,28 +52,31 @@ class GotoDialog(QDialog): l += 1 layout.addWidget(buttonBox, l, 0, 1, 6) self.setLayout(layout) - self.updateGlyphList(False) + self.updateGlyphList(True) + + def lineEvent(self, event): + if event.type() == QEvent.KeyPress and event.key() == Qt.Key_Tab: + if self.beginsWithBox.isChecked(): + self.containsBox.toggle() + else: + self.beginsWithBox.toggle() + return True + else: + return QLineEdit.event(self.glyphEdit, event) def lineKeyPressEvent(self, event): key = event.key() if key == Qt.Key_Up or key == Qt.Key_Down: self.glyphList.keyPressEvent(event) - # TODO: kbd-dependent. Maybe change shortcut as well. rf uses Tab but takes away native Tab func. - elif key == Qt.Key_Q: - self.beginsWithBox.toggle() - event.accept() - elif key == Qt.Key_D: - self.containsBox.toggle() - event.accept() else: QLineEdit.keyPressEvent(self.glyphEdit, event) - def updateGlyphList(self, select=True): + def updateGlyphList(self, select): self.glyphList.clear() if not self.glyphEdit.isModified(): self.glyphList.addItems(self._sortedGlyphs) text = self.glyphEdit.text() - if self.beginsWithBox.isChecked(): + if select: glyphs = [glyph for glyph in self._sortedGlyphs if glyph.startswith(text)] else: glyphs = [glyph for glyph in self._sortedGlyphs if text in glyph] @@ -147,7 +151,7 @@ class MainGfxWindow(QMainWindow): menuBar.addMenu(fileMenu) glyphMenu = QMenu("&Glyph", self) - glyphMenu.addAction("&Jump", self.changeGlyph) + glyphMenu.addAction("&Jump", self.changeGlyph, "J") menuBar.addMenu(glyphMenu) toolBar = QToolBar(self) |
