diff options
| author | Adrien Tétar | 2015-06-14 19:32:33 +0200 | 
|---|---|---|
| committer | Adrien Tétar | 2015-06-14 19:32:33 +0200 | 
| commit | 63b1e99de64d7b26bb6da3bc69e593cfb94a1105 (patch) | |
| tree | 56394cde303c17cf180525bc92df13037c8ce08b /Lib/defconQt/glyphView.py | |
| parent | f39997844c7f477ef9ba795349fa08f9817fdcac (diff) | |
| download | trufont-63b1e99de64d7b26bb6da3bc69e593cfb94a1105.tar.bz2 | |
A few fixes
Diffstat (limited to 'Lib/defconQt/glyphView.py')
| -rw-r--r-- | Lib/defconQt/glyphView.py | 21 | 
1 files changed, 14 insertions, 7 deletions
diff --git a/Lib/defconQt/glyphView.py b/Lib/defconQt/glyphView.py index 6dfa676..140e334 100644 --- a/Lib/defconQt/glyphView.py +++ b/Lib/defconQt/glyphView.py @@ -95,9 +95,8 @@ class MainGfxWindow(QMainWindow):              self.view.setRenderer(GlyphView.Image)      def setWindowTitle(self, title, font=None): -        if font is not None: puts = "%s – %s %s" % (title, font.info.familyName, font.info.styleName) -        else: puts = title -        super(MainGfxWindow, self).setWindowTitle(puts) +        if font is not None: title = "%s – %s %s" % (title, font.info.familyName, font.info.styleName) +        super(MainGfxWindow, self).setWindowTitle(title)  def roundPosition(value):      value = value * 10#self._scale @@ -149,6 +148,9 @@ class OffCurvePointItem(QGraphicsEllipseItem):      def itemChange(self, change, value):          if change == QGraphicsItem.ItemPositionChange: +            if self.scene()._integerPlane: +                value.setX(round(value.x())) +                value.setY(round(value.y()))              if QApplication.keyboardModifiers() & Qt.ShiftModifier \                    and len(self.scene().selectedItems()) == 1:                  ax = abs(value.x()) @@ -178,7 +180,7 @@ class OffCurvePointItem(QGraphicsEllipseItem):      # http://www.qtfr.org/viewtopic.php?pid=21045#p21045      def paint(self, painter, option, widget): -        if self.x() == 0 and self.y() == 0: return +        #if self.x() == 0 and self.y() == 0: return          newOption = QStyleOptionGraphicsItem(option)          newOption.state = QStyle.State_None          pen = self.pen() @@ -273,7 +275,11 @@ class OnCurvePointItem(QGraphicsPathItem):          self._contour.dirty = True      def itemChange(self, change, value): -        if change == QGraphicsItem.ItemPositionHasChanged: +        if change == QGraphicsItem.ItemPositionChange: +            if self.scene()._integerPlane: +                value.setX(round(value.x())) +                value.setY(round(value.y())) +        elif change == QGraphicsItem.ItemPositionHasChanged:              if self.scene() is None: return QGraphicsItem.itemChange(self, change, value)              # TODO: if we're snapped to int round self.pos to int              # have a look at defcon FuzzyNumber as well @@ -317,6 +323,7 @@ class GlyphScene(QGraphicsScene):      def __init__(self, parent):          super(GlyphScene, self).__init__(parent)          self._editing = False +        self._integerPlane = True      def getItemForPoint(self, point):          for item in self.items(): @@ -453,7 +460,7 @@ class GlyphScene(QGraphicsScene):          if self._editing:              sel = self.selectedItems()              if len(sel) == 1: -                if isinstance(sel[0], OnCurvePointItem) and (event.scenePos() - sel[0].pos()).manhattanLength() >= 1: +                if isinstance(sel[0], OnCurvePointItem) and (event.scenePos() - sel[0].pos()).manhattanLength() >= 2:                      if len(sel[0]._contour) < 2:                          # release current onCurve                          self.sendEvent(sel[0], QEvent(QEvent.MouseButtonRelease)) @@ -831,7 +838,7 @@ class GlyphView(QGraphicsView):          #self._setFrame()          self.scale(factor, factor)          scale = self.transform().m11() -        if scale < 4: +        if scale < 4 and scale > .4:              offCPS = offCurvePointSize / scale              onCPS = onCurvePointSize / scale              onCSPS = onCurveSmoothPointSize / scale  | 
