Browse Source

Merge pull request #8679 from patrickelectric/improve_log_ui

Improve category log menu
QGC4.4
Don Gagne 5 years ago committed by GitHub
parent
commit
98f34318f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 85
      src/QmlControls/AppMessages.qml

85
src/QmlControls/AppMessages.qml

@ -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 {
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()
}
} }
} }
} }

Loading…
Cancel
Save