Fixed the menu, remember transmission should be there now.
This commit is contained in:
@@ -14,8 +14,6 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"syscall"
|
||||
|
||||
"git.stormux.org/storm/barnard/config"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -446,32 +444,6 @@ func (app *App) remove_server() error {
|
||||
return app.ui.message("Removed server " + name)
|
||||
}
|
||||
|
||||
func settings_menu_options(rememberTransmissionState bool) []string {
|
||||
state := "Off"
|
||||
if rememberTransmissionState {
|
||||
state = "On"
|
||||
}
|
||||
return []string{
|
||||
"Remember transmission state: " + state,
|
||||
"Go Back",
|
||||
}
|
||||
}
|
||||
|
||||
func (app *App) manage_settings() error {
|
||||
cfg := config.NewConfig(&app.paths.BarnardTOML)
|
||||
for {
|
||||
options := settings_menu_options(cfg.GetRememberTransmissionState())
|
||||
selection, cancelled, err := app.ui.menu(options)
|
||||
if err != nil || cancelled || selection == len(options)-1 {
|
||||
return err
|
||||
}
|
||||
enabled := !cfg.GetRememberTransmissionState()
|
||||
if err := cfg.SetRememberTransmissionState(enabled); err != nil {
|
||||
return app.ui.message("Could not save settings: " + err.Error())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func config_has_value(path, wantedKey string) bool {
|
||||
file, err := os.Open(path)
|
||||
if err != nil {
|
||||
@@ -628,8 +600,6 @@ func (app *App) run() error {
|
||||
err = app.manage_certificate()
|
||||
case "Logs":
|
||||
err = app.manage_logs()
|
||||
case "Settings":
|
||||
err = app.manage_settings()
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -644,7 +614,6 @@ func main_menu_options() []string {
|
||||
"Remove server",
|
||||
"Manage Certificate",
|
||||
"Logs",
|
||||
"Settings",
|
||||
"Exit",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,16 +209,4 @@ func TestProgramIdentityAndMainMenuUseBarnardUI(t *testing.T) {
|
||||
t.Fatalf("legacy go-ui name remains in main menu: %q", option)
|
||||
}
|
||||
}
|
||||
if !slices.Contains(options, "Settings") {
|
||||
t.Fatalf("main menu does not contain Settings: %v", options)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSettingsMenuReportsRememberTransmissionState(t *testing.T) {
|
||||
if got := settings_menu_options(false)[0]; got != "Remember transmission state: Off" {
|
||||
t.Fatalf("disabled setting label = %q", got)
|
||||
}
|
||||
if got := settings_menu_options(true)[0]; got != "Remember transmission state: On" {
|
||||
t.Fatalf("enabled setting label = %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user