Changed code to override the QScintilla lexer default fonts to always use a monospaced family. 5_3_x

Tue, 19 Mar 2013 19:54:17 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 19 Mar 2013 19:54:17 +0100
branch
5_3_x
changeset 2505
a8cee0deff43
parent 2504
19e46c77e006
child 2507
593f33536261

Changed code to override the QScintilla lexer default fonts to always use a monospaced family.
(grafted from 3f1fa98e8e031d2cb2d79896eaa05d53aaf5b269)

Preferences/PreferencesLexer.py file | annotate | diff | comparison | revisions
--- a/Preferences/PreferencesLexer.py	Tue Mar 19 19:13:18 2013 +0100
+++ b/Preferences/PreferencesLexer.py	Tue Mar 19 19:54:17 2013 +0100
@@ -13,6 +13,7 @@
 import QScintilla.Lexers
 
 import Preferences
+import Globals
 
 
 class PreferencesLexerError(Exception):
@@ -71,6 +72,14 @@
         """
         super().__init__(parent)
         
+        # These default font families are taken from QScintilla
+        if Globals.isWindowsPlatform():
+            self.__defaultFontFamily = "Courier New"
+        elif Globals.isMacPlatform():
+            self.__defaultFontFamily = "Courier"
+        else:
+            self.__defaultFontFamily = "Bitstream Vera Sans Mono"
+        
         # instantiate a lexer object for the given language
         lex = QScintilla.Lexers.getLexer(language)
         if lex is None:
@@ -104,11 +113,15 @@
                 self.papers[i] = lex.defaultPaper(i)
                 self.eolFills[i] = lex.defaultEolFill(i)
                 self.fonts[i] = lex.defaultFont(i)
+                # Override QScintilla's default font family to
+                # always use a monospaced font
+                self.fonts[i].setFamily(self.__defaultFontFamily)
                 
                 self.defaultColours[i] = lex.defaultColor(i)
                 self.defaultPapers[i] = lex.defaultPaper(i)
                 self.defaultEolFills[i] = lex.defaultEolFill(i)
                 self.defaultFonts[i] = lex.defaultFont(i)
+                self.defaultFonts[i].setFamily(self.__defaultFontFamily)
                 
                 self.ind2style[index] = i
                 index += 1

eric ide

mercurial