aboutsummaryrefslogtreecommitdiffstats
path: root/Lib/defconQt/fontView.py
diff options
context:
space:
mode:
authorFelipe Corrêa da Silva Sanches2015-09-25 00:30:56 -0300
committerFelipe Corrêa da Silva Sanches2015-09-25 01:26:50 -0300
commit0092ce59665867c23085489c81287c5528e06522 (patch)
treeff4ee0ff7aac2ca51618af5120a0ed1df45bf9bd /Lib/defconQt/fontView.py
parent999ae751a4f661c85ace554a8eb3feff793eebc7 (diff)
downloadtrufont-0092ce59665867c23085489c81287c5528e06522.tar.bz2
issue #19: Copying and pasting components (a.k.a. "references" in fontforge jargon) into glyphs.
Diffstat (limited to 'Lib/defconQt/fontView.py')
-rw-r--r--Lib/defconQt/fontView.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py
index 6a603a4..4795fcc 100644
--- a/Lib/defconQt/fontView.py
+++ b/Lib/defconQt/fontView.py
@@ -295,6 +295,8 @@ class MainWindow(QMainWindow):
green.setIcon(QIcon(pixmap))
green.setData(QColor(Qt.green))
selectionMenu.addMenu(markColorMenu)
+ selectionMenu.addAction("Copy Reference", self.copyReference)
+ selectionMenu.addAction("Paste Into", self.pasteInto)
menuBar.addMenu(selectionMenu)
fontMenu = QMenu("&Font", self)
@@ -464,6 +466,29 @@ class MainWindow(QMainWindow):
doc="The sortDescriptor. Takes glyphs from the font and sorts them \
when set.")
+ def copyReference(self):
+ glyphs = self.collectionWidget.glyphs
+ selection = self.collectionWidget.selection
+ if len(selection) == 0:
+ pass # XXX: error dialog: "you need to select a glyph first"
+ else:
+ self.selectedReferences = [glyphs[key] for key in selection]
+
+ def pasteInto(self):
+ glyphs = self.collectionWidget.glyphs
+ selection = self.collectionWidget.selection
+ if len(selection) == 0:
+ pass # XXX: error dialog: "you need to select a glyph first"
+ elif len(selection) == 1:
+ if self.selectedReferences:
+ for key in self.collectionWidget.selection:
+ self.collectionWidget.glyphs[key].refs = self.selectedReferences
+ else:
+ pass
+ # XXX: error dialog: "please select only one glyph"
+ # TODO: Perhaps here we could bulk-paste the same thing
+ # into all of the selected glyphs?
+
def markColor(self):
color = self.sender().data()
glyphs = self.collectionWidget.glyphs