Fix SMS app icons and thumbnails
## Summary Due to the difficult-to-test Qt5 -> Qt6 transition, there were some GUI errors with the SMS app: - Contact photos were missing - Attachment previews, if present, were in the place where the contact photo should be This also takes a shot at fixing the long-standing issue that attachment previews were shown much taller than the row item, drawing over the items above and below. ## Test Plan ### Before: As in description, the conversations list items were not correct. ![image](/uploads/f68b662fecd6a4826986ede6e8191470/image.png) ### After: Contact photos are shown to the left of the text preview, attachment preview, if present, is shown to the far right. ![image](/uploads/95f2b4d6e6ff26371a2f36d97fc3f52b/image.png)
This commit is contained in:
parent
846b584f5c
commit
ec6a35e75b
2 changed files with 16 additions and 15 deletions
|
@ -184,7 +184,7 @@ void ConversationListModel::createRowFromMessage(const ConversationMessage &mess
|
|||
const QIcon displayIcon = SmsHelper::getIconForAddresses(rawAddresses);
|
||||
|
||||
item->setText(displayNames);
|
||||
item->setData(displayIcon.name(), Qt::DecorationRole);
|
||||
item->setData(displayIcon, Qt::DecorationRole);
|
||||
item->setData(message.threadID(), ConversationIdRole);
|
||||
item->setData(rawAddresses[0].address(), SenderRole);
|
||||
}
|
||||
|
|
|
@ -191,12 +191,11 @@ Kirigami.ScrollablePage
|
|||
delegate: ItemDelegate {
|
||||
id: listItem
|
||||
text: displayNames
|
||||
icon.name: decoration
|
||||
width: view.width
|
||||
|
||||
required property string displayNames
|
||||
required property string toolTip
|
||||
required property string decoration
|
||||
required property var decoration
|
||||
required property var attachmentPreview
|
||||
required property int index
|
||||
required property var addresses
|
||||
|
@ -223,9 +222,23 @@ Kirigami.ScrollablePage
|
|||
|
||||
// Note: Width calcs to account for scrollbar coming and going
|
||||
contentItem: RowLayout {
|
||||
id: contentRow
|
||||
spacing: Kirigami.Units.smallSpacing
|
||||
implicitWidth: view.width - Kirigami.Units.largeSpacing
|
||||
|
||||
Kirigami.Icon {
|
||||
id: contactIcon
|
||||
source: listItem.decoration
|
||||
}
|
||||
|
||||
// Set width here to force elide and account for scrollbar
|
||||
KirigamiDelegates.TitleSubtitle {
|
||||
title: listItem.text
|
||||
subtitle: listItem.toolTip
|
||||
elide: Text.ElideRight
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Kirigami.Icon {
|
||||
id: thumbnailItem
|
||||
source: {
|
||||
|
@ -240,21 +253,9 @@ Kirigami.ScrollablePage
|
|||
return listItem.attachmentPreview;
|
||||
}
|
||||
|
||||
width: Kirigami.Units.iconSizes.small
|
||||
height: Kirigami.Units.iconSizes.small
|
||||
|
||||
visible: source !== undefined
|
||||
}
|
||||
|
||||
// Set width here to force elide and account for scrollbar
|
||||
KirigamiDelegates.TitleSubtitle {
|
||||
title: listItem.text
|
||||
subtitle: listItem.toolTip
|
||||
elide: Text.ElideRight
|
||||
implicitWidth: view.width - Kirigami.Units.largeSpacing*2
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue