MCPcopy
hub / github.com/SurgeDM/Surge / normalizeSettingsSelection

Method normalizeSettingsSelection

internal/tui/view_settings.go:519–555  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

517}
518
519func (m *RootModel) normalizeSettingsSelection() {
520 categories := config.CategoryOrder()
521 if len(categories) == 0 {
522 m.SettingsActiveTab = 0
523 m.SettingsSelectedRow = 0
524 if m.SettingsIsEditing {
525 m.SettingsIsEditing = false
526 m.SettingsInput.Blur()
527 }
528 return
529 }
530
531 if m.SettingsActiveTab < 0 {
532 m.SettingsActiveTab = 0
533 }
534 if m.SettingsActiveTab >= len(categories) {
535 m.SettingsActiveTab = len(categories) - 1
536 }
537
538 settingsMap := config.GetSettingsMetadata()
539 settingsList := settingsMap[categories[m.SettingsActiveTab]]
540 if len(settingsList) == 0 {
541 m.SettingsSelectedRow = 0
542 if m.SettingsIsEditing {
543 m.SettingsIsEditing = false
544 m.SettingsInput.Blur()
545 }
546 return
547 }
548
549 if m.SettingsSelectedRow < 0 {
550 m.SettingsSelectedRow = 0
551 }
552 if m.SettingsSelectedRow >= len(settingsList) {
553 m.SettingsSelectedRow = len(settingsList) - 1
554 }
555}
556
557func (m *RootModel) updateSettingsInputWidthForViewport() {
558 modalWidth, _ := GetSettingsDimensions(m.width, m.height)

Callers 2

UpdateMethod · 0.95
updateSettingsMethod · 0.95

Calls 2

CategoryOrderFunction · 0.92
GetSettingsMetadataFunction · 0.92

Tested by

no test coverage detected