reports: BaseODS puts each line of strings in a P tag.
This seems to be the most straightforward way to get Calc to automatically determine a nice row height for multi-line string cells. This has become a lot more noticeable now that query-report supports putting postal addresses in cells.
This commit is contained in:
		
							parent
							
								
									fff211386f
								
							
						
					
					
						commit
						6703d1af87
					
				
					 2 changed files with 13 additions and 4 deletions
				
			
		|  | @ -1436,9 +1436,15 @@ class BaseODS(BaseSpreadsheet[RT, ST], metaclass=abc.ABCMeta): | |||
|         return self.multilink_cell(self._meta_link_pairs(links), **attrs) | ||||
| 
 | ||||
|     def multiline_cell(self, lines: Iterable[Any], **attrs: Any) -> odf.table.TableCell: | ||||
|         item_lines = [str(item).splitlines() for item in lines if item is not None] | ||||
|         if any(len(seq) > 1 for seq in item_lines): | ||||
|             for seq in item_lines: | ||||
|                 seq.append('') | ||||
|             seq.pop() | ||||
|         cell = odf.table.TableCell(valuetype='string', **attrs) | ||||
|         for line in lines: | ||||
|             cell.addElement(odf.text.P(text=str(line))) | ||||
|         for seq in item_lines: | ||||
|             for line in seq: | ||||
|                 cell.addElement(odf.text.P(text=line)) | ||||
|         return cell | ||||
| 
 | ||||
|     def multilink_cell(self, links: Iterable[LinkType], **attrs: Any) -> odf.table.TableCell: | ||||
|  | @ -1457,7 +1463,8 @@ class BaseODS(BaseSpreadsheet[RT, ST], metaclass=abc.ABCMeta): | |||
| 
 | ||||
|     def string_cell(self, text: str, **attrs: Any) -> odf.table.TableCell: | ||||
|         cell = odf.table.TableCell(valuetype='string', **attrs) | ||||
|         cell.addElement(odf.text.P(text=text)) | ||||
|         for line in text.splitlines(): | ||||
|             cell.addElement(odf.text.P(text=line)) | ||||
|         return cell | ||||
| 
 | ||||
|     def write_row(self, row: RT) -> None: | ||||
|  |  | |||
|  | @ -193,7 +193,9 @@ def check_ods_sheet(sheet, account_balances, *, full): | |||
|         cells = iter(testutil.ODSCell.from_row(row)) | ||||
|         try: | ||||
|             fund = next(cells).firstChild.text | ||||
|         except (AttributeError, StopIteration): | ||||
|         except AttributeError: | ||||
|             fund = '' | ||||
|         except StopIteration: | ||||
|             continue | ||||
|         try: | ||||
|             balances = account_bals.pop(fund) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Brett Smith
						Brett Smith