(group *adw.PreferencesGroup)
| 351 | } |
| 352 | |
| 353 | func populatePresetsGroup(group *adw.PreferencesGroup) { |
| 354 | defaultPresetSelect = adw.NewComboRow() |
| 355 | newPresetBtn := gtk.NewButton() |
| 356 | activatePresetSwitch := adw.NewSwitchRow() |
| 357 | startOnClickSwitch := adw.NewSwitchRow() |
| 358 | |
| 359 | populateDefaultPresetSelect() |
| 360 | defaultPresetSelect.SetTitle("Default preset") |
| 361 | defaultPresetSelect.SetActivatable(true) |
| 362 | defaultPresetSelect.Connect("notify::selected", func() { |
| 363 | preset := core.UserPrefs.Presets[defaultPresetSelect.Selected()] |
| 364 | core.SetDefaultPreset(preset) |
| 365 | }) |
| 366 | |
| 367 | activatePresetSwitch.SetTitle("Activate on launch") |
| 368 | activatePresetSwitch.SetSensitive(core.UserPrefs.ShowPresets) |
| 369 | activatePresetSwitch.SetActive(core.UserPrefs.ActivatePreset) |
| 370 | activatePresetSwitch.Connect("notify::active", func() { |
| 371 | core.SetActivatePreset(activatePresetSwitch.Active()) |
| 372 | |
| 373 | if activatePresetSwitch.Active() && startOnClickSwitch.Active() { |
| 374 | startOnClickSwitch.SetActive(false) |
| 375 | core.SetStartPresetOnClick(false) |
| 376 | } |
| 377 | }) |
| 378 | |
| 379 | startOnClickSwitch.SetTitle("Start when selected") |
| 380 | startOnClickSwitch.SetActive(core.UserPrefs.StartPresetOnClick) |
| 381 | startOnClickSwitch.Connect("notify::active", func() { |
| 382 | core.SetStartPresetOnClick(startOnClickSwitch.Active()) |
| 383 | |
| 384 | if activatePresetSwitch.Active() && startOnClickSwitch.Active() { |
| 385 | activatePresetSwitch.SetActive(false) |
| 386 | core.SetActivatePreset(false) |
| 387 | } |
| 388 | }) |
| 389 | |
| 390 | presetsBox = gtk.NewListBox() |
| 391 | presetsBox.SetVisible(core.UserPrefs.ShowPresets) |
| 392 | presetsBox.AddCSSClass("presets-list") |
| 393 | presetsBox.SetVExpand(true) |
| 394 | presetsBox.SetOverflow(gtk.OverflowHidden) |
| 395 | |
| 396 | RenderPresets([]string{}) |
| 397 | |
| 398 | btnContent := adw.NewButtonContent() |
| 399 | btnContent.SetLabel("") |
| 400 | btnContent.SetIconName("list-add-symbolic") |
| 401 | |
| 402 | newPresetBtn.SetChild(btnContent) |
| 403 | newPresetBtn.AddCSSClass("add-preset-btn") |
| 404 | newPresetBtn.ConnectClicked(func() { |
| 405 | presets := append(core.UserPrefs.Presets, "00:00") |
| 406 | core.SetPresets(presets) |
| 407 | RenderPresets([]string{"00:00"}) |
| 408 | }) |
| 409 | |
| 410 | footer := gtk.NewBox(gtk.OrientationHorizontal, 0) |
no test coverage detected