Support inline HTML/links for room topic
This commit is contained in:
		
							
								
								
									
										2
									
								
								TODO.md
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								TODO.md
									
									
									
									
									
								
							| @@ -36,8 +36,6 @@ | |||||||
| - UI | - UI | ||||||
|   - Show error if uploading avatar fails or file is corrupted |   - Show error if uploading avatar fails or file is corrupted | ||||||
|   - Way to open context menus without a right mouse button |   - Way to open context menus without a right mouse button | ||||||
|   - Room header descriptions: support URLs |  | ||||||
|     - Also support URLs for "room topic changed" event messages |  | ||||||
|   - Indeterminate progress bar |   - Indeterminate progress bar | ||||||
|  |  | ||||||
|   - Message selection |   - Message selection | ||||||
|   | |||||||
| @@ -459,7 +459,7 @@ class MatrixClient(nio.AsyncClient): | |||||||
|             room_id        = room.room_id, |             room_id        = room.room_id, | ||||||
|             display_name   = room.display_name, |             display_name   = room.display_name, | ||||||
|             avatar_url     = room.gen_avatar_url or "", |             avatar_url     = room.gen_avatar_url or "", | ||||||
|             topic          = room.topic or "", |             topic          = HTML_FILTER.filter_inline(room.topic or ""), | ||||||
|             inviter_id     = inviter, |             inviter_id     = inviter, | ||||||
|             inviter_name   = room.user_name(inviter) if inviter else "", |             inviter_name   = room.user_name(inviter) if inviter else "", | ||||||
|             inviter_avatar = |             inviter_avatar = | ||||||
| @@ -780,7 +780,8 @@ class MatrixClient(nio.AsyncClient): | |||||||
|  |  | ||||||
|  |  | ||||||
|     async def onRoomTopicEvent(self, room, ev) -> None: |     async def onRoomTopicEvent(self, room, ev) -> None: | ||||||
|         co = f"%1 changed the room's topic to \"{ev.topic}\"." |         topic = HTML_FILTER.filter_inline(ev.topic) | ||||||
|  |         co    = f"%1 changed the room's topic to \"{topic}\"." | ||||||
|         await self.register_nio_event(room, ev, content=co) |         await self.register_nio_event(room, ev, content=co) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ ToolTip { | |||||||
|     padding: background.border.width |     padding: background.border.width | ||||||
|     contentWidth: Math.min( |     contentWidth: Math.min( | ||||||
|         mainUI.width / 1.25, |         mainUI.width / 1.25, | ||||||
|         contentItem.implicitWidth, |         // contentItem.implicitWidth, | ||||||
|         theme.fontSize.normal * 0.5 * 75, |         theme.fontSize.normal * 0.5 * 75, | ||||||
|     ) |     ) | ||||||
|  |  | ||||||
|   | |||||||
| @@ -47,9 +47,10 @@ Rectangle { | |||||||
|             HoverHandler { id: nameHover } |             HoverHandler { id: nameHover } | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         HLabel { |         HRichLabel { | ||||||
|             id: roomTopic |             id: roomTopic | ||||||
|             text: chatPage.roomInfo.topic |             text: chatPage.roomInfo.topic | ||||||
|  |             textFormat: Text.StyledText | ||||||
|             font.pixelSize: theme.fontSize.small |             font.pixelSize: theme.fontSize.small | ||||||
|             color: theme.chat.roomHeader.topic |             color: theme.chat.roomHeader.topic | ||||||
|             elide: Text.ElideRight |             elide: Text.ElideRight | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	