From bfd037120a970d28ec1dc4999b75807f0559bb81 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 26 Apr 2014 08:38:30 +0530 Subject: [PATCH] Better default font when no user font settings detected (happens on linux) --- src/calibre/gui2/__init__.py | 9 +++++++-- src/calibre/gui2/preferences/look_feel.py | 9 +++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/calibre/gui2/__init__.py b/src/calibre/gui2/__init__.py index 2ec5f8a81b..76a7e5f2c5 100644 --- a/src/calibre/gui2/__init__.py +++ b/src/calibre/gui2/__init__.py @@ -8,7 +8,7 @@ from PyQt5.Qt import ( QFileInfo, QObject, QBuffer, Qt, QStyle, QByteArray, QTranslator, QCoreApplication, QThread, QEvent, QTimer, pyqtSignal, QDateTime, QDesktopServices, QFileDialog, QFileIconProvider, QSettings, QIcon, - QApplication, QDialog, QUrl, QFont, QFontDatabase, QLocale) + QApplication, QDialog, QUrl, QFont, QFontDatabase, QLocale, QFontInfo) ORG_NAME = 'KovidsBrain' APP_UID = 'libprs500' @@ -886,7 +886,12 @@ class Application(QApplication): self.redirect_notify = True self.setup_styles(force_calibre_style) QApplication.__init__(self, qargs) - self.original_font = QFont(QApplication.font()) + f = QFont(QApplication.font()) + if (f.family(), f.pointSize()) == ('Sans Serif', 9): # Hard coded Qt settings, no user preference detected + f.setPointSize(10) + QApplication.setFont(f) + f = QFontInfo(f) + self.original_font = (f.family(), f.pointSize(), f.weight(), f.italic(), 100) if not self.using_calibre_style and self.style().objectName() == 'fusion': # Since Qt is using the fusion style anyway, specialize it self.load_calibre_style() diff --git a/src/calibre/gui2/preferences/look_feel.py b/src/calibre/gui2/preferences/look_feel.py index 0ba928a8ad..9df9d7da1e 100644 --- a/src/calibre/gui2/preferences/look_feel.py +++ b/src/calibre/gui2/preferences/look_feel.py @@ -405,12 +405,9 @@ class ConfigWidget(ConfigWidgetBase, Ui_Form): self.changed_signal.emit() def build_font_obj(self): - font_info = self.current_font - if font_info is not None: - font = QFont(*(font_info[:4])) - font.setStretch(font_info[4]) - else: - font = qt_app.original_font + font_info = qt_app.original_font if self.current_font is None else self.current_font + font = QFont(*(font_info[:4])) + font.setStretch(font_info[4]) return font def update_font_display(self):