aboutsummaryrefslogtreecommitdiffstats
path: root/Lib/defconQt/fontView.py
diff options
context:
space:
mode:
authorAdrien Tétar2015-10-20 09:37:44 +0200
committerAdrien Tétar2015-10-20 09:37:44 +0200
commit8838defa76d26c937d1f2e34e0f37cf2dd105cf2 (patch)
tree0e8cf4e919d8d8a0bb9041711f3fbc023a2d6c15 /Lib/defconQt/fontView.py
parentd4105eda879d58493c9218576b04a3d2f19b6ea3 (diff)
downloadtrufont-8838defa76d26c937d1f2e34e0f37cf2dd105cf2.tar.bz2
spaceCenter: make textField a comboBox, add parameters
Diffstat (limited to 'Lib/defconQt/fontView.py')
-rw-r--r--Lib/defconQt/fontView.py57
1 files changed, 53 insertions, 4 deletions
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py
index 04633a2..54b545e 100644
--- a/Lib/defconQt/fontView.py
+++ b/Lib/defconQt/fontView.py
@@ -8,7 +8,7 @@ from defconQt.scriptingWindow import MainScriptingWindow
from defconQt.objects.defcon import GlyphSet, TFont, TGlyph
from defconQt.util import platformSpecific
from defcon import Color, Component
-from defconQt.spaceCenter import MainSpaceWindow
+from defconQt.spaceCenter import MainSpaceWindow, comboBoxItems
from PyQt5.QtCore import (
pyqtSignal, QEvent, QMimeData, QRegularExpression, QSettings, Qt)
from PyQt5.QtGui import (
@@ -1190,6 +1190,7 @@ class SettingsDialog(QDialog):
self.tabWidget = QTabWidget(self)
self.tabWidget.addTab(GlyphSetTab(self), "Glyph sets")
+ self.tabWidget.addTab(SpaceCenterTab(self), "Space center")
buttonBox = QDialogButtonBox(
QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
@@ -1210,7 +1211,7 @@ class SettingsDialog(QDialog):
def getDefaultGlyphSet(settings=None):
if settings is None:
settings = QSettings()
- settings.value("settings/defaultGlyphSet", latinDefault.name, type=str)
+ settings.value("settings/defaultGlyphSet", latinDefault.name, str)
def readGlyphSets(settings=None):
@@ -1239,7 +1240,7 @@ class GlyphSetTab(QWidget):
self.defaultGlyphSetBox = QCheckBox("Default glyph set:", self)
self.defaultGlyphSetDrop = QComboBox(self)
defaultGlyphSet = settings.value(
- "settings/defaultGlyphSet", latinDefault.name, type=str)
+ "settings/defaultGlyphSet", latinDefault.name, str)
self.defaultGlyphSetBox.toggled.connect(self.toggleGlyphSetDrop)
self.defaultGlyphSetBox.setChecked(len(defaultGlyphSet))
self.glyphSets = readGlyphSets()
@@ -1266,7 +1267,7 @@ class GlyphSetTab(QWidget):
splitter.addWidget(self.glyphSetContents)
self.addGlyphSetButton = QPushButton("+", self)
self.addGlyphSetButton.pressed.connect(self.addGlyphSet)
- self.removeGlyphSetButton = QPushButton("-", self)
+ self.removeGlyphSetButton = QPushButton("−", self)
self.removeGlyphSetButton.setEnabled(len(self.glyphSets) > 1)
self.removeGlyphSetButton.pressed.connect(self.removeGlyphSet)
self.importButton = QPushButton("Import", self)
@@ -1365,3 +1366,51 @@ class GlyphSetTab(QWidget):
defaultGlyphSet = self.defaultGlyphSetDrop.currentText()
if defaultGlyphSet != latinDefault.name:
settings.setValue("settings/defaultGlyphSet", defaultGlyphSet)
+
+class SpaceCenterTab(QTabWidget):
+ def __init__(self, parent=None):
+ super(SpaceCenterTab, self).__init__(parent)
+
+ settings = QSettings()
+ self.inputTextLabel = QLabel("Default text:", self)
+ self.inputTextList = QListWidget(self)
+ self.inputTextList.setDragDropMode(QAbstractItemView.InternalMove)
+ entries = settings.value("spaceCenter/comboBoxItems", comboBoxItems, str)
+ for entry in entries:
+ item = QListWidgetItem(entry, self.inputTextList)
+ item.setFlags(item.flags() | Qt.ItemIsEditable)
+ self.addItemButton = QPushButton("+", self)
+ self.removeItemButton = QPushButton("−", self)
+ if not len(entries):
+ self.removeItemButton.setEnabled(False)
+
+ layout = QGridLayout(self)
+ l = 0
+ layout.addWidget(self.inputTextLabel, l, 0, 1, 3)
+ l += 1
+ layout.addWidget(self.inputTextList, l, 0, 1, 3)
+ l += 1
+ layout.addWidget(self.addItemButton, l, 0)
+ layout.addWidget(self.removeItemButton, l, 1)
+ self.setLayout(layout)
+
+ def addItem(self):
+ item = QListWidgetItem(self.inputTextList)
+ item.setFlags(item.flags() | Qt.ItemIsEditable)
+ self.inputTextList.setCurrentItem(item)
+ self.inputTextList.editItem(item)
+ self.removeItemButton.setEnabled(True)
+
+ def removeItem(self):
+ i = self.inputTextList.currentRow()
+ self.inputTextList.takeItem(i)
+ if not self.inputTextList.count():
+ self.removeItemButton.setEnabled(False)
+
+ def writeValues(self):
+ entries = []
+ for i in range(self.inputTextList.count()):
+ item = self.inputTextList.item(i)
+ entries.append(item.text())
+ settings = QSettings()
+ settings.setValue("spaceCenter/comboBoxItems", entries)