controlcenter: corrections on scrolling in panes and missing scrollbars

This commit is contained in:
ATMDA 2025-11-17 08:09:32 -05:00
parent 9bd3d57ff5
commit c2c04b8637
6 changed files with 43 additions and 8 deletions

View file

@ -1,6 +1,7 @@
pragma ComponentBehavior: Bound
import ".."
import qs.components.controls
import qs.components.effects
import qs.components.containers
import qs.config
@ -131,14 +132,20 @@ RowLayout {
id: settings
StyledFlickable {
id: settingsFlickable
flickableDirection: Flickable.VerticalFlick
contentHeight: settingsInner.height
StyledScrollBar.vertical: StyledScrollBar {
flickable: settingsFlickable
}
Settings {
id: settingsInner
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
session: root.session
}
}

View file

@ -18,11 +18,13 @@ StyledFlickable {
required property Session session
readonly property BluetoothDevice device: session.bt.active
anchors.fill: parent
flickableDirection: Flickable.VerticalFlick
contentHeight: layoutWrapper.height
StyledScrollBar.vertical: StyledScrollBar {
flickable: root
}
Item {
id: layoutWrapper

View file

@ -284,8 +284,12 @@ ColumnLayout {
CustomSpinBox {
min: 0
value: root.session.bt.currentAdapter.discoverableTimeout
onValueModified: value => root.session.bt.currentAdapter.discoverableTimeout = value
value: root.session.bt.currentAdapter?.discoverableTimeout ?? 0
onValueModified: value => {
if (root.session.bt.currentAdapter) {
root.session.bt.currentAdapter.discoverableTimeout = value;
}
}
}
}
@ -345,7 +349,7 @@ ColumnLayout {
anchors.top: renameLabel.bottom
anchors.leftMargin: root.session.bt.editingAdapterName ? 0 : -Appearance.padding.normal
text: root.session.bt.currentAdapter.name
text: root.session.bt.currentAdapter?.name ?? ""
readOnly: !root.session.bt.editingAdapterName
onAccepted: {
root.session.bt.editingAdapterName = false;
@ -392,7 +396,7 @@ ColumnLayout {
function onClicked(): void {
root.session.bt.editingAdapterName = false;
adapterNameEdit.text = Qt.binding(() => root.session.bt.currentAdapter.name);
adapterNameEdit.text = Qt.binding(() => root.session.bt.currentAdapter?.name ?? "");
}
}

View file

@ -16,7 +16,8 @@ Item {
required property Session session
readonly property var device: session.ethernet.active
anchors.fill: parent
implicitWidth: layout.implicitWidth
implicitHeight: layout.implicitHeight
Component.onCompleted: {
if (device && device.interface) {
@ -37,6 +38,7 @@ Item {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
spacing: Appearance.spacing.normal
ConnectionHeader {

View file

@ -518,14 +518,20 @@ Item {
id: settings
StyledFlickable {
id: settingsFlickable
flickableDirection: Flickable.VerticalFlick
contentHeight: settingsInner.height
StyledScrollBar.vertical: StyledScrollBar {
flickable: settingsFlickable
}
NetworkSettings {
id: settingsInner
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
session: root.session
}
}
@ -535,14 +541,20 @@ Item {
id: ethernetDetails
StyledFlickable {
id: ethernetFlickable
flickableDirection: Flickable.VerticalFlick
contentHeight: ethernetDetailsInner.height
StyledScrollBar.vertical: StyledScrollBar {
flickable: ethernetFlickable
}
EthernetDetails {
id: ethernetDetailsInner
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
session: root.session
}
}
@ -552,14 +564,20 @@ Item {
id: wirelessDetails
StyledFlickable {
id: wirelessFlickable
flickableDirection: Flickable.VerticalFlick
contentHeight: wirelessDetailsInner.height
StyledScrollBar.vertical: StyledScrollBar {
flickable: wirelessFlickable
}
WirelessDetails {
id: wirelessDetailsInner
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
session: root.session
}
}

View file

@ -17,7 +17,8 @@ Item {
required property Session session
readonly property var network: session.network.active
anchors.fill: parent
implicitWidth: layout.implicitWidth
implicitHeight: layout.implicitHeight
Component.onCompleted: {
updateDeviceDetails();
@ -105,6 +106,7 @@ Item {
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
spacing: Appearance.spacing.normal
ConnectionHeader {