Unverified Commit e6e27651 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Fix filter dialog clipping (#9152)

parent bd757cb3
......@@ -27,75 +27,59 @@ Item {
property bool loaded: false
Component {
id: filtersDialogComponent
QGCViewDialog {
QGCFlickable {
anchors.fill: parent
contentHeight: categoryColumn.height
clip: true
ColumnLayout {
anchors.fill: parent
RowLayout {
spacing: ScreenTools.defaultFontPixelHeight / 2
Layout.alignment: Qt.AlignVCenter
Layout.fillHeight: true
Layout.fillWidth: true
id: filtersPopupDialog
QGCLabel {
text: qsTr("Search:")
}
QGCPopupDialog {
title: qsTr("Turn on logging categories")
buttons: StandardButton.Close
QGCTextField {
id: searchText
text: ""
Layout.fillWidth: true
enabled: true
}
ColumnLayout {
RowLayout {
spacing: ScreenTools.defaultFontPixelHeight / 2
Layout.fillWidth: true
QGCButton {
text: qsTr("Clear")
onClicked: searchText.text = ""
}
QGCLabel { text: qsTr("Search:") }
QGCTextField {
id: searchText
text: ""
Layout.fillWidth: true
enabled: true
}
Row {
spacing: ScreenTools.defaultFontPixelHeight / 2
QGCButton {
text: qsTr("Clear All")
onClicked: categoryRepeater.setAllLogs(false)
QGCButton {
text: qsTr("Clear")
onClicked: searchText.text = ""
}
}
QGCButton {
text: qsTr("Clear All")
onClicked: categoryRepeater.setAllLogs(false)
}
Repeater {
id: categoryRepeater
model: QGroundControl.loggingCategories()
function setAllLogs(value) {
var logCategories = QGroundControl.loggingCategories()
for (var category of logCategories) {
QGroundControl.setCategoryLoggingOn(category, value)
}
QGroundControl.updateLoggingFilterRules()
// Update model for repeater
categoryRepeater.model = undefined
categoryRepeater.model = QGroundControl.loggingCategories()
}
Column {
id: categoryColumn
spacing: ScreenTools.defaultFontPixelHeight / 2
Repeater {
id: categoryRepeater
model: QGroundControl.loggingCategories()
function setAllLogs(value) {
var logCategories = QGroundControl.loggingCategories()
for (var category of logCategories) {
QGroundControl.setCategoryLoggingOn(category, value)
}
QGroundControl.updateLoggingFilterRules()
// Update model for repeater
categoryRepeater.model = undefined
categoryRepeater.model = QGroundControl.loggingCategories()
}
QGCCheckBox {
text: modelData
visible: searchText.text ? text.match(`(${searchText.text})`, "i") : true
checked: QGroundControl.categoryLoggingOn(modelData)
onClicked: {
QGroundControl.setCategoryLoggingOn(modelData, checked)
QGroundControl.updateLoggingFilterRules()
}
}
QGCCheckBox {
text: modelData
visible: searchText.text ? text.match(`(${searchText.text})`, "i") : true
checked: QGroundControl.categoryLoggingOn(modelData)
onClicked: {
QGroundControl.setCategoryLoggingOn(modelData, checked)
QGroundControl.updateLoggingFilterRules()
}
}
}
......@@ -225,7 +209,7 @@ Item {
anchors.bottom: parent.bottom
anchors.right: parent.right
text: qsTr("Set Logging")
onClicked: mainWindow.showComponentDialog(filtersDialogComponent, qsTr("Turn on logging categories"), mainWindow.showDialogDefaultWidth, StandardButton.Close)
onClicked: mainWindow.showPopupDialogFromComponent(filtersPopupDialog)
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment