|
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