mirror of https://github.com/subgraph/fw-daemon
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.7 KiB
67 lines
1.7 KiB
package main
|
|
|
|
import (
|
|
"github.com/gotk3/gotk3/gtk"
|
|
|
|
"github.com/subgraph/fw-daemon/sgfw"
|
|
)
|
|
|
|
func loadConfig(win *gtk.Window, b *builder, dbus *dbusObject) {
|
|
var levelCombo *gtk.ComboBoxText
|
|
var redactCheck *gtk.CheckButton
|
|
var expandedCheck *gtk.CheckButton
|
|
var expertCheck *gtk.CheckButton
|
|
var actionCombo *gtk.ComboBoxText
|
|
|
|
b.getItems(
|
|
"level_combo", &levelCombo,
|
|
"redact_checkbox", &redactCheck,
|
|
"expanded_checkbox", &expandedCheck,
|
|
"expert_checkbox", &expertCheck,
|
|
"action_combo", &actionCombo,
|
|
)
|
|
|
|
conf, err := dbus.getConfig()
|
|
if err != nil {
|
|
failDialog(win, "Failed to load config from fw daemon: %v", err)
|
|
}
|
|
|
|
if lvl, ok := conf["log_level"].(int32); ok {
|
|
if id, ok := sgfw.LevelToID[lvl]; ok {
|
|
levelCombo.SetActiveID(id)
|
|
}
|
|
}
|
|
if v, ok := conf["log_redact"].(bool); ok {
|
|
redactCheck.SetActive(v)
|
|
}
|
|
if v, ok := conf["prompt_expanded"].(bool); ok {
|
|
expandedCheck.SetActive(v)
|
|
}
|
|
if v, ok := conf["prompt_expert"].(bool); ok {
|
|
expertCheck.SetActive(v)
|
|
}
|
|
if av, ok := conf["default_action"].(uint16); ok {
|
|
actionCombo.SetActiveID(sgfw.GetFilterScopeString(sgfw.FilterScope(av)))
|
|
}
|
|
b.ConnectSignals(map[string]interface{}{
|
|
"on_level_combo_changed": func() {
|
|
if lvl, ok := sgfw.IDToLevel[levelCombo.GetActiveID()]; ok {
|
|
dbus.setConfig("log_level", lvl)
|
|
}
|
|
},
|
|
"on_redact_checkbox_toggled": func() {
|
|
dbus.setConfig("log_redact", redactCheck.GetActive())
|
|
},
|
|
"on_expanded_checkbox_toggled": func() {
|
|
dbus.setConfig("prompt_expanded", expandedCheck.GetActive())
|
|
},
|
|
"on_expert_checkbox_toggled": func() {
|
|
dbus.setConfig("prompt_expert", expertCheck.GetActive())
|
|
},
|
|
"on_action_combo_changed": func() {
|
|
dbus.setConfig("default_action", sgfw.GetFilterScopeValue(actionCombo.GetActiveID()))
|
|
},
|
|
})
|
|
|
|
}
|