aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrien Tétar2015-09-23 19:15:25 +0200
committerAdrien Tétar2015-09-23 19:15:25 +0200
commita31d33159da1ccd280eb25c2ea7413b3195bc54a (patch)
treeb1e50a6f67475306a720b6fb7fda55ba7f4cf3d4
parentce68fd8b05271c317d908ce4c8d73c9cbd1656ad (diff)
downloadtrufont-a31d33159da1ccd280eb25c2ea7413b3195bc54a.tar.bz2
glyphView: drop toolsMenu in favor of toolBar, fix minor tools bug
-rw-r--r--Lib/defconQt/glyphView.py49
-rw-r--r--Lib/defconQt/resources/cursor.svg1
-rw-r--r--Lib/defconQt/resources/curve.svg1
-rw-r--r--Lib/defconQt/resources/cut.svg1
-rw-r--r--Lib/defconQt/resources/ruler.svg1
5 files changed, 21 insertions, 32 deletions
diff --git a/Lib/defconQt/glyphView.py b/Lib/defconQt/glyphView.py
index cfeff3b..6531638 100644
--- a/Lib/defconQt/glyphView.py
+++ b/Lib/defconQt/glyphView.py
@@ -99,38 +99,12 @@ class MainGfxWindow(QMainWindow):
self.setAttribute(Qt.WA_KeyCompression)
self.view = GlyphView(glyph, self)
+ menuBar = self.menuBar()
fileMenu = QMenu("&File", self)
fileMenu.addAction("E&xit", self.close, QKeySequence.Quit)
- self.menuBar().addMenu(fileMenu)
-
- toolsMenu = QMenu("&Tools", self)
-
- self.selectTool = toolsMenu.addAction("&Selection")
- self.selectTool.setCheckable(True)
- self.selectTool.toggled.connect(self.view.setSceneSelection)
-
- self.drawingTool = toolsMenu.addAction("&Drawing")
- self.drawingTool.setCheckable(True)
- self.drawingTool.toggled.connect(self.view.setSceneDrawing)
-
- self.rulerTool = toolsMenu.addAction("&Ruler")
- self.rulerTool.setCheckable(True)
- self.rulerTool.toggled.connect(self.view.setSceneRuler)
-
- self.knifeTool = toolsMenu.addAction("&Knife")
- self.knifeTool.setCheckable(True)
- self.knifeTool.toggled.connect(self.view.setSceneKnife)
-
- self.toolsGroup = QActionGroup(self)
- self.toolsGroup.addAction(self.selectTool)
- self.toolsGroup.addAction(self.drawingTool)
- self.toolsGroup.addAction(self.rulerTool)
- self.toolsGroup.addAction(self.knifeTool)
- self.selectTool.setChecked(True)
-
- self.menuBar().addMenu(toolsMenu)
+ menuBar.addMenu(fileMenu)
viewMenu = QMenu("&View", self)
self.backgroundAction = viewMenu.addAction("&Background")
@@ -145,7 +119,7 @@ class MainGfxWindow(QMainWindow):
self.outlineAction.setChecked(True)
self.outlineAction.toggled.connect(self.view.setViewOutline)
- self.menuBar().addMenu(viewMenu)
+ menuBar.addMenu(viewMenu)
rendererMenu = QMenu("&Renderer", self)
self.nativeAction = rendererMenu.addAction("&Native")
@@ -167,7 +141,19 @@ class MainGfxWindow(QMainWindow):
rendererGroup.addAction(self.imageAction)
- self.menuBar().addMenu(rendererMenu)
+ menuBar.addMenu(rendererMenu)
+
+ toolBar = QToolBar(self)
+ toolBar.setMovable(False)
+ selectionToolButton = toolBar.addAction("Selection", self.view.setSceneSelection)
+ selectionToolButton.setIcon(QIcon("defconQt/resources/cursor.svg"))
+ penToolButton = toolBar.addAction("Pen", self.view.setSceneDrawing)
+ penToolButton.setIcon(QIcon("defconQt/resources/curve.svg"))
+ rulerToolButton = toolBar.addAction("Ruler", self.view.setSceneRuler)
+ rulerToolButton.setIcon(QIcon("defconQt/resources/ruler.svg"))
+ knifeToolButton = toolBar.addAction("Knife", self.view.setSceneKnife)
+ knifeToolButton.setIcon(QIcon("defconQt/resources/cut.svg"))
+ self.addToolBar(toolBar)
rendererGroup.triggered.connect(self.setRenderer)
@@ -1163,8 +1149,7 @@ class GlyphView(QGraphicsView):
self.setResizeAnchor(QGraphicsView.AnchorUnderMouse)
#self.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate)
- self._drawingTool = SceneTools.SelectionTool
- self.setDragMode(QGraphicsView.RubberBandDrag)
+ self.setSceneSelection()
self.setRenderHint(QPainter.Antialiasing)
self.scale(1, -1)
diff --git a/Lib/defconQt/resources/cursor.svg b/Lib/defconQt/resources/cursor.svg
new file mode 100644
index 0000000..658aac0
--- /dev/null
+++ b/Lib/defconQt/resources/cursor.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" height="24" width="24" version="1.1" xmlns:cc="http://creativecommons.org/ns#" viewBox="0 0 24 24" xmlns:dc="http://purl.org/dc/elements/1.1/"><path d="m14.46 21.844c-.19127.09563-.35863.14345-.52599.14345-.33472 0-.64553-.23908-.83680-.66944l-2.343-5.0447-2.5104 2.9168c-.23908.26299-.52599.40644-.88461.40644-.50208 0-.90852-.35863-.90852-1.0042v-15.588c0-.62162.45426-1.052 1.0042-1.052.35863 0 .66944.14345.88461.38254l9.9707 10.784c.28690.33472.52599.69335.52599 1.1237 0 .45426-.33472.81289-.90852.81289h-3.5863l2.1279 4.71c.09563.21518.14345.38254.14345.62162 0 .31081-.26299.59771-.59771.74116z"/></svg> \ No newline at end of file
diff --git a/Lib/defconQt/resources/curve.svg b/Lib/defconQt/resources/curve.svg
new file mode 100644
index 0000000..dfe0aa7
--- /dev/null
+++ b/Lib/defconQt/resources/curve.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M18.5,2A1.5,1.5 0 0,1 20,3.5A1.5,1.5 0 0,1 18.5,5C18.27,5 18.05,4.95 17.85,4.85L14.16,8.55L14.5,9C16.69,7.74 19.26,7 22,7L23,7.03V9.04L22,9C19.42,9 17,9.75 15,11.04A3.96,3.96 0 0,1 11.04,15C9.75,17 9,19.42 9,22L9.04,23H7.03L7,22C7,19.26 7.74,16.69 9,14.5L8.55,14.16L4.85,17.85C4.95,18.05 5,18.27 5,18.5A1.5,1.5 0 0,1 3.5,20A1.5,1.5 0 0,1 2,18.5A1.5,1.5 0 0,1 3.5,17C3.73,17 3.95,17.05 4.15,17.15L7.84,13.45C7.31,12.78 7,11.92 7,11A4,4 0 0,1 11,7C11.92,7 12.78,7.31 13.45,7.84L17.15,4.15C17.05,3.95 17,3.73 17,3.5A1.5,1.5 0 0,1 18.5,2M11,9A2,2 0 0,0 9,11A2,2 0 0,0 11,13A2,2 0 0,0 13,11A2,2 0 0,0 11,9Z" /></svg> \ No newline at end of file
diff --git a/Lib/defconQt/resources/cut.svg b/Lib/defconQt/resources/cut.svg
new file mode 100644
index 0000000..330260e
--- /dev/null
+++ b/Lib/defconQt/resources/cut.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M19,3L13,9L15,11L22,4V3M12,12.5A0.5,0.5 0 0,1 11.5,12A0.5,0.5 0 0,1 12,11.5A0.5,0.5 0 0,1 12.5,12A0.5,0.5 0 0,1 12,12.5M6,20A2,2 0 0,1 4,18C4,16.89 4.9,16 6,16A2,2 0 0,1 8,18C8,19.11 7.1,20 6,20M6,8A2,2 0 0,1 4,6C4,4.89 4.9,4 6,4A2,2 0 0,1 8,6C8,7.11 7.1,8 6,8M9.64,7.64C9.87,7.14 10,6.59 10,6A4,4 0 0,0 6,2A4,4 0 0,0 2,6A4,4 0 0,0 6,10C6.59,10 7.14,9.87 7.64,9.64L10,12L7.64,14.36C7.14,14.13 6.59,14 6,14A4,4 0 0,0 2,18A4,4 0 0,0 6,22A4,4 0 0,0 10,18C10,17.41 9.87,16.86 9.64,16.36L12,14L19,21H22V20L9.64,7.64Z" /></svg> \ No newline at end of file
diff --git a/Lib/defconQt/resources/ruler.svg b/Lib/defconQt/resources/ruler.svg
new file mode 100644
index 0000000..5e7fdc3
--- /dev/null
+++ b/Lib/defconQt/resources/ruler.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M1.39,18.36L3.16,16.6L4.58,18L5.64,16.95L4.22,15.54L5.64,14.12L8.11,16.6L9.17,15.54L6.7,13.06L8.11,11.65L9.53,13.06L10.59,12L9.17,10.59L10.59,9.17L13.06,11.65L14.12,10.59L11.65,8.11L13.06,6.7L14.47,8.11L15.54,7.05L14.12,5.64L15.54,4.22L18,6.7L19.07,5.64L16.6,3.16L18.36,1.39L22.61,5.64L5.64,22.61L1.39,18.36Z" /></svg> \ No newline at end of file