// Copyright (c) 2026 Storm Dragon // SPDX-License-Identifier: GPL-3.0-or-later // Package quicksettings implements the reader-independent quick settings // menu: categories of entries, a remembered position in each category, // value stepping and the spoken announcement. Readers own their settings: // they describe entries, report current values and apply each change. package quicksettings import ( "strconv" "git.stormux.org/storm/screenreader-common/internalui/message" ) type Messages = message.Messages type Kind uint8 const ( // Toggle is announced as checked or unchecked; either step flips it. Toggle Kind = iota + 1 // Choice steps through Options and wraps at both ends. Choice // Range steps by Step and stops at Min and Max. Range ) type Option struct{ ID, Label string } // Entry describes one setting. Label and option labels are English message // IDs passed through the menu's translator. type Entry struct { ID string Label string Kind Kind // Range limits and step size. Min, Max, Step int // EmptyIsDefault announces a Choice whose selected ID is empty as // "