<div dir="ltr"><p>Hello, Developers!</p><p>Has anyone of you, tried to use PathEditor under Carbon Lazarus IDE? (Project->Compiler Options->Paths and then open path list dialog by pressing '...' button)</p><p>
You'll probably see normal text, but if you try to edit it, everything will be messed up, and pretty unusable. This is actually a 'normal' behavior for SynEdit, because selected font by default ('courier'?) does not seem to be mono-width.</p>
<p>I've fixed this problem (for the PathEditor only) by setting 'Monaco' font if currently selected LCL is Carbon</p><p>{$ifdef LCLCarbon}PathEdit.Font.Name:='Monaco';{$endif}</p><p>Monaco is "system default" mono-width font for MacOS X. But i really don't like this hack.</p>
<p></p><p>The thing I suggest is to add to lazarus IDE font selection, so font of the dialogs and text-edit fields can be selected. I guess it would take a lot of job to do. Because every time font is changed, controls have to be notified about that... or some code should walkthrough all opened control and see if font must be changed.</p>
<p></p><p>Or is it possible to supply a kind of GUIHint unit, that would containt information on what font's (colors, images, control sizes etc..) should be used with current widgetset. So setting a font to a SynEdit would look like</p>
<p>uses .. LCLGUIHint, ...</p><p>begin</p><p>  SynEdit.Font.Assign ( LCLGUIHint.SysMonoWidthFont );</p><p>end;</p><p>So no matter, what widgetset I'm using to compile, the application would look native to the user from the start. </p>
<p>For my projects I'm using GUIHint. I don't know if this solution suitable for LCL/Lazarus, I just don't want to add {$ifdef } for every dialog in IDE. </p><p>Any suggestions?</p></div>