changeset 31657:61834788d3aa

get list of fonts from QFontDatabase, not QFontComboBox * gui-settings.cc (gui_settings::get_default_font_family): Get list of available fonts from the thread-safe QFontDatabase class, not QFontComboBox.
author John W. Eaton <jwe@octave.org>
date Fri, 09 Dec 2022 01:09:04 -0500
parents 085b65319e00
children 4e6c415695d3
files libgui/src/gui-settings.cc
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/gui-settings.cc	Thu Dec 08 13:57:18 2022 -0500
+++ b/libgui/src/gui-settings.cc	Fri Dec 09 01:09:04 2022 -0500
@@ -32,7 +32,6 @@
 #include <QApplication>
 #include <QFile>
 #include <QFileInfo>
-#include <QFontComboBox>
 #include <QFontDatabase>
 #include <QMessageBox>
 #include <QSettings>
@@ -205,15 +204,18 @@
 
   QString gui_settings::get_default_font_family (void)
   {
-    QString default_family;
+    // Get all available fixed width fonts from the Qt font database.
 
-    // Get all available fixed width fonts via a font combobox
-    QFontComboBox font_combo_box;
-    font_combo_box.setFontFilters (QFontComboBox::MonospacedFonts);
+    QFontDatabase font_database;
     QStringList fonts;
 
-    for (int index = 0; index < font_combo_box.count(); index++)
-      fonts << font_combo_box.itemText(index);
+    for (QString font : font_database.families ())
+      {
+        if (font_database.isFixedPitch (font))
+          fonts << font;
+      }
+
+    QString default_family;
 
 #if defined (Q_OS_MAC)
     // Use hard coded default on macOS, since selection of fixed width