Unverified Commit 98f34318 authored by Don Gagne's avatar Don Gagne Committed by GitHub

Merge pull request #8679 from patrickelectric/improve_log_ui

Improve category log menu
parents 63f15c94 7b1ea757
...@@ -11,6 +11,7 @@ import QtQuick 2.3 ...@@ -11,6 +11,7 @@ import QtQuick 2.3
import QtQuick.Controls 1.2 import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.4 import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2 import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.12
import QGroundControl 1.0 import QGroundControl 1.0
import QGroundControl.Palette 1.0 import QGroundControl.Palette 1.0
...@@ -29,35 +30,71 @@ Item { ...@@ -29,35 +30,71 @@ Item {
id: filtersDialogComponent id: filtersDialogComponent
QGCViewDialog { QGCViewDialog {
QGCFlickable { QGCFlickable {
anchors.fill: parent anchors.fill: parent
contentHeight: categoryColumn.height contentHeight: categoryColumn.height
clip: true clip: true
Column {
id: categoryColumn ColumnLayout {
spacing: ScreenTools.defaultFontPixelHeight / 2 anchors.fill: parent
RowLayout {
QGCButton { spacing: ScreenTools.defaultFontPixelHeight / 2
text: qsTr("Clear All") Layout.alignment: Qt.AlignVCenter
onClicked: { Layout.fillHeight: true
var logCats = QGroundControl.loggingCategories() Layout.fillWidth: true
for (var i=0; i<logCats.length; i++) {
QGroundControl.setCategoryLoggingOn(logCats[i], false) QGCLabel {
} text: qsTr("Search:")
QGroundControl.updateLoggingFilterRules() }
categoryRepeater.model = undefined
categoryRepeater.model = QGroundControl.loggingCategories() QGCTextField {
id: searchText
text: ""
Layout.fillWidth: true
enabled: true
}
QGCButton {
text: qsTr("Clear")
onClicked: searchText.text = ""
} }
} }
Repeater {
id: categoryRepeater Row {
model: QGroundControl.loggingCategories() spacing: ScreenTools.defaultFontPixelHeight / 2
QGCButton {
QGCCheckBox { text: qsTr("Clear All")
text: modelData onClicked: categoryRepeater.setAllLogs(false)
checked: QGroundControl.categoryLoggingOn(modelData) }
onClicked: { }
QGroundControl.setCategoryLoggingOn(modelData, checked)
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() 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()
}
} }
} }
} }
......
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