Make the chatview combo scrollable.

Signed-off-by: Adam Treat <treat.adam@gmail.com>
This commit is contained in:
Adam Treat 2024-06-26 14:39:39 -04:00
parent 88f5face2b
commit c87ccf4124

View File

@ -321,7 +321,7 @@ Rectangle {
} }
delegate: ItemDelegate { delegate: ItemDelegate {
id: comboItemDelegate id: comboItemDelegate
width: comboBox.width width: comboItemPopup.width
contentItem: Text { contentItem: Text {
text: name text: name
color: theme.textColor color: theme.textColor
@ -336,6 +336,35 @@ Rectangle {
} }
highlighted: comboBox.highlightedIndex === index highlighted: comboBox.highlightedIndex === index
} }
popup: Popup {
id: comboItemPopup
y: comboBox.height - 1
width: comboBox.width
implicitHeight: Math.min(window.height - y, contentItem.implicitHeight)
padding: 0
contentItem: Rectangle {
implicitWidth: comboBox.width
implicitHeight: comboItemPopupListView.implicitHeight
ScrollView {
anchors.fill: parent
clip: true
ScrollBar.vertical.policy: ScrollBar.AsNeeded
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
ListView {
id: comboItemPopupListView
implicitHeight: contentHeight
model: comboBox.popup.visible ? comboBox.delegateModel : null
currentIndex: comboBox.highlightedIndex
ScrollIndicator.vertical: ScrollIndicator { }
}
}
}
background: Rectangle {
color: theme.black
}
}
Accessible.role: Accessible.ComboBox Accessible.role: Accessible.ComboBox
Accessible.name: currentModelName() Accessible.name: currentModelName()
Accessible.description: qsTr("The top item is the current model") Accessible.description: qsTr("The top item is the current model")