Mercurial > hg > octave-nkf
diff libgui/src/resource-manager.cc @ 18036:c97ee13f1027 stable
fix build for systems without QFont::Monospace
* acinclude.m4 (OCTAVE_CHECK_QFONT_MONOSPACE): New macro.
* configure.ac: Use it.
* resource-manager.cc (resource_manager::do_reload_settings):
Provide fallback for default font family if QFont::Monospace is not
available.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 02 Dec 2013 11:29:22 -0500 |
parents | 5d42ffc6850a |
children | 4197fc428c7d |
line wrap: on
line diff
--- a/libgui/src/resource-manager.cc +++ b/libgui/src/resource-manager.cc @@ -192,18 +192,29 @@ qt_settings.close (); // Get the default monospaced font and replace placeholder - QFont fixed_font = QFont (); +#if defined (HAVE_QFONT_MONOSPACE) + QFont fixed_font; fixed_font.setStyleHint (QFont::Monospace); - settings_text.replace("__default_font__",fixed_font.defaultFamily ()); - settings_text.replace("__default_font_size__","10"); + QString default_family = fixed_font.defaultFamily (); +#elif defined (Q_WS_X11) || defined (Q_WS_WIN) + QString default_family = "Courier New"; +#elif defined (Q_WS_MAC) + QString default_family = "Courier"; +#else + QString default_family = "courier"; +#endif + settings_text.replace ("__default_font__", default_family); + settings_text.replace ("__default_font_size__", "10"); QFile user_settings (settings_file); - if (!user_settings.open (QIODevice::WriteOnly)) + + if (! user_settings.open (QIODevice::WriteOnly)) return; QTextStream out (&user_settings); + out << settings_text; - user_settings.flush (); + user_settings.close (); }