Calculate LABEL_FONT_SIZE and DESC_FONT_SIZE from current window size.

portnov [2008-08-30 15:27:20]
Calculate LABEL_FONT_SIZE and DESC_FONT_SIZE from current window size.
Filename
qwerty.py
diff --git a/qwerty.py b/qwerty.py
index 922be41..1deb0fa 100755
--- a/qwerty.py
+++ b/qwerty.py
@@ -29,9 +29,9 @@ CANCEL = False
 PADDING = 4
 ICON_TOP_MARGIN = 35
 LABEL_LEFT, LABEL_TOP = 15,25
-LABEL_FONT_SIZE = 16
+LABEL_FONT_SIZE_COEF = 0.016
 DESC_TOP = 110
-DESC_FONT_SIZE = 14
+DESC_FONT_SIZE_COEF = 0.014
 KEY_BOTTOM = 35
 KEY_FONT_SIZE = 40

@@ -558,11 +558,31 @@ class KeyEditDialog(object):
 class GUI(object):
     def __init__(self):
         global sections
+        global LABEL_FONT_SIZE
+        global DESC_FONT_SIZE

         self.buttons = {}
         self.sbuttons = []
         self.by_class = {}

+        self.window = gtk.Window()
+        self.window.set_title('Qwerty-Launcher')
+        self.window.connect('destroy', self.exit)
+        self.window.connect('key-press-event', self.on_key)
+        self.window.connect('key-release-event', self.key_released)
+
+        fullscreen,geometry,decorate = parse_cmdline()
+        if fullscreen:
+            self.window.fullscreen()
+            self.width, self.height = self.window.get_screen().get_width(), self.window.get_screen().get_height()
+        else:
+            self.window.parse_geometry(geometry)
+            self.width, self.height = self.window.get_size()
+        self.window.set_decorated(decorate)
+
+        LABEL_FONT_SIZE = LABEL_FONT_SIZE_COEF * self.height
+        DESC_FONT_SIZE  = DESC_FONT_SIZE_COEF  * self.height
+
         for c in ALPHABET:
             self.buttons[c] = SuperButton(c)

@@ -610,20 +630,6 @@ class GUI(object):
         self.main = gtk.VBox()
         self.main.pack_start(self.taskbar, True)
         self.main.pack_start(self.keyboard, True)
-        self.main.show()
-
-        self.window = gtk.Window()
-        self.window.set_title('Qwerty-Launcher')
-        self.window.connect('destroy', self.exit)
-        self.window.connect('key-press-event', self.on_key)
-        self.window.connect('key-release-event', self.key_released)
-
-        fullscreen,geometry,decorate = parse_cmdline()
-        if fullscreen:
-            self.window.fullscreen()
-        else:
-            self.window.parse_geometry(geometry)
-        self.window.set_decorated(decorate)

         self.window.add(self.main)
ViewGit