Use Loaders for RoomEventDelegate
This commit is contained in:
		
							
								
								
									
										4
									
								
								TODO.md
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								TODO.md
									
									
									
									
									
								
							| @@ -1,9 +1,7 @@ | |||||||
| - Refactoring | - Refactoring | ||||||
|   - Use new H\* components everywhere |   - Use totalSpacing everywhere | ||||||
|   - TextInput.accepted() for SendBox |  | ||||||
|   - Migrate more JS functions to their own files / Implement in Python instead |   - Migrate more JS functions to their own files / Implement in Python instead | ||||||
|   - Don't bake in size properties for components |   - Don't bake in size properties for components | ||||||
|   - Better names and organization for the Message components |  | ||||||
|  |  | ||||||
| - Bug fixes | - Bug fixes | ||||||
|   - 100% CPU usage when hitting top edge to trigger messages loading |   - 100% CPU usage when hitting top edge to trigger messages loading | ||||||
|   | |||||||
| @@ -6,6 +6,4 @@ Base.HNoticeLabel { | |||||||
|     color: Base.HStyle.chat.daybreak.foreground |     color: Base.HStyle.chat.daybreak.foreground | ||||||
|     backgroundColor: Base.HStyle.chat.daybreak.background |     backgroundColor: Base.HStyle.chat.daybreak.background | ||||||
|     radius: Base.HStyle.chat.daybreak.radius |     radius: Base.HStyle.chat.daybreak.radius | ||||||
|  |  | ||||||
|     width: roomEventDelegate.width |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -5,13 +5,9 @@ import "../../Base" as Base | |||||||
| import "../utils.js" as ChatJS | import "../utils.js" as ChatJS | ||||||
|  |  | ||||||
| RowLayout { | RowLayout { | ||||||
|     id: row |     id: eventContent | ||||||
|     spacing: standardSpacing / 2 |     spacing: standardSpacing / 2 | ||||||
|     layoutDirection: isOwn ? Qt.RightToLeft : Qt.LeftToRight |     layoutDirection: isOwn ? Qt.RightToLeft : Qt.LeftToRight | ||||||
|     anchors.right: isOwn ? parent.right : undefined |  | ||||||
|  |  | ||||||
|     readonly property string contentText: |  | ||||||
|         isMessage ?  "" : ChatJS.getEventText(type, dict) |  | ||||||
|  |  | ||||||
|     Base.HAvatar { |     Base.HAvatar { | ||||||
|         id: avatar |         id: avatar | ||||||
| @@ -29,7 +25,7 @@ RowLayout { | |||||||
|                       1) + |                       1) + | ||||||
|               "'>" + |               "'>" + | ||||||
|               (displayName.value || dict.sender) + " " + |               (displayName.value || dict.sender) + " " + | ||||||
|               contentText + |               ChatJS.getEventText(type, dict) + | ||||||
|  |  | ||||||
|               "  " + |               "  " + | ||||||
|               "<font size=" + Base.HStyle.fontSize.small + "px " + |               "<font size=" + Base.HStyle.fontSize.small + "px " + | ||||||
| @@ -48,7 +44,8 @@ RowLayout { | |||||||
|         bottomPadding: verticalPadding |         bottomPadding: verticalPadding | ||||||
|  |  | ||||||
|         Layout.maximumWidth: Math.min( |         Layout.maximumWidth: Math.min( | ||||||
|             600, roomEventListView.width - avatar.width - row.spacing |             600, | ||||||
|  |             roomEventListView.width - avatar.width - eventContent.totalSpacing | ||||||
|         ) |         ) | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -7,7 +7,6 @@ Row { | |||||||
|     id: row |     id: row | ||||||
|     spacing: standardSpacing |     spacing: standardSpacing | ||||||
|     layoutDirection: isOwn ? Qt.RightToLeft : Qt.LeftToRight |     layoutDirection: isOwn ? Qt.RightToLeft : Qt.LeftToRight | ||||||
|     anchors.right: isOwn ? parent.right : undefined |  | ||||||
|  |  | ||||||
|     Base.HAvatar { id: avatar; hidden: combine; name: displayName } |     Base.HAvatar { id: avatar; hidden: combine; name: displayName } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -72,7 +72,10 @@ Column { | |||||||
|         combine ? standardSpacing / 4 : |         combine ? standardSpacing / 4 : | ||||||
|         standardSpacing |         standardSpacing | ||||||
|  |  | ||||||
|     Daybreak { visible: dayBreak } |     Loader { | ||||||
|  |         source: dayBreak ? "Daybreak.qml" : "" | ||||||
|  |         width: roomEventDelegate.width | ||||||
|  |     } | ||||||
|  |  | ||||||
|     Item { |     Item { | ||||||
|         visible: dayBreak |         visible: dayBreak | ||||||
| @@ -80,7 +83,8 @@ Column { | |||||||
|         height: topPadding |         height: topPadding | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     MessageContent { visible: isMessage } |     Loader { | ||||||
|  |         source: isMessage ? "MessageContent.qml" : "EventContent.qml" | ||||||
|     EventContent { visible: ! isMessage } |         anchors.right: isOwn ? parent.right : undefined | ||||||
|  |     } | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	