()
| 517 | } |
| 518 | |
| 519 | func (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 | |
| 557 | func (m *RootModel) updateSettingsInputWidthForViewport() { |
| 558 | modalWidth, _ := GetSettingsDimensions(m.width, m.height) |
no test coverage detected