use std::cell::RefCell; use std::collections::HashMap; use std::sync::{Arc, RwLock}; use std::time::SystemTime; use adw::{ActionRow, ComboRow, PreferencesGroup}; use crate::components::base::listEntry::ListEntry; use crate::components::input::sourceBox; use gtk::subclass::prelude::*; use gtk::{glib, CheckButton, CompositeTemplate, StringList, TemplateChild}; use gtk::{prelude::*, Button, Label, ProgressBar, Scale}; use ReSet_Lib::audio::audio::Source; use super::outputStreamEntry::OutputStreamEntry; use super::sourceEntry::SourceEntry; #[allow(non_snake_case)] #[derive(Default, CompositeTemplate)] #[template(resource = "/org/Xetibo/ReSet/resetAudioInput.ui")] pub struct SourceBox { #[template_child] pub resetSourceRow: TemplateChild, #[template_child] pub resetCardsRow: TemplateChild, #[template_child] pub resetSourceDropdown: TemplateChild, #[template_child] pub resetSourceMute: TemplateChild