aboutsummaryrefslogtreecommitdiffstats
path: root/Lib/defconQt/fontView.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/defconQt/fontView.py')
-rw-r--r--Lib/defconQt/fontView.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/Lib/defconQt/fontView.py b/Lib/defconQt/fontView.py
index 0ec8910..9921cdb 100644
--- a/Lib/defconQt/fontView.py
+++ b/Lib/defconQt/fontView.py
@@ -3,6 +3,7 @@ from defconQt.fontInfo import TabDialog
from defconQt.glyphCollectionView import GlyphCollectionWidget
from defconQt.glyphView import MainGfxWindow
from defconQt.groupsView import GroupsWindow
+from defconQt.scriptingWindow import MainScriptingWindow
from defconQt.objects.defcon import CharacterSet, TFont, TGlyph
from defcon import Component
from defconQt.spaceCenter import MainSpaceWindow
@@ -45,6 +46,17 @@ latin1 = CharacterSet(
"breve","dotaccent","ring","ogonek","tilde","hungarumlaut","quoteleft",
"quoteright","minus"], "Latin-1")
+class Application(QApplication):
+ def allFonts(self):
+ fonts = []
+ for window in QApplication.topLevelWidgets():
+ if isinstance(window, MainWindow):
+ fonts.append(window._font)
+ return fonts
+
+ def currentFont(self):
+ return self.currentMainWindow._font
+
# TODO: implement Frederik's Glyph Construction Builder
class AddGlyphDialog(QDialog):
def __init__(self, currentGlyphs=None, parent=None):
@@ -311,6 +323,10 @@ class MainWindow(QMainWindow):
fontMenu.addAction("Sort…", self.sortCharacters)
menuBar.addMenu(fontMenu)
+ pythonMenu = QMenu("&Python", self)
+ pythonMenu.addAction("Scripting &window", self.scripting)
+ menuBar.addMenu(pythonMenu)
+
windowMenu = QMenu("&Windows", self)
windowMenu.addAction("&Space center", self.spaceCenter, "Ctrl+Y")
windowMenu.addAction("&Groups window", self.fontGroups, "Ctrl+G")
@@ -566,6 +582,12 @@ class MainWindow(QMainWindow):
self.collectionWidget._sizeEvent(self.width(), val)
QToolTip.showText(QCursor.pos(), str(val), self)
+ def event(self, event):
+ if event.type() == QEvent.WindowActivate:
+ app = QApplication.instance()
+ app.currentMainWindow = self
+ return super(MainWindow, self).event(event)
+
def resizeEvent(self, event):
if self.isVisible(): self.collectionWidget._sizeEvent(event.size().width())
super(MainWindow, self).resizeEvent(event)
@@ -619,6 +641,15 @@ class MainWindow(QMainWindow):
else:
self.fontGroupsWindow.raise_()
+ def scripting(self):
+ # TODO: see up here
+ app = QApplication.instance()
+ if not (hasattr(app, 'scriptingWindow') and app.scriptingWindow.isVisible()):
+ app.scriptingWindow = MainScriptingWindow()
+ app.scriptingWindow.show()
+ else:
+ app.scriptingWindow.raise_()
+
def sortCharacters(self):
sortDescriptor, ok = SortDialog.getDescriptor(self, self.sortDescriptor)
if ok: