comparison 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
comparison
equal deleted inserted replaced
18034:8bc09600f0ed 18036:c97ee13f1027
190 QTextStream in (&qt_settings); 190 QTextStream in (&qt_settings);
191 QString settings_text = in.readAll (); 191 QString settings_text = in.readAll ();
192 qt_settings.close (); 192 qt_settings.close ();
193 193
194 // Get the default monospaced font and replace placeholder 194 // Get the default monospaced font and replace placeholder
195 QFont fixed_font = QFont (); 195 #if defined (HAVE_QFONT_MONOSPACE)
196 QFont fixed_font;
196 fixed_font.setStyleHint (QFont::Monospace); 197 fixed_font.setStyleHint (QFont::Monospace);
197 settings_text.replace("__default_font__",fixed_font.defaultFamily ()); 198 QString default_family = fixed_font.defaultFamily ();
198 settings_text.replace("__default_font_size__","10"); 199 #elif defined (Q_WS_X11) || defined (Q_WS_WIN)
200 QString default_family = "Courier New";
201 #elif defined (Q_WS_MAC)
202 QString default_family = "Courier";
203 #else
204 QString default_family = "courier";
205 #endif
206 settings_text.replace ("__default_font__", default_family);
207 settings_text.replace ("__default_font_size__", "10");
199 208
200 QFile user_settings (settings_file); 209 QFile user_settings (settings_file);
201 if (!user_settings.open (QIODevice::WriteOnly)) 210
211 if (! user_settings.open (QIODevice::WriteOnly))
202 return; 212 return;
203 213
204 QTextStream out (&user_settings); 214 QTextStream out (&user_settings);
215
205 out << settings_text; 216 out << settings_text;
206 user_settings.flush (); 217
207 user_settings.close (); 218 user_settings.close ();
208 } 219 }
209 220
210 do_set_settings (settings_file); 221 do_set_settings (settings_file);
211 } 222 }