|
3 | 3 | * v. 2.0. If a copy of the MPL was not distributed with this file, You can
|
4 | 4 | * obtain one at https://mozilla.org/MPL/2.0/
|
5 | 5 | *
|
6 |
| - * Copyright (C) 2009-2021, Peter Johnson (gravatar.com/delphidabbler). |
| 6 | + * Copyright (C) 2009-2022, Peter Johnson (gravatar.com/delphidabbler). |
7 | 7 | *
|
8 | 8 | * Implements a dialogue box that displays active text rendered from REML markup
|
9 | 9 | * or plain text.
|
@@ -214,75 +214,62 @@ procedure TActiveTextPreviewDlg.UpdateCSS(Sender: TObject;
|
214 | 214 | const
|
215 | 215 | MaxHTMLHeight = 240; // max height of rendered HTML
|
216 | 216 | var
|
217 |
| - ContentFont: TFont; // font used for #content tab |
| 217 | + ContentFont: TFont; // font used for #content tab |
218 | 218 | begin
|
219 | 219 | ContentFont := TFont.Create;
|
220 | 220 | try
|
221 | 221 | TFontHelper.SetContentFont(ContentFont);
|
222 | 222 | // Set rendered REML container
|
223 |
| - with CSSBuilder.EnsureSelector('#content') do |
224 |
| - begin |
225 |
| - AddProperty(TCSS.FontProps(ContentFont)); |
226 |
| - AddProperty(TCSS.BackgroundColorProp(clWindow)); |
227 |
| - AddProperty(TCSS.PaddingProp(0, 6, 6, 6)); |
228 |
| - AddProperty(TCSS.MarginProp(cssTop, 6)); |
229 |
| - AddProperty(TCSS.BorderProp(cssAll, 1, cbsSolid, clBorder)); |
230 |
| - AddProperty(TCSS.OverflowProp(covAuto)); |
231 |
| - AddProperty(TCSS.WidthProp(cluAuto, 0)); |
232 |
| - // Use height instead of maxheight if IE 6 or lower |
233 |
| - if TIEInfo.SupportsCSSMaxHeight then |
234 |
| - AddProperty(TCSS.MaxHeightProp(MaxHTMLHeight)) |
235 |
| - else |
236 |
| - AddProperty(TCSS.HeightProp(MaxHTMLHeight)); |
237 |
| - end; |
238 |
| - with CSSBuilder.EnsureSelector('.active-text h2') do |
239 |
| - begin |
240 |
| - AddProperty(TCSS.MarginProp(4, 0, 0, 0)); |
241 |
| - AddProperty(TCSS.FontWeightProp(cfwBold)); |
242 |
| - AddProperty(TCSS.FontSizeProp(ContentFont.Size + 1)); |
243 |
| - end; |
244 |
| - with CSSBuilder.EnsureSelector('.active-text p') do |
245 |
| - AddProperty(TCSS.MarginProp(4, 0, 0, 0)); |
| 223 | + CSSBuilder.EnsureSelector('#content') |
| 224 | + .AddProperty(TCSS.FontProps(ContentFont)) |
| 225 | + .AddProperty(TCSS.BackgroundColorProp(clWindow)) |
| 226 | + .AddProperty(TCSS.PaddingProp(0, 6, 6, 6)) |
| 227 | + .AddProperty(TCSS.MarginProp(cssTop, 6)) |
| 228 | + .AddProperty(TCSS.BorderProp(cssAll, 1, cbsSolid, clBorder)) |
| 229 | + .AddProperty(TCSS.OverflowProp(covAuto)) |
| 230 | + .AddProperty(TCSS.WidthProp(cluAuto, 0)) |
| 231 | + .AddPropertyIf( |
| 232 | + TIEInfo.SupportsCSSMaxHeight, |
| 233 | + TCSS.MaxHeightProp(MaxHTMLHeight), |
| 234 | + TCSS.HeightProp(MaxHTMLHeight) |
| 235 | + ); |
| 236 | + CSSBuilder.EnsureSelector('.active-text h2') |
| 237 | + .AddProperty(TCSS.MarginProp(4, 0, 0, 0)) |
| 238 | + .AddProperty(TCSS.FontWeightProp(cfwBold)) |
| 239 | + .AddProperty(TCSS.FontSizeProp(ContentFont.Size + 1)); |
| 240 | + CSSBuilder.EnsureSelector('.active-text p') |
| 241 | + .AddProperty(TCSS.MarginProp(4, 0, 0, 0)); |
246 | 242 | // Show or hide text about links depending on if links are present
|
247 |
| - with CSSBuilder.EnsureSelector('#linktext') do |
248 |
| - begin |
249 |
| - if ContainsLinks then |
250 |
| - AddProperty(TCSS.DisplayProp(cdsInline)) |
251 |
| - else |
252 |
| - AddProperty(TCSS.DisplayProp(cdsNone)); |
253 |
| - end; |
| 243 | + CSSBuilder.EnsureSelector('#linktext') |
| 244 | + .AddPropertyIf( |
| 245 | + ContainsLinks, TCSS.DisplayProp(cdsInline), TCSS.DisplayProp(cdsNone) |
| 246 | + ); |
254 | 247 | // Set up lists
|
255 |
| - with CSSBuilder.EnsureSelector('.active-text ul') do |
256 |
| - begin |
257 |
| - AddProperty(TCSS.MarginProp(cssAll, 0)); |
258 |
| - AddProperty(TCSS.MarginProp(cssTop, 4)); |
259 |
| - AddProperty(TCSS.PaddingProp(cssAll, 0)); |
260 |
| - AddProperty(TCSS.PaddingProp(cssLeft, 24)); |
261 |
| - AddProperty(TCSS.ListStylePositionProp(clspOutside)); |
262 |
| - AddProperty(TCSS.ListStyleTypeProp(clstDisc)); |
263 |
| - end; |
264 |
| - with CSSBuilder.EnsureSelector('.active-text ol') do |
265 |
| - begin |
266 |
| - AddProperty(TCSS.MarginProp(cssAll, 0)); |
267 |
| - AddProperty(TCSS.MarginProp(cssTop, 4)); |
268 |
| - AddProperty(TCSS.PaddingProp(cssAll, 0)); |
269 |
| - AddProperty(TCSS.PaddingProp(cssLeft, 32)); |
270 |
| - AddProperty(TCSS.ListStylePositionProp(clspOutside)); |
271 |
| - AddProperty(TCSS.ListStyleTypeProp(clstDecimal)); |
272 |
| - end; |
273 |
| - with CSSBuilder.EnsureSelector('.active-text li') do |
274 |
| - begin |
275 |
| - AddProperty(TCSS.PaddingProp(cssAll, 0)); |
276 |
| - AddProperty(TCSS.MarginProp(cssAll, 0)); |
277 |
| - end; |
278 |
| - with CSSBuilder.EnsureSelector('.active-text li ol') do |
279 |
| - AddProperty(TCSS.MarginProp(cssTop, 0)); |
280 |
| - with CSSBuilder.EnsureSelector('.active-text li ul') do |
281 |
| - AddProperty(TCSS.MarginProp(cssTop, 0)); |
282 |
| - with CSSBuilder.EnsureSelector('.active-text ul li') do |
283 |
| - AddProperty(TCSS.PaddingProp(cssLeft, 8)); |
284 |
| - with CSSBuilder.EnsureSelector('.active-text ul li ol li') do |
285 |
| - AddProperty(TCSS.PaddingProp(cssLeft, 0)); |
| 248 | + CSSBuilder.EnsureSelector('.active-text ul') |
| 249 | + .AddProperty(TCSS.MarginProp(cssAll, 0)) |
| 250 | + .AddProperty(TCSS.MarginProp(cssTop, 4)) |
| 251 | + .AddProperty(TCSS.PaddingProp(cssAll, 0)) |
| 252 | + .AddProperty(TCSS.PaddingProp(cssLeft, 24)) |
| 253 | + .AddProperty(TCSS.ListStylePositionProp(clspOutside)) |
| 254 | + .AddProperty(TCSS.ListStyleTypeProp(clstDisc)); |
| 255 | + CSSBuilder.EnsureSelector('.active-text ol') |
| 256 | + .AddProperty(TCSS.MarginProp(cssAll, 0)) |
| 257 | + .AddProperty(TCSS.MarginProp(cssTop, 4)) |
| 258 | + .AddProperty(TCSS.PaddingProp(cssAll, 0)) |
| 259 | + .AddProperty(TCSS.PaddingProp(cssLeft, 32)) |
| 260 | + .AddProperty(TCSS.ListStylePositionProp(clspOutside)) |
| 261 | + .AddProperty(TCSS.ListStyleTypeProp(clstDecimal)); |
| 262 | + CSSBuilder.EnsureSelector('.active-text li') |
| 263 | + .AddProperty(TCSS.PaddingProp(cssAll, 0)) |
| 264 | + .AddProperty(TCSS.MarginProp(cssAll, 0)); |
| 265 | + CSSBuilder.EnsureSelector('.active-text li ol') |
| 266 | + .AddProperty(TCSS.MarginProp(cssTop, 0)); |
| 267 | + CSSBuilder.EnsureSelector('.active-text li ul') |
| 268 | + .AddProperty(TCSS.MarginProp(cssTop, 0)); |
| 269 | + CSSBuilder.EnsureSelector('.active-text ul li') |
| 270 | + .AddProperty(TCSS.PaddingProp(cssLeft, 8)); |
| 271 | + CSSBuilder.EnsureSelector('.active-text ul li ol li') |
| 272 | + .AddProperty(TCSS.PaddingProp(cssLeft, 0)); |
286 | 273 | finally
|
287 | 274 | ContentFont.Free;
|
288 | 275 | end;
|
|
0 commit comments