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
...@@ -30,30 +31,65 @@ Item { ...@@ -30,30 +31,65 @@ Item {
QGCViewDialog { QGCViewDialog {
QGCFlickable { QGCFlickable {
anchors.fill: parent anchors.fill: parent
contentHeight: categoryColumn.height contentHeight: categoryColumn.height
clip: true clip: true
Column {
id: categoryColumn ColumnLayout {
anchors.fill: parent
RowLayout {
spacing: ScreenTools.defaultFontPixelHeight / 2 spacing: ScreenTools.defaultFontPixelHeight / 2
Layout.alignment: Qt.AlignVCenter
Layout.fillHeight: true
Layout.fillWidth: true
QGCLabel {
text: qsTr("Search:")
}
QGCTextField {
id: searchText
text: ""
Layout.fillWidth: true
enabled: true
}
QGCButton { QGCButton {
text: qsTr("Clear All") text: qsTr("Clear")
onClicked: { onClicked: searchText.text = ""
var logCats = QGroundControl.loggingCategories()
for (var i=0; i<logCats.length; i++) {
QGroundControl.setCategoryLoggingOn(logCats[i], false)
} }
QGroundControl.updateLoggingFilterRules() }
categoryRepeater.model = undefined
categoryRepeater.model = QGroundControl.loggingCategories() Row {
spacing: ScreenTools.defaultFontPixelHeight / 2
QGCButton {
text: qsTr("Clear All")
onClicked: categoryRepeater.setAllLogs(false)
} }
} }
Column {
id: categoryColumn
spacing: ScreenTools.defaultFontPixelHeight / 2
Repeater { Repeater {
id: categoryRepeater id: categoryRepeater
model: QGroundControl.loggingCategories() 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 { QGCCheckBox {
text: modelData text: modelData
visible: searchText.text ? text.match(`(${searchText.text})`, "i") : true
checked: QGroundControl.categoryLoggingOn(modelData) checked: QGroundControl.categoryLoggingOn(modelData)
onClicked: { onClicked: {
QGroundControl.setCategoryLoggingOn(modelData, checked) QGroundControl.setCategoryLoggingOn(modelData, checked)
...@@ -65,6 +101,7 @@ Item { ...@@ -65,6 +101,7 @@ Item {
} }
} }
} }
}
Item { Item {
id: panel id: panel
......
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